Pipory
Node reference

ClickUp

ClickUp node reference - all 161 operations, the credential it needs, and a worked example.

ClickUp API (Project management). 161 operations: tasks, subtasks, task search, merge, move and templates; task tags, dependencies and links; comments and threads; checklists; custom fields; Lists, Folders and Spaces; Space tags; time tracking and timers; Goals and Targets; views; webhooks; Workspace and directory reads; members, guests and user groups; and the v3 Docs, Chat, attachment, sharing and audit-log surfaces.

Credential: ClickUp personal API token - see Credentials.

Requirements

Each operation below lists the requirement it needs. Requirements are not granted on the token at all — ClickUp has NO scopes. A personal API token (pk_…, from Settings → Apps) carries no scopes and simply IS its user: everything that person can see and do, in every Workspace they belong to. OAuth is barely narrower — authorizing an app grants whichever Workspaces the user ticks on the consent screen, with no per-resource or per-verb scope to request and no read-only option. So a refusal is never a missing checkbox, and the column below states what it actually is. Three things gate an operation. Plan: the Users, Guests, Custom Roles and audit-log families are Enterprise-only, and per-assignee time estimates are Business or above. ClickApp: ClickUp ships most features OFF and they are enabled per Space — Time Tracking, Tags, Custom Fields, Dependencies, Checklists, Multiple Assignees, Sprint Points, Total time in Status, and Tasks in Multiple Lists. This is the confusing one, because the endpoint exists, the IDs are right, and the call still fails; switch the ClickApp on with Update Space, or in the ClickUp UI. Membership: the token's user must be able to see the object, and ClickUp answers 404 rather than 403 for something outside their access, so "not found" and "not yours" are indistinguishable. Two more failures are not permissions at all: a 401 is very often the token FORMAT (a personal token is sent raw, and pasting Bearer pk_… is the usual first mistake), and a 429 is the per-token, per-minute rate limit — 100/min on Free, Unlimited and Business, 1,000/min on Business Plus, 10,000/min on Enterprise. If a run fails with a permission error, the node names the missing requirement in the error - grant it and re-run; you do not need to rebuild the workflow.

Operations (161)

Tasks

OperationWhat it doesRequirement
createTaskCreate task(a token whose user can create tasks in the target List)
getTaskGet task(a token whose user can see the task)
updateTaskUpdate task(a token whose user can edit the task)
deleteTaskDelete task(a token whose user can delete the task — this is permanent)
getTasksList tasks in a List(a token whose user can see the List)
getFilteredTeamTasksSearch tasks across the Workspace(a token whose user can see the Workspace — results are silently limited to the tasks that user can already read, so a missing grant looks like an empty result set)
createSubtaskCreate subtask(a token whose user can create tasks in the target List)
updateAssigneesUpdate assignees(the Multiple Assignees ClickApp enabled on the Space to assign more than one person, and a token whose user can edit the task)
mergeTasksMerge tasks(a token whose user can edit both tasks — custom task ids are NOT accepted here, only real ids)
moveTaskMove task to another List(a token whose user can edit the task and create tasks in the destination List)
createTaskFromTemplateCreate task from template(the template already added to your Workspace — a publicly shared template must be imported into your library before the API can use it)
getTaskTimeInStatusGet a task's time in status(the Total time in Status ClickApp enabled by a Workspace owner or admin)
getBulkTimeInStatusGet several tasks' time in status(the Total time in Status ClickApp enabled by a Workspace owner or admin)
updateTimeEstimatesByUserUpdate time estimates by user(the Business plan or above, plus the Time Estimates ClickApp — and every assignee named must already be on the task)
replaceTimeEstimatesByUserReplace all time estimates(the Business plan or above, plus the Time Estimates ClickApp — and every assignee named must already be on the task)
OperationWhat it doesRequirement
addTagToTaskAdd tag to task(the Tags ClickApp enabled on the Space, and a tag that already exists there — this attaches an existing Space tag, it does not create one)
removeTagFromTaskRemove tag from task(the Tags ClickApp enabled on the Space)
addDependencyAdd dependency(the Dependencies ClickApp enabled on the Space)
deleteDependencyRemove dependency(the Dependencies ClickApp enabled on the Space)
addTaskLinkLink two tasks(a token whose user can edit both tasks)
deleteTaskLinkUnlink two tasks(a token whose user can edit both tasks)

