Skip to main content

Clockify Installation Instructions

How to install the iPaaS.com Clockify integration: the Clockify API key and workspace id to collect, the subscription settings, and how to choose webhooks or polling for your Clockify plan.

Before You Begin

Before you can install the Clockify subscription, you need the following from Clockify:

  • A Clockify workspace on any plan. Approved weekly timesheets (Timesheet Mode Approved weeks) need timesheet approval, which is part of the Clockify Standard plan and higher (Clockify pricing, read 2026-11-04).

  • An API key generated by a workspace owner or admin of that workspace. The integration reads every member's time and creates webhooks in Clockify, and only workspace owners and admins can create webhooks (Clockify Help Center: API and webhook settings, read 2026-11-06).

  • The workspace id of the workspace to connect.

Generate the API key

  1. Sign in to Clockify as a workspace owner or admin. If your workspace is on its own Clockify subdomain, sign in to that subdomain: Clockify issues a separate key for it.

  2. Open Profile settings > Preferences and switch to the Advanced tab.

    Clockify Preferences, Advanced tab, with the Manage API keys and Manage webhooks links.
  3. Click Manage API keys, then Generate new.

    Clockify's Manage API keys page, with the Generate new button and the list of existing keys.
  4. Enter a name for the key, such as iPaaS.com, and click Generate.

  5. Click Copy, and keep the key somewhere safe, such as a password manager. Clockify shows the key only once (Clockify Help Center: profile settings, read 2026-11-06).

Find the workspace id

  1. In Clockify, open the menu (...) next to the workspace's name at the top of the page and choose Workspace settings.

    The menu next to the workspace's name in Clockify, with Workspace settings highlighted.
  2. Copy the address from the browser's address bar. It contains /workspaces/ followed by the 24-character workspace id, for example https://app.clockify.me/workspaces/6aebacf06c1026f0c54d849e/settings.

You can paste either the whole address or just the id into the subscription. Use the id from Clockify itself: the workspace id shown in the CAKE.com account console is a different id, and the integration refuses it with CLKF-AUTH-1004.

Installation Instructions for Integration Setup

  1. Go to Subscriptions and click Search Certified Integration Marketplace and Subscribe.

    The Subscriptions page with the Search Certified Integration Marketplace and Subscribe button.
  2. Click the Clockify integration tile.

    The Clockify tile in the iPaaS.com Certified Integration Marketplace.
  3. Click the Subscribe button.

    The Clockify integration page with the Subscribe button.
  4. Enter the name of the subscription and select a version. It can be any relevant and unique subscription name within the company where this subscription is created.

    • Format: [Product Name] - [Environment/Purpose]

    • Example: Clockify - Production

  5. Leave Create Default Mappings selected (recommended). The default mapping collections define which records move and how their fields are filled; without them, you create every mapping yourself.

    The new subscription's Name and Versions fields, with Create Default Mappings selected.
  6. Leave API Url blank to use Clockify's global server (https://api.clockify.me/api); you can also enter that address. If your workspace is hosted in a Clockify region, enter that region's address instead, for example https://euc1.clockify.me/api (EU, Germany), https://use2.clockify.me/api (USA), https://euw2.clockify.me/api (UK) or https://apse2.clockify.me/api (Australia) (Clockify API documentation, read 2026-11-06).

  7. Under API Key, paste the API key you generated.

  8. Under Workspace Id, paste the workspace id or the workspace's settings page address.

    DESTRUCTIVE SETTING: do not change Workspace Id on a subscription that has already transferred records. Records stay linked to the old workspace and are no longer updated, and the old workspace's webhooks stay in Clockify. To connect another workspace, create a new subscription. If you are unsure, consult your MiSP (Managed Integration Service Provider) or implementation partner before proceeding: the recovery cost if the change is wrong is significantly higher than the consultation cost.

  9. Under Timesheet Mode, type Time entries (every completed Clockify time entry becomes a timesheet, on any plan) or Approved weeks (every approved Clockify week becomes one timesheet with its entries; needs timesheet approval). Blank means Time entries; any other text is refused with CLKF-VALD-1001. Choose it before the first timesheet sync.

    DESTRUCTIVE SETTING: do not change Timesheet Mode on a subscription that has already sent timesheets: the same hours are sent again in the new form, and a receiving payroll or billing system can count them twice. If you are unsure, consult your MiSP or implementation partner before proceeding: the recovery cost if the change is wrong is significantly higher than the consultation cost.

  10. Under Timesheet Poll Days, enter how many days back the timesheet poll reads, from 1 to 366 (default 7). The first poll uses it to bring in past time, so set it to the period you want before that poll runs.

  11. Under Page Size, leave the default of 50 records per page unless iPaaS.com Support advises otherwise.

    The Clockify subscription settings: API Url, API Key, Workspace Id, Timesheet Mode, Timesheet Poll Days and Page Size.
  12. Leave the throttle and concurrency fields at their pre-populated values: API Throttle Limit 500 and API Throttle Seconds 60, the same for API Throttle Limit (To iPaaS) and API Throttle Seconds (To iPaaS), and Concurrent Connections 2. Concurrent Batch Executions (10) is optional and not used by the Clockify integration.

    The throttling settings with their pre-populated values.
  13. Click Apply to save the settings.

