Update Custom Field
update_custom_fieldUpdate an existing custom field in Procore by specifying company and field IDs. Change name, description, values, and visibility settings while keeping the field type immutable.
Instructions
Updates an existing Custom Field for a given company ID. The type property cannot be modified after creation. company_id defaults to the value set by procore_set_config when omitted, and field_id must identify an existing parent record — resolve it with the matching list tool first. Applies the change and returns the updated custom field. Failures come back as an error payload carrying the HTTP status — commonly 401 when the token has expired, 403 without tool permission, and 404 when an id does not resolve. Required parameters: company_id, field_id. Procore API: Company Admin > Custom - Configurable Tools. Endpoint: POST /rest/v1.0/workforce-planning/v2/companies/{company_id}/custom-fields/{field_id}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | JSON request body field — the updated name of the Custom Field. | |
| values | No | JSON request body field — only applicable for `select` or `multi-select` fields. Replaces the entire list of values. | |
| sort_by | No | JSON request body field — controls sorting of dropdown values. `alpha` sorts alphabetically, while `listed` maintains the provided order. | |
| field_id | Yes | URL path parameter — uUID of the Custom Field. | |
| on_people | No | JSON request body field — if true, the field is available on People. | |
| can_filter | No | JSON request body field — if true, allows this field to be used as a filter. | |
| company_id | Yes | URL path parameter — unique identifier for the company. This parameter accepts both formats: - **Recommended**: Procore company ID (integer) - Use this for new integrations - Legacy: LaborChart UUID format (uuid string... | |
| description | No | JSON request body field — a description to help Admin users understand the field’s purpose. | |
| on_projects | No | JSON request body field — if true, the field is available on Projects. | |
| integration_only | No | JSON request body field — if true, only integrations can update this field. |