HELIOS DOCS

ClickUp

The ClickUp integration lets Helios agents read and change your ClickUp workspace through its REST API, and run agents automatically when tasks, comments, lists, folders, spaces, or goals change.

What your agents can do

Agents can call ClickUp API v2 and v3. v2 covers tasks, lists, comments, time tracking, and goals. v3 covers Docs, Chat, and moving tasks between lists. Access depends on the connected user's permissions and ClickUp plan. Helios attaches your API token or OAuth token to API calls.

  • Create tasks from a request, with a list, priority, assignee, and due date
  • Move tasks between statuses and update their fields
  • Log time on tasks in Spaces that have the Time Tracking ClickApp turned on
  • Comment on tasks and reply to comments
  • Attach files to tasks, and read files attached to tasks
  • Report on a list's tasks by status or assignee

The agent can send and download files up to 16 MB. Requests must start at ClickUp's API at https://api.clickup.com/api, https://attachments-public.clickup.com, or a workspace attachment host matching https://*.p.clickup-attachments.com, such as t123.p.clickup-attachments.com. The attachment host pattern is not restricted to your connected workspace. Downloads from attachments-public.clickup.com do not receive your API or OAuth token.

Authentication

MethodTypeDescription
ClickUp API TokenAPI KeyA personal API token from a ClickUp user
Your own ClickUp OAuth appOAuth 2.0An OAuth app you create in ClickUp

See Integration authentication for how credentials are stored and injected.

ClickUp API Token

Connect with a personal API token from the ClickUp user whose permissions the agent should use.

  1. In ClickUp, click your avatar in the upper-right corner and select Settings.
  2. In the sidebar, click Apps. The page may be named ClickUp API.
  3. Under API Token, click Generate, then Copy. The token starts with pk_.
  4. In Helios, choose ClickUp API Token and paste the token into API Token.
  5. If you belong to more than one ClickUp workspace, enter the workspace that triggers should watch in Workspace ID. It is the number after app.clickup.com/ in your ClickUp URL.
  6. Save.

If you regenerate the token in ClickUp, enter the new one through Manage and save.

ClickUp records every change made with the token as the user who owns it. A separate ClickUp user for Helios keeps the agent's changes apart from yours.

Your own ClickUp OAuth app

Only workspace owners and admins can create an OAuth app in ClickUp.

  1. In ClickUp, click your avatar, select Settings, and click Apps in the sidebar.

  2. Click Create new app.

  3. Name the app and add this redirect URL:

    https://api.heliosapp.com/integrations/clickup/oauth_callback

    After you save, ClickUp shows only the domain, https://api.heliosapp.com.

  4. Copy the app's client ID and secret.

  5. In Helios, choose Your own ClickUp OAuth app and enter them in Client ID and Client Secret. If you will authorize more than one workspace, enter the one for triggers in Workspace ID.

  6. Save, then approve access in ClickUp and pick the workspaces Helios can use.

Helios requests no OAuth scopes. The connection uses the approving user's access to the workspaces they authorize.

Triggers

ClickUp can start a Workflow when something happens in your workspace. Helios registers a webhook in ClickUp when you save the connection, so there is nothing to set up in ClickUp. Helios requests the events below and reports any that ClickUp does not subscribe to. Deleting the connection removes the webhook.

The webhook belongs to the token's user. ClickUp sends an event only when that user can still reach the item.

EventDescriptionFilters
task.createdA task was createdlist
task.updatedA task was updatedlist, moved to status (pattern), changed field (pattern)
task.movedA task was moved to another listlist
task.deletedA task was deletednone
comment.createdA comment was added to a tasklist
comment.updatedA comment on a task was editedlist
list.createdA list was creatednone
list.updatedA list was updatedlist
list.deletedA list was deletedlist
folder.createdA folder was creatednone
folder.updatedA folder was updatednone
folder.deletedA folder was deletednone
space.createdA space was creatednone
space.updatedA space was updatednone
space.deletedA space was deletednone
goal.createdA goal was creatednone
goal.updatedA goal was updatednone
goal.deletedA goal was deletednone
key_result.createdA target was added to a goalnone
key_result.updatedA goal's target was updatednone
key_result.deletedA target was removed from a goalnone