iPaaS.com saves the settings without testing them. The integration checks them when it first connects to Clockify, at the first transfer. If a setting is wrong, the transfer's error reads "Unable to connect to subscription", and the reason, with an error code that names the setting (for example CLKF-AUTH-1002 for a key Clockify does not accept, or CLKF-AUTH-1004 for a workspace the key's user isn't in), is in the subscription's iPaaS.com logs. The error never repeats your API key. Each setting is described in the Clockify Connections and Settings article.

Additional Configuration

The subscription comes with the integration's default mapping collections. Check three things before turning on triggers.

Collision handling for companies sent to Clockify

Open the subscription's mapping collection Add/Update Clockify Customer Company FROM iPaaS.com and set its Collision Handling Method to Update and Link. The default collection does not set one. With it, a company whose name matches an existing Clockify client is linked to that client and updates it, instead of stopping with a collision error. Choose Error only if you want to review every such match yourself.

The Add/Update Clockify Customer Company FROM iPaaS.com collection with Collision Handling Method set to Update and Link.

Custom fields

The default collections write these iPaaS.com custom fields. If your company doesn't have them yet, create them with exactly these names, on the record and with the type shown:

Custom field

Record

Type

What it holds

Clockify Archived

Customer Company

Yes/No

Yes when the client is archived in Clockify

Clockify Status

Employee

Text

The member's workspace status: ACTIVE or INACTIVE (PENDING or DECLINED for a member already linked)

Clockify Approval State

Timesheet

Text

The week's approval state (APPROVED, WITHDRAWN_APPROVAL, PENDING) in Approved weeks mode; empty for a single time entry

Clockify Billable Hours

Timesheet

Number

The billable part of the timesheet's hours, in decimal hours

Clockify Project

Timesheet Entry

Text

The Clockify project the time was tracked on

Clockify Client

Timesheet Entry

Text

The Clockify client of the entry's project

Clockify Task

Timesheet Entry

Text

The Clockify task within the project, when there is one

Clockify Billable

Timesheet Entry

Yes/No

Yes when the time entry is billable in Clockify

Filters

A collection's filter is a one-line condition that decides which records it sends. Every default collection sends all records of its type (an archived client, or an invited or declined member, only once it is linked), and each filter carries a comment with an example of how to leave records out. The Add/Update Clockify Customer Company FROM iPaaS.com collection sends every iPaaS.com company to Clockify as a client: if only some of your companies are clients, change its filter to your rule. Subscribers or their MiSP can set the condition.

Turn On Webhook Triggers and Poll Events

Clockify can notify iPaaS.com of changes through webhooks, and the integration can also read Clockify on a schedule (polling). Each webhook trigger you turn on creates one webhook in Clockify, and Clockify limits how many a workspace has (Clockify API documentation, read 2026-11-06):

  • Free plan: 3 webhooks per workspace, and 30 API requests per hour per workspace.

  • Basic, Standard and Pro plans: 10 webhooks per Clockify user (the owner of the API key), up to 100 per workspace, and 20 API requests per second.

  • Enterprise plan: 100 webhooks per user, up to 300 per workspace, and 50 API requests per second.

Webhook triggers (TO iPaaS.com)

Data

Webhook triggers

Clients

NEW_CLIENT, CLIENT_UPDATED

Members (employees)

USER_JOINED_WORKSPACE, USER_DEACTIVATED_ON_WORKSPACE, USER_ACTIVATED_ON_WORKSPACE

Timesheets, Time entries mode

NEW_TIME_ENTRY, TIMER_STOPPED, TIME_ENTRY_UPDATED, TIME_ENTRY_RESTORED

Timesheets, Approved weeks mode

APPROVAL_REQUEST_STATUS_UPDATED

To turn one on, go to Subscriptions, click the Inbound Data Flows (AKA External Webhooks) icon on the Clockify subscription's row, and switch the trigger's Active toggle on; the integration creates the webhook in Clockify. Turning it off removes the webhook from Clockify. At the time this documentation was written, a webhook was occasionally left in Clockify; if it is still listed under Preferences > Advanced > Manage webhooks afterwards, a workspace owner or admin can delete it there. A trigger that would pass Clockify's limit is refused with CLKF-EXTN-1009. A trigger of the other Timesheet Mode can't be turned on.

