Keep Notion and ClickUp in sync for task status
Your tasks are “tracked” in Notion… until someone updates the real status in ClickUp and forgets to copy it back. Then a due date slips, a handoff gets missed, and suddenly you’re chasing updates in two places.
This Notion ClickUp sync problem hits project managers first. But marketing leads and small agency owners feel it too, because nothing kills momentum like stale task status.
This workflow keeps both tools aligned. You’ll see exactly how it works, what you need to run it, and the results you can expect once it’s live.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Keep Notion and ClickUp in sync for task status
flowchart LR
subgraph sg0["On task status updated Flow"]
direction LR
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/clickup.svg' width='40' height='40' /></div><br/>On task status updated"]
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/notion.dark.svg' width='40' height='40' /></div><br/>Get database page by ClickUp.."]
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/notion.dark.svg' width='40' height='40' /></div><br/>Update the status of found d.."]
n2 --> n3
n3 --> n4
end
subgraph sg1["On updated database page Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/notion.dark.svg' width='40' height='40' /></div><br/>On updated database page"]
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/clickup.svg' width='40' height='40' /></div><br/>Update an existing task"]
n0 --> n1
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n2,n0 trigger
class n3,n4 database
classDef customIcon fill:none,stroke:none
class n2,n3,n4,n0,n1 customIcon
The Problem: Task Status Drifts Between Notion and ClickUp
Notion is where planning happens, but ClickUp is where execution lives. When the two drift, you get the worst of both worlds: the dashboard looks calm while the work is on fire. Someone marks a task “in progress” in ClickUp, but the Notion page still says “to do.” Or a deadline changes in Notion, yet the ClickUp task stays untouched, so reminders and reporting are wrong. It’s not just annoying. It forces you to manage the system instead of the project, and that mental overhead shows up in missed details.
It adds up fast. Here’s where it breaks down.
- People update whichever tool they opened first, so your “source of truth” changes hour to hour.
- Status mismatches create unnecessary check-ins, because nobody trusts what they’re seeing.
- Manual copying introduces tiny errors (wrong status, wrong date), and those errors compound over a week.
- When you scale to dozens of tasks, keeping two systems aligned becomes a recurring admin job.
The Solution: Two-Way Status Sync Between Notion and ClickUp
This n8n workflow keeps your Notion database pages and ClickUp tasks aligned as work moves. When a page is created or updated in Notion, the workflow creates or updates the matching ClickUp task and maps your database fields across (task name, status, deadline, plus anything else you’ve added). Crucially, it saves the ClickUp task ID back into the Notion page in a dedicated “ClickUp ID” field, so future updates reliably target the right task. Then it watches ClickUp for status changes. When a status changes in ClickUp, it finds the linked Notion page by ClickUp ID and updates the Notion Status field to match. No spreadsheet reconciliation. No “which one is right?” debates.
The workflow starts with two triggers: Notion database page updates and ClickUp task status changes. In the middle, it matches records using that stored ClickUp ID, then applies updates in the opposite tool. Finally, both systems show the same status without you doing the double entry.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say your team manages 40 tasks a week in a Notion database, but execution happens in ClickUp. If each task takes only 2 minutes to “mirror” (update status, adjust a deadline, paste a link), that’s about 80 minutes weekly, plus the inevitable re-checking. With this workflow, the “work” is just creating or updating the Notion page like you already do, then waiting for n8n to sync in the background. You typically spend close to zero extra minutes per task, and the status stays aligned both ways.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Notion for the database pages and fields.
- ClickUp to create tasks and track status.
- Notion + ClickUp credentials (create them in n8n’s Credentials tab).
Skill level: Beginner. You’ll connect accounts, create a Notion database with the required columns, and map a few fields.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A Notion page changes. When a database page is created or updated, n8n detects it via the Notion trigger and grabs the fields you care about (task name, status, deadline, and any extras).
The matching ClickUp task is created or updated. n8n pushes those values into ClickUp so the task reflects what you planned in Notion, then stores the ClickUp task ID back in the Notion page’s “ClickUp ID” property.
A ClickUp status changes. When someone moves a task from “in progress” to “review” or “complete,” the ClickUp trigger fires and sends the task’s ID into the workflow.
The Notion page gets updated to match. n8n finds the correct Notion page by searching for that ClickUp ID, then updates the Notion Status field so your database view stays accurate.
You can easily modify which Notion properties map into ClickUp to match your process. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Notion Trigger
Set up the Notion trigger to detect page updates in your database and kick off ClickUp task updates.
- Add the Database Page Update Trigger node to your canvas.
- Set Event to
pagedUpdatedInDatabase. - Set Database ID to
[YOUR_ID]. - Credential Required: Connect your notionApi credentials.
Step 2: Connect ClickUp for Task Updates
Map Notion page fields to ClickUp task properties so updates in Notion synchronize to ClickUp.
- Add the Modify Existing Task node and connect it to Database Page Update Trigger.
- Set Operation to
update. - Set Task ID to
={{$node["Database Page Update Trigger"].json["ClickUp ID"]}}. - Under Update Fields, set Name to
={{$node["Database Page Update Trigger"].json["Task name"]}}, Status to={{$node["Database Page Update Trigger"].json["Status"]}}, and Due Date to={{$node["Database Page Update Trigger"].json["Deadline"]["start"]}}. - Credential Required: Connect your clickUpApi credentials.
ClickUp ID, Task name, Status, and Deadline to avoid empty updates.Step 3: Configure the ClickUp Trigger
Set up the ClickUp trigger to detect status changes and sync them back to Notion.
- Add the Task Status Change Trigger node.
- Set Team to
[YOUR_ID]. - Set Events to include
taskStatusUpdated. - Credential Required: Connect your clickUpApi credentials.
Step 4: Sync ClickUp Status Back to Notion
Find the Notion page by ClickUp ID and update its Status field based on the task change.
- Add the Retrieve Page by ClickUp ID node and connect it to Task Status Change Trigger.
- Set Resource to
databasePageand Operation togetAll. - Enable Return All with
trueand set Database ID to[YOUR_ID]. - Under Filters, set Key to
ClickUp ID|rich_text, Condition toequals, and Rich Text Value to={{$node["Task Status Change Trigger"].json["task_id"]}}. - Credential Required: Connect your notionApi credentials.
- Add the Apply Status to Database Page node and connect it to Retrieve Page by ClickUp ID.
- Set Page ID to
={{$node["Retrieve Page by ClickUp ID"].json["id"]}}. - Set Resource to
databasePageand Operation toupdate. - Under Properties, set Status|select to
={{$node["Task Status Change Trigger"].json["history_items"][0]["after"]["status"]}}. - Credential Required: Connect your notionApi credentials.
Step 5: Test and Activate Your Workflow
Verify both directions of synchronization and enable the workflow for production use.
- Click Execute Workflow to test the Notion-to-ClickUp path by updating a Notion page in the configured database.
- Confirm that Modify Existing Task updates the correct ClickUp task name, status, and due date.
- Trigger a status change in ClickUp and verify that Task Status Change Trigger fires, Retrieve Page by ClickUp ID finds the matching page, and Apply Status to Database Page updates the Notion status.
- Once both directions work, switch the workflow to Active to enable continuous sync.
Common Gotchas
- Notion credentials can expire or lack access to the database. If things break, check the database share permissions in Notion and the credential status in n8n first.
- ClickUp status names must match what you map from Notion. If your Notion “Status” select options differ (like “Doing” vs “in progress”), the ClickUp update can fail or set the wrong value.
- The “ClickUp ID” field is the glue. If someone deletes it, duplicates pages, or pastes an incorrect ID, the workflow may update the wrong task or fail to find a match.
Frequently Asked Questions
About 30 minutes if your Notion database is ready.
No. You’ll mainly connect Notion and ClickUp accounts and map fields in n8n.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need Notion and ClickUp accounts (no extra API fee for most standard usage).
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, but keep the “ClickUp ID” property intact. Most customizations happen in the Notion database (add properties) and in the ClickUp update step where fields are mapped over. Common tweaks include mapping assignees, adding priority, syncing a Notion URL into the ClickUp task description, and tightening the allowed status list so it matches your ClickUp space. If your status labels differ, align them first so the sync stays predictable.
Usually it’s expired or missing permissions on the ClickUp token used in n8n. Reconnect ClickUp in n8n Credentials, then confirm the workspace, space, and list you’re targeting still exist. Also check your ClickUp status configuration; if the workflow tries to set a status that is not valid in that list, ClickUp will reject the update. If you’re running a lot of updates in a short time, rate limits can show up too, so spacing executions can help.
A lot.
Often, yes, especially for two-way sync. n8n is comfortable with the “find the matching record, then update back” pattern because you can store the ClickUp ID in Notion and branch logic without paying per step like some Zapier plans. The self-hosted option is also a big deal if you expect lots of task churn. Zapier or Make can be simpler for a one-way push, but two-way syncing gets tricky and can become expensive as volume grows. If you want to sanity-check the best option for your setup, Talk to an automation expert.
Once this is running, Notion stops lying to you about what’s “in progress.” The workflow handles the repetitive updates so you can focus on the work itself.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.