Reference · Tools

Clockify

Manage time tracking data in Clockify including workspaces, projects, clients, tags, tasks, time entries, and users

Action Productivity v1

The Clockify node lets you create, read, update, and delete time tracking data across all seven Clockify resource types — workspaces, projects, clients, tags, tasks, time entries, and users. Connect it to a trigger to automatically log billable hours when work is completed in another tool, or build reports by pulling time entries on a schedule.

Node type
Action
Parameters
54
Outputs
Output, Error
Credentials
Clockify API

Clockify

Manage time tracking data in Clockify

Overview

Clockify is a free time tracking tool. This tool provides CRUD operations for clients, projects, tags, tasks, time entries, users, and workspaces via the Clockify REST API v1. Supports 7 resources with operations including create, get, get many, update, and delete. Uses X-Api-Key header authentication.

Category: Productivity
Tool Name: clockify
Version: 1

Appearance: Icon: si-clockify | Color: #03A9F4

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Clockify API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Clientclient
Projectproject
Tagtag
Tasktask
Time EntrytimeEntry
Useruser
Workspaceworkspace

Operations

Each resource has its own operation list. Pick the resource first, then the operation.

ResourceOperationValueDescription
ClientCreatecreateCreate a client in the workspace
ClientDeletedeleteDelete a client by ID
ClientGetgetRetrieve a single client by ID
ClientGet ManygetAllList clients in the workspace
ClientUpdateupdateUpdate an existing client
ProjectCreatecreateCreate a project in the workspace
ProjectDeletedeleteDelete a project by ID
ProjectGetgetRetrieve a single project by ID
ProjectGet ManygetAllList projects in the workspace
ProjectUpdateupdateUpdate an existing project
TagCreatecreateCreate a tag in the workspace
TagDeletedeleteDelete a tag by ID
TagGet ManygetAllList tags in the workspace
TagUpdateupdateUpdate an existing tag
TaskCreatecreateCreate a task under a project
TaskDeletedeleteDelete a task by ID
TaskGetgetRetrieve a single task by ID
TaskGet ManygetAllList tasks under a project
TaskUpdateupdateUpdate an existing task
Time EntryCreatecreateCreate a time entry
Time EntryDeletedeleteDelete a time entry by ID
Time EntryGetgetRetrieve a single time entry by ID
Time EntryUpdateupdateUpdate an existing time entry
UserGet ManygetAllList the users in the workspace
WorkspaceGet ManygetAllList the workspaces you can access

Parameters

Every resource except workspace needs a Workspace ID, so it appears in each subsection below apart from Workspace: Get Many. The Task resource additionally needs a Project ID on every one of its operations.

Client: Create

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Client NamestringYesName of client being created.

Client: Delete

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Client IDstringNoThe ID of the client.

Client: Get

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Client IDstringNoThe ID of the client.

Client: Get Many

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
Additional FieldscollectionNo{}Optional filters applied to the listing.
— ArchivedbooleanNofalseReturn archived clients instead of active ones.
— NamestringNoIf provided, clients will be filtered by name.
— Sort OrderoptionsNoDirection to sort the results in.
Options: ASCENDING, DESCENDING

Client: Update

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Client IDstringNoThe ID of the client to update.
NamestringYesThe client name to save. This value is always sent, so supply the current name if you are only changing other fields.
Update FieldscollectionNo{}Fields to change on the client.
— AddressstringNoAddress of client being updated.
— ArchivedbooleanNofalseWhether the client is archived.

Project: Create

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Project NamestringYesName of project being created.
Additional FieldscollectionNo{}Optional fields to set on the new project.
— BillablebooleanNotrueWhether time logged to this project is billable.
— ColorstringNo#0000FFProject color as hex code (e.g., #0000FF).
— Client IDstringNoClient ID to associate with the project. Get from Client > Get Many operation.
— Estimate (estimateUi)fixedCollectionNo{}Time estimate for the project.
— — Estimate (estimate)numberNo0The estimated amount of time.
— — TypeoptionsNoAUTOHow the estimate is calculated.
Options: AUTO, MANUAL
— Is PublicbooleanNotrueWhether the project is visible to everyone in the workspace.
— NotestringNoNote about the project.

