Skip to content

ClickUp

The ClickUp nodes connect your workflows to ClickUp through its REST API v2 (https://api.clickup.com/api/v2). Use them to automate task management: open a task when an order arrives, change its status as a process advances, comment the outcome, or list a list’s tasks to process them.

There are six nodes, one per operation. They all work on tasks, which in ClickUp always live inside a list.

NodeInternal nameEndpoint used
ClickUp: Create taskclickupCreateTaskPOST /list/{list_id}/task
ClickUp: Get taskclickupGetTaskGET /task/{task_id}
ClickUp: Update taskclickupUpdateTaskPUT /task/{task_id}
ClickUp: List tasksclickupListTasksGET /list/{list_id}/task
ClickUp: Delete taskclickupDeleteTaskDELETE /task/{task_id}
ClickUp: Add commentclickupAddCommentPOST /task/{task_id}/comment

Every node takes a credentials_id field plus the parameters of its own operation. The exact table for each one is on its page.

Service type: clickup. Create it in Credentials → Add → ClickUp.

FieldTypeRequiredDescription
tokenpasswordYesPersonal API token from ClickUp → Settings → Apps → API Token (starts with pk_). Never shown in logs.

The token travels in the Authorization header exactly as it is — without the Bearer prefix, which is what ClickUp expects and a frequent source of 401 errors when copied from other tools. The Test button verifies the credential against GET /user.

  • List id (list_id): the number you see in the URL when you open a list in ClickUp (.../v/li/901300123456). You can also walk spaces → folders → lists with the HTTP node.
  • Task id (task_id): returned by Create task and List tasks in the id field (e.g. 86a1b2c3d).
  • Dates (due_date, start_date) are Unix timestamps in milliseconds — a number, not an ISO string. 2026-08-15T10:00:00Z becomes 1786788000000.
  • Priority is a number: 1 urgent, 2 high, 3 normal, 4 low.
  • Statuses are per-list: the value you send must already exist in that list’s workflow, or ClickUp rejects it.

Every node returns the ClickUp response in data, plus a _meta block with the module version, the affected id and the elapsed time.

{
"data": {
"id": "86a1b2c3d",
"name": "Order: ACME Inc.",
"status": { "status": "to do", "type": "open" },
"url": "https://app.clickup.com/t/86a1b2c3d"
},
"_meta": {
"moduleVersion": "1.0.0",
"success": true,
"id": "86a1b2c3d",
"url": "https://app.clickup.com/t/86a1b2c3d",
"totalMs": 388
}
}

Each node classifies the error so the engine knows whether a retry makes sense:

SituationRetryableWhat to do
Validation (400)NoClickUp returns {"err": "...", "ECODE": "..."} — e.g. a status that does not exist in the list. Fix the data.
Not found (404)NoThe task or list does not exist. Check the id.
Authentication (401/403)NoInvalid token, token sent with a Bearer prefix, or no access to that space. Check the credential.
Rate limit (429)YesClickUp’s Retry-After header is honored and the request is retried.
Server (500+)YesTemporary ClickUp error; retried automatically.
Network / timeoutYesTransient issue; retried automatically.
  • Request timeout: 20 seconds. Retryable failures are retried up to 3 times with exponential backoff.
  • The token is never written to the logs — only a masked fragment (pk_1…wxyz).
  • Dynamic variables ({{data.field}}) are resolved in the text fields of each node. The JSON fields (Update task’s fields, Create task’s assignees) are not processed: put literal values there, or build the JSON in a previous node.
  • Trello — the equivalent integration for Trello cards.
  • Jira, Asana, Notion and Monday — other work-management integrations.
  • HTTP node — for ClickUp endpoints not covered by these nodes (spaces, folders, lists, time tracking…).
  • Retry queue (DLQ) — how failed executions are retried.