ClickUp Automation
Automate ClickUp workspace management, task workflows, time tracking, and team productivity
Your ClickUp workspace has 47 automations that don't quite work, tasks falling through status cracks, and time tracking nobody remembers to start. The tool is powerful but setting it up properly feels like a second job.
Who it's for: teams using ClickUp as their primary project tool, operations managers setting up workspace templates, agency owners managing client workspaces, team leads tired of manual task management, ClickUp power users
Example
"Automate our sprint workflow in ClickUp" → Task status automations, time tracking triggers, sprint velocity calculations, team notifications on blockers, and weekly progress reports — all configured and ready to use
New here? 3-minute setup guide → | Already set up? Copy the template below.
# ClickUp Automation
Comprehensive workflow for automating ClickUp workspace and task management.
## Core Concepts
### Workspace Hierarchy
```
CLICKUP HIERARCHY:
┌─────────────────────────────────────────────────────────┐
│ 🏢 WORKSPACE │
├─────────────────────────────────────────────────────────┤
│ ├── 📁 SPACE: Engineering │
│ │ ├── 📂 FOLDER: Q1 Projects │
│ │ │ ├── 📋 LIST: Feature Development │
│ │ │ │ ├── ✅ Task: Implement Auth │
│ │ │ │ │ └── ☑️ Subtask: OAuth setup │
│ │ │ │ └── ✅ Task: Build API │
│ │ │ └── 📋 LIST: Bug Fixes │
│ │ └── 📂 FOLDER: Infrastructure │
│ │ │
│ ├── 📁 SPACE: Marketing │
│ │ └── 📋 LIST: Content Calendar │
│ │ │
│ └── 📁 SPACE: Operations │
└─────────────────────────────────────────────────────────┘
```
### Task Structure
```yaml
task_structure:
required:
name: "{{task_name}}"
list_id: "{{list_id}}"
optional:
description: "{{description}}"
assignees: ["user_id_1", "user_id_2"]
tags: ["feature", "priority"]
status: "Open"
priority: 2 # 1=Urgent, 2=High, 3=Normal, 4=Low
due_date: "2024-01-20"
start_date: "2024-01-15"
time_estimate: 28800000 # milliseconds (8 hours)
custom_fields:
- id: "field_id"
value: "custom_value"
checklists:
- name: "Acceptance Criteria"
items:
- name: "Requirement 1"
resolved: false
```
## Automation Rules
### Built-in Automations
```yaml
automations:
- name: auto_assign_on_create
trigger:
type: task_created
list_id: "list_123"
conditions:
- tag_contains: "design"
actions:
- add_assignee: "design_lead_id"
- set_priority: high
- name: due_date_reminder
trigger:
type: due_date
before: 1_day
actions:
- send_notification:
to: assignees
message: "Task due tomorrow: {{task.name}}"
- add_tag: "due-soon"
- name: status_change_workflow
trigger:
type: status_changed
to: "In Review"
actions:
- remove_assignee: "{{previous_assignee}}"
- add_assignee: "reviewer_id"
- add_comment: "Ready for review @reviewer"
- name: complete_parent_task
trigger:
type: all_subtasks_done
actions:
- set_status: "Complete"
- add_comment: "All subtasks completed ✓"
```
### Advanced Automations
```yaml
advanced_rules:
- name: sprint_rollover
trigger:
type: schedule
cron: "0 0 * * 1" # Monday midnight
conditions:
- status_not: "Complete"
- due_date_passed: true
actions:
- move_to_list: "{{next_sprint_list}}"
- update_due_date: "+7 days"
- add_comment: "Rolled over from previous sprint"
- name: escalation_workflow
trigger:
type: task_blocked
duration: 48_hours
actions:
- set_priority: urgent
- notify: manager
- add_watcher: "manager_id"
- add_tag: "escalated"
```
## Views & Layouts
### View Types
```yaml
views:
list_view:
type: list
group_by: status
sort_by: priority
columns:
- name
- assignees
- due_date
- priority
- time_estimate
board_view:
type: board
group_by: status
card_fields:
- assignees
- due_date
- tags
- subtasks_count
calendar_view:
type: calendar
date_field: due_date
color_by: priority
timeline_view:
type: timeline
start_field: start_date
end_field: due_date
dependencies: true
workload_view:
type: workload
capacity_field: time_estimate
group_by: assignee
```
### Dashboard Widgets
```yaml
dashboard:
widgets:
- type: sprint_burndown
list_id: "current_sprint"
- type: workload
space_id: "engineering"
period: this_week
- type: task_status
filter:
assignee: me
- type: time_tracked
group_by: project
period: this_month
- type: goals_progress
folder_id: "q1_goals"
```
## Time Tracking
### Time Entry Configuration
```yaml
time_tracking:
settings:
billable_default: true
rounding: 15_minutes
require_description: false
entry:
task_id: "task_123"
start: "2024-01-15T09:00:00Z"
end: "2024-01-15T11:30:00Z"
duration: 9000000 # 2.5 hours in ms
billable: true
description: "Development work"
reports:
- type: user_summary
period: this_week
group_by: task
- type: project_summary
period: this_month
group_by: user
```
### Time Reports Dashboard
```
TIME TRACKING - THIS WEEK
═══════════════════════════════════════
TOTAL: 32h 45m
BY PROJECT:
Feature Dev ████████████████ 18h 30m
Bug Fixes ████████░░░░░░░░ 8h 15m
Meetings ████░░░░░░░░░░░░ 4h 00m
Admin ██░░░░░░░░░░░░░░ 2h 00m
BY DAY:
Mon █████████████████ 7h 30m
Tue ███████████████░░ 6h 45m
Wed ██████████████░░░ 6h 15m
Thu ████████████████░ 7h 00m
Fri ███████████░░░░░░ 5h 15m
BILLABLE: 28h 00m (85%)
```
## Goals & OKRs
### Goal Structure
```yaml
goals:
- name: "Q1 Product Goals"
type: folder
targets:
- name: "Ship v2.0"
type: true_false
due_date: "2024-03-31"
- name: "Reduce bug count"
type: number
start: 45
target: 10
unit: "open bugs"
- name: "Increase test coverage"
type: percentage
start: 65
target: 85
key_results:
- task_list: "v2.0_features"
measure: tasks_completed
```
### Goal Dashboard
```
Q1 GOALS PROGRESS
═══════════════════════════════════════
Ship v2.0
████████████████████ 100% ✓
Completed on March 28
Reduce Bug Count
████████████████░░░░ 78%
Current: 15 | Target: 10
Increase Test Coverage
██████████████░░░░░░ 72%
Current: 79% | Target: 85%
OVERALL Q1: 83% Complete
```
## Templates
### Task Templates
```yaml
task_templates:
- name: "Bug Report"
status: "Open"
priority: high
tags: ["bug"]
description: |
## Bug Description
{{description}}
## Steps to Reproduce
1.
2.
3.
## Expected Behavior
## Actual Behavior
## Environment
- Browser:
- OS:
- Version:
checklists:
- name: "Bug Fix Workflow"
items:
- "Reproduce bug"
- "Identify root cause"
- "Implement fix"
- "Write tests"
- "Code review"
- "Deploy"
- name: "Feature Request"
status: "Backlog"
custom_fields:
story_points: null
checklists:
- name: "Feature Workflow"
items:
- "Requirements defined"
- "Design approved"
- "Implementation"
- "Testing"
- "Documentation"
```
## Integrations
### Slack Integration
```yaml
slack_integration:
notifications:
- trigger: task_created
channel: "#project-updates"
include: [name, assignees, due_date]
- trigger: status_changed
to: "Complete"
channel: "#wins"
message: "✅ {{task.name}} completed by {{user.name}}"
commands:
/clickup:
- create_task
- my_tasks
- log_time
```
### GitHub Integration
```yaml
github_integration:
branch_naming:
pattern: "{{task.id}}-{{task.slug}}"
automations:
- trigger: branch_created
actions:
- set_status: "In Progress"
- add_comment: "Branch created: {{branch.name}}"
- trigger: pr_opened
actions:
- set_status: "In Review"
- link_pr: "{{pr.url}}"
- trigger: pr_merged
actions:
- set_status: "Complete"
```
## API Examples
### Task Operations
```javascript
// Create Task
const task = await clickup.tasks.create(listId, {
name: "Implement user authentication",
description: "Add OAuth2 support",
assignees: [userId],
priority: 2,
due_date: Date.now() + 7 * 24 * 60 * 60 * 1000,
time_estimate: 28800000,
custom_fields: [
{ id: "field_id", value: "5" }
]
});
// Update Task
await clickup.tasks.update(taskId, {
status: "In Progress",
assignees: { add: [newUserId] }
});
// Add Time Entry
await clickup.timeEntries.create(taskId, {
start: Date.now() - 3600000,
duration: 3600000,
billable: true
});
// Create Checklist
await clickup.checklists.create(taskId, {
name: "Acceptance Criteria"
});
```
## Best Practices
1. **Hierarchy Design**: Spaces → Folders → Lists
2. **Consistent Statuses**: Standardize across lists
3. **Custom Fields**: Track key metrics
4. **Automations**: Reduce manual work
5. **Time Tracking**: Enable for capacity planning
6. **Templates**: Standardize task creation
7. **Goals**: Align tasks with objectives
8. **Views**: Configure for different needsWhat This Does
Comprehensive workflow for automating ClickUp workspace and task management.
Quick Start
Step 1: Create a Project Folder
mkdir -p ~/Documents/ClickupAutomation
Step 2: Download the Template
Click Download above, then:
mv ~/Downloads/CLAUDE.md ~/Documents/ClickupAutomation/
Step 3: Start Working
cd ~/Documents/ClickupAutomation
claude
Best Practices
- Hierarchy Design: Spaces → Folders → Lists
- Consistent Statuses: Standardize across lists
- Custom Fields: Track key metrics
- Automations: Reduce manual work
- Time Tracking: Enable for capacity planning
- Templates: Standardize task creation
- Goals: Align tasks with objectives
- Views: Configure for different needs