productivity
ClickUp CLI for Headless Automation
Use the ClickUp CLI for headless automation with headless JSON commands, schema discovery, credentials, and permission controls.
34 functions 15 read 19 write API token auth
ClickUp CLI for Headless Automation
Use KosmoKrator as a non-interactive integration runtime for local automations and wrappers.
Use headless automation when another tool needs a stable local command surface. The ClickUp CLI uses the same integration registry as the TUI, Lua runtime, and MCP gateway, but returns predictable command output for automation.
Command Shape
# ClickUp CLI for Headless Automation
kosmokrator integrations:configure clickup --set api_token="$CLICKUP_API_TOKEN" --enable --read allow --write ask --json
kosmo integrations:call clickup.clickup_get_hierarchy '{"workspace_id":"example_workspace_id","space_ids":"example_space_ids"}' --json Discovery Before Execution
Agents and scripts can inspect ClickUp docs and schemas before choosing a function.
kosmo integrations:docs clickup --json
kosmo integrations:docs clickup.clickup_get_hierarchy --json
kosmo integrations:schema clickup.clickup_get_hierarchy --json
kosmo integrations:search "ClickUp" --json
kosmo integrations:list --json Useful ClickUp CLI Functions
| Function | Type | Parameters | Description |
|---|---|---|---|
clickup.clickup_get_hierarchy | Read | workspace_id, space_ids | Get the ClickUp workspace hierarchy — spaces, folders, and lists. Returns a tree structure with IDs and names for navigation. Optionally filter to specific space IDs. |
clickup.clickup_search | Read | query, statuses, assignees, include_closed, include_subtasks, page, workspace_id | Search tasks across the ClickUp workspace. Supports filtering by query, statuses, assignees, and more. Returns matching tasks with their details. |
clickup.clickup_list_members | Read | none | Get all workspace members with their IDs, names, emails, and roles. |
clickup.clickup_find_member | Read | query | Find a workspace member by name or email. |
clickup.clickup_resolve_members | Read | query | Convert member names or emails to ClickUp user IDs for assigning tasks. |
clickup.clickup_get_tasks | Read | list_id, statuses, assignees, due_date_gt, due_date_lt, include_closed, page | Get all tasks in a ClickUp list. Supports filtering by statuses, assignees, and due dates. Use clickup_get_hierarchy first to find the list ID. |
clickup.clickup_get_task | Read | task_id, include_subtasks | Get a single ClickUp task by ID with full details. Supports both regular IDs and custom IDs (e.g., "DEV-42"). Optionally include subtask details. |
clickup.clickup_create_task | Write | list_id, name, description, status, priority, assignees, due_date, start_date, tags, parent_task_id | Create a new task in a ClickUp list. Requires a list ID and task name. Supports description, status, priority, assignees, dates, tags, and creating subtasks via parentTaskId. Use clickup_get_hierarchy to find list IDs. |
clickup.clickup_update_task | Write | task_id, name, description, status, priority, assignees, remove_assignees, due_date, start_date, time_estimate | Update an existing ClickUp task. Supports changing name, description, status, priority, assignees, and dates. Set status to "closed" to complete a task. Supports custom task IDs like "DEV-42". |
clickup.clickup_delete_task | Write | task_id | Delete a ClickUp task permanently. Supports custom task IDs like "DEV-42". This action cannot be undone. |
clickup.clickup_add_tag | Write | task_id, tag_name | Add an existing tag to a ClickUp task. The tag must already exist in the space. |
clickup.clickup_remove_tag | Write | task_id, tag_name | Remove a tag from a ClickUp task. |
clickup.clickup_attach_file | Write | task_id, file_path, filename, file_url | Upload a local file attachment to a ClickUp task. ClickUp's official task attachment endpoint requires multipart file upload; cloud URL passthrough is not supported by this v2 endpoint. |
clickup.clickup_read_comments | Read | task_id, start, start_id | Get all comments on a ClickUp task. Supports pagination. |
clickup.clickup_add_comment | Write | task_id, comment_text, assignee, notify_all | Add a new comment to a ClickUp task. |
clickup.clickup_current_time_entry | Read | workspace_id | Get the currently running time tracking entry, if any. |
clickup.clickup_list_time_entries | Read | task_id | Get all time entries for a ClickUp task. |
clickup.clickup_start_timer | Write | task_id, description, billable, tags, workspace_id | Start a time tracking timer on a ClickUp task. |
clickup.clickup_stop_timer | Write | workspace_id | Stop the currently running time tracking timer. |
clickup.clickup_log_time | Write | task_id, start, duration, description, billable, tags, workspace_id | Add a manual time entry to a ClickUp task. |
clickup.clickup_get_list | Read | list_id | Get details of a ClickUp list by ID. |
clickup.clickup_create_list | Write | space_id, name, content, status | Create a new list in a ClickUp space. |
clickup.clickup_create_list_in_folder | Write | folder_id, name, content, status | Create a new list in a ClickUp folder. |
clickup.clickup_update_list | Write | list_id, name, content, status | Update a ClickUp list's name, content, or status. |
clickup.clickup_get_folder | Read | folder_id | Get details of a ClickUp folder by ID, including its lists. |
clickup.clickup_create_folder | Write | space_id, name | Create a new folder in a ClickUp space. |
clickup.clickup_update_folder | Write | folder_id, name | Update a ClickUp folder's name. |
clickup.clickup_list_channels | Read | cursor, workspace_id | List all chat channels in the ClickUp workspace. |
clickup.clickup_send_message | Write | channel_id, content, content_format, type, post_title, workspace_id | Send a message to a ClickUp chat channel. |
clickup.clickup_manage_document | Write | name, parent_id, parent_type, visibility, create_page, workspace_id | Create a ClickUp document in a space, folder, or list. Specify the parent container and visibility (PUBLIC or PRIVATE). |
clickup.clickup_list_doc_pages | Read | document_id, max_depth, workspace_id | List all pages in a ClickUp document. |
clickup.clickup_get_doc_pages | Read | document_id, page_ids, content_format, workspace_id | Get the content of specific pages from a ClickUp document. |
clickup.clickup_create_doc_page | Write | document_id, name, content, content_format, sub_title, parent_page_id, workspace_id | Create a new page in a ClickUp document. |
clickup.clickup_update_doc_page | Write | document_id, page_id, name, content, content_format, edit_mode, sub_title, workspace_id | Update an existing page in a ClickUp document. Supports replace, append, or prepend content. |
Automation Notes
- Use
--jsonfor machine-readable output. - Keep credentials out of argv by using environment variables or stored KosmoKrator configuration.
- Configure read/write policy before unattended runs; use
--forceonly for trusted automation. - Use the MCP gateway instead when the agent needs dynamic tool discovery inside a conversation.