Comments

OperationWhat it doesRequirement
addCommentComment on a task(a token whose user can comment on the task)
getTaskCommentsList a task's comments(a token whose user can see the task)
createListCommentComment on a List(a token whose user can comment on the List)
getListCommentsList a List's comments(a token whose user can see the List)
createChatViewCommentPost to a Chat view(a token whose user can post in the Chat view)
getChatViewCommentsList a Chat view's comments(a token whose user can see the Chat view)
updateCommentUpdate / resolve a comment(a token whose user owns the comment or can moderate it — ClickUp REPLACES the comment text, so send the full new body)
deleteCommentDelete comment(a token whose user owns the comment or can moderate it)
createThreadedCommentReply to a comment(a token whose user can comment on the parent object)
getThreadedCommentsList replies to a comment(a token whose user can see the parent comment)

Checklists

OperationWhat it doesRequirement
createChecklistCreate checklist(the Checklists ClickApp enabled on the Space)
editChecklistRename / reorder checklist(the Checklists ClickApp enabled on the Space)
deleteChecklistDelete checklist(the Checklists ClickApp enabled on the Space)
addChecklistItemAdd checklist item(the Checklists ClickApp enabled on the Space)
editChecklistItemEdit / resolve checklist item(the Checklists ClickApp enabled on the Space)
deleteChecklistItemDelete checklist item(the Checklists ClickApp enabled on the Space)

Custom fields

OperationWhat it doesRequirement
setCustomFieldValueSet a custom field value(the Custom Fields ClickApp enabled, and a field that applies to this task's task TYPE — ClickUp answers 400 when the field is not enabled for the task's custom_item_id)
removeCustomFieldValueClear a custom field value(the Custom Fields ClickApp enabled on the Space)
getListCustomFieldsList custom fields on a List(the Custom Fields ClickApp enabled — this returns List-level fields plus Workspace-level ones, not those defined on the parent Folder or Space)
getFolderCustomFieldsList custom fields on a Folder(the Custom Fields ClickApp enabled — this returns ONLY fields created at the Folder level, plus Workspace-level ones)
getSpaceCustomFieldsList custom fields on a Space(the Custom Fields ClickApp enabled — this returns ONLY fields created at the Space level, plus Workspace-level ones)
getWorkspaceCustomFieldsList custom fields on the Workspace(the Custom Fields ClickApp enabled — this returns ONLY fields created at the Workspace level)

Lists

OperationWhat it doesRequirement
getListsList the Lists in a Folder(a token whose user can see the Folder)
createListCreate List in a Folder(a token whose user can create Lists in the Folder)
getFolderlessListsList the folderless Lists in a Space(a token whose user can see the Space)
createFolderlessListCreate folderless List in a Space(a token whose user can create Lists in the Space)
getListGet List(a token whose user can see the List)
updateListUpdate List(a token whose user can edit the List)
deleteListDelete List(a token whose user can delete the List — this is permanent)
addTaskToListAdd task to an additional List(the Tasks in Multiple Lists ClickApp enabled — without it this endpoint refuses even with correct ids)
removeTaskFromListRemove task from an additional List(the Tasks in Multiple Lists ClickApp enabled — and note a task cannot be removed from its HOME List)
createListFromTemplateInFolderCreate List from template (Folder)(the template already added to your Workspace, and rights to create Lists in the Folder)
createListFromTemplateInSpaceCreate List from template (Space)(the template already added to your Workspace, and rights to create Lists in the Space)
getListMembersList members with access to a List(a token whose user can see the List — this returns only EXPLICIT members, not people who inherit access from the Folder or Space)

Folders

OperationWhat it doesRequirement
getFoldersList the Folders in a Space(a token whose user can see the Space)
createFolderCreate Folder(a token whose user can create Folders in the Space)
getFolderGet Folder(a token whose user can see the Folder)
updateFolderRename Folder(a token whose user can edit the Folder)
deleteFolderDelete Folder(a token whose user can delete the Folder — this removes every List and task inside it)
createFolderFromTemplateCreate Folder from template(the template already added to your Workspace, and rights to create Folders in the Space)

Spaces

OperationWhat it doesRequirement
getSpacesList the Spaces in a Workspace(a token whose user can see the Workspace — member details are returned only for private Spaces the user belongs to)
createSpaceCreate Space(Workspace owner or admin)
getSpaceGet Space(a token whose user can see the Space)
updateSpaceUpdate Space(Workspace owner or admin — this is where ClickApps are switched on and off per Space)
deleteSpaceDelete Space(Workspace owner or admin — this removes every Folder, List and task inside the Space)

Space tags

OperationWhat it doesRequirement
getSpaceTagsList a Space's tags(the Tags ClickApp enabled on the Space)
createSpaceTagCreate Space tag(the Tags ClickApp enabled on the Space)
editSpaceTagEdit Space tag(the Tags ClickApp enabled on the Space)
deleteSpaceTagDelete Space tag(the Tags ClickApp enabled — this deletes the tag from the Space, not just from one task)

Time tracking

