Notion to Clockify Sync Template
Configured with Clockify, Compare Datasets, HTTP Request, Limit, and additional nodes. Review the connections and setup before adapting this template.
Node categories in this workflow
- Trigger
- Transform
- Integration
- Routing
- Web / API
Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.
Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.
How it works
The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.
| Node | Category | Type | Operation |
|---|---|---|---|
| Webhook | Trigger | Webhook | See node parameters |
| Globals | Transform | Edit Fields | See node parameters |
| Schedule Trigger | Trigger | Schedule Trigger | See node parameters |
| Get first workspace ID | Integration | Clockify | workspace |
| Compare Datasets | Transform | Compare Datasets | See node parameters |
| Stop and Error | Routing | Stop And Error | See node parameters |
| Structure output | Routing | No Op | See node parameters |
| Map values | Transform | Edit Fields | See node parameters |
| Map values1 | Transform | Edit Fields | See node parameters |
| No Operation | Routing | No Op | See node parameters |
| Get active Clients from Notion | Integration | Notion | databasePage / getAll |
| Get active Clients from Clockify | Integration | Clockify | client / getAll |
| If unmapped in Notion | Routing | If | See node parameters |
| Set new values | Transform | Edit Fields | See node parameters |
| Update Client in Clockify | Integration | Clockify | client / update |
| Get archived Client from Notion | Integration | Notion | databasePage / getAll |
| Create Client in Clockify | Integration | Clockify | client |
| Store Clockify ID in Notion | Integration | Notion | databasePage / update |
| Remove Client from Clockify | Integration | Clockify | client / delete |
| Merge | Transform | Merge | See node parameters |
| No Operation, do nothing | Routing | No Op | See node parameters |
| Get active Projects from Notion | Integration | Notion | databasePage / getAll |
| Get active Projects from Clockify | Integration | Clockify | getAll |
| Update Project in Clockify | Web / API | HTTP Request | PUT |
| Get completed Project from Notion | Integration | Notion | databasePage / getAll |
| Create Project in Clockify | Web / API | HTTP Request | POST |
| Remove Project from Clockify | Integration | Clockify | client / delete |
| Structure output1 | Routing | No Op | See node parameters |
| No Operation1 | Routing | No Op | See node parameters |
| Map values2 | Transform | Edit Fields | See node parameters |
| Map values3 | Transform | Edit Fields | See node parameters |
| Compare Datasets1 | Transform | Compare Datasets | See node parameters |
| If unmapped in Notion1 | Routing | If | See node parameters |
| Set new values1 | Transform | Edit Fields | See node parameters |
| Store Clockify ID in Notion1 | Integration | Notion | databasePage / update |
| Stop and Error1 | Routing | Stop And Error | See node parameters |
| Merge1 | Transform | Merge | See node parameters |
| No Operation, do nothing2 | Routing | No Op | See node parameters |
| Get active Tasks from Notion | Integration | Notion | databasePage / getAll |
| Get active Tasks from Clockify | Integration | Clockify | task / getAll |
| Update Task in Clockify | Integration | Clockify | task / update |
| Get completed Task from Notion | Integration | Notion | databasePage / getAll |
| Create Task in Clockify | Integration | Clockify | task |
| Remove Task from Clockify | Integration | Clockify | task / delete |
| Structure output2 | Routing | No Op | See node parameters |
| No Operation2 | Routing | No Op | See node parameters |
| Map values4 | Transform | Edit Fields | See node parameters |
| Map values5 | Transform | Edit Fields | See node parameters |
| Get active Projects from Clockify1 | Integration | Clockify | getAll |
| Compare Datasets2 | Transform | Compare Datasets | See node parameters |
| If unmapped in Notion2 | Routing | If | See node parameters |
| Set new values2 | Transform | Edit Fields | See node parameters |
| Store Clockify ID in Notion2 | Integration | Notion | databasePage / update |
| Stop and Error2 | Routing | Stop And Error | See node parameters |
| Limit | Transform | Limit | See node parameters |
| Limit1 | Transform | Limit | See node parameters |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.
Requirements
An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.
Credential types declared in the source
clockifyApinotionApi
Workflow notes
Set Globals (optional)
Set Globals (optional)
By default the fist available workspace ID is set. This can be overridden here.
Set triggers
Set triggers
By default this workflow runs once a day. Additionally a webhook allows for manual calls using a Notion button.
Select database
Select database
Choose the tasks database.
Select database
Select database
Choose the clients database.
Select database
Select database
Choose the projects database.
Setup
Setup
Prerequisites
This workflow expects a database structure with at least having the structure mentioned below. Alternatively start with this Notion Template
Clients
- Name (Text)
- Archive (Checkbox)
- Clockify Client ID (Text)
Projects
- Name (Text)
- Status (Status)
- required options: "Done", "Obsolete" and at least one more
- recommended options: "Backlog", "In progress", "On hold"
- Clockify Client ID (Rollup: Clients -> Clockify Client ID)
- Clockify Project ID (Text)
Tasks
- Name (Text)
- Status (Status)
- required options: "Done", "Obsolete" and at least one more
- recommended options: "Backlog", "In progress", "On hold"
- Clockify Project ID (Rollup: Projects -> Clockify Project ID)
- Clockify Task ID (Text)
- Clients (Rollup: Projects -> Clients)
Update this workflow
- Set the credentials accordingly
- Check for all other yellow sticky notes
Add report button in Notion (optional)
Add a Formula field named "Clockify Report" or similar to the projects database and insert the following value:
if(prop("Clockify Project ID").length() > 0, link(style("⏱️ View open time logs", "grey_background"), "https://app.clockify.me/reports/detailed?start=" + formatDate(dateSubtract(today(), 1, "years"), "YYYY-MM-DD") + "T00:00:00.000Z&end=" + formatDate(today(), "YYYY-MM-DD") + "T23:59:59.999Z&filterValuesData=%7B%22tags%22:%5B%2267c381166730bf39cdcce516%22%5D,%22projects%22:%5B%22" + prop("Clockify Project ID") + "%22%5D%7D&filterOptions=%7B%22tags%22:%7B%22status%22:%22ACTIVE%22,%22contains%22:%22DOES_NOT_CONTAIN%22%7D,%22projects%22:%7B%22status%22:%22ACTIVE%22%7D%7D&page=1&pageSize=50"), "")
Add sync button to Notion (optional)
This requires a paid Notion plan
- Grab the production URL of the Webhook Node
- Create a button in Notion next to a view of the Clients Database
- Add a webhook call action and paste copied URL
- Name the button "Sync to Clockify" or similar
Notion to Clockify Sync Template
Notion to Clockify Sync Template
Purpose and structure
This folder contains the Notion to Clockify Sync Template workflow. Its executable nodes use clockify, compareDatasets, httpRequest, if, limit, merge, noOp, notion, scheduleTrigger, set, stopAndError, webhook. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.
Setup
Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.
Entry points
Webhook, Schedule Trigger
Verification
Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.
Attribution
https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Stopanderror/1498_Stopanderror_Limit_Sync_Webhook.json MIT; preserve source notices.
Canvas section labels
These name areas of the original canvas; they do not include explanatory instructions.
- Sync Clients
- Sync Projects
- Sync Tasks