ClickUp
Overview
Section titled “Overview”The ClickUp nodes connect your workflows to ClickUp through its REST API v2. Use them to automate task management: create a task when an order comes in, change its status as a process advances, comment the result, or list a list’s tasks to process them.
There are six nodes, one per operation:
| Node | Operation | HTTP method |
|---|---|---|
ClickUp: Create task (clickupCreateTask) | Create a task in a list | POST /list/{list_id}/task |
ClickUp: Get task (clickupGetTask) | Read a task by its id | GET /task/{task_id} |
ClickUp: Update task (clickupUpdateTask) | Update fields | PUT /task/{task_id} |
ClickUp: Delete task (clickupDeleteTask) | Delete a task | DELETE /task/{task_id} |
ClickUp: Add comment (clickupAddComment) | Add a comment | POST /task/{task_id}/comment |
ClickUp: List tasks (clickupListTasks) | List a list’s tasks | GET /list/{list_id}/task |
Credential
Section titled “Credential”The nodes use a ClickUp credential. Create it in Credentials → Add → ClickUp with this field:
| Field | Description |
|---|---|
| Personal API token | The personal token, from ClickUp → Settings → Apps → API Token (starts with pk_). Never shown in logs. |
ClickUp authentication sends the token in the Authorization header as-is (no Bearer prefix). You can verify the credential with the Test button, which calls GET /user.
Important: ids and dates
Section titled “Important: ids and dates”- In ClickUp everything is referenced by id (strings): the list (
list_id), the task (task_id). Get a list id from the list’s URL in ClickUp, or with the HTTP node over the spaces/folders/lists endpoints. - Dates (
due_date) go as a Unix timestamp in milliseconds (number), not ISO text. - Priority is a number:
1urgent,2high,3normal,4low.
ClickUp: Create task (clickupCreateTask)
Section titled “ClickUp: Create task (clickupCreateTask)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | ClickUp credential |
| list_id | text | Yes | List id |
| name | text | Yes | Task name |
| description | text | No | Description |
| status | text | No | Status (must exist in the list) |
| priority | number | No | 1 urgent, 2 high, 3 normal, 4 low |
| due_date | text | No | Unix timestamp in milliseconds |
| assignees | JSON | No | Assignee user ids, e.g. [123,456] |
Output: the created task, including its id and url.
ClickUp: Get task (clickupGetTask)
Section titled “ClickUp: Get task (clickupGetTask)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | ClickUp credential |
| task_id | text | Yes | Task id |
ClickUp: Update task (clickupUpdateTask)
Section titled “ClickUp: Update task (clickupUpdateTask)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | ClickUp credential |
| task_id | text | Yes | Task id |
| fields | JSON | Yes | Fields to update, e.g. {"status":"in progress"} |
ClickUp: Delete task (clickupDeleteTask)
Section titled “ClickUp: Delete task (clickupDeleteTask)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | ClickUp credential |
| task_id | text | Yes | id of the task to delete |
ClickUp: Add comment (clickupAddComment)
Section titled “ClickUp: Add comment (clickupAddComment)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | ClickUp credential |
| task_id | text | Yes | Task id |
| comment_text | text | Yes | Comment text |
| notify_all | text | No | true to notify all assignees |
ClickUp: List tasks (clickupListTasks)
Section titled “ClickUp: List tasks (clickupListTasks)”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credential | Yes | ClickUp credential |
| list_id | text | Yes | List id |
| archived | text | No | true to include archived |
| subtasks | text | No | true to include subtasks |
| page | number | No | Page (pagination, 0-based) |
Output: the array of tasks in the list.
Example
Section titled “Example”Create a task from a form:
- Node: ClickUp: Create task
- list_id:
901300123456 - name:
Order: {{data.customer}} - description:
{{data.details}} - priority:
2
Output:
{ "id": "86a1b2c3d", "name": "Order: ACME Inc.", "url": "https://app.clickup.com/t/86a1b2c3d", "status": { "status": "to do" }}Error handling
Section titled “Error handling”Each node classifies errors so the engine knows whether a retry makes sense:
| Situation | Retryable | What to do |
|---|---|---|
| Validation (400) | No | ClickUp returns the reason (e.g. status not in the list, or invalid list_id). Fix the data. |
| Not found (404) | No | The task or list doesn’t exist. Check the id. |
| Authentication (401/403) | No | Invalid token or no permission. Check the credential. |
| Server (500) | Yes | Temporary ClickUp error; retried automatically. |
| Rate limit (429) | Yes | ClickUp’s Retry-After (~100 req/min) is honored and retried. |
| Network / Timeout | Yes | Transient issue; retried automatically. |
See also
Section titled “See also”- Jira (Atlassian), Asana, Trello and Notion — other work-management integrations.
- Retry queue (DLQ) — how failed executions are retried.
- HTTP node — for ClickUp endpoints not covered by these nodes (spaces, folders, lists…).