Search all guides

Reference · Tools

Clockify integration

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.

Works as
Action
Tool name
clockify
Parameters
54
Outputs
Output, Error
Credentials
Clockify API
Official docs
Clockify docs docs.clockify.me

What you can build with Clockify

  • 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.

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.

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 IDstringYes—The 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 NamestringYes—Name of client being created.

Client: Delete

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringNo—The ID of the client.

Client: Get

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringNo—The ID of the client.

Client: Get Many

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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.
— NamestringNo—If provided, clients will be filtered by name.
— Sort OrderoptionsNo—Direction to sort the results in.
Options: ASCENDING, DESCENDING

Client: Update

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringNo—The ID of the client to update.
NamestringYes—The 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.
— AddressstringNo—Address of client being updated.
— ArchivedbooleanNofalseWhether the client is archived.

Project: Create

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 NamestringYes—Name 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 IDstringNo—Client 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.
— NotestringNo—Note about the project.

Project: Delete

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringYes—The ID of the project.

Project: Get

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringYes—The ID of the project.

Project: Get Many

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDsstringNo—Comma-separated list of client IDs to filter by.
— Contains ClientbooleanNofalseWhether to return only projects having a client.
— Client StatusoptionsNo—Filter projects by client status.
Options: ACTIVE, ARCHIVED
— Contains UserbooleanNofalseWhether to return only projects having users.
— Is TemplatebooleanNofalseWhether to return only template projects.
— NamestringNo—Filter projects by name.
— Sort ColumnoptionsNo—The field to sort results by.
Options: NAME, CLIENT_NAME, DURATION
— Sort OrderoptionsNo—Direction to sort the results in.
Options: ASCENDING, DESCENDING
— User IDstringNo—User ID to filter by. Get from User > Get Many operation.
— User StatusoptionsNo—Filter projects by the status of their users.
Options: ACTIVE, ARCHIVED

Project: Update

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringYes—The 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 IDstringNo—Client 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.
— NamestringNo—New name for the project.
— NotestringNo—Note about the project.

Tag: Create

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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)
NamestringYes—Name of tag being created.

Tag: Delete

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringYes—The ID of the tag.

Tag: Get Many

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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.
— NamestringNo—Filter tags by name.
— Sort ColumnoptionsNo—The field to sort results by.
Options: NAME
— Sort OrderoptionsNo—Direction to sort the results in.
Options: ASCENDING, DESCENDING

Tag: Update

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringYes—The ID of the tag to update.
Update FieldscollectionNo{}Fields to change on the tag.
— ArchivedbooleanNofalseWhether the tag is archived.
— NamestringNo—New name for the tag.

Task: Create

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringYes—The project ID. Get from Project > Get Many operation.
Task NamestringYes—Name of task to create.
Additional FieldscollectionNo{}Optional fields to set on the new task.
— Assignee IDsstringNo—Comma-separated user IDs to assign. Get from User > Get Many operation.
— Estimate (estimate)stringNo—Estimated time in HH:MM format (e.g., 2:30 for 2 hours and 30 minutes).

Task: Delete

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringYes—The project ID. Get from Project > Get Many operation.
Task IDstringYes—ID of the task.

Task: Get

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringYes—The project ID. Get from Project > Get Many operation.
Task IDstringYes—ID of the task.

Task: Get Many

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringYes—The 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.
— NamestringNo—Text 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 IDstringYes—The 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 IDstringYes—The project ID. Get from Project > Get Many operation.
Task IDstringYes—ID of task to update.
Update FieldscollectionNo{}Fields to change on the task.
— Assignee IDsstringNo—Comma-separated user IDs to assign.
— Estimate (estimate)stringNo—Estimated time in HH:MM format.
— NamestringNo—New name for the task.
— StatusoptionsNoACTIVEThe task status.
Options: ACTIVE, DONE

Time Entry: Create

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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)
StartstringYes—Start 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 IDstringNo—The ID of the custom field.
— — ValuestringNo—The value to set.
— DescriptionstringNo—Description of the work logged.
— EndstringNo—End date/time (ISO 8601 format).
— Project IDstringNo—Project ID. Get from Project > Get Many operation.
— Tag IDsstringNo—Comma-separated tag IDs. Get from Tag > Get Many operation.
— Task IDstringNo—ID of the task this entry belongs to.

Time Entry: Delete

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringYes—The ID of the time entry.

Time Entry: Get

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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 IDstringYes—The 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 IDstringYes—The 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 IDstringYes—The 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 IDstringNo—The ID of the custom field.
— — ValuestringNo—The value to set.
— DescriptionstringNo—Description of the work logged.
— EndstringNo—End date/time (ISO 8601 format).
— Project IDstringNo—Project ID.
— StartstringNo—Start date/time (ISO 8601 format). If not provided, the existing start time is preserved.
— Tag IDsstringNo—Comma-separated tag IDs.
— Task IDstringNo—ID of the task this entry belongs to.

User: Get Many

ParameterTypeRequiredDefaultDescription
Workspace IDstringYes—The 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.
— EmailstringNo—Filter users by email address.
— NamestringNo—Filter users by name.
— StatusoptionsNo—Filter users by status.
Options: ACTIVE, INACTIVE, PENDING, DECLINED
— Sort ColumnoptionsNo—The field to sort results by.
Options: EMAIL, NAME, HOURLYRATE
— Sort OrderoptionsNo—Direction 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.

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

Clockify manages clients, projects, tasks, tags and time entries in a Clockify workspace, and lists its users and workspaces. It is the right tool when a workflow must create, update or delete those time-tracking records, fetch a client, project, task or time entry by ID, or list clients, projects, tasks, tags, users or workspaces, rather than another time tracker; a tag cannot be fetched singly and time entries cannot be listed. It returns the affected or fetched records as JSON items, one per record.

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 Clockify

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 reviewed . Spotted something wrong? Tell us.