The Clockify subscription's Inbound Data Flows page, with the Active toggles of the client triggers.

Clockify's limit also counts webhooks that other tools created in the same workspace (or, on a paid plan, for the same Clockify user). A workspace owner or admin sees them in Clockify under Preferences > Advanced > Manage webhooks, which shows how many webhooks the workspace and the signed-in user have, out of how many (Clockify Help Center: API and webhook settings, read 2026-11-06).

Clockify's Webhooks page, showing the workspace's and the user's webhook counts against their limits.

Poll events (TO iPaaS.com)

The poll scopes client/poll, member/poll and timesheet/poll run only when a scheduled event starts them. Create one event for each poll scope you use (see Events):

  1. Go to Dashboard / Integration Monitoring / Events and click + Add Event.

  2. Enter a Name you will recognize, for example Clockify member poll, and a Description, and choose the Event Type Webhook (Poll Request).

    The Add New Event form with Event Type Webhook (Poll Request).
  3. Under Event Rules, click Add for each of these rules, in this order (the Scope rule can be added only after SystemId), and click Apply after each one:

    • SystemId: under Expression, choose your Clockify subscription from the list.

    • Scope: under Expression, choose the poll scope, for example member/poll.

    • Interval: under Expression, choose how often the poll runs, for example Daily, or Hourly every 1 hour.

    The Event Rules section with the Add Event row: Name, Description and Expression.
  4. Click Apply at the top of the event to save it.

Each run uses Clockify requests, and client/poll and member/poll send every client or member each time.

  • On a paid plan: turn on the webhook triggers for the data you use, and schedule member/poll once a day: changed member emails and names arrive only by the poll.

  • On the Free plan: choose at most 3 webhook triggers (for example TIMER_STOPPED, NEW_TIME_ENTRY and NEW_CLIENT) and schedule the polls for the rest: client/poll and member/poll once a day, and timesheet/poll no more than once an hour. A time-entry poll of a large workspace can use up the hour's requests; the poll keeps its place and continues at the next run, so bringing in past time can take several runs. When Clockify's request limit is reached, a transfer stops with CLKF-EXTN-1002. The code and iPaaS.com's message that the transfer will be retried later appear in the transfer's activity log; no error is added to the Error Logs. While the limit lasts, iPaaS.com also holds this subscription's other transfers in the same direction. If the record hasn't arrived an hour or so after the limit frees up, resend it with Manual Sync.

  • Run member/poll before the first timesheet/poll, so each employee exists before their time arrives.

Triggers that send iPaaS.com companies to Clockify (FROM iPaaS.com)

Go to Subscriptions, click the Outbound Data Flows (formerly Internal Webhooks) icon on the Clockify subscription's row, and switch the Active toggle on for Customer/Company/Created and Customer/Company/Updated. iPaaS.com then sends each company to Clockify when it is created or saved: a new company becomes a Clockify client (or is linked to the client with its name, by collision handling), and a saved company updates its client. Companies that existed before you subscribed aren't sent until they change; send them with Manual Sync on the company's page in iPaaS.com, one company at a time. Nothing needs to be set up in Clockify for this direction.

Post-Installation Verification

After completing the installation, perform these tests to verify the installation.

Data Sync Test

  1. To iPaaS.com: edit a client's note in Clockify. With CLIENT_UPDATED on, the company in iPaaS.com shows the new note within a minute; with polling, after the next client/poll run.

  2. From iPaaS.com: save a company in iPaaS.com that the Customer Company FROM iPaaS.com filter includes. Its Clockify client is created or updated within a minute.

Functionality Test

  1. Track a short time entry in Clockify and stop it, then check that a timesheet for that member arrives in iPaaS.com (after TIMER_STOPPED, or the next timesheet/poll run).

  2. Check that the employee, the company links and the custom fields above are filled as expected.

  3. If nothing arrives, check the collection's filter (a record the filter leaves out is skipped without an error), and look for errors in Dashboard / Integration Monitoring / Error Logs.

Support and Troubleshooting

Click the Help button on any iPaaS.com page to contact Support or to search our documentation.

  • Documentation: Search our documentation at the top of this article.

  • Support Portal: Click the Help and Support button at the lower-right of this window.

  • Contact Information: Email iPaaS.com Support at support@ipaas.com.

  • Clockify: for questions about your Clockify account, plan or API keys, see the Clockify Help Center.

Related Documents

Did this answer your question?