clickup_set_custom_field_value
Assign a value to a specific custom field on a ClickUp task. Handles all field types including text, number, date, dropdown, labels, and relationships.
Instructions
Set a Custom Field's value on a task.
Calls POST /task/{task_id}/field/{field_id}. The request body is
POLYMORPHIC — the shape of value is decided by the field's type, which
you can read with clickup_get_list_custom_fields. Send the wrong shape and
ClickUp answers 400. drop_down / labels take the option UUIDs found in the
field's type_config.options[], not the display labels.
Value by field type:
Field type(s) |
| Example |
text, short_text, url, email, phone | JSON string |
|
number, currency, money | JSON number |
|
date | int64 unix milliseconds; pair with |
|
checkbox | boolean |
|
emoji / rating | integer (count of filled icons) |
|
drop_down (single-select) | a single option UUID string |
|
labels (multi-select) | an array of option UUID strings (the full desired set) |
|
tasks (task relationship) | object |
|
users (people) | object |
|
location | object | see below |
Note: labels differ from tasks/people — labels take a plain array of UUIDs
(the complete desired selection), NOT an {add, rem} object; {add, rem} is
only for the tasks-relationship and people field types.
When to Use:
To populate or overwrite a single Custom Field on one task after resolving its
field_id(and any option UUIDs) viaclickup_get_list_custom_fields.
When NOT to Use:
To clear a field — use
clickup_remove_custom_field_valueinstead of sending an empty value.To set many fields at once on create — pass the
custom_fieldsarray to the task create/update tools in the Tasks module instead.
Returns: A confirmation string (the endpoint returns an empty body on success).
Examples:
text: params = {"task_id": "9hz", "field_id": "", "value": "In review"}
number: params = {"task_id": "9hz", "field_id": "", "value": 42}
date+time: params = {"task_id": "9hz", "field_id": "", "value": 1667367645000, "value_options": {"time": true}}
drop_down: params = {"task_id": "9hz", "field_id": "", "value": "03efda77-c7a0-42d3-8afd-fd546353c2f5"}
labels: params = {"task_id": "9hz", "field_id": "", "value": ["uuidA", "uuidB"]}
tasks: params = {"task_id": "9hz", "field_id": "", "value": {"add": ["abcd1234"], "rem": []}}
location: params = {"task_id": "9hz", "field_id": "", "value": {"location": {"lat": -28.016, "lng": 153.4}, "formatted_address": "Gold Coast QLD, Australia"}}
custom id: params = {"task_id": "ABC-123", "field_id": "", "value": 42, "custom_task_ids": true, "team_id": "9007200144"}
Error Handling:
400 usually means the value shape does not match the field's type, or the
field is not enabled for the task's custom task type; 404 means the task or
field_id is wrong; if custom_task_ids=true you must also pass team_id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |