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
| Method | Type | Description |
|---|---|---|
| ClickUp API Token | API Key | A personal API token from a ClickUp user |
| Your own ClickUp OAuth app | OAuth 2.0 | An 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.
- In ClickUp, click your avatar in the upper-right corner and select Settings.
- In the sidebar, click Apps. The page may be named ClickUp API.
- Under API Token, click Generate, then Copy. The token starts with
pk_. - In Helios, choose ClickUp API Token and paste the token into API Token.
- 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. - 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.
-
In ClickUp, click your avatar, select Settings, and click Apps in the sidebar.
-
Click Create new app.
-
Name the app and add this redirect URL:
https://api.heliosapp.com/integrations/clickup/oauth_callbackAfter you save, ClickUp shows only the domain,
https://api.heliosapp.com. -
Copy the app's client ID and secret.
-
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.
-
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.
| Event | Description | Filters |
|---|---|---|
task.created | A task was created | list |
task.updated | A task was updated | list, moved to status (pattern), changed field (pattern) |
task.moved | A task was moved to another list | list |
task.deleted | A task was deleted | none |
comment.created | A comment was added to a task | list |
comment.updated | A comment on a task was edited | list |
list.created | A list was created | none |
list.updated | A list was updated | list |
list.deleted | A list was deleted | list |
folder.created | A folder was created | none |
folder.updated | A folder was updated | none |
folder.deleted | A folder was deleted | none |
space.created | A space was created | none |
space.updated | A space was updated | none |
space.deleted | A space was deleted | none |
goal.created | A goal was created | none |
goal.updated | A goal was updated | none |
goal.deleted | A goal was deleted | none |
key_result.created | A target was added to a goal | none |
key_result.updated | A goal's target was updated | none |
key_result.deleted | A target was removed from a goal | none |
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. Forlist.updatedandlist.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 progressorcomplete. 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:
| Change | Field name |
|---|---|
| Status | status |
| Priority | priority |
| Assignee added | assignee_add |
| Due date | due_date |
| Tags | tag |
| Time estimate | time_estimate |
| Time tracked | time_spent |
| Description | content |
| A custom field | custom_field |
| Moved to another list | section_moved |
| A comment was added or edited | comment |
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.deletedfor 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:
- Add
task.createdto a workflow with no filters. - Create a test task in the workspace.
- Check that a run starts. Then open the connection in Helios and click Webhook events to see the event.
- Add
Common errors
| What you see | Cause | Fix |
|---|---|---|
| The connection's status shows Error | The connection test failed | Read 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 workspaces | Enter 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 workspace | Check the number in your ClickUp URL, or connect again and pick that workspace |
ClickUp returned no authorization code | The approval in ClickUp wasn't completed | Connect again and approve access |
ClickUp rejected the authorization code: … | The client ID or secret is wrong, or the redirect URL doesn't match | Check both values and the redirect URL, then connect again |
Access token not found. Please complete the OAuth flow first. | The OAuth approval wasn't finished | Open the connection and connect again |
TIMEENTRY_072 when the agent logs time | ClickUp rejected the time entry for the task | Check 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 it | Helios registers the webhook again later. To try now, save the connection again |
| No run starts after an event | The 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 match | Fix the cause, then save the connection again so Helios updates and reactivates the webhook. Test with no filters |
429 from ClickUp | The token went over ClickUp's rate limit | Wait 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
Docusign
The Docusign integration lets Helios agents call the eSignature, Click, Admin, Rooms, Workspaces, Web Forms, Workflow Builder, Agreement Manager, Connected Fields, and Monitor APIs, and run agents automatically on Docusign Connect events.
Slack
The Slack integration lets Helios agents search and call the entire Slack API to post messages, manage channels, work with files and canvases, and run automatically on new messages.