

How to Send ClickUp Task Status Alerts to Slack with N8n
Automatically notify Slack channels when ClickUp tasks move to Ready for Review or Blocked status.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Teams that need custom routing logic or complex status change filtering
Not ideal for
Simple single-channel notifications (use Zapier's native integration instead)
Sync type
real-timeUse case type
notificationReal-World Example
A 25-person product team uses this to route ClickUp status alerts to the right people. Development tasks marked 'Ready for Review' go to #code-review, design tasks go to #design-review, and any task marked 'Blocked' goes to #urgent with @channel. Before automation, developers posted manual Slack messages requesting reviews, and blocked tasks sat unnoticed for days.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Import this workflow directly into n8n
Copy the pre-built n8n blueprint and paste it straight into n8n. All modules, filters, and field mappings are already configured — you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Task ID | task.id | |
| Task Status | task.status.status | |
| Task Name | task.name | |
| Task URL | task.url | |
| Project Name | task.project.name | |
1 optional field▸ show
| Assignees | task.assignees |
Step-by-Step Setup
Dashboard > New Workflow
Create N8n Workflow
Start a new workflow in N8n to handle ClickUp task status changes. You'll build a webhook-triggered flow that filters for specific statuses and posts to Slack.
- 1Click 'New Workflow' from the N8n dashboard
- 2Rename the workflow to 'ClickUp Status Alerts'
- 3Save the workflow before adding nodes
Workflow Canvas > + > Webhook
Add Webhook Trigger
Configure a webhook node to receive ClickUp task updates. This creates an endpoint URL that ClickUp will POST to whenever tasks change status.
- 1Click the '+' button and search for 'Webhook'
- 2Select the 'Webhook' trigger node
- 3Set HTTP Method to 'POST'
- 4Leave Authentication as 'None'
- 5Copy the webhook URL from the node
ClickUp Settings > Integrations > Webhooks
Configure ClickUp Webhook
Set up ClickUp to send task status changes to your N8n webhook. You'll configure this at the workspace level to catch all task updates.
- 1Open ClickUp and go to Settings > Integrations > Webhooks
- 2Click 'Create Webhook'
- 3Paste your N8n webhook URL in the Endpoint field
- 4Check 'taskUpdated' under Events
- 5Select your target workspace from the dropdown
Workflow Canvas > + > Logic > IF
Add Status Filter Node
Filter incoming webhooks to only process tasks that moved to 'Ready for Review' or 'Blocked' status. This prevents spam notifications for every task change.
- 1Add an 'IF' node after the webhook
- 2Set condition to 'String' > 'is equal to'
- 3Enter {{ $json.task.status.status }} in the Value 1 field
- 4Enter 'ready for review' in Value 2 field
- 5Click 'Add Condition' and repeat for 'blocked' status
Workflow Canvas > + > ClickUp > Credentials
Add ClickUp Credentials
Connect N8n to ClickUp to fetch additional task details like assignee names and project info that aren't included in webhook payloads.
- 1Add a 'ClickUp' node after the IF node (True branch)
- 2Click 'Create New Credential'
- 3Select 'Personal Token' authentication
- 4Generate an API token in ClickUp Settings > Apps > API Token
- 5Paste the token and save the credential
ClickUp Node > Task > Get
Fetch Task Details
Use the ClickUp node to get complete task information including assignee, project, and formatted URLs for the Slack message.
- 1Set Operation to 'Get' and Resource to 'Task'
- 2Map Task ID to {{ $json.task.id }} from the webhook
- 3Enable 'Include Subtasks' if you want subtask notifications
- 4Test this node to verify it returns full task data
Workflow Canvas > + > Logic > IF
Determine Slack Channel
Route notifications to the correct Slack channel based on task project or status. Different teams often want alerts in different channels.
- 1Add another 'IF' node to check project or custom field values
- 2Set condition to check {{ $json.project.name }} or task status
- 3Map 'Ready for Review' tasks to '#reviews' channel
- 4Map 'Blocked' tasks to '#urgent' or project-specific channel
api.slack.com/apps > OAuth & Permissions
Add Slack Credentials
Connect N8n to your Slack workspace to enable message posting. You'll need a bot token with chat:write permissions.
- 1Go to api.slack.com/apps and create a new app
- 2Add 'chat:write' and 'chat:write.public' OAuth scopes
- 3Install the app to your workspace and copy the Bot User OAuth Token
- 4In N8n, add Slack credentials using the bot token
Slack Node > Message > Post
Format Slack Message
Create a rich Slack message with task details, assignee mentions, and action buttons. Use Slack's Block Kit format for better presentation.
- 1Add a 'Slack' node and set Operation to 'Post Message'
- 2Select your target channel (e.g., '#reviews')
- 3Build message text with task title, status, and assignee
- 4Add the task URL as a button or link in the message
Workflow > Activate > ClickUp Task Status Change
Test the Workflow
Activate the workflow and test it with a real ClickUp task status change. This verifies the webhook, filters, and Slack posting work end-to-end.
- 1Click 'Save' and then 'Activate' workflow toggle
- 2Go to ClickUp and change a task status to 'Ready for Review'
- 3Check the N8n execution log for successful runs
- 4Verify the Slack notification appears in the correct channel
Workflow Canvas > + > Error Trigger
Add Error Handling
Configure error handling to retry failed Slack posts and log issues without breaking the entire workflow.
- 1Add an 'Error Trigger' node to catch failures
- 2Connect it to a 'Slack' node that posts to an admin channel
- 3Set up retry logic with exponential backoff for API failures
- 4Test error handling by temporarily breaking the Slack token
Workflow Settings > Execution Limit
Configure Rate Limiting
Add delays and batching to handle high-volume task updates without hitting API limits. Both ClickUp and Slack have rate limits you need to respect.
- 1Add a 'Wait' node with 1-2 second delay between Slack posts
- 2Set workflow execution limit to 10 concurrent runs maximum
- 3Configure exponential backoff for 429 rate limit responses
- 4Monitor execution logs for rate limit warnings
Drop this into an n8n Code node.
JavaScript — Code Node// Deduplicate rapid status changes in code node▸ Show code
// Deduplicate rapid status changes in code node
const recent = $('Webhook').all().filter(item => {
const timestamp = new Date(item.json.event.date).getTime();... expand to see full code
// Deduplicate rapid status changes in code node
const recent = $('Webhook').all().filter(item => {
const timestamp = new Date(item.json.event.date).getTime();
const now = Date.now();
return (now - timestamp) < 30000; // 30 second window
});
if (recent.length > 1) {
return []; // Skip duplicate
}
return $input.all();Scaling Beyond 100+ status changes/day+ Records
If your volume exceeds 100+ status changes/day records, apply these adjustments.
Batch Multiple Status Changes
Group status changes from the same project into single Slack messages posted every 5 minutes. This reduces API calls and prevents channel spam when multiple tasks change status rapidly.
Use Slack Threading
Post initial status change as main message, then thread subsequent changes for the same task. This keeps channels cleaner and makes it easier to follow task progression over time.
Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use N8n for this if you need custom logic for routing different task types to different channels, or if you're already running N8n for other automations. The code nodes let you build complex filtering that Zapier and Make can't match — like checking custom fields, parsing task descriptions, or batching multiple status changes. Skip N8n if you just want basic status notifications to one channel — Zapier's ClickUp-Slack integration does this in 2 clicks.
This workflow uses 2 executions per status change (webhook + Slack post). At 200 status changes per month, that's 400 executions total. N8n's Starter plan ($20/month) includes 5,000 executions, so you're well covered. Make would cost $9/month for 1,000 operations but charges extra for webhooks. Zapier's $20 plan includes 750 tasks — you'd hit the limit at 375 status changes. N8n wins on cost at any volume over 100 changes/month.
Make's ClickUp module includes better field mapping with dropdown menus showing your actual custom fields and statuses. Zapier's formatter tools handle Slack message formatting more elegantly than N8n's manual JSON building. But N8n's code nodes let you implement complex routing logic — like sending design tasks to #design-review and bug reports to #qa-blocked based on task labels or custom fields. Neither Make nor Zapier can match that flexibility without multiple scenarios.
ClickUp's webhook payload is inconsistent — sometimes assignees is an array, sometimes null, and custom field values change format between ClickUp 2.0 and 3.0 workspaces. You'll need to add null checks and type validation in your IF nodes. Slack's rate limit is 1 message per second per channel, so batch multiple rapid status changes or add delays. The ClickUp API token expires annually with no warning — set a calendar reminder or your workflow will silently break.
Ideas for what to build next
- →Add Task Completion Notifications — Extend the workflow to notify channels when tasks move to Done status, with different formatting or channels than in-progress alerts.
- →Create Daily Status Digest — Build a scheduled workflow that summarizes all status changes from the previous day and posts a digest to management channels each morning.
- →Implement SLA Monitoring — Track how long tasks spend in Ready for Review status and automatically escalate to managers if reviews take longer than 48 hours.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup