🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Keep Notion and Clockify in sync, no messy timers

Lisa Granqvist Partner Workflow Automation Expert

Nothing breaks time tracking faster than mismatched projects and duplicate clients. One person starts a timer in Clockify, another renames the project in Notion, and suddenly your reports don’t tie out.

This Notion Clockify sync hits agency owners first, because client billing gets messy fast. But ops leads and project managers feel it too when teams can’t trust what timer maps to what work.

This workflow keeps clients, projects, and tasks aligned between Notion and Clockify so you stop babysitting timers. You’ll learn what it automates, what you need to set it up, and how to avoid the common gotchas.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: Keep Notion and Clockify in sync, no messy timers

Why This Matters: Clean time data you can actually bill from

When Notion is your “source of truth” for clients and delivery, but Clockify is where time actually gets tracked, drift is inevitable. A client gets archived in Notion but still shows up as active in Clockify. A project name changes, so the team picks the wrong timer. Tasks multiply because people create “quick fixes” inside Clockify, and now you have three versions of the same thing. The worst part is the delay: you don’t notice until invoice week, when you’re reconciling line items instead of sending the bill.

It adds up fast. Here’s where it breaks down in real teams.

  • Someone starts tracking time under an old project name, and you spend about an hour later figuring out where those entries belong.
  • Archived clients in Notion still look “active” in Clockify, so they keep showing up in dropdowns and get selected by mistake.
  • Clockify IDs aren’t stored anywhere reliable, which means every cleanup becomes a manual matching exercise.
  • Projects and tasks are hierarchical, so one mismatch at the client level cascades into dozens of messy task timers.

What You’ll Build: A daily Notion → Clockify sync for clients, projects, and tasks

This workflow treats Notion as the place you manage delivery, status, and structure, then keeps Clockify aligned so time tracking stays accurate. On each run, it pulls active Clients, Projects, and Tasks from both Notion and Clockify and compares them using the Clockify ID (which is stored back in Notion). If something exists in Notion but not in Clockify, it gets created. If it exists in both but fields changed, Clockify is updated. And when you archive or close something in Notion, the workflow marks the matching item archived in Clockify too, so your team stops choosing dead options.

The workflow can run once per day on a schedule, or instantly via a webhook (for example, from a Notion button). It processes clients first, then projects, then tasks, because those relationships matter and you want consistent parent-child links.

What You’re Building

Expected Results

Say you manage 15 clients with about 40 active projects and 200 tasks in Notion. Without automation, keeping Clockify aligned usually means a weekly cleanup: maybe 3 minutes to check or fix each item, which is easily 2–3 hours. With this workflow, you spend about 10 minutes setting up your Notion fields once, then the daily run handles the sync in the background. You mostly just review exceptions, instead of doing a full sweep.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Notion for your Clients, Projects, Tasks databases.
  • Clockify to keep time tracking structure clean.
  • Notion API integration token (create it in Notion Integrations).

Skill level: Intermediate. You don’t need to code, but you do need to be comfortable mapping fields and following database-structure instructions.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

A scheduled run or webhook kicks things off. You can let it run daily, or trigger it on-demand from a webhook (many teams wire that to a Notion button when they’ve done a batch of changes).

The workflow pulls both systems side by side. It retrieves active clients, then projects, then tasks from Notion and Clockify, and prepares each dataset into the same shape so comparisons are fair.

Differences get detected and applied. Using compare-and-branch logic (If + dataset comparison), the workflow decides what to create, what to update, and what to archive. When a Clockify item is created, its Clockify ID is saved back into Notion so future syncs are stable.

Outputs and errors are controlled. The workflow merges results for reporting, limits output to keep runs readable, and stops with clear errors when something critical happens (like a delete failing) so you’re not left guessing.

You can easily modify which Notion properties sync over to Clockify (like naming conventions or archive rules) based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Webhook Trigger

Set up the inbound and scheduled triggers that start the sync.

  1. Add Incoming Webhook Trigger and set HTTP Method to POST and Path to 43028c1f-7331-4fbe-bf56-d6f47c92d9be.
  2. Add Scheduled Run Trigger and configure the schedule to run daily at Trigger At Hour 4.
  3. Connect both triggers to Fetch Primary Workspace ID as shown in the workflow.
