Skip to main content

Webhooks

Add-on
Webhooks are an add-on

Webhooks are not included in the standard BeepClock plans and are not available until BeepClock activates them for your account. To activate them, contact BeepClock at [email protected]. Until then, Webhooks does not appear in the menu. See Availability.

Webhooks send BeepClock events to your own system as soon as they happen: time entries recorded on a TimeLok recorder or added in the app, and changes to employees and devices. Your payroll, HR or integration system receives each event as a signed HTTPS POST request, so there is no need to poll BeepClock or export reports by hand.

How it works​

  1. You add a webhook in BeepClock: the URL of your endpoint and the events you want to receive.
  2. When one of those events happens, BeepClock sends a JSON payload to the endpoint and signs it with the webhook's signing secret.
  3. Your endpoint verifies the signature, stores the event and responds with a 2xx status within 10 seconds.
  4. If the endpoint fails, BeepClock retries the delivery for about a day and a half. Every delivery is visible in the webhook's delivery log for 30 days.
Example: an employee clocks in on a recorder
{
"id": "8f2c6a1d-4e7b-5c93-a0d5-1b8e3f6c9a24",
"event": "timeEntry.created",
"occurredAt": "2026-10-12T06:58:12Z",
"tenant": "acme-3f9c1a7b2e4d6f80",
"apiVersion": "2026-10",
"data": {
"id": "e7b1c4d2-9a35-4f68-8e0c-2d6a9f1b5c73",
"employee": {
"id": "3b6f2d1e-8c4a-4e57-b9d0-5a7c1f3e2b84",
"numericId": 17,
"firstName": "Anna",
"lastName": "Nowak"
},
"eventType": "in",
"direction": "in",
"source": "device",
"time": "2026-10-12T08:58:10+02:00",
"timeZone": "Europe/Warsaw",
"device": {
"id": "9c3a7e15-2f6b-4d84-a0e9-6b1d5c8f3a27",
"name": "Main entrance"
},
"location": {
"id": "b2e4c7a9-58d1-4f36-8c0b-71a3e9f2d645",
"name": "Hall B",
"path": [ … ]
}
}
}

Available events​

ResourceEvents
Time entriestimeEntry.created, timeEntry.typeChanged, timeEntry.deleted
Employeesemployee.created, employee.updated, employee.archived, employee.unarchived, employee.deleted
Devicesdevice.created, device.updated, device.deleted

Device events, and time entries recorded on a device, include the location with its full hierarchy, for example Krakow plant → Hall B. See the full payloads.

Availability​

Webhooks are an add-on. They are not part of the standard BeepClock plans: BeepClock enables them for each account separately. To use webhooks, contact BeepClock at [email protected] and ask for webhooks to be activated for your account.

Once they are enabled, Webhooks appears in the menu of app.beepclock.com and every user of the account can manage webhooks.

Where to go next​

  • Set up a webhook: create a webhook, save the signing secret and send a test event.
  • Event reference: the envelope, every event type and the fields of each object, with payload examples.
  • Verify signatures: the signature algorithm, ready-to-use code in Node.js and C#, and secret rotation.
  • Deliveries and retries: request headers, the retry schedule, automatic pausing, the delivery log and resending.
  • Receiver best practices: a checklist for a reliable and secure endpoint.

FAQ​

How do I enable webhooks for my account?
Webhooks are an add-on that BeepClock enables for each account separately. Contact BeepClock at [email protected] and ask for webhooks to be activated. Once they are, Webhooks appears in the menu of the app.
What can I use BeepClock webhooks for?
To pass time entries to a payroll or HR system as they happen, to keep an employee or device list in sync with another application, or to trigger your own automations, for example a notification when an employee clocks in at a given location.
Do I need a developer to use webhooks?
Yes, or an integration platform that can receive HTTPS requests. The endpoint has to accept POST requests, verify the signature and respond within 10 seconds. The setup in BeepClock itself takes a few minutes.
Are events sent again if my system was unavailable?
Yes. A failed delivery is retried for about 35 hours, up to 7 attempts in total. You can also resend any delivery from the delivery log for 30 days. If the endpoint keeps failing, BeepClock pauses the webhook and emails the users of the account.
Are webhooks sent for events that happened before the webhook was created?
No. A webhook receives only events that happen while it is active. Events that happen while a webhook is paused are not delivered later either.
Can I limit a webhook to one location?
Not yet. A webhook receives the selected events from the whole account. Device events, and time entries recorded on a device, include the location and its hierarchy, so your system can filter them.