AutomationFlowsData & Sheets › Sync Notion to Clockify Including Clients Projects and Tasks

Sync Notion to Clockify Including Clients Projects and Tasks

ByMario @octionic on n8n.io

This workflow synchronizes three entities from Notion to Clockify, allowing tracked time to be linked to client-related projects or tasks.

Webhook trigger★★★★★ complexity68 nodesClockifyStop And ErrorNotionHTTP Request
Data & Sheets Trigger: Webhook Nodes: 68 Complexity: ★★★★★ Added:
Sync Notion to Clockify Including Clients Projects and Tasks — n8n workflow card showing Clockify, Stop And Error, Notion integration

This workflow corresponds to n8n.io template #3177 — we link there as the canonical source.

This workflow follows the HTTP Request → Notion recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "HpjjgJm3Ulnl1cJQ",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Notion to Clockify Sync Template",
  "tags": [
    {
      "id": "RKga6I6NviNI12bx",
      "name": "template",
      "createdAt": "2024-09-19T19:09:21.997Z",
      "updatedAt": "2024-09-19T19:09:21.997Z"
    }
  ],
  "nodes": [
    {
      "id": "e0e40960-a45f-44a2-91b8-d0f45c254679",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -400,
        -100
      ],
      "parameters": {
        "path": "43028c1f-7331-4fbe-bf56-d6f47c92d9be",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "cda9abae-ede3-4ce1-8f2b-b2913eba887a",
      "name": "Globals",
      "type": "n8n-nodes-base.set",
      "position": [
        40,
        -200
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0955695f-888f-46bc-807d-979a0798114f",
              "name": "workspace_id",
              "type": "string",
              "value": "={{ $json.id }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "a3d588b2-f169-479e-801b-2534bffc47ed",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -400,
        -300
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 4
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "73bccaca-2c54-4c40-9181-831c3a713f8a",
      "name": "Get first workspace ID",
      "type": "n8n-nodes-base.clockify",
      "position": [
        -180,
        -200
      ],
      "parameters": {
        "limit": 1,
        "resource": "workspace"
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d6e6fa71-fd9a-40ed-a915-02fae1fa3d78",
      "name": "Compare Datasets",
      "type": "n8n-nodes-base.compareDatasets",
      "position": [
        920,
        -220
      ],
      "parameters": {
        "options": {},
        "resolve": "mix",
        "mergeByFields": {
          "values": [
            {
              "field1": "clockify_client_id",
              "field2": "clockify_client_id"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "00a30e3d-e966-4512-829f-5c7729027c04",
      "name": "Stop and Error",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        2020,
        -460
      ],
      "parameters": {
        "errorMessage": "Could not update client in Notion (deleted in Clockify again)"
      },
      "typeVersion": 1
    },
    {
      "id": "4dfe33a9-670c-400e-8ef9-090ca74b21f7",
      "name": "Structure output",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1140,
        -280
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "029e1297-3133-433f-a779-c3c1a6b5762c",
      "name": "Map values",
      "type": "n8n-nodes-base.set",
      "position": [
        700,
        -300
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8e12edff-162e-49eb-84de-2b060c1050f3",
              "name": "name",
              "type": "string",
              "value": "={{ $json.name }}"
            },
            {
              "id": "df7765a2-9452-4e67-a261-23ef5d2ad1f8",
              "name": "archived",
              "type": "boolean",
              "value": "={{ $json.property_archive }}"
            },
            {
              "id": "eb2692cb-e40f-45c8-a3e3-ca676a3b6df3",
              "name": "clockify_client_id",
              "type": "string",
              "value": "={{ $json.property_clockify_client_id }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "4c7d62d1-9987-4f47-983a-e5d7c11d9f8f",
      "name": "Map values1",
      "type": "n8n-nodes-base.set",
      "position": [
        700,
        -100
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "043540c8-8784-4445-93c5-b945de834696",
              "name": "name",
              "type": "string",
              "value": "={{ $json.name }}"
            },
            {
              "id": "1cb47384-f444-484d-a1a1-41b4d7fe1d9a",
              "name": "archived",
              "type": "boolean",
              "value": "={{ $json.archived }}"
            },
            {
              "id": "04b62bab-0db7-4f03-8c2e-2c45b6d5d3b8",
              "name": "clockify_client_id",
              "type": "string",
              "value": "={{ $json.id }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "c608bfe4-07f4-45d8-a37b-3153a2e659a5",
      "name": "No Operation",
      "type": "n8n-nodes-base.noOp",
      "position": [
        260,
        -200
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "92b717ba-9620-4fdf-abbc-1b2c5f9c3bf9",
      "name": "Get active Clients from Notion",
      "type": "n8n-nodes-base.notion",
      "position": [
        480,
        -300
      ],
      "parameters": {
        "filters": {
          "conditions": [
            {
              "key": "Archive|checkbox",
              "condition": "equals"
            }
          ]
        },
        "options": {},
        "resource": "databasePage",
        "matchType": "allFilters",
        "operation": "getAll",
        "returnAll": true,
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "1a878e40-f803-80e4-bc79-e24747562817",
          "cachedResultUrl": "https://www.notion.so/1a878e40f80380e4bc79e24747562817",
          "cachedResultName": "Clients"
        },
        "filterType": "manual"
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "af035e80-835d-4099-85dd-f7a24d6b9e47",
      "name": "Get active Clients from Clockify",
      "type": "n8n-nodes-base.clockify",
      "position": [
        480,
        -100
      ],
      "parameters": {
        "resource": "client",
        "operation": "getAll",
        "returnAll": true,
        "workspaceId": "={{ $('Globals').item.json.workspace_id }}",
        "additionalFields": {
          "archived": false
        }
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "872e869a-0e44-409d-8c3f-e3b24f28fbd2",
      "name": "If unmapped in Notion",
      "type": "n8n-nodes-base.if",
      "position": [
        1140,
        -480
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "26af0d64-ef8d-492e-87ca-6a893e8f85a1",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.clockify_client_id }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "ca45be8c-7dc7-4c2e-a7a0-8f8f0621e488",
      "name": "Set new values",
      "type": "n8n-nodes-base.set",
      "position": [
        1360,
        -20
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "bfc2ff08-56a1-49c1-b1db-475063f88032",
              "name": "archived",
              "type": "boolean",
              "value": true
            },
            {
              "id": "2e8b2166-149b-4eed-8bf2-dd08e9b98210",
              "name": "name",
              "type": "string",
              "value": "={{ $json.name }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "b44b7ccd-316a-487c-841e-7a27a117285e",
      "name": "Update Client in Clockify",
      "type": "n8n-nodes-base.clockify",
      "position": [
        1580,
        -180
      ],
      "parameters": {
        "name": "={{ $json.name }}",
        "clientId": "={{ $('Compare Datasets').item.json.clockify_client_id }}",
        "resource": "client",
        "operation": "update",
        "workspaceId": "={{ $('Globals').item.json.workspace_id }}",
        "updateFields": {
          "archived": "={{ $json.archived }}"
        }
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "6efa63a5-b242-4e25-87a9-9a6f90a923a7",
      "name": "Get archived Client from Notion",
      "type": "n8n-nodes-base.notion",
      "position": [
        1140,
        -20
      ],
      "parameters": {
        "limit": 1,
        "filters": {
          "conditions": [
            {
              "key": "Clockify Client ID|rich_text",
              "condition": "equals",
              "richTextValue": "={{ $json.clockify_client_id }}"
            }
          ]
        },
        "options": {},
        "resource": "databasePage",
        "operation": "getAll",
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "1a878e40-f803-80e4-bc79-e24747562817",
          "cachedResultUrl": "https://www.notion.so/1a878e40f80380e4bc79e24747562817",
          "cachedResultName": "Clients"
        },
        "filterType": "manual"
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2.2,
      "alwaysOutputData": false,
      "waitBetweenTries": 5000
    },
    {
      "id": "93fd7fa7-07fd-4ba4-a9c4-8043897e654e",
      "name": "Create Client in Clockify",
      "type": "n8n-nodes-base.clockify",
      "position": [
        1360,
        -580
      ],
      "parameters": {
        "name": "={{ $json.name }}",
        "resource": "client",
        "workspaceId": "={{ $('Globals').item.json.workspace_id }}"
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "ef51cbbf-2ea6-429b-a654-1510d28c4df3",
      "name": "Store Clockify ID in Notion",
      "type": "n8n-nodes-base.notion",
      "onError": "continueErrorOutput",
      "position": [
        1580,
        -580
      ],
      "parameters": {
        "pageId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Get active Clients from Notion').item.json.id }}"
        },
        "options": {},
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Clockify Client ID|rich_text",
              "textContent": "={{ $json.id}}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "aff72e76-e59d-4402-a6e9-b21c07f1d3fc",
      "name": "Remove Client from Clockify",
      "type": "n8n-nodes-base.clockify",
      "position": [
        1800,
        -460
      ],
      "parameters": {
        "clientId": "={{ $('Create Client in Clockify').item.json.id }}",
        "resource": "client",
        "operation": "delete",
        "workspaceId": "={{ $('Globals').item.json.workspace_id }}"
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "6d43bed2-af7c-450d-b4fd-42f84a9081a2",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        2240,
        -280
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3
    },
    {
      "id": "a1046097-90ff-4447-a0d0-adb16ccc3c31",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2020,
        -680
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "3b9e2bb5-cc78-4495-880f-3702b9edfead",
      "name": "Get active Projects from Notion",
      "type": "n8n-nodes-base.notion",
      "position": [
        480,
        620
      ],
      "parameters": {
        "filters": {
          "conditions": [
            {
              "key": "Status|status",
              "condition": "does_not_equal",
              "statusValue": "Done"
            },
            {
              "key": "Status|status",
              "condition": "does_not_equal",
              "statusValue": "Obsolete"
            },
            {
              "key": "Clients|relation",
              "condition": "is_not_empty"
            }
          ]
        },
        "options": {},
        "resource": "databasePage",
        "matchType": "allFilters",
        "operation": "getAll",
        "returnAll": true,
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "1a878e40-f803-80bf-a72a-d7373be374b2",
          "cachedResultUrl": "https://www.notion.so/1a878e40f80380bfa72ad7373be374b2",
          "cachedResultName": "Buckets"
        },
        "filterType": "manual"
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "17cdb708-b5cf-44d3-872e-fb3d2528dc85",
      "name": "Get active Projects from Clockify",
      "type": "n8n-nodes-base.clockify",
      "position": [
        480,
        820
      ],
      "parameters": {
        "operation": "getAll",
        "returnAll": true,
        "workspaceId": "={{ $('Globals').item.json.workspace_id }}",
        "additionalFields": {
          "archived": false
        }
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "0624cebc-7310-4559-ac35-4447212fb4b0",
      "name": "Update Project in Clockify",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1580,
        740
      ],
      "parameters": {
        "url": "=https://api.clockify.me/api/v1/workspaces/{{ $('Globals').item.json.workspace_id }}/projects/{{ $('Compare Datasets1').item.json.clockify_project_id }}",
        "method": "PUT",
        "options": {},
        "jsonBody": "={\n  \"archived\": {{ $json.archived }},\n  \"clientId\": \"{{ $('Compare Datasets1').item.json.clockify_client_id }}\",\n  \"name\": \"{{ $json.name }}\"\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "clockifyApi"
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "5edb9a80-5d3a-4c2d-80a7-6d545f02b053",
      "name": "Get completed Project from Notion",
      "type": "n8n-nodes-base.notion",
      "position": [
        1140,
        900
      ],
      "parameters": {
        "filters": {
          "conditions": [
            {
              "key": "Clockify Project ID|rich_text",
              "condition": "equals",
              "richTextValue": "={{ $json.clockify_project_id }}"
            }
          ]
        },
        "options": {},
        "resource": "databasePage",
        "matchType": "allFilters",
        "operation": "getAll",
        "returnAll": true,
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "1a878e40-f803-80bf-a72a-d7373be374b2",
          "cachedResultUrl": "https://www.notion.so/1a878e40f80380bfa72ad7373be374b2",
          "cachedResultName": "Buckets"
        },
        "filterType": "manual"
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "079795a3-51bc-4077-8fe1-84ed16e88125",
      "name": "Create Project in Clockify",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1360,
        340
      ],
      "parameters": {
        "url": "=https://api.clockify.me/api/v1/workspaces/{{ $('Globals').item.json.workspace_id }}/projects",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"archived\": {{ $json.archived }},\n  \"clientId\": \"{{ $json.clockify_client_id }}\",\n  \"name\": \"{{ $('Get active Projects from Notion').item.json.name }}\"\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "clockifyApi"
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "53ad9719-ba0b-4858-846e-a338eae1d48e",
      "name": "Remove Project from Clockify",
      "type": "n8n-nodes-base.clockify",
      "position": [
        1800,
        440
      ],
      "parameters": {
        "clientId": "={{ $('Compare Datasets1').item.json.clockify_project_id }}",
        "resource": "client",
        "operation": "delete",
        "workspaceId": "={{ $('Globals').item.json.workspace_id }}"
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "b6224074-8712-4134-bc94-7b5f127f0971",
      "name": "Structure output1",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1140,
        640
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "247b31ae-7bdf-4813-aa60-08ddade1dd70",
      "name": "No Operation1",
      "type": "n8n-nodes-base.noOp",
      "position": [
        260,
        720
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d92f6ced-133c-4881-98f1-f2dfd9b2c5d4",
      "name": "Map values2",
      "type": "n8n-nodes-base.set",
      "position": [
        700,
        620
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "63fe0f05-c1b4-41b8-99e9-74f5ef2d51b6",
              "name": "name",
              "type": "string",
              "value": "={{ $json.name }}"
            },
            {
              "id": "44339109-9634-451b-965c-b2767aa3c628",
              "name": "archived",
              "type": "boolean",
              "value": "={{ ['Done', 'Obsolete'].includes($json.property_status) }}"
            },
            {
              "id": "12f7a5b6-e98f-4fa7-ad67-208c54ab2924",
              "name": "clockify_project_id",
              "type": "string",
              "value": "={{ $json.property_clockify_project_id }}"
            },
            {
              "id": "bddd1a9b-df7c-4d2f-891e-501639c786cc",
              "name": "clockify_client_id",
              "type": "string",
              "value": "={{ $json.property_clockify_client_id[0] || \"\" }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "7644f331-e5ae-47d1-ac6c-bf026fde2e9c",
      "name": "Map values3",
      "type": "n8n-nodes-base.set",
      "position": [
        700,
        820
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b2bea7bb-8b70-4268-84dd-a0463f8a30c1",
              "name": "name",
              "type": "string",
              "value": "={{ $json.name }}"
            },
            {
              "id": "bbe039ac-a0ac-4570-b4f6-e6728b1d68ff",
              "name": "archived",
              "type": "boolean",
              "value": "={{ $json.archived }}"
            },
            {
              "id": "2547d142-507f-4f8b-bc65-1556e217c801",
              "name": "clockify_project_id",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "7342b5ea-7da7-4158-bdca-ca40d1cdb042",
              "name": "clockify_client_id",
              "type": "string",
              "value": "={{ $json.clientId }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "9e7d0b28-dc9c-476b-9da7-36ec2354c45d",
      "name": "Compare Datasets1",
      "type": "n8n-nodes-base.compareDatasets",
      "position": [
        920,
        700
      ],
      "parameters": {
        "options": {},
        "resolve": "mix",
        "mergeByFields": {
          "values": [
            {
              "field1": "clockify_project_id",
              "field2": "clockify_project_id"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "2b7ae0ca-0bac-4875-b5e4-e809938004fa",
      "name": "If unmapped in Notion1",
      "type": "n8n-nodes-base.if",
      "position": [
        1140,
        440
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "26af0d64-ef8d-492e-87ca-6a893e8f85a1",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.clockify_project_id }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "b118db13-1ee1-41ce-9232-dfd8eec40104",
      "name": "Set new values1",
      "type": "n8n-nodes-base.set",
      "position": [
        1360,
        900
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "bfc2ff08-56a1-49c1-b1db-475063f88032",
              "name": "archived",
              "type": "boolean",
              "value": true
            },
            {
              "id": "2e8b2166-149b-4eed-8bf2-dd08e9b98210",
              "name": "name",
              "type": "string",
              "value": "={{ $json.name }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "49a65fbe-ba66-4127-a5af-f5fdf2cf8b37",
      "name": "Store Clockify ID in Notion1",
      "type": "n8n-nodes-base.notion",
      "onError": "continueErrorOutput",
      "position": [
        1580,
        340
      ],
      "parameters": {
        "pageId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Get active Projects from Notion').item.json.id }}"
        },
        "options": {},
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Clockify Project ID|rich_text",
              "textContent": "={{ $json.id }}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "d995e6e4-588e-4e26-9531-d40b5ba3ab86",
      "name": "Stop and Error1",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        2020,
        440
      ],
      "parameters": {
        "errorMessage": "Could not update bucket in Notion (deleted in Clockify again)"
      },
      "typeVersion": 1
    },
    {
      "id": "434a1c89-a388-4069-adf4-0f2da4e8ca3e",
      "name": "Merge1",
      "type": "n8n-nodes-base.merge",
      "position": [
        2240,
        640
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3
    },
    {
      "id": "19ecbb3b-8007-4a78-bba2-f31e3afca794",
      "name": "No Operation, do nothing2",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2020,
        240
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "30719262-f037-4d00-a7a4-2a85180c2a8c",
      "name": "Get active Tasks from Notion",
      "type": "n8n-nodes-base.notion",
      "position": [
        700,
        1440
      ],
      "parameters": {
        "options": {},
        "resource": "databasePage",
        "operation": "getAll",
        "returnAll": true,
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "1a878e40-f803-80e6-8df1-cf50776752da",
          "cachedResultUrl": "https://www.notion.so/1a878e40f80380e68df1cf50776752da",
          "cachedResultName": "Tasks"
        },
        "filterJson": "={\n  \"and\": [\n    {\n      \"property\": \"Status\",\n      \"status\": {\n        \"does_not_equal\": \"Done\"\n      }\n    },\n    {\n      \"property\": \"Status\",\n      \"status\": {\n        \"does_not_equal\": \"Obsolete\"\n      }\n    },\n    {\n      \"property\": \"Clients\",\n      \"rollup\": {\n        \"any\": {\n          \"select\": {\n            \"is_not_empty\": true\n          }\n        }\n      }\n    }\n  ]\n}",
        "filterType": "json"
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "2cfb387a-f6fa-4ace-afdf-687680b1659d",
      "name": "Get active Tasks from Clockify",
      "type": "n8n-nodes-base.clockify",
      "position": [
        700,
        1640
      ],
      "parameters": {
        "filters": {
          "is-active": true
        },
        "resource": "task",
        "operation": "getAll",
        "projectId": "={{ $json.id }}",
        "returnAll": true,
        "workspaceId": "={{ $('Globals').item.json.workspace_id }}"
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "alwaysOutputData": false,
      "waitBetweenTries": 5000
    },
    {
      "id": "938801f2-d5c6-4e95-970d-29fa3ba6ba4b",
      "name": "Update Task in Clockify",
      "type": "n8n-nodes-base.clockify",
      "position": [
        1800,
        1560
      ],
      "parameters": {
        "taskId": "={{ $('Compare Datasets2').item.json.clockify_task_id }}",
        "resource": "task",
        "operation": "update",
        "projectId": "={{ $('Compare Datasets2').item.json.clockify_project_id }}",
        "workspaceId": "={{ $('Globals').item.json.workspace_id }}",
        "updateFields": {
          "name": "={{ $json.name }}",
          "status": "={{ $json.archived ? 'DONE' : 'ACTIVE' }}"
        }
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "f77a17b6-da10-4fb9-9e7f-83866132ec0e",
      "name": "Get completed Task from Notion",
      "type": "n8n-nodes-base.notion",
      "position": [
        1360,
        1720
      ],
      "parameters": {
        "filters": {
          "conditions": [
            {
              "key": "Clockify Task ID|rich_text",
              "condition": "equals",
              "richTextValue": "={{ $json.clockify_task_id }}"
            }
          ]
        },
        "options": {},
        "resource": "databasePage",
        "matchType": "allFilters",
        "operation": "getAll",
        "returnAll": true,
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "1a878e40-f803-80e6-8df1-cf50776752da",
          "cachedResultUrl": "https://www.notion.so/1a878e40f80380e68df1cf50776752da",
          "cachedResultName": "Tasks"
        },
        "filterType": "manual"
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "da34def3-17ac-461e-bec3-5bcdbfdd3609",
      "name": "Create Task in Clockify",
      "type": "n8n-nodes-base.clockify",
      "position": [
        1580,
        1160
      ],
      "parameters": {
        "name": "={{ $json.name }}",
        "resource": "task",
        "projectId": "={{ $json.clockify_project_id }}",
        "workspaceId": "={{ $('Globals').item.json.workspace_id }}",
        "additionalFields": {}
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "c8adb686-8667-466e-a7f9-32e8dd7c1721",
      "name": "Remove Task from Clockify",
      "type": "n8n-nodes-base.clockify",
      "position": [
        2020,
        1260
      ],
      "parameters": {
        "taskId": "={{ $('Compare Datasets2').item.json.clockify_task_id }}",
        "resource": "task",
        "operation": "delete",
        "projectId": "={{ $('Compare Datasets2').item.json.clockify_project_id }}",
        "workspaceId": "={{ $('Globals').item.json.workspace_id }}"
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "399e5ebc-65d6-4af2-94ba-b4016602df4f",
      "name": "Structure output2",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1360,
        1460
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "63f911a9-f75e-46ae-91b1-ebbab6548471",
      "name": "No Operation2",
      "type": "n8n-nodes-base.noOp",
      "position": [
        260,
        1540
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7ca89d07-1e82-4bbf-8fa6-5becd996b0b9",
      "name": "Map values4",
      "type": "n8n-nodes-base.set",
      "position": [
        920,
        1440
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "63fe0f05-c1b4-41b8-99e9-74f5ef2d51b6",
              "name": "name",
              "type": "string",
              "value": "={{ $json.name }}"
            },
            {
              "id": "44339109-9634-451b-965c-b2767aa3c628",
              "name": "archived",
              "type": "boolean",
              "value": "={{ ['Done', 'Obsolete'].includes($json.property_status) }}"
            },
            {
              "id": "bddd1a9b-df7c-4d2f-891e-501639c786cc",
              "name": "clockify_task_id",
              "type": "string",
              "value": "={{ $json.property_clockify_task_id }}"
            },
            {
              "id": "12f7a5b6-e98f-4fa7-ad67-208c54ab2924",
              "name": "clockify_project_id",
              "type": "string",
              "value": "={{ $json.property_clockify_project_id[0] || \"\" }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "a9dcf9f2-8cb1-4dc4-9136-25d25ec5033e",
      "name": "Map values5",
      "type": "n8n-nodes-base.set",
      "position": [
        920,
        1640
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b2bea7bb-8b70-4268-84dd-a0463f8a30c1",
              "name": "name",
              "type": "string",
              "value": "={{ $json.name }}"
            },
            {
              "id": "bbe039ac-a0ac-4570-b4f6-e6728b1d68ff",
              "name": "archived",
              "type": "boolean",
              "value": "={{ $json.status !== 'ACTIVE' }}"
            },
            {
              "id": "7342b5ea-7da7-4158-bdca-ca40d1cdb042",
              "name": "clockify_task_id",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "2547d142-507f-4f8b-bc65-1556e217c801",
              "name": "clockify_project_id",
              "type": "string",
              "value": "={{ $json.projectId }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "20b17136-fd8c-4e79-9d39-b31a149e9867",
      "name": "Get active Projects from Clockify1",
      "type": "n8n-nodes-base.clockify",
      "position": [
        480,
        1640
      ],
      "parameters": {
        "operation": "getAll",
        "returnAll": true,
        "workspaceId": "={{ $('Globals').first().json.workspace_id }}",
        "additionalFields": {
          "archived": false
        }
      },
      "credentials": {
        "clockifyApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 1,
      "waitBetweenTries": 5000
    },
    {
      "id": "ec63d256-5abb-49c6-b6c8-67daf653f67e",
      "name": "Compare Datasets2",
      "type": "n8n-nodes-base.compareDatasets",
      "position": [
        1140,
        1520
      ],
      "parameters": {
        "options": {},
        "resolve": "mix",
        "mergeByFields": {
          "values": [
            {
              "field1": "clockify_task_id",
              "field2": "clockify_task_id"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "c759e651-5c28-4b72-8f5f-628396e054a7",
      "name": "If unmapped in Notion2",
      "type": "n8n-nodes-base.if",
      "position": [
        1360,
        1260
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "26af0d64-ef8d-492e-87ca-6a893e8f85a1",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.clockify_task_id }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "91d86b0f-8823-4eb6-9d62-c423134645ad",
      "name": "Set new values2",
      "type": "n8n-nodes-base.set",
      "position": [
        1580,
        1720
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "bfc2ff08-56a1-49c1-b1db-475063f88032",
              "name": "archived",
              "type": "boolean",
              "value": true
            },
            {
              "id": "2e8b2166-149b-4eed-8bf2-dd08e9b98210",
              "name": "name",
              "type": "string",
              "value": "={{ $json.name }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "ec95b97a-4bea-4726-8114-8cc352f11162",
      "name": "Store Clockify ID in Notion2",
      "type": "n8n-nodes-base.notion",
      "onError": "continueErrorOutput",
      "position": [
        1800,
        1160
      ],
      "parameters": {
        "pageId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Get active Tasks from Notion').item.json.id }}"
        },
        "options": {},
        "resource": "databasePage",
        "operation": "update",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Clockify Task ID|rich_text",
              "textContent": "={{ $json.id }}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 2.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "0baa8a13-7190-42c2-bfa6-e53771e48e65",
      "name": "Stop and Error2",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        2240,
        1260
      ],
      "parameters": {
        "errorMessage": "Could not update task in Notion (deleted in Clockify again)"
      },
      "typeVersion": 1
    },
    {
      "id": "ecebad5d-0462-4501-915c-9e15792a3e99",
      "name": "Limit",
      "type": "n8n-nodes-base.limit",
      "position": [
        2460,
        20
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ff50b701-9bc3-4336-961c-fb2513cc401c",
      "name": "Limit1",
      "type": "n8n-nodes-base.limit",
      "position": [
        2460,
        940
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4189d36a-72d2-47e2-b800-e9355f411717",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        220,
        -700
      ],
      "parameters": {
        "color": 5,
        "width": 2420,
        "height": 880,
        "content": "# Sync Clients"
      },
      "typeVersion": 1
    },
    {
      "id": "c9bafea6-74c6-4978-bd78-58312ab5e812",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        220,
        220
      ],
      "parameters": {
        "color": 5,
        "width": 2420,
        "height": 880,
        "content": "# Sync Projects"
      },
      "typeVersion": 1
    },
    {
      "id": "9537b98c-a70d-4d5a-902a-9809965e5ee2",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        220,
        1140
      ],
      "parameters": {
        "color": 5,
        "width": 2420,
        "height": 780,
        "content": "# Sync Tasks"
      },
      "typeVersion": 1
    },
    {
      "id": "a38ec76e-c8e8-46fe-95af-a04dda8d8c08",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -20,
        -360
      ],
      "parameters": {
        "width": 220,
        "height": 320,
        "content": "## Set Globals (optional)\nBy default the fist available workspace ID is set. This can be overridden here."
      },
      "typeVersion": 1
    },
    {
      "id": "a366f477-87b5-4fe8-aed8-761f2941f2d1",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -460,
        -460
      ],
      "parameters": {
        "width": 220,
        "height": 520,
        "content": "## Set triggers\nBy default this workflow runs once a day. Additionally a webhook allows for manual calls using a Notion button."
      },
      "typeVersion": 1
    },
    {
      "id": "2566cdd1-4fe2-4d61-b2a0-47ebdaf8c9a1",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1300,
        1620
      ],
      "parameters": {
        "width": 220,
        "height": 280,
        "content": "## Select database\nChoose the tasks database."
      },
      "typeVersion": 1
    },
    {
      "id": "029ec90b-dacd-4d80-b78e-4983a646b3db",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        -400
      ],
      "parameters": {
        "width": 220,
        "height": 280,
        "content": "## Select database\nChoose the clients database."
      },
      "typeVersion": 1
    },
    {
      "id": "1851f5ed-5c51-4545-a4f4-ef3fa268998c",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1080,
        -120
      ],
      "parameters": {
        "width": 220,
        "height": 280,
        "content": "## Select database\nChoose the clients database."
      },
      "typeVersion": 1
    },
    {
      "id": "a1562c09-033c-43df-9456-a9fe4775133f",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1080,
        800
      ],
      "parameters": {
        "width": 220,
        "height": 280,
        "content": "## Select database\nChoose the projects database."
      },
      "typeVersion": 1
    },
    {
      "id": "20a722ec-e89d-4801-903d-ab84635772e7",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        520
      ],
      "parameters": {
        "width": 220,
        "height": 280,
        "content": "## Select database\nChoose the projects database."
      },
      "typeVersion": 1
    },
    {
      "id": "67d3f286-9025-43a0-978c-74b9e1aee176",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        1340
      ],
      "parameters": {
        "width": 220,
        "height": 280,
        "content": "## Select database\nChoose the tasks database."
      },
      "typeVersion": 1
    },
    {
      "id": "f90dc5a3-e824-4331-b68f-848dd3c11813",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -460,
        160
      ],
      "parameters": {
        "width": 660,
        "height": 1160,
        "content": "# Setup\n## Prerequisites\nThis workflow expects a database structure with at least having the structure mentioned below. Alternatively start with [this Notion Template](https://steadfast-banjo-d1f.notion.site/1ae82b476c84808e9409c08baf382c45)\n### Clients\n- Name (Text)\n- Archive (Checkbox)\n- Clockify Client ID (Text)\n### Projects\n- Name (Text)\n- Status (Status)\n  - required options: \"Done\", \"Obsolete\" and at least one more\n  - recommended options: \"Backlog\", \"In progress\", \"On hold\"\n- Clockify Client ID (Rollup: Clients -> Clockify Client ID)\n- Clockify Project ID (Text)\n### Tasks\n- Name (Text)\n- Status (Status)\n  - required options: \"Done\", \"Obsolete\" and at least one more\n  - recommended options: \"Backlog\", \"In progress\", \"On hold\"\n- Clockify Project ID (Rollup: Projects -> Clockify Project ID)\n- Clockify Task ID (Text)\n- Clients (Rollup: Projects -> Clients)\n## Update this workflow\n- Set the credentials accordingly\n- Check for all other yellow sticky notes\n\n## Add report button in Notion (optional)\nAdd a Formula field named \"Clockify Report\" or similar to the projects database and insert the following value:\n```if(prop(\"Clockify Project ID\").length() > 0, link(style(\"\u23f1\ufe0f 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\"), \"\")```\n\n## Add sync button to Notion (optional)\n_This requires a paid Notion plan_\n- Grab the production URL of the Webhook Node\n- Create a button in Notion next to a view of the Clients Database\n- Add a webhook call action and paste copied URL\n- Name the button \"Sync to Clockify\" or similar"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c3e4f66b-5501-434d-a9aa-bc6c68780891",
  "connections": {
    "Limit": {
      "main": [
        [
          {
            "node": "No Operation1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Limit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit1": {
      "main": [
        [
          {
            "node": "No Operation2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge1": {
      "main": [
        [
          {
            "node": "Limit1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Globals": {
      "main": [
        [
          {
            "node": "No Operation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Get first workspace ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Map values": {
      "main": [
        [
          {
            "node": "Compare Datasets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Map values1": {
      "main": [
        [
          {
            "node": "Compare Datasets",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Map values2": {
      "main": [
        [
          {
            "node": "Compare Datasets1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Map values3": {
      "main": [
        [
          {
            "node": "Compare Datasets1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Map values4": {
      "main": [
        [
          {
            "node": "Compare Datasets2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Map values5": {
      "main": [
        [
          {
            "node": "Compare Datasets2",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "No Operation": {
      "main": [
        [
          {
            "node": "Get active Clients from Notion",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get active Clients from Clockify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "No Operation1": {
      "main": [
        [
          {
            "node": "Get active Projects from Notion",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get active Projects from Clockify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "No Operation2": {
      "main": [
        [
          {
            "node": "Get active Projects from Clockify1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get active Tasks from Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set new values": {
      "main": [
        [
          {
            "node": "Update Client in Clockify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set new values1": {
      "main": [
        [
          {
            "node": "Update Project in Clockify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set new values2": {
      "main": [
        [
          {
            "node": "Update Task in Clockify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compare Datasets": {
      "main": [
        [
          {
            "node": "If unmapped in Notion",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Structure output",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update Client in Clockify",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get archived Client from Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get first workspace ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structure output": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Compare Datasets1": {
      "main": [
        [
          {
            "node": "If unmapped in Notion1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Structure output1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update Project in Clockify",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get completed Project from Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compare Datasets2": {
      "main": [
        [
          {
            "node": "If unmapped in Notion2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Structure output2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update Task in Clockify",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get completed Task from Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structure output1": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "If unmapped in Notion": {
      "main": [
        [
          {
            "node": "Create Client in Clockify",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update Client in Clockify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get first workspace ID": {
      "main": [
        [
          {
            "node": "Globals",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If unmapped in Notion1": {
      "main": [
        [
          {
            "node": "Create Project in Clockify",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update Project in Clockify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If unmapped in Notion2": {
      "main": [
        [
          {
            "node": "Create Task in Clockify",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update Task in Clockify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Task in Clockify": {
      "main": [
        [
          {
            "node": "Store Clockify ID in Notion2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "No Operation, do nothing": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Client in Clockify": {
      "main": [
        [
          {
            "node": "Store Clockify ID in Notion",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "No Operation, do nothing2": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Task from Clockify": {
      "main": [
        [
          {
            "node": "Stop and Error2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Client in Clockify": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Create Project in Clockify": {
      "main": [
        [
          {
            "node": "Store Clockify ID in Notion1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Project in Clockify": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Remove Client from Clockify": {
      "main": [
        [
          {
            "node": "Stop and Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store Clockify ID in Notion": {
      "main": [
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Remove Client from Clockify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get active Tasks from Notion": {
      "main": [
        [
          {
            "node": "Map values4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Project from Clockify": {
      "main": [
        [
          {
            "node": "Stop and Error1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store Clockify ID in Notion1": {
      "main": [
        [
          {
            "node": "No Operation, do nothing2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Remove Project from Clockify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Store Clockify ID in Notion2": {
      "main": [
        [],
        [
          {
            "node": "Remove Task from Clockify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get active Clients from Notion": {
      "main": [
        [
          {
            "node": "Map values",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get active Tasks from Clockify": {
      "main": [
        [
          {
            "node": "Map values5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get completed Task from Notion": {
      "main": [
        [
          {
            "node": "Set new values2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get active Projects from Notion": {
      "main": [
        [
          {
            "node": "Map values2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get archived Client from Notion": {
      "main": [
        [
          {
            "node": "Set new values",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get active Clients from Clockify": {
      "main": [
        [
          {
            "node": "Map values1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get active Projects from Clockify": {
      "main": [
        [
          {
            "node": "Map values3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get completed Project from Notion": {
      "main": [
        [
          {
            "node": "Set new values1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get active Projects from Clockify1": {
      "main": [
        [
          {
            "node": "Get active Tasks from Clockify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow synchronizes three entities from Notion to Clockify, allowing tracked time to be linked to client-related projects or tasks.

Source: https://n8n.io/workflows/3177/ — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

Notion to Clockify Sync Template. Uses scheduleTrigger, clockify, compareDatasets, stopAndError. Webhook trigger; 68 nodes.

Clockify, Stop And Error, Notion +1
Data & Sheets

This solution enables you to manage all your Notion and Todoist tasks from different workspaces as well as your calendar events in a single place. This is 2 way sync with partial support for recurring

Redis, Notion, Todoist +6
Data & Sheets

2. Refresh Pipedrive tokens. Uses stopAndError, stickyNote, supabase, httpRequest. Webhook trigger; 29 nodes.

Stop And Error, Supabase, HTTP Request
Data & Sheets

This workflow provides an OAuth 2.0 auth token refresh process for better control. Developers can utilize it as an alternative to n8n's built-in OAuth flow to achieve improved control and visibility.

Stop And Error, Supabase, HTTP Request
Data & Sheets

BP_check. Uses googleSheets, @n-octo-n/n8n-nodes-json-database, httpRequest, itemLists. Webhook trigger; 99 nodes.

Google Sheets, @N Octo N/N8N Nodes Json Database, HTTP Request +2