Use the webhook for on-demand syncs and the schedule for automatic daily reconciliation.

Step 2: Connect Clockify and Notion

Link your Clockify and Notion accounts across all integration nodes.

  1. Credential Required: Connect your clockifyApi credentials on Fetch Primary Workspace ID.
  2. Credential Required: Connect your notionApi credentials on Retrieve Notion Clients, Retrieve Notion Projects, Retrieve Notion Tasks, Lookup Archived Notion Client, Lookup Completed Notion Project, Lookup Completed Notion Task, Save Clockify Client ID, Save Clockify Project ID, and Save Clockify Task ID.
  3. Credential Required: Connect your clockifyApi credentials on all Clockify action nodes including Retrieve Clockify Clients, Retrieve Clockify Projects, Retrieve Projects For Tasks, Retrieve Clockify Tasks, Create Clockify Client, Modify Clockify Client, Create Clockify Project, Modify Clockify Project, Create Clockify Task, Modify Clockify Task, Delete Clockify Client, Delete Clockify Project, and Delete Clockify Task.
⚠️ Common Pitfall: The Notion database IDs are placeholders ([YOUR_ID]). Replace these in Retrieve Notion Clients, Retrieve Notion Projects, and Retrieve Notion Tasks before testing.

Step 3: Set Up Workspace and Global Variables

Capture the workspace ID and pass it into all Clockify operations.

  1. In Fetch Primary Workspace ID, set Resource to workspace and Limit to 1.
  2. In Global Variables, set the assignment workspace_id to {{ $json.id }}.
  3. Confirm all Clockify nodes reference {{ $('Global Variables').item.json.workspace_id }} or {{ $('Global Variables').first().json.workspace_id }} in their workspaceId fields.

Step 4: Configure Client, Project, and Task Retrieval (Parallel Branches)

Pull data from Notion and Clockify in parallel to prepare for comparison.

  1. Pass Through Clients outputs to both Retrieve Notion Clients and Retrieve Clockify Clients in parallel.
  2. In Retrieve Notion Clients, set Resource to databasePage, Operation to getAll, and apply the manual filter conditions shown in the node.
  3. In Retrieve Clockify Clients, set Resource to client, Operation to getAll, and Workspace ID to {{ $('Global Variables').item.json.workspace_id }}.
  4. Pass Through Projects outputs to both Retrieve Notion Projects and Retrieve Clockify Projects in parallel.
  5. Pass Through Tasks outputs to both Retrieve Projects For Tasks and Retrieve Notion Tasks in parallel, then Retrieve Projects For Tasks flows to Retrieve Clockify Tasks.
Parallel retrieval keeps Notion and Clockify datasets in sync for accurate comparison in the next step.

Step 5: Set Up Field Mapping and Dataset Comparison

Normalize fields across platforms and compare datasets for changes.

  1. In Map Client Fields, map name to {{ $json.name }}, archived to {{ $json.property_archive }}, and clockify_client_id to {{ $json.property_clockify_client_id }}.
  2. In Map Clockify Clients, map clockify_client_id to {{ $json.id }} and archived to {{ $json.archived }}.
  3. In Compare Client Lists, set Resolve to mix and merge by clockify_client_id on both datasets.
  4. Repeat the mapping and comparison pattern for projects with Map Project Fields, Map Clockify Projects, and Compare Project Lists, and for tasks with Map Task Fields, Map Clockify Tasks, and Compare Task Lists.
⚠️ Common Pitfall: Ensure the Notion properties referenced in the mapping nodes match your database schema (e.g., property_clockify_project_id, property_clockify_task_id).

Step 6: Configure Output and Sync Actions

Define the create/update/delete logic for clients, projects, and tasks.

  1. In each IF node (Check Missing Notion Client, Check Missing Notion Project, Check Missing Notion Task), keep the empty check on {{ $json.clockify_*_id }} to route create vs update actions.
  2. For creates: configure Create Clockify Client with Name {{ $json.name }}, Create Clockify Project with POST body including {{ $json.clockify_client_id }}, and Create Clockify Task with Project ID {{ $json.clockify_project_id }}.
  3. For updates: configure Modify Clockify Client to update archived, Modify Clockify Project to PUT the JSON body using {{ $json.archived }}, and Modify Clockify Task to update name and status with {{ $json.archived ? 'DONE' : 'ACTIVE' }}.
  4. Save newly created IDs back to Notion in Save Clockify Client ID, Save Clockify Project ID, and Save Clockify Task ID using the rich text property values.
  5. Confirm result consolidation via Combine Client Results and Combine Project Results, then flowing into Limit Output Clients and Limit Output Projects before moving to the next section.

