working_hours.updated
The main location’s weekly opening hours change. Sent to the account’s webhooks, and to an OAuth app that subscribes to it while its installation grants account:read.
Parameters
Section titled “ Parameters ”Header Parameters
Section titled “Header Parameters”t=<unix seconds>,v1=<hex HMAC-SHA256>, the HMAC computed over <t>.<raw body> with the signing secret. During a secret rotation it carries one v1 per secret: accept the request if any matches.
The event type, as in type.
The event ID, as in id.
Request Bodyrequired
Section titled “Request Bodyrequired”object
The event’s ID, evt_ and 32 hex characters. Equal to the X-Talki-Delivery header and unchanged on a redelivery: deduplicate on it.
When the event was written, ISO 8601 with a +00:00 offset, possibly with microseconds. Parse it as an instant.
The dated contract version data is shaped for: the endpoint’s version on a webhook, the app’s on an app event.
The Talki account the event happened on.
false for an event from a sandbox account.
object
Where the change came from: voice (the assistant, during a call), dashboard (a person in the Talki web or mobile app), api (a credential through the API) or system (a rule Talki applied on its own). New values may be added; treat one you do not recognise as unknown.
The event’s payload.
object
The WorkingHours object, as the REST API returns it.
object
The location these are the hours of, an id from GET /v1/locations: the one the request named with location_id, or the main location when it named none.
Every weekly opening. A day with a lunch break has two slots. An empty list means the business has no regular opening hours, so the assistant offers callers no regular time to book.
One weekly opening: a time range, in the account’s timezone, on one or more weekdays.
object
Weekdays this range applies to, as ISO weekday numbers: 1 is Monday, 7 is Sunday.
Opening time, HH:MM in the account’s timezone.
Closing time, HH:MM in the account’s timezone. Must be after start: a range cannot cross midnight, so split one that does into two slots on consecutive days.
Example
{ "id": "evt_04d8e87897db4ecab459a456ea55e754", "type": "working_hours.updated", "created_at": "2026-09-22T15:04:06.218734+00:00", "api_version": "2026-10-01", "account_id": "f7e39b9a-1ac8-45e4-93da-2600f17cb286", "livemode": true, "origin": { "source": "dashboard", "credential_id": null, "idempotency_key": null }, "data": { "object": { "location_id": "0b7d4e19-8a2c-4f61-9d3e-5c1a7b2f8e40", "slots": [ { "days": [ 2, 3, 4, 5 ], "start": "09:00", "end": "13:00" }, { "days": [ 2, 3, 4, 5 ], "start": "14:30", "end": "19:00" }, { "days": [ 6 ], "start": "09:00", "end": "17:00" } ] } }}Responses
Section titled “ Responses ”Any 2xx acknowledges the event. Any other status, a redirect, or no answer within 10 seconds is a failure and is retried; 410 disables a webhook endpoint at once.
