- Add date_added to all 950+ skills for complete tracking - Update version to 6.5.0 in package.json and README - Regenerate all indexes and catalog - Sync all generated files Features from merged PR #150: - Stars/Upvotes system for community-driven discovery - Auto-update mechanism via START_APP.bat - Interactive Prompt Builder - Date tracking badges - Smart auto-categorization All skills validated and indexed. Made-with: Cursor
239 lines
12 KiB
Markdown
239 lines
12 KiB
Markdown
---
|
|
name: clickup-automation
|
|
description: "Automate ClickUp project management including tasks, spaces, folders, lists, comments, and team operations via Rube MCP (Composio). Always search tools first for current schemas."
|
|
risk: unknown
|
|
source: community
|
|
date_added: "2026-02-27"
|
|
---
|
|
|
|
# ClickUp Automation via Rube MCP
|
|
|
|
Automate ClickUp project management workflows including task creation and updates, workspace hierarchy navigation, comments, and team member management through Composio's ClickUp toolkit.
|
|
|
|
## Prerequisites
|
|
|
|
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
|
|
- Active ClickUp connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `clickup`
|
|
- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas
|
|
|
|
## Setup
|
|
|
|
**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
|
|
|
|
|
|
1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
|
|
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `clickup`
|
|
3. If connection is not ACTIVE, follow the returned auth link to complete ClickUp OAuth
|
|
4. Confirm connection status shows ACTIVE before running any workflows
|
|
|
|
## Core Workflows
|
|
|
|
### 1. Create and Manage Tasks
|
|
|
|
**When to use**: User wants to create tasks, subtasks, update task properties, or list tasks in a ClickUp list.
|
|
|
|
**Tool sequence**:
|
|
1. `CLICKUP_GET_AUTHORIZED_TEAMS_WORKSPACES` - Get workspace/team IDs [Prerequisite]
|
|
2. `CLICKUP_GET_SPACES` - List spaces in the workspace [Prerequisite]
|
|
3. `CLICKUP_GET_FOLDERS` - List folders in a space [Prerequisite]
|
|
4. `CLICKUP_GET_FOLDERLESS_LISTS` - Get lists not inside folders [Optional]
|
|
5. `CLICKUP_GET_LIST` - Validate list and check available statuses [Prerequisite]
|
|
6. `CLICKUP_CREATE_TASK` - Create a task in the target list [Required]
|
|
7. `CLICKUP_CREATE_TASK` (with `parent`) - Create subtask under a parent task [Optional]
|
|
8. `CLICKUP_UPDATE_TASK` - Modify task status, assignees, dates, priority [Optional]
|
|
9. `CLICKUP_GET_TASK` - Retrieve full task details [Optional]
|
|
10. `CLICKUP_GET_TASKS` - List all tasks in a list with filters [Optional]
|
|
11. `CLICKUP_DELETE_TASK` - Permanently remove a task [Optional]
|
|
|
|
**Key parameters for CLICKUP_CREATE_TASK**:
|
|
- `list_id`: Target list ID (integer, required)
|
|
- `name`: Task name (string, required)
|
|
- `description`: Detailed task description
|
|
- `status`: Must exactly match (case-sensitive) a status name configured in the target list
|
|
- `priority`: 1 (Urgent), 2 (High), 3 (Normal), 4 (Low)
|
|
- `assignees`: Array of user IDs (integers)
|
|
- `due_date`: Unix timestamp in milliseconds
|
|
- `parent`: Parent task ID string for creating subtasks
|
|
- `tags`: Array of tag name strings
|
|
- `time_estimate`: Estimated time in milliseconds
|
|
|
|
**Pitfalls**:
|
|
- `status` is case-sensitive and must match an existing status in the list; use `CLICKUP_GET_LIST` to check available statuses
|
|
- `due_date` and `start_date` are Unix timestamps in **milliseconds**, not seconds
|
|
- Subtask `parent` must be a task (not another subtask) in the same list
|
|
- `notify_all` triggers watcher notifications; set to false for bulk operations
|
|
- Retries can create duplicates; track created task IDs to avoid re-creation
|
|
- `custom_item_id` for milestones (ID 1) is subject to workspace plan quotas
|
|
|
|
### 2. Navigate Workspace Hierarchy
|
|
|
|
**When to use**: User wants to browse or manage the ClickUp workspace structure (Workspaces > Spaces > Folders > Lists).
|
|
|
|
**Tool sequence**:
|
|
1. `CLICKUP_GET_AUTHORIZED_TEAMS_WORKSPACES` - List all accessible workspaces [Required]
|
|
2. `CLICKUP_GET_SPACES` - List spaces within a workspace [Required]
|
|
3. `CLICKUP_GET_SPACE` - Get details for a specific space [Optional]
|
|
4. `CLICKUP_GET_FOLDERS` - List folders in a space [Required]
|
|
5. `CLICKUP_GET_FOLDER` - Get details for a specific folder [Optional]
|
|
6. `CLICKUP_CREATE_FOLDER` - Create a new folder in a space [Optional]
|
|
7. `CLICKUP_GET_FOLDERLESS_LISTS` - List lists not inside any folder [Required]
|
|
8. `CLICKUP_GET_LIST` - Get list details including statuses and custom fields [Optional]
|
|
|
|
**Key parameters**:
|
|
- `team_id`: Workspace ID from GET_AUTHORIZED_TEAMS_WORKSPACES (required for spaces)
|
|
- `space_id`: Space ID (required for folders and folderless lists)
|
|
- `folder_id`: Folder ID (required for GET_FOLDER)
|
|
- `list_id`: List ID (required for GET_LIST)
|
|
- `archived`: Boolean filter for archived/active items
|
|
|
|
**Pitfalls**:
|
|
- ClickUp hierarchy is: Workspace (Team) > Space > Folder > List > Task
|
|
- Lists can exist directly under Spaces (folderless) or inside Folders
|
|
- Must use `CLICKUP_GET_FOLDERLESS_LISTS` to find lists not inside folders; `CLICKUP_GET_FOLDERS` only returns folders
|
|
- `team_id` in ClickUp API refers to the Workspace ID, not a user group
|
|
|
|
### 3. Add Comments to Tasks
|
|
|
|
**When to use**: User wants to add comments, review existing comments, or manage comment threads on tasks.
|
|
|
|
**Tool sequence**:
|
|
1. `CLICKUP_GET_TASK` - Verify task exists and get task_id [Prerequisite]
|
|
2. `CLICKUP_CREATE_TASK_COMMENT` - Add a new comment to the task [Required]
|
|
3. `CLICKUP_GET_TASK_COMMENTS` - List existing comments on the task [Optional]
|
|
4. `CLICKUP_UPDATE_COMMENT` - Edit comment text, assignee, or resolution status [Optional]
|
|
|
|
**Key parameters for CLICKUP_CREATE_TASK_COMMENT**:
|
|
- `task_id`: Task ID string (required)
|
|
- `comment_text`: Comment content with ClickUp formatting support (required)
|
|
- `assignee`: User ID to assign the comment to (required)
|
|
- `notify_all`: true/false for watcher notifications (required)
|
|
|
|
**Key parameters for CLICKUP_GET_TASK_COMMENTS**:
|
|
- `task_id`: Task ID string (required)
|
|
- `start` / `start_id`: Pagination for older comments (max 25 per page)
|
|
|
|
**Pitfalls**:
|
|
- `CLICKUP_CREATE_TASK_COMMENT` requires all four fields: `task_id`, `comment_text`, `assignee`, and `notify_all`
|
|
- `assignee` on a comment assigns the comment (not the task) to that user
|
|
- Comments are paginated at 25 per page; use `start` (Unix ms) and `start_id` for older pages
|
|
- `CLICKUP_UPDATE_COMMENT` requires all four fields: `comment_id`, `comment_text`, `assignee`, `resolved`
|
|
|
|
### 4. Manage Team Members and Assignments
|
|
|
|
**When to use**: User wants to view workspace members, check seat utilization, or look up user details.
|
|
|
|
**Tool sequence**:
|
|
1. `CLICKUP_GET_AUTHORIZED_TEAMS_WORKSPACES` - List workspaces and get team_id [Required]
|
|
2. `CLICKUP_GET_WORKSPACE_SEATS` - Check seat utilization (members vs guests) [Required]
|
|
3. `CLICKUP_GET_TEAMS` - List user groups within the workspace [Optional]
|
|
4. `CLICKUP_GET_USER` - Get details for a specific user (Enterprise only) [Optional]
|
|
5. `CLICKUP_GET_CUSTOM_ROLES` - List custom permission roles [Optional]
|
|
|
|
**Key parameters**:
|
|
- `team_id`: Workspace ID (required for all team operations)
|
|
- `user_id`: Specific user ID for GET_USER
|
|
- `group_ids`: Comma-separated group IDs to filter teams
|
|
|
|
**Pitfalls**:
|
|
- `CLICKUP_GET_WORKSPACE_SEATS` returns seat counts, not member details; distinguish members from guests
|
|
- `CLICKUP_GET_TEAMS` returns user groups, not workspace members; empty groups does not mean no members
|
|
- `CLICKUP_GET_USER` is only available on ClickUp Enterprise Plan
|
|
- Must repeat workspace seat queries for each workspace in multi-workspace setups
|
|
|
|
### 5. Filter and Query Tasks
|
|
|
|
**When to use**: User wants to find tasks with specific filters (status, assignee, dates, tags, custom fields).
|
|
|
|
**Tool sequence**:
|
|
1. `CLICKUP_GET_TASKS` - Filter tasks in a list with multiple criteria [Required]
|
|
2. `CLICKUP_GET_TASK` - Get full details for individual tasks [Optional]
|
|
|
|
**Key parameters for CLICKUP_GET_TASKS**:
|
|
- `list_id`: List ID (integer, required)
|
|
- `statuses`: Array of status strings to filter by
|
|
- `assignees`: Array of user ID strings
|
|
- `tags`: Array of tag name strings
|
|
- `due_date_gt` / `due_date_lt`: Unix timestamp in ms for date range
|
|
- `include_closed`: Boolean to include closed tasks
|
|
- `subtasks`: Boolean to include subtasks
|
|
- `order_by`: "id", "created", "updated", or "due_date"
|
|
- `page`: Page number starting at 0 (max 100 tasks per page)
|
|
|
|
**Pitfalls**:
|
|
- Only tasks whose home list matches `list_id` are returned; tasks in sublists are not included
|
|
- Date filters use Unix timestamps in milliseconds
|
|
- Status strings must match exactly; use URL encoding for spaces (e.g., "to%20do")
|
|
- Page numbering starts at 0; each page returns up to 100 tasks
|
|
- `custom_fields` filter accepts an array of JSON strings, not objects
|
|
|
|
## Common Patterns
|
|
|
|
### ID Resolution
|
|
Always resolve names to IDs through the hierarchy:
|
|
- **Workspace name -> team_id**: `CLICKUP_GET_AUTHORIZED_TEAMS_WORKSPACES` and match by name
|
|
- **Space name -> space_id**: `CLICKUP_GET_SPACES` with `team_id`
|
|
- **Folder name -> folder_id**: `CLICKUP_GET_FOLDERS` with `space_id`
|
|
- **List name -> list_id**: Navigate folders or use `CLICKUP_GET_FOLDERLESS_LISTS`
|
|
- **Task name -> task_id**: `CLICKUP_GET_TASKS` with `list_id` and match by name
|
|
|
|
### Pagination
|
|
- `CLICKUP_GET_TASKS`: Page-based with `page` starting at 0, max 100 tasks per page
|
|
- `CLICKUP_GET_TASK_COMMENTS`: Uses `start` (Unix ms) and `start_id` for cursor-based paging, max 25 per page
|
|
- Continue fetching until response returns fewer items than the page size
|
|
|
|
## Known Pitfalls
|
|
|
|
### ID Formats
|
|
- Workspace/Team IDs are large integers
|
|
- Space, folder, and list IDs are integers
|
|
- Task IDs are alphanumeric strings (e.g., "9hz", "abc123")
|
|
- User IDs are integers
|
|
- Comment IDs are integers
|
|
|
|
### Rate Limits
|
|
- ClickUp enforces rate limits; bulk task creation can trigger 429 responses
|
|
- Honor `Retry-After` header when present
|
|
- Set `notify_all=false` for bulk operations to reduce notification load
|
|
|
|
### Parameter Quirks
|
|
- `team_id` in the API means Workspace ID, not a user group
|
|
- `status` on tasks is case-sensitive and list-specific
|
|
- Dates are Unix timestamps in **milliseconds** (multiply seconds by 1000)
|
|
- `priority` is an integer 1-4 (1=Urgent, 4=Low), not a string
|
|
- `CLICKUP_CREATE_TASK_COMMENT` marks `assignee` and `notify_all` as required
|
|
- To clear a task description, pass a single space `" "` to `CLICKUP_UPDATE_TASK`
|
|
|
|
### Hierarchy Rules
|
|
- Subtask parent must not itself be a subtask
|
|
- Subtask parent must be in the same list
|
|
- Lists can be folderless (directly in a Space) or inside a Folder
|
|
- Subitem boards are not supported by CLICKUP_CREATE_TASK
|
|
|
|
## Quick Reference
|
|
|
|
| Task | Tool Slug | Key Params |
|
|
|------|-----------|------------|
|
|
| List workspaces | `CLICKUP_GET_AUTHORIZED_TEAMS_WORKSPACES` | (none) |
|
|
| List spaces | `CLICKUP_GET_SPACES` | `team_id` |
|
|
| Get space details | `CLICKUP_GET_SPACE` | `space_id` |
|
|
| List folders | `CLICKUP_GET_FOLDERS` | `space_id` |
|
|
| Get folder details | `CLICKUP_GET_FOLDER` | `folder_id` |
|
|
| Create folder | `CLICKUP_CREATE_FOLDER` | `space_id`, `name` |
|
|
| Folderless lists | `CLICKUP_GET_FOLDERLESS_LISTS` | `space_id` |
|
|
| Get list details | `CLICKUP_GET_LIST` | `list_id` |
|
|
| Create task | `CLICKUP_CREATE_TASK` | `list_id`, `name`, `status`, `assignees` |
|
|
| Update task | `CLICKUP_UPDATE_TASK` | `task_id`, `status`, `priority` |
|
|
| Get task | `CLICKUP_GET_TASK` | `task_id`, `include_subtasks` |
|
|
| List tasks | `CLICKUP_GET_TASKS` | `list_id`, `statuses`, `page` |
|
|
| Delete task | `CLICKUP_DELETE_TASK` | `task_id` |
|
|
| Add comment | `CLICKUP_CREATE_TASK_COMMENT` | `task_id`, `comment_text`, `assignee` |
|
|
| List comments | `CLICKUP_GET_TASK_COMMENTS` | `task_id`, `start`, `start_id` |
|
|
| Update comment | `CLICKUP_UPDATE_COMMENT` | `comment_id`, `comment_text`, `resolved` |
|
|
| Workspace seats | `CLICKUP_GET_WORKSPACE_SEATS` | `team_id` |
|
|
| List user groups | `CLICKUP_GET_TEAMS` | `team_id` |
|
|
| Get user details | `CLICKUP_GET_USER` | `team_id`, `user_id` |
|
|
| Custom roles | `CLICKUP_GET_CUSTOM_ROLES` | `team_id` |
|
|
|
|
## When to Use
|
|
This skill is applicable to execute the workflow or actions described in the overview.
|