Summary
Clockify clients can be transferred to iPaaS.com as Customer Company records (Add or Update) through Clockify webhooks, a scheduled poll or Manual Sync, using the Add/Update Clockify Customer Company TO iPaaS.com mapping collection. The collection sends the client's name, email address and note, and whether the client is archived. A new client whose name matches an existing iPaaS.com company is linked to that company instead of adding a second one (companies that have a Department are an exception; see Known Limitations), and the company fields Clockify does not hold keep the values other systems gave them.
ID Format
Manual Sync ID Format
Enter the Clockify client id on the iPaaS.com Manual Sync page: the 24-character id Clockify assigns to the client (example: 6aec7ff29cd1b471d59e9d0a). The integration reads the client from Clockify with this id and sends it to iPaaS.com.
External ID Format
iPaaS.com saves the Clockify client id (example: 6aec7ff29cd1b471d59e9d0a) as the external ID on a dedicated external-ID record for the iPaaS.com company. For a new client it is saved when the company is added; for a client matched to an existing company by name, the integration saves the link before that company is updated. This link is the primary match for every later transfer of the same client, so an edit in Clockify updates the same company instead of adding another. Before the link exists, a new client is matched to an existing company by name (see Matching Existing Companies by Name below).
Deleted Record Support
Deletes are not supported. A client deleted in Clockify is not sent, and its iPaaS.com company stays as it was; nothing is sent and no error is added to the Error Logs. Delete transfers are not included in the default template. Archive clients in Clockify instead of deleting them: a linked client that is archived is sent as an update with the custom field Clockify Archived set to Yes on its next transfer, so the systems that use the company can stop using it.
Mapping Collection Status
Status: Enabled
Trigger Events: the Clockify webhook scopes NEW_CLIENT and CLIENT_UPDATED, enabled in the iPaaS.com subscription configuration's Inbound Data Flows section, and the poll scope client/poll, run by a scheduled poll event for the scope. No automatic transfers occur until the scopes are enabled or the scheduled poll event exists. After turning a webhook scope off, check the webhook list in Clockify's workspace settings and delete any webhook the integration left. Manual Sync is always available.
Trigger | What it sends |
NEW_CLIENT (webhook) | A client created in Clockify. When the scope is enabled, the integration creates the matching webhook in Clockify. |
CLIENT_UPDATED (webhook) | A client edited in Clockify. A linked client that was archived is sent with Clockify Archived set to Yes on its next transfer. |
client/poll (scheduled poll) | Every client in the Clockify workspace, on each run: the integration lists all clients and sends each one, whether or not it changed. |
Whether a transfer adds or updates a company is decided by whether the client is already linked to a company, not by which trigger sent it.
Duplicate or Conflicting Mappings
This mapping transfers clients from Clockify to iPaaS.com. The following mapping collection operates on the same records in the opposite direction:
Add/Update Clockify Customer Company FROM iPaaS.com: creates or updates Clockify clients from iPaaS.com companies.
Before enabling both directions, decide which system is the source of truth for each company field and review both collections' filters. With both directions on, an edit made in Clockify is protected: if a field was edited in Clockify since the integration last wrote the client, an update from iPaaS.com stops with CLKF-BIZL-1003 instead of overwriting it, until that edit has reached iPaaS.com through this collection. If you add a second Customer Company TO iPaaS.com collection, make its filter leave out every client this collection sends, so each client is handled by one collection.
Matching Existing Companies by Name
Before a client that is not yet linked is sent, the integration looks for an iPaaS.com company with the same name, ignoring capitalization and leading or trailing spaces. This happens automatically and needs no setup:
Exactly one company with that name: the client is linked to it, and the transfer updates that company. The fields Clockify does not hold keep the company's values, and a blank Clockify email or note keeps the company's email or description.
No company with that name: a new company is added.
One company with that name that is already linked to another Clockify client: the transfer stops with CLKF-BIZL-1008. Give the two Clockify clients different names, then retry.
A company that has a Department is not matched (see Known Limitations under Additional Notes). When the same new client is created and edited in Clockify at almost the same moment, the result is still one company.
Collision handling is not available on this collection. Matching by name is the integration's automatic way of avoiding duplicate companies; there is no Collision Handling Method to set for Clockify clients sent TO iPaaS.com.
Unmapped Field Overwrite Risk
Warning — Unmapped Field Overwrite Risk: The iPaaS.com API uses PUT (full record replace) when updating Customer Company records. In the default template mappings for Add/Update Clockify Customer Company TO iPaaS.com, every standard Customer Company field is mapped. The fields Clockify does not hold are mapped with Dynamic Formulas that use the DestinationValue function to carry forward the company's current value:
Department
PhoneNumber
FaxNumber
Url
AccountNumber
TaxIdNumber
ParentCompanyId
The EmailAddress and Description formulas do the same when the Clockify email or note is blank. If you remove one of these mappings, that field is no longer mapped, and any existing value in it on the iPaaS.com company will be overwritten with an empty value each time an inbound transfer runs. To preserve a field, keep or add a Dynamic Formula mapping that returns its current value, for example DestinationValue.PhoneNumber mapped to the iPaaS.com PhoneNumber field. Company categories are managed separately and are not affected.
Supported Child Collections
None. This collection has no child collections. The integration reads a client's address as one block of text, not as separate address records, so no company address collection is included.
System Caveats
Clockify Caveats
Rate limiting: Clockify limits how many API requests a workspace can make: 30 requests per hour on the Free plan, 20 requests per second on the Basic, Standard and Pro plans, and 50 requests per second on the Enterprise plan (Clockify API documentation, read 2026-11-06; see External References). When the limit is reached, the 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. On the Free plan the hourly allowance runs out quickly, so a client poll of a large workspace can delay other transfers.
Webhook limit: Clockify limits the number of webhooks per workspace, three on the Free plan (Clockify webhook and API limitations, read 2026-11-04; see External References). Each enabled webhook scope uses one. On the Free plan, consider the client/poll scheduled poll for clients instead of the two client webhook scopes.
Archived clients: an archived client that has never been sent to iPaaS.com is not added; nothing is sent and no error is added to the Error Logs. A linked client that is archived later is sent with Clockify Archived set to Yes on its next transfer (a CLIENT_UPDATED transfer, a poll run or Manual Sync).
Deleted clients: a client deleted in Clockify is not sent, and its iPaaS.com company stays as it was.
Polling sends every client: each client/poll run sends every client in the workspace, whether or not it changed. Schedule it at a modest interval, such as once a day.
Sync line removed from notes: when the integration writes a client from iPaaS.com, it adds a sync line of the form [iPaaS.com sync …] at the end of the client's note. The integration removes that sync line before the note is sent TO iPaaS.com, so the company's description shows the note without it.
iPaaS.com Caveats
Clockify Archived custom field: the custom field Clockify Archived (Customer Company, Yes/No) must exist in iPaaS.com with exactly that name and type. If your company does not have it, create it before the first transfer.
Company name required: iPaaS.com requires a name on every Customer Company record. Keep the Name mapping.
Updates replace the whole company: see Unmapped Field Overwrite Risk above.
Setup Requirements
For the full setup see the Clockify Installation Instructions and Clockify Connections and Settings articles. For this collection:
Clockify Configuration
No setup is needed in Clockify. When a webhook scope is enabled in iPaaS.com, the integration creates the matching webhook in the Clockify workspace, within the webhook limit of your Clockify plan. After turning a scope off, check the webhook list in Clockify's workspace settings and delete any webhook the integration left.
iPaaS.com Configuration
Make sure the custom field Clockify Archived (Customer Company, Yes/No) exists.
Review this collection's filter and decide which clients to send.
Enable NEW_CLIENT and CLIENT_UPDATED in the subscription configuration's Inbound Data Flows section, or create a scheduled poll event for the client/poll scope, as your Clockify plan allows.
Integration Flow
Trigger. A Clockify webhook (NEW_CLIENT or CLIENT_UPDATED), a scheduled client/poll run, or a Manual Sync names a Clockify client id.
Read the client. The integration reads the client from Clockify. A client that no longer exists in Clockify, or an archived client that has never been sent to iPaaS.com, is not sent.
Apply the filter. The collection's filter decides whether the client is sent. A client the filter leaves out is skipped without an error and is not matched by name or sent.
Match by name. When the client is not yet linked to a company, the integration links it to the iPaaS.com company with the same name, if there is one, and saves the link before the update. If that company is already linked to another Clockify client, the transfer stops with CLKF-BIZL-1008. A company that has a Department is not matched (see Known Limitations under Additional Notes).
Map the fields. Each mapping fills one company field; the keep formulas carry the company's own values for the fields Clockify does not hold.
Send to iPaaS.com. The company is added when the client is not linked, or updated when it is. For a new company, iPaaS.com saves the Clockify client id as the company's external ID when the company is added.
Mappings
Add/Update Clockify Customer Company TO iPaaS.com
iPaaS.com data type: Customer Company
Mapping Filter
// Every Clockify client is sent; an archived client only once it is linked to a company.
// To leave clients out, return false for them, for example: return !Name.StartsWith("Internal");
return true;Filter Description: The default filter returns true for every record, so every Clockify client is sent. The comment shows how to leave clients out: return false for the clients you do not want, for example clients whose Name starts with Internal. Any client field can be used in the filter, such as Name, Email, Note or Archived. A client the filter leaves out is skipped without an error, and a filter that never returns true sends nothing and logs nothing. The first comment line describes a separate rule the integration applies on its own: an archived client is sent only once it is linked to a company.
Description: Transfers Clockify clients to iPaaS.com companies: the client's name, email address, note and archived state, with keep formulas for the company fields Clockify does not hold.
Field Mapping Table
Mapping Type | Source Field (Clockify) | Destination Field (iPaaS.com) | Description |
Field | Name | Name | Required. The client's name. iPaaS.com requires a name on every company. The name is also used to match a new client to an existing company. Renaming a client in Clockify renames its linked company. |
Dynamic Formula |
| EmailAddress | Recommended. The client's email address. When the Clockify email is blank, the company keeps its existing email. |
Dynamic Formula |
| Description | Optional. The client's note, without the integration's [iPaaS.com sync …] sync line. When the Clockify note is blank, the company keeps its existing description. |
Field | Archived | Clockify Archived (Custom Field) | Recommended. Yes when the client is archived in Clockify, No when it is active. The custom field must exist in iPaaS.com with exactly this name and the Yes/No type. |
Dynamic Formula |
| Department | Optional (keep). Clockify has no department; the company keeps its value. Empty for a new company. |
Dynamic Formula |
| PhoneNumber | Optional (keep). Clockify has no client phone number; the company keeps its value. Empty for a new company. |
Dynamic Formula |
| FaxNumber | Optional (keep). Clockify has no client fax number; the company keeps its value. Empty for a new company. |
Dynamic Formula |
| Url | Optional (keep). Clockify has no client website; the company keeps its value. Empty for a new company. |
Dynamic Formula |
| AccountNumber | Optional (keep). Clockify has no account number; the company keeps the one another system gave it. Empty for a new company. |
Dynamic Formula |
| TaxIdNumber | Optional (keep). Clockify has no tax id; the company keeps its value. Empty for a new company. |
Dynamic Formula |
| ParentCompanyId | Optional (keep). Clockify has no company hierarchy; the company keeps its parent company. Empty for a new company. |
The seven keep formulas, and the blank-value fallbacks in EmailAddress and Description, read the company's current value through DestinationValue. For a new company there is no current value, so those fields start empty. Do not remove these mappings unless you map another source to the same field; see Unmapped Field Overwrite Risk.
Other Clockify client fields available as sources if you want to add mappings to your own Customer Company custom fields: Id (the client id), Address (the client's address as one block of text) and CurrencyCode (the client's currency code, for example USD; a client currency other than the workspace's own needs Clockify Pro or higher, Clockify pricing, read 2026-11-04). Create the custom field in iPaaS.com first.
Error Handling
Errors from this mapping collection appear in iPaaS.com Dashboard / Integration Monitoring / Error Logs, except CLKF-EXTN-1002, which appears in the transfer's activity log. For the full catalog of error codes, causes and resolutions, see the Clockify Error Messages article. The messages most often seen with this collection:
CLKF-BIZL-1008 - iPaaS.com company {id} named "{name}" is already linked to Clockify client {other}, so Clockify client {id} can't be linked to it too. Give the two clients different names in Clockify, then retry. The company with that name is already linked to another Clockify client, for example after a client was renamed to another client's former name. Give the two clients different names in Clockify, then retry.
CLKF-EXTN-1002 - Clockify's request limit was reached while trying to {action}; iPaaS.com retries automatically. Clockify's request limit was reached and the transfer stops. 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. Frequent occurrences on the Free plan mean too many requests for the hourly allowance, often from a client poll of a large workspace.
CLKF-INTL-1002 - iPaaS.com could not complete {action} (HTTP {status}). Try again; if it repeats, contact iPaaS.com support. A lookup the integration makes in iPaaS.com, such as finding a company with the client's name, failed. Subscribers or their MiSP should retry the transfer; if it repeats, contact iPaaS.com Support.
Testing & Validation
Test Scenarios
Create a client in Clockify with a name, email and note that match no iPaaS.com company. Verify that one iPaaS.com company is added with the name, email address, the note as its description, Clockify Archived set to No, and the Clockify client id as its external ID.
Edit the same client in Clockify (change the note) and archive it. Verify that the same company is updated, with the new description and Clockify Archived set to Yes, and that no second company is added.
Create a company in iPaaS.com with a name, phone number and account number and no Department, then create a client with the same name in Clockify. Verify that the client is linked to that company, the phone number and account number are kept, and no second company is added.
Create a client with no email or note in Clockify whose name matches an existing company that has no Department. Verify that the company keeps its own email address and description.
Manually sync a client by entering its Clockify client id on the Manual Sync page, and verify the transfer completes.
Send a client to iPaaS.com, then rename it in Clockify without sending the change (for example with CLIENT_UPDATED turned off). Create a second client with the first client's former name and send it. Verify that the transfer stops with CLKF-BIZL-1008, that the second client is not linked, and that the company stays linked to the first client.
Archive a client in Clockify that has never been sent to iPaaS.com, and verify that no company is added.
Validation Checklist
The custom field Clockify Archived (Customer Company, Yes/No) exists in iPaaS.com.
NEW_CLIENT and CLIENT_UPDATED are enabled in Inbound Data Flows, or a client/poll event is scheduled, within the webhook and request limits of your Clockify plan.
The filters of this collection and of Add/Update Clockify Customer Company FROM iPaaS.com match your source-of-truth decision for company data.
The keep formulas for the fields Clockify does not hold are still in place.
Clients whose names match an iPaaS.com company with a Department are left out by this collection's filter, and those companies are kept up to date another way.
Additional Notes
Known Limitations
Companies with a Department are not matched by name: at the time this documentation was written, an existing iPaaS.com company that has a Department is not found when a new client is matched by name, and a second company with the same name is created. This applies only to companies that have a Department. iPaaS.com allows two companies with the same name only when their departments differ, so where several companies share a name, the client is linked to the one without a Department, or, if every one has a Department, a new company is added. A client that is already linked to such a duplicate keeps updating it on every transfer until the filter leaves the client out. To avoid it, subscribers or their MiSP can leave such clients out with this collection's filter, for example by returning false for their names. The filter runs before the name match, so a client it leaves out is neither linked nor added; keep those companies up to date another way. Removing a duplicate company does not help: the client adds a new one on its next transfer.
Clockify temporarily unavailable: if Clockify does not answer when a transfer runs, the transfer fails and an error appears in Dashboard / Integration Monitoring / Error Logs. Retry it later, for example by resending the client with Manual Sync.
Out of Scope
Deleting companies: deletions in Clockify are not transferred to iPaaS.com.
Initial bulk load: the collection does not support Initialize. To send existing clients, schedule a client/poll run, or use bulk sync using Postman.
Client address: the Clockify client address is not mapped by default. To keep it on the company, create a Customer Company custom field and map the client's Address to it.
Related Documents
Related Mapping Documentation
External References
Clockify API documentation: request rate limits per plan.
Clockify webhook and API limitations: webhook limits per plan.
Clockify pricing: plan features, including multiple currencies.