Project: Delete

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Project IDstringYesThe ID of the project.

Project: Get

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Project IDstringYesThe ID of the project.

Project: Get Many

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
Additional FieldscollectionNo{}Optional filters and sorting applied to the listing.
— ArchivedbooleanNotrueReturn archived projects.
— BillablebooleanNotrueReturn only billable projects.
— Client IDsstringNoComma-separated list of client IDs to filter by.
— Contains ClientbooleanNofalseWhether to return only projects having a client.
— Client StatusoptionsNoFilter projects by client status.
Options: ACTIVE, ARCHIVED
— Contains UserbooleanNofalseWhether to return only projects having users.
— Is TemplatebooleanNofalseWhether to return only template projects.
— NamestringNoFilter projects by name.
— Sort ColumnoptionsNoThe field to sort results by.
Options: NAME, CLIENT_NAME, DURATION
— Sort OrderoptionsNoDirection to sort the results in.
Options: ASCENDING, DESCENDING
— User IDstringNoUser ID to filter by. Get from User > Get Many operation.
— User StatusoptionsNoFilter projects by the status of their users.
Options: ACTIVE, ARCHIVED

Project: Update

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Project IDstringYesThe ID of the project to update.
Update FieldscollectionNo{}Fields to change on the project.
— BillablebooleanNotrueWhether time logged to this project is billable.
— ColorstringNo#0000FFProject color as hex code.
— Client IDstringNoClient ID. Get from Client > Get Many operation.
— Estimate (estimateUi)fixedCollectionNo{}Time estimate for the project.
— — Estimate (estimate)numberNo0The estimated amount of time.
— — TypeoptionsNoAUTOHow the estimate is calculated.
Options: AUTO, MANUAL
— Is PublicbooleanNofalseWhether the project is visible to everyone in the workspace.
— NamestringNoNew name for the project.
— NotestringNoNote about the project.

Tag: Create

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
NamestringYesName of tag being created.

Tag: Delete

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Tag IDstringYesThe ID of the tag.

Tag: Get Many

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
Additional FieldscollectionNo{}Optional filters and sorting applied to the listing.
— ArchivedbooleanNotrueReturn archived tags.
— NamestringNoFilter tags by name.
— Sort ColumnoptionsNoThe field to sort results by.
Options: NAME
— Sort OrderoptionsNoDirection to sort the results in.
Options: ASCENDING, DESCENDING

Tag: Update

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Tag IDstringYesThe ID of the tag to update.
Update FieldscollectionNo{}Fields to change on the tag.
— ArchivedbooleanNofalseWhether the tag is archived.
— NamestringNoNew name for the tag.

Task: Create

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Project IDstringYesThe project ID. Get from Project > Get Many operation.
Task NamestringYesName of task to create.
Additional FieldscollectionNo{}Optional fields to set on the new task.
— Assignee IDsstringNoComma-separated user IDs to assign. Get from User > Get Many operation.
— Estimate (estimate)stringNoEstimated time in HH:MM format (e.g., 2:30 for 2 hours and 30 minutes).

Task: Delete

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Project IDstringYesThe project ID. Get from Project > Get Many operation.
Task IDstringYesID of the task.

Task: Get

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Project IDstringYesThe project ID. Get from Project > Get Many operation.
Task IDstringYesID of the task.

Task: Get Many

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Project IDstringYesThe project ID. Get from Project > Get Many operation.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Optional filters and sorting applied to the listing.
— Is ActivebooleanNofalseReturn only active tasks.
— NamestringNoText to match in the task name.
— Sort ColumnoptionsNoNAMEThe field to sort results by.
Options: NAME
— Sort OrderoptionsNoASCENDINGDirection to sort the results in.
Options: ASCENDING, DESCENDING

Task: Update

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Project IDstringYesThe project ID. Get from Project > Get Many operation.
Task IDstringYesID of task to update.
Update FieldscollectionNo{}Fields to change on the task.
— Assignee IDsstringNoComma-separated user IDs to assign.
— Estimate (estimate)stringNoEstimated time in HH:MM format.
— NamestringNoNew name for the task.
— StatusoptionsNoACTIVEThe task status.
Options: ACTIVE, DONE