All filters are optional.

  • List matches events for tasks and comments in the lists you pick. For task.moved, it is the list the task moved to. For list.updated and list.deleted, it is the list itself.
  • Moved to status matches only updates that changed the task's status, when the new status matches, such as in progress or complete. It is a pattern, and case is ignored.
  • Changed field matches updates that changed a field whose ClickUp name matches. It is a pattern, and case is ignored. Use it to match one kind of change, such as a new priority or due date.

These are the field names in ClickUp's docs:

ChangeField name
Statusstatus
Prioritypriority
Assignee addedassignee_add
Due datedue_date
Tagstag
Time estimatetime_estimate
Time trackedtime_spent
Descriptioncontent
A custom fieldcustom_field
Moved to another listsection_moved
A comment was added or editedcomment

Use a pattern such as assignee* to match every field whose name starts with assignee.

ClickUp sends one change as more than one event:

  • Each task change that ClickUp also reports as its own event, such as a status change, a new or edited comment, or a move to another list, also arrives as task.updated.
  • Deleting a folder or a space also sends list.deleted for each of its lists.

An event carries the IDs and the change, not the whole item. Folder, space, goal, and target events carry only the item's ID. The agent reads the item through the API when it needs the name or other fields.

Deliveries are verified with the HMAC-SHA256 X-Signature header, using the secret ClickUp returns when Helios creates the webhook.

An agent that edits or comments on a task starts another task.updated run, and an agent's reply starts another comment.created run. A task the agent creates starts a task.created run, and a task it moves starts a task.moved run. A list, folder, or space the agent creates, changes, or deletes starts the matching event, plus the extra events listed above. Use a filter, or say in the prompt which events to ignore, such as comments the agent wrote. See Guarding against events you don't want.

Check that it works

  • The connection: after you save, the connection's status shows Connected. Error means the connection test failed. Open the connection to see the error.
  • A trigger:
    1. Add task.created to a workflow with no filters.
    2. Create a test task in the workspace.
    3. Check that a run starts. Then open the connection in Helios and click Webhook events to see the event.

Common errors

What you seeCauseFix
The connection's status shows ErrorThe connection test failedRead the connection error. If the token was rejected, enter a current token through Manage or connect the OAuth app again
Every event shows as unavailable with This ClickUp connection can see more than one workspace. Set the workspace ID to choose the one for triggers.Workspace ID is empty, and the token reaches several workspacesEnter the workspace ID and save
Every event shows as unavailable with This ClickUp connection has no access to the workspace …Workspace ID is wrong, or the OAuth approval didn't include that workspaceCheck the number in your ClickUp URL, or connect again and pick that workspace
ClickUp returned no authorization codeThe approval in ClickUp wasn't completedConnect again and approve access
ClickUp rejected the authorization code: …The client ID or secret is wrong, or the redirect URL doesn't matchCheck both values and the redirect URL, then connect again
Access token not found. Please complete the OAuth flow first.The OAuth approval wasn't finishedOpen the connection and connect again
TIMEENTRY_072 when the agent logs timeClickUp rejected the time entry for the taskCheck the Space's Time Tracking ClickApp setting. The agent can also try the task time endpoint
An event shows as unavailable with ClickUp did not subscribe the webhook to this event.ClickUp left the event off the webhook when Helios registered itHelios registers the webhook again later. To try now, save the connection again
No run starts after an eventThe webhook is in another workspace, ClickUp suspended it, the token's user was deactivated or can't see the item, or the filters don't matchFix the cause, then save the connection again so Helios updates and reactivates the webhook. Test with no filters
429 from ClickUpThe token went over ClickUp's rate limitWait before retrying. See ClickUp's rate limits

Limits

  • Workspaces: each connection watches one workspace for triggers. Agents can still call the API in every workspace the token can see.

Last updated on