Reference · Tools
Clockify Trigger
Starts workflow when new time entries are added in Clockify
The Clockify Trigger node polls your Clockify workspace at a set interval and fires a workflow execution each time a completed time entry is detected. It runs as the authenticated user, so you can build things like automatic invoice generation, Slack notifications when a project timer is stopped, or a running log of billable hours pushed to a spreadsheet.
- Node type
- Polling trigger
- Parameters
- 4
- Outputs
- Output
- Credentials
- Clockify API
Clockify Trigger
Trigger workflows on new Clockify time entries
Overview
The Clockify Trigger node polls the Clockify time tracking API at a configurable interval to detect new completed time entries. On the first poll it authenticates with the Clockify API using the provided API key, caches the authenticated user ID, records the current timestamp as a baseline, and returns no items. On subsequent polls it queries the Clockify time entries endpoint for the authenticated user within the configured workspace, filtering by a time window between the last poll timestamp and the current time. Only completed (non-in-progress) time entries are returned, with full hydrated data including project, task, and tag details. Each new time entry triggers a workflow execution.
Category: Productivity
Tool Name: clockify_trigger
Version: 1
Appearance: Icon: si-clockify | Color: #03a9f4
Node Type
Trigger — polling (checks for new data on a schedule)
Input / Output
| Direction | Port(s) |
|---|---|
| Input | None (trigger node) |
| Output | Output |
Credentials
This tool requires Clockify API credentials. See the Credentials Guide for setup instructions.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Workspace ID | string | Yes | — | The ID of the Clockify workspace to monitor. You can find this in Clockify under Workspace Settings or by calling GET /api/v1/workspaces. |
| Trigger | options | Yes | 0 | Which event to watch for. Currently supports new time entry detection. |
Options: 0 (New Time Entry) | ||||
| Poll Interval | number | No | 1 | How often to check for new time entries. |
| Poll Interval Unit | options | No | minutes | Unit for the poll interval. |
Options: seconds, minutes, hours |
Output Data
Each new completed time entry becomes one output item. Entries that are still running are excluded, and the response is hydrated so that project, task, tag, and user objects are included rather than IDs alone:
{
"id": "5f2a1b3c4d5e6f7a8b9c0d1e",
"description": "Design review",
"userId": "5e1a2b3c4d5e6f7a8b9c0d1e",
"billable": true,
"projectId": "5d0a1b2c3d4e5f6a7b8c9d0e",
"taskId": "",
"tagIds": [],
"timeInterval": {
"start": "2026-08-15T08:00:00Z",
"end": "2026-08-15T09:00:00Z",
"duration": "PT1H"
},
"workspaceId": "5c0a1b2c3d4e5f6a7b8c9d0e",
"isLocked": false,
"customFieldValues": [],
"type": "REGULAR",
"kioskId": null,
"project": null,
"task": null,
"tags": [],
"user": null,
"_trigger": "clockify_polling",
"_timestamp": "2026-08-15T09:01:00.000Z"
}
timeInterval— the entry’sstart,end, and ISO-8601duration.project,task,tags,user— the hydrated objects when Clockify returns them, otherwisenullor an empty array._trigger— alwaysclockify_polling._timestamp— when the poll that produced the item ran.
Reference values downstream by expression, e.g. {{ $json.timeInterval.duration }}.
Usage Examples
- Start a workflow when a new time entry is logged in Clockify
- Monitor a Clockify workspace for completed time entries
- Trigger invoice generation when a team member logs time
- Sync Clockify time entries to a spreadsheet automatically
Example Configuration
Check a workspace for new time entries every minute:
{
"type": "clockify_trigger",
"parameters": {
"workspaceId": "5c0a1b2c3d4e5f6a7b8c9d0e",
"watchField": 0,
"pollInterval": 1,
"pollIntervalUnit": "minutes"
}
}
Check less often to reduce API usage:
{
"type": "clockify_trigger",
"parameters": {
"workspaceId": "5c0a1b2c3d4e5f6a7b8c9d0e",
"watchField": 0,
"pollInterval": 1,
"pollIntervalUnit": "hours"
}
}
Trigger Behavior
- Activation: Polling starts when the workflow is activated. There is no poll at the moment of activation — the first check runs one full interval later.
- Schedule: The trigger polls for new data based on the configured polling interval.
- State: Maintains internal state (the last poll timestamp and the authenticated Clockify user ID) so each poll returns only entries logged since the last check.
- First Run: The first poll records the current position and returns no items, so activating the workflow never replays existing time entries.
- Testing: Running the node from the editor emits a single sample time entry so you can build the rest of the workflow; real entries arrive only while the workflow is activated.
Tips
Select the Clockify workspace to monitor. The trigger polls for new completed time entries logged by the authenticated user. On first activation it establishes a baseline and will only trigger on entries created afterward. Time entries that are still in progress are excluded.
Frequently asked questions
What credentials does this node require?
It uses the Clockify API credential type (clockifyApi), which requires a Clockify API key. On the first poll, the node authenticates with that key, caches your user ID, and uses it for all subsequent requests. You'll need to generate an API key from your Clockify profile settings and add it as a credential in BusyBot.
Will it pick up time entries that were created before I activated the trigger?
No. On its very first poll, the node records the current timestamp as a baseline and returns no items. It will only detect time entries created after that initial activation. If you need to process historical entries, this trigger is not the right tool — you'd need a regular Clockify API node instead.
Does it trigger on time entries that are still running?
No. Only completed (stopped) time entries are returned. If a user has started a timer but hasn't stopped it yet, that entry is excluded from the poll results. The workflow fires only once the entry is finalized.
What data does the node pass to the rest of the workflow?
Each detected time entry is output with full hydrated data, including project, task, and tag details associated with that entry. This means downstream nodes can act on structured context about the entry without needing a separate lookup step.
If I have multiple workspaces in Clockify, how does the node know which one to monitor?
The node has a workspace parameter you configure explicitly — it does not monitor all workspaces at once. You'll need to select the specific Clockify workspace you want to poll. If you need to monitor multiple workspaces, you'd set up a separate trigger node for each one.
Build with the Clockify Trigger node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Clockify API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.