Time Entry: Create

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
StartstringYesStart date/time for the time entry (ISO 8601 format, e.g., 2024-01-15T09:00:00Z).
Additional FieldscollectionNo{}Optional fields to set on the new time entry.
— BillablebooleanNofalseWhether the entry is billable.
— Custom FieldsfixedCollectionNo{}Custom field values to set on the time entry.
— — Custom Field IDstringNoThe ID of the custom field.
— — ValuestringNoThe value to set.
— DescriptionstringNoDescription of the work logged.
— EndstringNoEnd date/time (ISO 8601 format).
— Project IDstringNoProject ID. Get from Project > Get Many operation.
— Tag IDsstringNoComma-separated tag IDs. Get from Tag > Get Many operation.
— Task IDstringNoID of the task this entry belongs to.

Time Entry: Delete

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Time Entry IDstringYesThe ID of the time entry.

Time Entry: Get

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Time Entry IDstringYesThe ID of the time entry.
Additional FieldscollectionNo{}Options that change how the entry is returned.
— Consider Duration FormatbooleanNofalseWhether to return duration rounded to minutes or seconds based on workspace settings.
— HydratedbooleanNofalseWhether to return project, task, and tags in full (not just IDs).

Time Entry: Update

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Time Entry IDstringYesThe ID of the time entry to update.
Update FieldscollectionNo{}Fields to change on the time entry.
— BillablebooleanNofalseWhether the entry is billable.
— Custom FieldsfixedCollectionNo{}Custom field values to update.
— — Custom Field IDstringNoThe ID of the custom field.
— — ValuestringNoThe value to set.
— DescriptionstringNoDescription of the work logged.
— EndstringNoEnd date/time (ISO 8601 format).
— Project IDstringNoProject ID.
— StartstringNoStart date/time (ISO 8601 format). If not provided, the existing start time is preserved.
— Tag IDsstringNoComma-separated tag IDs.
— Task IDstringNoID of the task this entry belongs to.

User: Get Many

ParameterTypeRequiredDefaultDescription
Workspace IDstringYesThe workspace ID. Find it in Clockify: Settings > Workspace > scroll to bottom for Workspace ID, or call the Workspace > Get Many operation. (hidden when Resource is workspace)
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
Additional FieldscollectionNo{}Optional filters and sorting applied to the listing.
— EmailstringNoFilter users by email address.
— NamestringNoFilter users by name.
— StatusoptionsNoFilter users by status.
Options: ACTIVE, INACTIVE, PENDING, DECLINED
— Sort ColumnoptionsNoThe field to sort results by.
Options: EMAIL, NAME, HOURLYRATE
— Sort OrderoptionsNoDirection to sort the results in.
Options: ASCENDING, DESCENDING

Workspace: Get Many

ParameterTypeRequiredDefaultDescription
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

One output item per input item — no operation fans out. Binary data on the input item is forwarded unchanged.

  • getAll operations (Client, Project, Tag, Task, User and Workspace Get Many) return an array, and the node puts it on a single output item as results. The incoming item JSON is not carried through on these operations. Use a Split Out node on results when you want one item per record downstream.
  • All other operations (create, get, update, delete) return one record, and its fields are merged onto the incoming item JSON at the top level. Fields returned by Clockify overwrite same-named fields already on the item.
  • delete returns an empty body, so the output item is the incoming item unchanged.

A Get Many result looks like this:

{
  "results": [
    { "id": "60c0e3ae07e3c41f00000001", "name": "Website Redesign" },
    { "id": "60c0e3ae07e3c41f00000002", "name": "Mobile App" }
  ]
}

Reference the data downstream by expression — {{ $json.results }} after a Get Many, or {{ $json.id }} after a create, get or update.

Usage Examples

  • Create a time entry in Clockify
  • Get all projects in a workspace
  • Update a client in Clockify
  • List all tags in a workspace
  • Create a task under a project
  • Get all users in a workspace

Example Configuration

Find your workspace ID first — this is the only operation that does not need one:

{
  "type": "clockify",
  "parameters": {
    "resource": "workspace",
    "operation": "getAll",
    "returnAll": true
  }
}