OperationWhat it doesRequirement
logTimeLog time(the Time Tracking ClickApp enabled on the Space)
getTimeEntriesList time entries in a date range(the Time Tracking ClickApp enabled — and note this returns only the AUTHENTICATED user's last 30 days unless you set Assignee and a date range)
getTimeEntryGet time entry(the Time Tracking ClickApp enabled on the Space)
updateTimeEntryUpdate time entry(the Time Tracking ClickApp enabled on the Space)
deleteTimeEntryDelete time entry(the Time Tracking ClickApp enabled on the Space)
getTimeEntryHistoryGet a time entry's change history(the Time Tracking ClickApp enabled on the Space)
getRunningTimeEntryGet the running timer(the Time Tracking ClickApp enabled — this reads the timer of the token's OWN user and nobody else's)
startTimerStart timer(the Time Tracking ClickApp enabled — this starts a timer for the token's own user)
stopTimerStop timer(the Time Tracking ClickApp enabled — this stops the token user's own running timer)
getTimeEntryTagsList time-entry labels(the Time Tracking ClickApp enabled on the Space)
addTimeEntryTagsAdd labels to time entries(the Time Tracking ClickApp enabled on the Space)
renameTimeEntryTagRename a time-entry label(the Time Tracking ClickApp enabled on the Space)
removeTimeEntryTagsRemove labels from time entries(the Time Tracking ClickApp enabled — this unlabels the entries, it does not delete the label from the Workspace)

Goals & targets

OperationWhat it doesRequirement
getGoalsList Goals(the Goals ClickApp enabled on the Workspace)
createGoalCreate Goal(the Goals ClickApp enabled on the Workspace)
getGoalGet Goal(the Goals ClickApp enabled on the Workspace)
updateGoalUpdate Goal(the Goals ClickApp enabled on the Workspace)
deleteGoalDelete Goal(the Goals ClickApp enabled, and rights to delete the Goal)
createKeyResultCreate Target(the Goals ClickApp enabled on the Workspace)
editKeyResultUpdate Target progress(the Goals ClickApp enabled on the Workspace)
deleteKeyResultDelete Target(the Goals ClickApp enabled on the Workspace)

Views

OperationWhat it doesRequirement
getViewGet view(a token whose user can see the view)
getViewTasksList the tasks visible in a view(a token whose user can see the view — results respect the view's own filters, so this can legitimately return nothing)
getListViewsList a List's views(a token whose user can see the List)
getFolderViewsList a Folder's views(a token whose user can see the Folder)
getSpaceViewsList a Space's views(a token whose user can see the Space)
getWorkspaceViewsList the Workspace (Everything) views(a token whose user can see the Workspace)

Webhooks

OperationWhat it doesRequirement
getWebhooksList webhooks(a token whose user created the webhooks — ClickUp returns only the webhooks belonging to the authenticated user)
createWebhookCreate webhook(a token whose user can see the location being watched — the webhook is bound to that user and STOPS firing if they are deactivated)
updateWebhookUpdate webhook(a token whose user owns the webhook — this is also how a webhook whose health has degraded is reset)
deleteWebhookDelete webhook(a token whose user owns the webhook)

Workspace & directory

OperationWhat it doesRequirement
getAuthorizedWorkspacesList the Workspaces this token can see(nothing beyond a working token — start here to find the Workspace ID the rest of this node asks for)
getAuthorizedUserGet the authenticated user(nothing beyond a working token)
getWorkspaceSeatsGet Workspace seat usage(a token whose user can see Workspace billing settings)
getWorkspacePlanGet Workspace plan(a token whose user can see Workspace billing settings)
getCustomTaskTypesList custom task types(a token whose user can see the Workspace)
getCustomRolesList custom roles(the Enterprise plan — custom roles do not exist below it)
getSharedHierarchyList items shared with me(nothing beyond a working token)
getTaskMembersList members with access to a task(a token whose user can see the task — this returns only EXPLICIT members, not people who inherit access from the List, Folder or Space)
getTaskTemplatesList task templates(a token whose user can see the Workspace)
getListTemplatesList List templates(a token whose user can see the Workspace — template ids come back with a t- prefix and must be passed WITH it)
getFolderTemplatesList Folder templates(a token whose user can see the Workspace — template ids come back with a t- prefix and must be passed WITH it)
getGroupsList user groups (Teams)(a token whose user can see the Workspace)

Members, guests & groups

OperationWhat it doesRequirement
inviteUserToWorkspaceInvite a member(the Enterprise plan, and Workspace owner or admin)
getUserGet a member(the Enterprise plan, and Workspace owner or admin)
editUserEdit a member(the Enterprise plan, and Workspace owner or admin)
removeUserDeactivate a member(the Enterprise plan, and Workspace owner or admin)
inviteGuestToWorkspaceInvite a guest(the Enterprise plan — and inviting a guest only creates them: share a task, List or Folder with them separately to give them anything to see)
getGuestGet a guest(the Enterprise plan, and Workspace owner or admin)
editGuestEdit a guest(the Enterprise plan, and Workspace owner or admin)
removeGuestRemove a guest(the Enterprise plan, and Workspace owner or admin)
addGuestToTaskShare a task with a guest(the Enterprise plan, and rights to share the task)
removeGuestFromTaskUnshare a task from a guest(the Enterprise plan, and rights to share the task)
addGuestToListShare a List with a guest(the Enterprise plan, and rights to share the List)
removeGuestFromListUnshare a List from a guest(the Enterprise plan, and rights to share the List)
addGuestToFolderShare a Folder with a guest(the Enterprise plan, and rights to share the Folder)
removeGuestFromFolderUnshare a Folder from a guest(the Enterprise plan, and rights to share the Folder)
createGroupCreate user group(Workspace owner or admin — and note adding a view-only guest to a group converts them to a PAID guest, which can add a billable seat)
updateGroupUpdate user group(Workspace owner or admin — and note adding a view-only guest to a group converts them to a PAID guest, which can add a billable seat)
deleteGroupDelete user group(Workspace owner or admin)

Docs (v3)

OperationWhat it doesRequirement
searchDocsSearch Docs(a token whose user can see the Docs — v3, so a Workspace ID)
createDocCreate Doc(rights to create a Doc in the chosen parent — v3)
getDocGet Doc(a token whose user can see the Doc — v3)
getDocPageListingGet a Doc's page listing(a token whose user can see the Doc — v3; this is the cheap outline, without page content)
getDocPagesGet a Doc's pages with content(a token whose user can see the Doc — v3; content is converted to markdown, so some ClickUp-only blocks will not round-trip)
createDocPageCreate page in a Doc(rights to edit the Doc — v3)
getDocPageGet page(a token whose user can see the Doc — v3)
editDocPageEdit page(rights to edit the Doc — v3; the default edit mode REPLACES the page body, so append or prepend explicitly if that is what you meant)

Chat (v3)

OperationWhat it doesRequirement
getChatChannelsList Channels(a token whose user can see the Channels — v3)
getChatChannelGet Channel(a token whose user can see the Channel — v3)
createChatChannelCreate Channel(rights to create Channels in the Workspace — v3; creating a Channel whose name already exists returns the EXISTING one rather than failing)
createLocationChatChannelCreate Channel on a Space/Folder/List(rights on the Space, Folder or List — v3; if that location already has a Channel this returns it rather than creating a second)
createDirectMessageCreate direct message(a token whose user can message the people named — v3; up to 15 users, and an existing conversation is returned rather than duplicated)
updateChatChannelUpdate Channel(rights to administer the Channel — v3)
deleteChatChannelDelete Channel(rights to administer the Channel — v3)
getChatChannelFollowersList Channel followers(a token whose user can see the Channel — v3)
getChatChannelMembersList Channel members(a token whose user can see the Channel — v3)
getChatMessagesList Channel messages(a token whose user can see the Channel — v3)
sendChatMessageSend message(a token whose user can post in the Channel — v3; the message is attributed to that user, and posts of type post also need a subtype id)
updateChatMessageUpdate message(a token whose user owns the message — v3)
deleteChatMessageDelete message(a token whose user owns the message — v3)
getChatMessageRepliesList message replies(a token whose user can see the Channel — v3)
createChatReplyReply to a message(a token whose user can post in the Channel — v3)
getChatMessageReactionsList message reactions(a token whose user can see the Channel — v3)
createChatReactionReact to a message(a token whose user can post in the Channel — v3; the reaction is a lower-case emoji NAME such as thumbsup, not the emoji itself)
deleteChatReactionRemove a reaction(a token whose user owns the reaction — v3; name the same emoji that was added)
getChatMessageTaggedUsersList users tagged in a message(a token whose user can see the Channel — v3)
getPostSubtypesGet post subtype IDs(a token whose user can see the Workspace — v3; subtype ids are unique per Workspace, so they cannot be hard-coded across accounts)

Attachments, sharing & audit (v3)

OperationWhat it doesRequirement
getEntityAttachmentsList an entity's attachments(a token whose user can see the parent entity — v3)
updateAclUpdate privacy and access(rights to administer the object — v3; sharing an item can add billable guest seats)
queryAuditLogQuery the audit log(the Enterprise plan AND the Workspace OWNER specifically — an admin is not enough — v3)

Example

Find the tasks that changed since the last run, without listing the whole Workspace

A reporting or escalation workflow needs the tasks touched since it last ran. Listing every task and filtering downstream burns the rate limit (100 requests a minute on most plans) and still misses tasks that moved between Lists. Searching the Workspace with a date-updated floor pushes both problems into ClickUp: it returns only what actually changed, across every Space, in one call.

Set Operation to getFilteredTeamTasks, then fill in:

FieldValueNotes
teamId9012345678The Workspace — ClickUp calls it a Team in the API. Read it once with List the Workspaces this token can see; it is stable
dateUpdatedGt{{ lastRun.timestamp }}Unix MILLISECONDS, not a date string — ClickUp rejects the ISO form. This is the floor that makes the call incremental
statusesin progress, blockedComma-separated, and each must be spelled exactly as that Space has it — an unknown status silently matches nothing rather than erroring
includeClosedfalseLeave closed tasks out. ClickUp excludes them by default, so this is only worth setting to true
page0Zero-indexed, 100 tasks a page, and ClickUp offers no page-size override — feed page + 1 back in inside a Loop while hasMore is true

Sets {{changed.tasks}} (the array), {{changed.count}} and {{changed.hasMore}}. hasMore is read from ClickUp's own last_page flag on this endpoint rather than guessed from the row count, so it is safe to loop on. Wire {{changed.tasks.[0].id}} into a following ClickUp node's taskId to comment on one, or into updateTaskId to change its status. Note the search is silently limited to tasks the token's user can already read, so an empty result can mean a permission gap rather than nothing having changed.