# ClickUp on boxd

> ClickUp unifies tasks, docs, goals, and chat in a single platform, allowing teams to plan, organize, and collaborate across projects with customizable workflows.

- Page: https://boxd.sh/integrations/clickup/
- CLI: `run clickup` (164 commands, 13 marked common)
- SDK: `import { clickup } from "@boxd/run"`; every parameter and response type is at `@boxd/run/clickup`
- Triggers: 21
- Connect: `run auth clickup` (Sign in with ClickUp), or https://app.boxd.sh/integrations/detail/clickup
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth clickup      # once: prints a link to connect your account
run clickup           # list its commands
run clickup get-task --help
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { clickup } from "@boxd/run";

const result = await clickup.getTask({ task_id: "…" });
console.log(result);

clickup.on("folder-created", { workspace_id: "…" }, async (event) => {
  // Folder Created: runs on this machine, once per event
  console.log(event);
});
```

Run it with `run clickup.run.ts`. A script that calls `.on()` keeps running as a job and handles each event.

## Commands

Required flags are listed; `run clickup <command> --help` lists the optional ones. "common" marks what `run clickup` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `add-dependency` | `clickup.addDependency()` | `--task-id` | 4 | Adds a 'waiting on' or 'blocking' dependency to a task, requiring either `depends_on` (task becomes waiting on) or `dependency_of` (task becomes blocking), but not both; `team_id` is required if… |
| `add-guest-to-folder` | `clickup.addGuestToFolder()` | `--folder-id` `--guest-id` `--permission-level` | 1 | Adds a guest to a folder with specified permissions; requires a ClickUp Enterprise Plan |
| `add-guest-to-list` | `clickup.addGuestToList()` | `--guest-id` `--list-id` `--permission-level` | 1 | Shares a ClickUp List with an existing guest user, granting them specified permissions; requires the Workspace to be on the ClickUp Enterprise Plan |
| `add-guest-to-task` | `clickup.addGuestToTask()` | `--guest-id` `--permission-level` `--task-id` | 3 | Assigns a guest to a task with specified permissions; requires ClickUp Enterprise Plan, and `team_id` if `custom_task_ids` is true |
| `add-tag-to-task` | `clickup.addTagToTask()` | `--tag-name` `--task-id` | 2 | Adds an existing tag to a specified task; team_id is required if custom_task_ids is true |
| `add-tags-to-time-entries` | `clickup.addTagsToTimeEntries()` | `--tags` `--team-id` `--time-entry-ids` | 0 | Associates a list of specified tags with one or more time entries within a given Team (Workspace) |
| `add-task-link` | `clickup.addTaskLink()` | `--links-to` `--task-id` | 2 | Links two existing and accessible ClickUp tasks, identified by `task_id` (source) and `links_to` (target) |
| `add-task-to-list` | `clickup.addTaskToList()` | `--list-id` `--task-id` | 0 | Adds an existing task to an additional ClickUp List; the "Tasks in Multiple Lists" ClickApp must be enabled in the Workspace for this |
| `attachments-upload-file-to-task-as-attachment` ·deprecated | `clickup.attachmentsUploadFileToTaskAsAttachment()` | `--attachment` `--task-id` | 2 | Use `create_task_attachment` to upload a file to a task; requires `multipart/form-data` |
| `authorization-get-work-space-list` ·deprecated | `clickup.authorizationGetWorkSpaceList()` | — | 0 | Use `get_authorized_teams_workspaces` instead to retrieve Workspaces (Teams) accessible to the authenticated user |
| `click-up-update-doc-page` | `clickup.clickUpUpdateDocPage()` | `--doc-id` `--page-id` `--workspace-id` | 2 | Update/edit a ClickUp Doc page's title and/or content via the v3 Docs API |
| `create-chat-channel` | `clickup.createChatChannel()` | `--name` `--workspace-id` | 4 | Create a chat channel in a ClickUp workspace |
| `create-chat-message` | `clickup.createChatMessage()` | `--channel-id` `--content` `--type` `--workspace-id` | 9 | Send a message in a ClickUp chat channel |
| `create-chat-reaction` | `clickup.createChatReaction()` | `--message-id` `--reaction` `--workspace-id` | 0 | Add a reaction to a ClickUp chat message |
| `create-chat-view-comment` | `clickup.createChatViewComment()` | `--comment-text` `--notify-all` `--view-id` | 0 | Posts a new comment to a specified ClickUp Chat view; the 'view_id' must correspond to an existing and accessible Chat view |
| `create-checklist` | `clickup.createChecklist()` | `--name` `--task-id` | 2 | Creates a new checklist with a specified name within an existing task, which can be identified by its standard ID or a custom task ID (if `custom_task_ids` is true, `team_id` is also required) |
| `create-checklist-item` | `clickup.createChecklistItem()` | `--checklist-id` `--name` | 1 | Creates a new checklist item within a specified, existing checklist, optionally setting the item's name and assigning it to a user |
| `create-direct-message-channel` | `clickup.createDirectMessageChannel()` | `--workspace-id` | 1 | Create a direct message channel in ClickUp |
| `create-doc` ·common | `clickup.createDoc()` | `--name` `--workspace-id` | 2 | Create a new ClickUp Doc in a Workspace (v3 Docs API) and return the new doc_id for follow-up page/content operations |
| `create-doc-page` ·common | `clickup.createDocPage()` | `--doc-id` `--workspace-id` | 5 | Create a page in a ClickUp Doc (v3 Docs API) |
| `create-folder` ·common | `clickup.createFolder()` | `--name` `--space-id` | 0 | Creates a new ClickUp Folder within the specified Space, which must exist and be accessible |
| `create-folder-view` | `clickup.createFolderView()` | `--folder-id` `--name` `--type` | 26 | Creates a new, highly customizable view within a specific ClickUp folder using its `folder_id` |
| `create-folderless-list` | `clickup.createFolderlessList()` | `--name` `--space-id` | 6 | Creates a new folderless list (a list not part of any Folder) directly within a specified ClickUp Space |
| `create-goal` | `clickup.createGoal()` | `--color` `--description` `--due-date` `--multiple-owners` `--name` `--owners` `--team-id` | 0 | Creates a new goal in a ClickUp Team (Workspace) |
| `create-key-result` | `clickup.createKeyResult()` | `--goal-id` `--list-ids` `--name` `--owners` `--steps-end` `--steps-start` `--task-ids` `--type` `--unit` | 0 | Creates a new Key Result (Target) for a specified Goal in ClickUp to define and track measurable objectives towards achieving that Goal |
| `create-list` ·common | `clickup.createList()` | `--folder-id` `--name` | 6 | Creates a new list in ClickUp within an existing folder |
| `create-list-comment` | `clickup.createListComment()` | `--comment-text` `--list-id` | 2 | Adds a new comment with specific text to an existing and accessible ClickUp List, assigns it to a user, and sets notification preferences for all list members |
| `create-list-from-template` | `clickup.createListFromTemplate()` | `--folder-id` `--name` `--template-id` | 0 | Creates a new list from a template in a specified ClickUp folder |
| `create-list-view` | `clickup.createListView()` | `--list-id` `--name` `--type` | 26 | Creates a new, customizable view (e.g., list, board, calendar) within a specified ClickUp List, requiring an existing list_id accessible by the user |
| `create-location-chat-channel` | `clickup.createLocationChatChannel()` | `--location` `--workspace-id` | 4 | Create a Channel on a Space, Folder, or List in ClickUp |
| `create-reply-message` | `clickup.createReplyMessage()` | `--content` `--message-id` `--type` `--workspace-id` | 9 | Create a reply to a chat message in ClickUp |
| `create-space` | `clickup.createSpace()` | `--multiple-assignees` `--name` `--team-id` | 12 | Creates a new ClickUp Space within a specified Workspace, allowing feature configuration which defaults to Workspace settings if unspecified |
| `create-space-tag` | `clickup.createSpaceTag()` | `--space-id` `--tag--name` `--tag--tag-bg` `--tag--tag-fg` | 0 | Creates a new tag (name, foreground color, background color) in an existing ClickUp Space |
| `create-space-view` | `clickup.createSpaceView()` | `--name` `--space-id` `--type` | 26 | Creates a customizable view (e.g., List, Board, Gantt) within a specified ClickUp Space, allowing configuration of grouping, sorting, filtering, and display settings |
| `create-task` ·common | `clickup.createTask()` | `--list-id` `--name` | 18 | Creates a new ClickUp task in a specific list, optionally as a subtask if a `parent` task ID (which cannot be a subtask itself and must be in the same list) is provided |
| `create-task-attachment` | `clickup.createTaskAttachment()` | `--attachment` `--task-id` | 2 | Uploads a file as an attachment to a specified ClickUp task using multipart/form-data |
| `create-task-comment` ·common | `clickup.createTaskComment()` | `--assignee` `--comment-text` `--notify-all` `--task-id` | 2 | Adds a comment to a ClickUp task; `team_id` is required if `custom_task_ids` is true |
| `create-task-from-template` | `clickup.createTaskFromTemplate()` | `--list-id` `--name` `--template-id` | 0 | Creates a new task in a specified ClickUp list from a task template, using the provided name for the new task |
| `create-team` | `clickup.createTeam()` | `--members` `--name` `--team-id` | 0 | Creates a new team (user group) with specified members in a Workspace; member IDs must be for existing users, and be aware that adding view-only guests as paid members may incur extra charges |
| `create-threaded-comment` ·common | `clickup.createThreadedComment()` | `--comment-id` `--comment-text` `--notify-all` | 2 | Create a threaded reply to a comment in ClickUp |
| `create-time-entry` | `clickup.createTimeEntry()` | `--duration` `--start` `--team-Id` | 9 | Creates a new time entry for a specified team |
| `create-webhook` | `clickup.createWebhook()` | `--endpoint` `--events` `--team-id` | 4 | Creates a ClickUp webhook for a Team (Workspace) to notify a public URL on specified events (at least one, or '*' for all), optionally scoped to a Space, Folder, List, or Task; the endpoint must… |
| `create-workspace-everything-level-view` | `clickup.createWorkspaceEverythingLevelView()` | `--name` `--team-id` `--type` | 26 | Creates a new, customizable view (e.g., List, Board) at the 'Everything' level for a specified Team (Workspace ID), encompassing all tasks within that Workspace |
| `delete-chat-channel` ·common | `clickup.deleteChatChannel()` | `--channel-id` `--workspace-id` | 0 | Delete a chat channel in ClickUp |
| `delete-chat-message` | `clickup.deleteChatMessage()` | `--message-id` `--workspace-id` | 0 | Delete a chat message in ClickUp |
| `delete-chat-reaction` | `clickup.deleteChatReaction()` | `--message-id` `--reaction` `--workspace-id` | 0 | Delete a reaction from a chat message in ClickUp |
| `delete-checklist` | `clickup.deleteChecklist()` | `--checklist-id` | 0 | Permanently deletes an existing checklist identified by its `checklist_id` |
| `delete-checklist-item` | `clickup.deleteChecklistItem()` | `--checklist-id` `--checklist-item-id` | 0 | Permanently deletes an existing item, identified by `checklist_item_id`, from an existing checklist, identified by `checklist_id` |
| `delete-comment` | `clickup.deleteComment()` | `--comment-id` | 0 | Deletes an existing comment from a task using its `comment_id` |
| `delete-dependency` | `clickup.deleteDependency()` | `--task-id` | 4 | Removes a dependency relationship for a task |
| `delete-folder` | `clickup.deleteFolder()` | `--folder-id` | 0 | Permanently and irreversibly deletes a specified folder and all its contents (Lists, Tasks) if the folder_id exists |
| `delete-goal` | `clickup.deleteGoal()` | `--goal-id` | 0 | Permanently removes an existing Goal, identified by its `goal_id`, from the Workspace |
| `delete-key-result` | `clickup.deleteKeyResult()` | `--key-result-id` | 0 | Deletes an existing Key Result, also referred to as a Target within a Goal, identified by its `key_result_id` |
| `delete-list` | `clickup.deleteList()` | `--list-id` | 0 | Permanently deletes an existing List and all its contents; this action is destructive and irreversible via the API |
| `delete-space` | `clickup.deleteSpace()` | `--space-id` | 0 | Permanently deletes a specified Space in ClickUp; this action is irreversible as the Space cannot be recovered via the API |
| `delete-space-tag` | `clickup.deleteSpaceTag()` | `--space-id` `--tag-name` | 3 | Deletes a Tag from a Space, identified by `tag_name` in path; precise matching of Tag details in the request body (`tag_name_1`, `tag_tag_fg`, `tag_tag_bg`) is generally required for successful… |
| `delete-task` ·common | `clickup.deleteTask()` | `--task-id` | 2 | Permanently deletes a task, using its standard ID or a custom task ID (requires `custom_task_ids=true` and `team_id`) |
| `delete-task-link` | `clickup.deleteTaskLink()` | `--links-to` `--task-id` | 2 | Deletes an existing link, effectively a dependency or relationship, between two ClickUp tasks; set `custom_task_ids=true` and provide `team_id` if using custom task IDs |
| `delete-team` | `clickup.deleteTeam()` | `--group-id` | 0 | Permanently deletes an existing Team (user group) from the Workspace using its `group_id` |
| `delete-time-entry` | `clickup.deleteTimeEntry()` | `--team-id` `--timer-id` | 0 | Deletes an existing time entry, specified by `timer_id`, from a Workspace identified by `team_id` |
| `delete-time-tracked` | `clickup.deleteTimeTracked()` | `--interval-id` `--task-id` | 2 | Deletes a time-tracked interval from a task; use this legacy endpoint for older time tracking systems |
| `delete-view` | `clickup.deleteView()` | `--view-id` | 0 | Permanently and irreversibly deletes an existing View in ClickUp, identified by its `view_id` |
| `delete-webhook` | `clickup.deleteWebhook()` | `--webhook-id` | 0 | Permanently removes an existing webhook, specified by its ID, thereby ceasing all its event monitoring and notifications |
| `get-access-token` | `clickup.getAccessToken()` | `--client-id` `--client-secret` `--code` | 0 | Exchanges a ClickUp OAuth 2.0 authorization code (obtained after user consent) for an access token |
| `get-accessible-custom-fields` | `clickup.getAccessibleCustomFields()` | `--list-id` | 0 | Retrieves all accessible Custom Field definitions for a specified ClickUp List using its `list_id` |
| `get-all-tags-from-time-entries` | `clickup.getAllTagsFromTimeEntries()` | `--team-id` | 0 | Retrieves all unique tags applied to time entries within a specified ClickUp Team (Workspace) |
| `get-authorized-teams-workspaces` | `clickup.getAuthorizedTeamsWorkspaces()` | — | 0 | Retrieves a list of Workspaces (Teams) the authenticated user can access |
| `get-authorized-user` | `clickup.getAuthorizedUser()` | — | 0 | Retrieves the details of the currently authenticated ClickUp user |
| `get-bulk-tasks-time-in-status` | `clickup.getBulkTasksTimeInStatus()` | `--task-ids` | 2 | Retrieves the time spent in each status for multiple tasks; requires the 'Total time in Status' ClickApp to be enabled in the Workspace |
| `get-chat-channel` | `clickup.getChatChannel()` | `--channel-id` `--workspace-id` | 1 | Retrieves details for a specific chat channel in a ClickUp Workspace |
| `get-chat-channel-followers` | `clickup.getChatChannelFollowers()` | `--channel-id` `--workspace-id` | 2 | Retrieve followers of a ClickUp chat channel |
| `get-chat-channel-members` | `clickup.getChatChannelMembers()` | `--channel-id` `--workspace-id` | 2 | Get members of a chat channel |
| `get-chat-channels` | `clickup.getChatChannels()` | `--workspace-id` | 7 | Retrieve chat channels in a ClickUp workspace |
| `get-chat-message-reactions` | `clickup.getChatMessageReactions()` | `--message-id` `--workspace-id` | 2 | Retrieve reactions on a ClickUp chat message |
| `get-chat-message-replies` | `clickup.getChatMessageReplies()` | `--message-id` `--workspace-id` | 3 | Retrieves replies to a chat message in ClickUp |
| `get-chat-message-tagged-users` | `clickup.getChatMessageTaggedUsers()` | `--message-id` `--workspace-id` | 2 | Retrieve users tagged in a ClickUp chat message |
| `get-chat-messages` | `clickup.getChatMessages()` | `--channel-id` `--workspace-id` | 3 | Retrieve messages from a ClickUp chat channel |
| `get-chat-view-comments` | `clickup.getChatViewComments()` | `--view-id` | 2 | Retrieves comments from a specified Chat view in ClickUp, supporting pagination via `start` and `start_id` to fetch comments older than the default 25 most recent |
| `get-custom-roles` | `clickup.getCustomRoles()` | `--team-id` | 1 | Retrieves all Custom Roles, which allow granular permission configurations, for a specified Workspace (Team) |
| `get-custom-task-types` | `clickup.getCustomTaskTypes()` | `--team-id` | 0 | Retrieves all custom task types available within a specified Workspace (team_id) |
| `get-doc-content` | `clickup.getDocContent()` | `--doc-id` `--workspace-id` | 2 | Fetch the full content of a ClickUp Doc including metadata and all page contents in markdown format |
| `get-doc-page-content` ·common | `clickup.getDocPageContent()` | `--doc-id` `--page-id` `--workspace-id` | 0 | Fetch a single ClickUp Doc page's content and metadata by workspace_id + doc_id + page_id (v3 Docs API) |
| `get-doc-page-listing` | `clickup.getDocPageListing()` | `--doc-id` `--workspace-id` | 1 | Fetch the page listing structure of a ClickUp Doc by workspace_id and doc_id |
| `get-doc-pages-public` | `clickup.getDocPagesPublic()` | `--doc-id` `--workspace-id` | 2 | Fetch pages belonging to a ClickUp Doc |
| `get-filtered-team-tasks` | `clickup.getFilteredTeamTasks()` | `--team-Id` | 25 | Retrieves a paginated list of tasks (up to 100 per page) from a specified workspace based on various filter criteria, respecting user access permissions |
| `get-folder` | `clickup.getFolder()` | `--folder-id` | 0 | Retrieves detailed information about a specific folder in ClickUp |
| `get-folder-available-fields` | `clickup.getFolderAvailableFields()` | `--folder-id` | 0 | View custom fields available in a ClickUp folder |
| `get-folder-views` | `clickup.getFolderViews()` | `--folder-id` | 0 | Retrieves all configured views (like List, Board, Calendar) for a specified, existing Folder in ClickUp |
| `get-folderless-lists` | `clickup.getFolderlessLists()` | `--space-id` | 1 | Retrieves all Lists within a specified Space that are not located in any Folder |
| `get-folders` | `clickup.getFolders()` | `--space-id` | 1 | Retrieves Folders within a specified ClickUp Space, ensuring `space_id` is valid, with an option to filter by archived status |
| `get-goal` | `clickup.getGoal()` | `--goal-id` | 0 | Retrieves detailed information for an existing ClickUp Goal, specified by its unique `goal_id` |
| `get-goals` | `clickup.getGoals()` | `--team-id` | 1 | Retrieves goals for a specified ClickUp Workspace (Team); the `team_id` must be valid and accessible |
| `get-guest` | `clickup.getGuest()` | `--guest-id` `--team-id` | 0 | Call this to retrieve detailed information for a specific guest within a Team (Workspace), ensuring the `guest_id` is valid for the given `team_id`; this action requires the ClickUp Enterprise Plan |
| `get-list` | `clickup.getList()` | `--list-id` | 0 | Retrieves detailed information for an existing List in ClickUp, identified by its unique `list_id` |
| `get-list-comments` | `clickup.getListComments()` | `--list-id` | 2 | Retrieves comments for a specific ClickUp List, supporting pagination using `start` (timestamp) and `start_id` (comment ID) to fetch earlier comments; omits them for the latest 25 |
| `get-list-members` | `clickup.getListMembers()` | `--list-id` | 0 | Retrieves all members of a specific, existing ClickUp List by its ID |
| `get-list-views` | `clickup.getListViews()` | `--list-id` | 0 | Retrieves all task and page views for a specified and accessible ClickUp List |
| `get-lists` | `clickup.getLists()` | `--folder-id` | 1 | Retrieves all lists within a specified, existing ClickUp folder, optionally filtering by archived status |
| `get-running-time-entry` | `clickup.getRunningTimeEntry()` | `--team-id` | 1 | Retrieves the currently active time entry for a user in a Workspace; a negative 'duration' in its data indicates it's running, and the response may be empty if no entry is active |
| `get-shared-hierarchy` | `clickup.getSharedHierarchy()` | `--team-id` | 0 | Retrieves the hierarchy of tasks, Lists, and Folders shared with the authenticated user within an existing ClickUp Team (Workspace), identified by its `team_id` |
| `get-space` | `clickup.getSpace()` | `--space-id` | 0 | Retrieves detailed information for an existing Space in a ClickUp Workspace, identified by its unique space_id |
| `get-space-available-fields` | `clickup.getSpaceAvailableFields()` | `--space-id` | 0 | Retrieves all custom fields available in a ClickUp Space, identified by space_id |
| `get-space-tags` | `clickup.getSpaceTags()` | `--space-id` | 0 | Retrieves all tags for tasks within a specified ClickUp Space, requiring a valid `space_id` |
| `get-space-views` | `clickup.getSpaceViews()` | `--space-id` | 0 | Retrieves all task and page views for a specified Space ID in ClickUp |
| `get-spaces` | `clickup.getSpaces()` | `--team-id` | 1 | Retrieves Spaces for a Team ID; member information for private Spaces is returned only if the authenticated user is a member |
| `get-subtypes` | `clickup.getSubtypes()` | `--comment-type` `--workspace-id` | 0 | Retrieve post subtype IDs (Announcement, Discussion, Idea, Update) for a ClickUp Workspace |
| `get-task` ·common | `clickup.getTask()` | `--task-id` | 4 | Retrieves comprehensive details for a ClickUp task by its ID, supporting standard or custom task IDs (requires `team_id` for custom IDs) |
| `get-task-comments` | `clickup.getTaskComments()` | `--task-id` | 4 | Retrieves up to 25 comments for a specified task, supporting pagination using `start` and `start_id` to fetch older comments |
| `get-task-members` | `clickup.getTaskMembers()` | `--task-id` | 0 | Retrieves users with explicit access (directly assigned or shared) to a specific existing task, excluding users with inherited permissions |
| `get-task-templates` | `clickup.getTaskTemplates()` | `--page` `--team-id` | 0 | Retrieves task templates for a specified Workspace (Team ID), supporting pagination |
| `get-task-time-in-status` | `clickup.getTaskTimeInStatus()` | `--task-id` | 2 | Retrieves the duration a task has spent in each status, provided the 'Total time in Status' ClickApp is enabled for the Workspace |
| `get-tasks` | `clickup.getTasks()` | `--list-id` | 20 | Retrieves tasks from a specified ClickUp list; only tasks whose home is the given list_id are returned |
| `get-team-available-fields` | `clickup.getTeamAvailableFields()` | `--team-id` | 0 | Retrieves all custom fields available in a ClickUp Workspace (Team), identified by team_id |
| `get-teams` | `clickup.getTeams()` | `--team-id` | 1 | Retrieves user groups (Teams) from a ClickUp Workspace, typically requiring `team_id` (Workspace ID), with an option to filter by `group_ids` |
| `get-threaded-comments` | `clickup.getThreadedComments()` | `--comment-id` | 0 | Retrieves threaded replies to a parent comment |
| `get-time-entries-in-date-range` | `clickup.getTimeEntriesInDateRange()` | `--team-Id` | 11 | Retrieves time entries for a specified Team (Workspace ID) within a date range (defaults to the last 30 days for the authenticated user if dates are omitted); active timers are indicated by negative… |
| `get-time-entry` | `clickup.getTimeEntry()` | `--team-id` `--timer-id` | 2 | Fetches a specific time entry by its ID for a given team; a negative duration in the response indicates an active timer |
| `get-time-entry-history` | `clickup.getTimeEntryHistory()` | `--team-id` `--timer-id` | 0 | Retrieves the modification history for an existing time entry within a specific ClickUp Team (Workspace) |
| `get-tracked-time` | `clickup.getTrackedTime()` | `--task-id` | 2 | Retrieves tracked time for a task using a legacy endpoint; prefer newer Time Tracking API endpoints for managing time entries |
| `get-user` | `clickup.getUser()` | `--team-id` `--user-id` | 0 | Retrieves detailed information for a specific user within a ClickUp Workspace (Team), available only for Workspaces on the ClickUp Enterprise Plan |
| `get-view` | `clickup.getView()` | `--view-id` | 0 | Fetches details for a specific ClickUp view, identified by its `view_id`, which must exist |
| `get-view-tasks` | `clickup.getViewTasks()` | `--page` `--view-id` | 0 | Retrieves all tasks visible in a specified ClickUp view, respecting its applied filters, sorting, and grouping |
| `get-webhooks` | `clickup.getWebhooks()` | `--team-id` | 0 | Fetches webhooks for a Team (Workspace), returning only those created by the authenticated user via API, for a `team_id` they can access |
| `get-workspace-everything-level-views` | `clickup.getWorkspaceEverythingLevelViews()` | `--team-id` | 1 | Retrieves all task and page views at the 'Everything Level' (a comprehensive overview of all tasks across all Spaces) for a specified ClickUp Workspace |
| `get-workspace-plan` | `clickup.getWorkspacePlan()` | `--team-id` | 0 | Retrieves the details of the current subscription plan for a specified ClickUp Workspace |
| `get-workspace-seats` | `clickup.getWorkspaceSeats()` | `--team-id` | 0 | Retrieves seat utilization (used, total, available for members/guests) for a ClickUp Workspace (Team) ID, which must be for an existing Workspace |
| `invite-guest-to-workspace` | `clickup.inviteGuestToWorkspace()` | `--can-create-views` `--can-edit-tags` `--can-see-time-estimated` `--can-see-time-spent` `--email` `--team-id` | 1 | Invites a guest by email to a ClickUp Workspace (Team) on an Enterprise Plan, setting initial permissions and optionally a custom role; further access configuration for specific items may require… |
| `invite-user-to-workspace` | `clickup.inviteUserToWorkspace()` | `--admin` `--email` `--team-id` | 1 | Invites a user via email to a ClickUp Workspace (Team), optionally granting admin rights or a custom role; requires an Enterprise Plan for the Workspace |
| `move-task-to-home-list` ·common | `clickup.moveTaskToHomeList()` | `--list-id` `--task-id` `--workspace-id` | 3 | Move a task to a new home List using ClickUp Public API v3 |
| `remove-custom-field-value` | `clickup.removeCustomFieldValue()` | `--field-id` `--task-id` | 2 | Removes an existing value from a Custom Field on a specific task; this does not delete the Custom Field definition or its predefined options |
| `remove-guest-from-folder` | `clickup.removeGuestFromFolder()` | `--folder-id` `--guest-id` | 1 | Revokes a guest's access to a specific ClickUp Folder, optionally unsharing items explicitly shared with them within it; requires an Enterprise Plan |
| `remove-guest-from-list` | `clickup.removeGuestFromList()` | `--guest-id` `--list-id` | 1 | Revokes a guest's access to a specific List, provided the guest currently has access to this List and the Workspace is on the ClickUp Enterprise Plan |
| `remove-guest-from-task` | `clickup.removeGuestFromTask()` | `--guest-id` `--task-id` | 3 | Revokes a guest's access to a specific task; only available for Workspaces on the ClickUp Enterprise Plan |
| `remove-guest-from-workspace` | `clickup.removeGuestFromWorkspace()` | `--guest-id` `--team-id` | 0 | Permanently removes a guest from a specified Workspace, revoking all their access; this destructive operation requires the Workspace to be on the ClickUp Enterprise Plan |
| `remove-tag-from-task` | `clickup.removeTagFromTask()` | `--tag-name` `--task-id` | 2 | Removes a tag from a specified task by disassociating it (does not delete the tag from Workspace), succeeding even if the tag is not on the task |
| `remove-tags-from-time-entries` | `clickup.removeTagsFromTimeEntries()` | `--tags` `--team-id` `--time-entry-ids` | 0 | Removes tags from specified time entries in a team, without deleting the tags from the workspace |
| `remove-task-from-list` | `clickup.removeTaskFromList()` | `--list-id` `--task-id` | 0 | Removes a task from an extra list (not its home list); the 'Tasks in Multiple Lists' ClickApp must be enabled |
| `remove-user-from-workspace` | `clickup.removeUserFromWorkspace()` | `--team-id` `--user-id` | 0 | Deactivates a user from a specified ClickUp Workspace, revoking their access (user can be reactivated later); requires the Workspace to be on an Enterprise Plan |
| `search-docs` | `clickup.searchDocs()` | `--workspace-id` | 2 | Search and list Docs metadata in a ClickUp workspace |
| `set-custom-field-value` | `clickup.setCustomFieldValue()` | `--field-id` `--task-id` `--value` | 3 | Sets or updates a Custom Field's value for a task; the new value (with type-dependent structure, e.g., `{"value": "text"}` or `{"value": 123, "value_options": {"currency_type":"USD"}}`) is provided… |
| `start-time-entry` | `clickup.startTimeEntry()` | `--team-Id` | 6 | Starts a new time entry (timer) in the specified Team (Workspace), optionally associating it with a task, adding a description, setting billable status, or applying tags (tags feature requires… |
| `stop-time-entry` | `clickup.stopTimeEntry()` | `--team-id` | 0 | Stops the authenticated user's currently active time entry in the specified Team (Workspace), which requires an existing time entry to be running |
| `track-time` | `clickup.trackTime()` | `--end` `--start` `--task-id` `--time` | 2 | Records a time entry for a task using ClickUp's legacy time tracking system; newer endpoints are generally recommended |
| `update-chat-channel` | `clickup.updateChatChannel()` | `--channel-id` `--workspace-id` | 6 | Update a ClickUp chat channel's properties including name, topic, description, visibility, and location |
| `update-chat-message` | `clickup.updateChatMessage()` | `--message-id` `--workspace-id` | 6 | Update a ClickUp chat message's content, assignee, or resolved status via the v3 API |
| `update-checklist` | `clickup.updateChecklist()` | `--checklist-id` | 2 | Updates an existing checklist's name or position, identified by its `checklist_id` |
| `update-checklist-item` | `clickup.updateChecklistItem()` | `--checklist-id` `--checklist-item-id` | 4 | Updates an existing checklist item, allowing modification of its name, assignee, resolution status, or parent item for nesting |
| `update-comment` | `clickup.updateComment()` | `--assignee` `--comment-id` `--comment-text` `--resolved` | 0 | Updates an existing task comment's text, assignee (who must be a valid workspace member), or resolution status, requiring a valid existing comment_id |
| `update-folder` | `clickup.updateFolder()` | `--folder-id` `--name` | 0 | Updates the name of an existing folder in ClickUp |
| `update-goal` | `clickup.updateGoal()` | `--add-owners` `--color` `--description` `--due-date` `--goal-id` `--name` `--rem-owners` | 0 | Updates attributes of an existing ClickUp goal, identified by its `goal_id` |
| `update-guest-on-workspace` | `clickup.updateGuestOnWorkspace()` | `--guest-id` `--team-id` | 6 | Modifies the details and permissions of an existing guest user within a specific Workspace |
| `update-key-result` | `clickup.updateKeyResult()` | `--key-result-id` `--note` `--steps-current` | 0 | Updates an existing key result's progress or note in ClickUp, where the key result measures progress towards a goal |
| `update-list` | `clickup.updateList()` | `--list-id` | 8 | Updates attributes of an existing ClickUp list, such as its name, content, due date, priority, assignee, or color status, identified by its `list_id` |
| `update-space` | `clickup.updateSpace()` | `--color` `--multiple-assignees` `--name` `--private` `--space-id` | 13 | Updates an existing ClickUp Space, allowing modification of its name, color, privacy, and feature settings (ClickApps) |
| `update-space-tag` | `clickup.updateSpaceTag()` | `--space-id` `--tag-name` | 3 | Updates an existing tag's name and colors in a ClickUp Space; requires current tag name for identification, and new values for tag name, foreground color, and background color, all of which are… |
| `update-task` ·common | `clickup.updateTask()` | `--task-id` | 16 | Updates attributes of an existing task; `team_id` is required if `custom_task_ids` is true, use a single space (" ") for `description` to clear it, and provide at least one modifiable field |
| `update-team` | `clickup.updateTeam()` | `--group-id` | 4 | Updates an existing ClickUp User Group (Team) using its `group_id`; note that adding a view-only guest as a paid member may incur charges |
| `update-time-entry` | `clickup.updateTimeEntry()` | `--team-id` `--timer-id` | 9 | Updates an existing ClickUp time entry |
| `update-time-entry-tag` | `clickup.updateTimeEntryTag()` | `--name` `--new-name` `--tag-bg` `--tag-fg` `--team-id` | 0 | Updates the name, background color, and/or foreground color for an existing time entry tag, identified by its current `name` and `team_id` |
| `update-time-tracked` | `clickup.updateTimeTracked()` | `--end` `--interval-id` `--start` `--task-id` `--time` | 2 | Edits a legacy time-tracked interval for a task (identified by `task_id` and `interval_id`) to update its start/end times and duration; `team_id` is required if `custom_task_ids` is true |
| `update-user-on-workspace` | `clickup.updateUserOnWorkspace()` | `--team-id` `--user-id` | 3 | Updates a user's username, admin status, or custom role in a Workspace; requires the Workspace to be on an Enterprise Plan |
| `update-view` | `clickup.updateView()` | `--name` `--type` `--view-id` | 28 | Updates an existing ClickUp view's settings such as name, type, grouping, or filters; ensure `parent_id` and `parent_type` define a valid hierarchy, and that specified field names (e.g. for sorting… |
| `update-webhook` | `clickup.updateWebhook()` | `--endpoint` `--events` `--status` `--webhook-id` | 0 | Updates the endpoint URL, monitored events, and status of an existing webhook, identified by its `webhook_id` |
| `update-workspace-acl` | `clickup.updateWorkspaceAcl()` | `--object-id` `--object-type` `--workspace-id` | 2 | Updates privacy and access control list (ACL) permissions for a workspace object or location |

## Triggers

`clickup.on("<event>", handler)` in a script; required config goes before the handler as an object.

| Event | Name | Required config | Description |
|---|---|---|---|
| `"folder-created"` | Folder Created | `workspace_id` | Triggers when a new Folder is created |
| `"folder-deleted"` | Folder Deleted | `workspace_id` | Triggers when a Folder is deleted |
| `"folder-updated"` | Folder Updated | `workspace_id` | Triggers when a Folder is updated (renamed, content edited, etc.) |
| `"list-created"` | List Created | `workspace_id` | Triggers when a new List is created |
| `"list-deleted"` | List Deleted | `workspace_id` | Triggers when a List is deleted |
| `"list-updated"` | List Updated | `workspace_id` | Triggers when a List is updated (renamed, content edited, etc.) |
| `"space-created"` | Space Created | `workspace_id` | Triggers when a new Space is created in the Workspace |
| `"space-deleted"` | Space Deleted | `workspace_id` | Triggers when a Space is deleted |
| `"space-updated"` | Space Updated | `workspace_id` | Triggers when a Space is updated (renamed, settings changed, etc.) |
| `"task-assignee-updated"` | Task Assignee Updated | `workspace_id` | Triggers when an assignee is added to or removed from a task |
| `"task-comment-posted"` | Task Comment Posted | `workspace_id` | Triggers when a comment is added to a task |
| `"task-comment-updated"` | Task Comment Updated | `workspace_id` | Triggers when an existing comment on a task is edited |
| `"task-created"` | Task Created | `workspace_id` | Triggers when a new task is created in the configured Workspace |
| `"task-deleted"` | Task Deleted | `workspace_id` | Triggers when a task is deleted |
| `"task-due-date-updated"` | Task Due Date Updated | `workspace_id` | Triggers when a task's due date is set, changed, or cleared |
| `"task-priority-updated"` | Task Priority Updated | `workspace_id` | Triggers when a task's priority changes |
| `"task-status-updated"` | Task Status Updated | `workspace_id` | Triggers when a task's status changes |
| `"task-tag-updated"` | Task Tag Updated | `workspace_id` | Triggers when a tag is added to or removed from a task |
| `"task-time-estimate-updated"` | Task Time Estimate Updated | `workspace_id` | Triggers when a task's time estimate is set, changed, or cleared |
| `"task-time-tracked-updated"` | Task Time Tracked Updated | `workspace_id` | Triggers when a time-tracking interval is created, edited, or deleted on a task |
| `"task-updated"` | Task Updated | `workspace_id` | Triggers when a task is updated |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
