Backup Clockify to Github based on monthly reports
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This workflow has 16 nodes and runs on a schedule (every day at 05:00). Along the way it connects Clockify and GitHub.
How it runs
Trigger: On a schedule (every day at 05:00).
- Get first workspace (Clockify): work with workspace
- Globals (Edit Fields (Set)): sets 3 fields: workspace_id, github_repo.owner, github_repo.name
- Set month indexes (Edit Fields (Set)): sets 1 field: monthIndex
- Split Out: splits a list into separate items
- Set intervals (Edit Fields (Set)): sets 3 fields: reportName, startDate, endDate
- Get detailed monthly report (HTTP Request): calls an HTTP API (POST)
- Check if file exists in GitHub (GitHub): get (file)
- Point to new data (Edit Fields (Set)): sets 1 field: data
- Extract from File: extracts data from a file (from json)
- Check for 404 error message (If): checks a condition and branches into true / false
…plus 5 more steps. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (11)
- Extract from File
n8n-nodes-base.extractFromFile - Compare Datasets
n8n-nodes-base.compareDatasets - Stop and Error
n8n-nodes-base.stopAndError - Edit Fields (Set)
n8n-nodes-base.set - Split Out
n8n-nodes-base.splitOut - Filter
n8n-nodes-base.filter - Clockify
n8n-nodes-base.clockify - HTTP Request
n8n-nodes-base.httpRequest - GitHub
n8n-nodes-base.github - If
n8n-nodes-base.if - Schedule Trigger
n8n-nodes-base.scheduleTrigger
From the author
Purpose This workflow creates a versioned backup of an entire Clockify workspace split up into monthly reports. How it works - This backup routine runs daily by default - The Clockify reports API endpoint is used to get all data from the workspace based on…