Skip to content
ClockLap Developers
API reference clocklap.com Get an API key

Guides

Zapier, Make and n8n

Automation tools start workflows from ClockLap events and act through the API. ClockLap supports REST hooks (subscribe and unsubscribe by id), sample events for building a workflow, and an auth test, on top of the usual API keys and webhooks.

Zapier#

  1. Make an API key

    In the console, Settings → Developers → API keys. Give it webhooks:manage for triggers, plus time:write, projects:write, work_orders:write or people:write for the actions you use.

  2. Connect ClockLap in Zapier

    Paste the key. The region is read from it (tt_live_ca_… or tt_live_us_…); Zapier labels the connection with your workspace name.

  3. Build

    Triggers fire instantly; actions send an idempotency key, so a step Zapier retries never adds a record twice.

TriggerEventFires when
New time entrytime_entry.createdAn entry is added by hand, on a timesheet or through the API
Clock intime_entry.clocked_inSomeone clocks in (phone, kiosk, crew or console)
Clock outtime_entry.clocked_outSomeone clocks out
Timesheet approvedtimesheet.approvedA manager approves a timesheet
Expense submittedexpense.submittedAn expense or mileage claim is submitted
Form submittedform.submittedA daily report, inspection or other form is sent
Work order completedwork_order.completedA job is marked done
ActionEndpoint
Create time entryPOST /v1/time-entries
Create projectPOST /v1/projects
Create work orderPOST /v1/work-orders
Add personPOST /v1/users

The Zapier app's source is in the ClockLap repository under integrations/zapier (Zapier Platform CLI): fork it to add triggers on any of the event types.

REST hooks#

Any tool can subscribe a URL to one event and get back an id to unsubscribe with. A subscription is an ordinary webhook endpoint: signed, retried, and listed in the console with the tool's name.

# Subscribe (event: a trigger key above, or any event type)
curl https://ca-api.clocklap.com/v1/hooks -H "Authorization: Bearer $CLOCKLAP_API_KEY" -H 'content-type: application/json' \
  -d '{"target_url":"https://hooks.example.com/abc","event":"clock_in","source":"n8n"}'
# → 201 {"id":"whk_01…","event":"time_entry.clocked_in","source":"n8n","secret":"whsec_…"}

# Unsubscribe
curl -X DELETE https://ca-api.clocklap.com/v1/hooks/whk_01… -H "Authorization: Bearer $CLOCKLAP_API_KEY"
FieldNotes
target_urlHTTPS on the public internet
eventA trigger key (clock_in) or an event type (time_entry.clocked_in)
location_idOptional: only events at this location and everything inside it
sourcezapier, make, n8n or rest_hooks; shown in the console

Deliveries are the usual event envelope: { id, type, created_at, location_id, actor, data: { object } }. GET /v1/hooks lists subscriptions made this way.

Samples and polling#

GET /v1/hooks/samples/{event} returns the latest events of that type, newest first (up to 25 with limit), so a workflow can be built from real data and polling triggers can read the same list. With none yet, it returns one made-up example marked "sample": true.

curl -G https://ca-api.clocklap.com/v1/hooks/samples/form_submitted -H "Authorization: Bearer $CLOCKLAP_API_KEY" -d limit=3

Auth test#

GET /v1/automations/me answers with the workspace (id and name), region and the triggers available. Use it as the connection test and label.

Make and n8n#

  1. Make

    Add a Webhooks → Custom webhook module, copy its address and subscribe it (console: Settings → Developers → Zapier, Make, n8n, or POST /v1/hooks). Use HTTP modules with your key for actions.

  2. n8n

    Add a Webhook node (POST), subscribe its production URL the same way, and use HTTP Request nodes with Header Auth (Authorization: Bearer …). Verify ClockLap-Signature with the secret in a Code node if you like.

Subscriptions act with the API key's access, never more than the person who made the key. Revoking the key stops the actions; remove subscriptions in the console or with DELETE /v1/hooks/{id}.