Create a client from an upstream record:

{
  "type": "clockify",
  "parameters": {
    "resource": "client",
    "operation": "create",
    "workspaceId": "60c0e3ae07e3c41f00000000",
    "name": "{{ $json.companyName }}"
  }
}

List active, billable projects sorted by name:

{
  "type": "clockify",
  "parameters": {
    "resource": "project",
    "operation": "getAll",
    "workspaceId": "60c0e3ae07e3c41f00000000",
    "returnAll": false,
    "limit": 25,
    "additionalFields": {
      "archived": false,
      "billable": true,
      "client-status": "ACTIVE",
      "sort-column": "NAME",
      "sort-order": "ASCENDING"
    }
  }
}

Create a task under a project and assign it:

{
  "type": "clockify",
  "parameters": {
    "resource": "task",
    "operation": "create",
    "workspaceId": "60c0e3ae07e3c41f00000000",
    "projectId": "{{ $json.projectId }}",
    "name": "{{ $json.taskName }}",
    "additionalFields": {
      "assigneeIds": "60c0e3ae07e3c41f00000011,60c0e3ae07e3c41f00000012",
      "estimate": "2:30"
    }
  }
}

Log a billable time entry against a project and task:

{
  "type": "clockify",
  "parameters": {
    "resource": "timeEntry",
    "operation": "create",
    "workspaceId": "60c0e3ae07e3c41f00000000",
    "start": "{{ $json.startedAt }}",
    "additionalFields": {
      "billable": true,
      "description": "{{ $json.summary }}",
      "end": "{{ $json.endedAt }}",
      "projectId": "{{ $json.projectId }}",
      "tagIds": "{{ $json.tagId }}",
      "taskId": "{{ $json.taskId }}"
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Manage Clockify time tracking data: workspaces, projects, clients, tags, tasks, time entries, and users via the Clockify API.

Basic CRUD Operations

Most resources support standard CRUD operations. Always include workspaceId except for workspace operations.

Pagination

For getAll operations, use returnAll: false with a limit to paginate results:

{
  "returnAll": false,
  "limit": 50
}

Filtering and Sorting

Use additionalFields for filtering and sorting in getAll operations:

{
  "additionalFields": {
    "archived": false,
    "sort-column": "NAME",
    "sort-order": "ASCENDING"
  }
}

Time Entry Date Formats

Always use ISO 8601 format for dates:

{
  "start": "2024-01-15T09:00:00Z",
  "end": "2024-01-15T17:00:00Z"
}

Frequently asked questions

What credential do I need to connect this node to Clockify?

You need a Clockify API credential, which uses your Clockify API key sent as an X-Api-Key header. You can find your API key in your Clockify profile settings under 'API'. Add it once in BusyBot's credential manager and reuse it across all Clockify nodes.

Almost every parameter I see asks for a workspaceId — do I always need it?

Yes, with one exception: operations on the workspace resource itself don't require a workspaceId. For every other resource — projects, clients, tags, tasks, time entries, and users — you must supply a workspaceId or the request will fail. If you don't know your workspace ID, use the 'Get Many' operation on the workspace resource first to retrieve it.

How do I paginate results when fetching many projects, tasks, or time entries?

Set returnAll to false and provide a limit value (for example, 50) on any getAll operation. Leaving returnAll as true will attempt to fetch every record, which may be slow or hit API limits for large workspaces. Using a limit gives you predictable, manageable result sets.

What date format do I need to use for time entry start and end fields?

Clockify requires ISO 8601 format with UTC timezone, for example 2024-01-15T09:00:00Z. Passing dates in any other format will cause the request to fail or store incorrect data. If your upstream node produces dates in a different format, use a Transform node to reformat them before they reach the Clockify node.

What happens when the node encounters an API error — does the whole workflow stop?

The Clockify node has two outputs: Output and Error. A successful API response routes through Output, while any failure — such as a missing required field, bad credentials, or an invalid resource ID — routes through the Error output. This lets you handle failures explicitly, for example by sending an alert or retrying, without halting the rest of your workflow.

Build with the Clockify 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 BusyBot

Last updated . Spotted something wrong? Tell us.