Step 7: Add Error Handling

Ensure failed deletions or unexpected conflicts stop the workflow with clear messages.

  1. Verify Delete Clockify Client routes to Abort With Error with the message Could not update client in Notion (deleted in Clockify again).
  2. Verify Delete Clockify Project routes to Abort Project Error with the message Could not update bucket in Notion (deleted in Clockify again).
  3. Verify Delete Clockify Task routes to Abort Task Error with the message Could not update task in Notion (deleted in Clockify again).
These stop nodes make reconciliation failures explicit so you can remediate Clockify/Notion mismatches quickly.

Step 8: Test and Activate Your Workflow

Validate the sync end-to-end before turning it on for production.

  1. Click Execute Workflow and trigger Incoming Webhook Trigger with a POST request to confirm data flows into Fetch Primary Workspace ID and Global Variables.
  2. Check that Pass Through Clients, Pass Through Projects, and Pass Through Tasks run in parallel and that each comparison node outputs merged datasets.
  3. Verify expected outcomes: Notion items receive Clockify IDs in Save Clockify Client ID, Save Clockify Project ID, and Save Clockify Task ID, and Clockify records update or create correctly.
  4. Once successful, toggle the workflow to Active to enable scheduled runs via Scheduled Run Trigger.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Notion credentials can expire or the integration may not be shared with the right databases. If things break, check the Notion integration access on each database first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Clockify workspace permissions matter more than people expect. If creates or updates fail, confirm your API key can access the correct workspace and has rights to edit clients, projects, and tasks.

Quick Answers

What’s the setup time for this Notion Clockify sync automation?

Plan for about an hour, mostly to confirm your Notion database structure and field mappings.

Is coding required for this Notion Clockify sync?

No. You’ll connect accounts, map fields, and follow the workflow’s sticky-note instructions.

Is n8n free to use for this Notion Clockify sync workflow?

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 to factor in Notion and Clockify usage (typically no per-run API fee unless your plan limits are tight).

Where can I host n8n to run this automation?

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.

Can I modify this Notion Clockify sync workflow for different use cases?

Yes, and you probably should. Most teams tweak the “Map Client Fields”, “Map Project Fields”, and “Map Task Fields” steps to match their naming rules, then adjust the archive logic in the “Set Client/Project/Task Archive Fields” steps. You can also switch how updates are applied by editing the “Modify Clockify Project” HTTP request if your Clockify setup expects different fields. Common customizations include syncing additional tags, enforcing a “Client – Project” naming format, and only archiving after a specific Notion status (not just “archived”).

Why is my Clockify connection failing in this workflow?

Usually it’s the API key pointing to the wrong workspace or lacking permissions to edit clients/projects. Double-check the “Fetch Primary Workspace ID” step and confirm your key can access that workspace. If it fails only on larger syncs, you may also be hitting rate limits, so spacing runs out (daily instead of hourly) helps.

What volume can this Notion Clockify sync workflow process?

A few hundred items per run is typical, and most teams run it daily. If you self-host, executions aren’t capped (your server is the limit); on n8n Cloud it depends on your plan’s monthly execution allowance.

Is this Notion Clockify sync automation better than using Zapier or Make?

Often, yes, because this is not a simple two-step automation. You’re syncing three related datasets (clients → projects → tasks), comparing records, branching based on conditions, then writing IDs back to Notion so the next run stays stable. Zapier and Make can do parts of that, but it gets expensive and fragile when you add multi-entity matching and error handling. n8n is also easier to self-host, which matters if you want to run daily without watching execution limits. If you want, Talk to an automation expert and we’ll tell you bluntly which tool fits your volume and complexity.

Once Notion and Clockify agree on clients, projects, and tasks, your timers stop being a guessing game. Set it up, let it run daily, and keep invoicing week boring (in the best way).

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.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal