account.updated
A writable field of the account, onboarding_completed or phone_number changes at the main location, or call_auto_archive_days changes. data.object is the account at the main location. 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 Account object, as the REST API returns it.
object
Opaque Talki account identifier.
The location these settings are of, an id from GET /v1/locations: the one the request named with location_id, or the main location when it named none.
IANA timezone all naive local times for this account resolve against.
False when this credential does not act on real data: a test-mode key (talki_test_…), or an app installed on a developer sandbox or on a test account. Webhook envelopes carry the same flag.
True for a test account your app created with "test": true on POST /oauth/managed-accounts. It has no Talki number, nobody is billed for it or emailed, and it is erased seven days after it was created. Its livemode is false.
The voice the assistant speaks with on calls. One of the ids listed by GET /v1/voices.
Which name the assistant answers calls in and speaks for: business uses business_name, owner uses the account holder’s own name. If the chosen name is empty, the other one is used.
True when the assistant may switch to English, French, German or Spanish to follow the caller. False keeps every call in Italian. The opening is always in Italian.
The languages calls may be held in, derived from multilingual_enabled. Read only.
object
The language every call opens in, before the caller has said anything. Always it today.
Every language the assistant may speak, primary first: it alone while multilingual_enabled is false, otherwise it, en, fr, de and es. More may be added. Read only: change it through multilingual_enabled.
People or lines the assistant may hand a call over to. Empty when the assistant never transfers calls.
A person or line the assistant may hand a call over to.
object
Who answers at this number, such as “Reception” or “Dr. Bianchi”. The assistant uses it to pick the right target for a caller, and call.transferred reports it as target_label.
The number, E.164.
True when the assistant books, moves and cancels appointments on calls. False makes it answer questions and take messages only. Does not affect the appointment endpoints of this API.
True when the assistant offers to record a question it cannot answer, so the business can follow up. Recorded questions are listed by GET /v1/unresolved_requests.
True when the assistant recognises returning callers from the contact book and keeps notes about them for their next call. False treats every call as a first call and keeps nothing about the caller after it ends.
True when the owner gets a push notification on the Talki mobile app after each call, with its summary. Push only, and only on phones where the owner is signed in to the app with notifications allowed; bookings, conflicts and unresolved questions push whatever this says. Talki sends no email or SMS per call: build those on the call.ended and appointment.created events.
True when the owner gets a push notification on the Talki mobile app while a call is ringing, naming the caller, for every caller. Callers marked VIP push whatever this says. Push only, as for notify_on_every_call.
True when the words of each call to this location are kept, readable through GET /v1/calls/{id}/transcript. Setting it to false deletes the transcripts already stored for this location’s calls; call records and summaries are kept.
The location’s Talki number, its line that forwards to it, and whether that forwarding has been proven. Read only. The same as Location.line.
object
no_number while the account has no Talki number. unverified until a forwarding check of the current forwarding_number has succeeded, including while no forwarding_number is set. verified once one has. It proves forwarding was on at verified_at, not that it still is: the business can switch it off at its carrier without Talki knowing. Changing forwarding_number returns it to unverified. A check that finds no forwarding does not change it; read that outcome from GET /v1/forwarding_check.
True when the account works from several locations, or may add them: show locations (GET /v1/locations) to the owner only when true. False for an account that has only ever had its main location and cannot add another; it still has that one location, every record still carries its location_id, and nothing changes shape when this turns true. Read only.
True once the account has finished setting up its assistant. While false, the Talki app opens its setup wizard. Set it with POST /v1/account/complete_onboarding; it never goes back to false.
Example
{ "id": "evt_04d8e87897db4ecab459a456ea55e754", "type": "account.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": { "id": "f7e39b9a-1ac8-45e4-93da-2600f17cb286", "location_id": "0b7d4e19-8a2c-4f61-9d3e-5c1a7b2f8e40", "business_name": "Studio Bellini", "timezone": "Europe/Rome", "livemode": true, "test": false, "business_information": "Free parking in the courtyard behind the salon. We do not sell gift cards.", "instructions": null, "voice": "Sulafat", "answers_as": "business", "call_auto_archive_days": null, "greeting": null, "call_opening": null, "multilingual_enabled": true, "languages": { "primary": "it", "supported": [ "it", "en", "fr", "de", "es" ] }, "service_area": "Bergamo e provincia", "transfer_numbers": [], "bookings_enabled": true, "unresolved_requests_enabled": true, "remember_callers": true, "store_transcripts": true, "notify_on_every_call": true, "notify_on_incoming_call": false, "phone_number": "+390350000001", "forwarding_number": "+393331112222", "line": { "phone_number": "+390350000001", "forwarding_number": "+393331112222", "status": "verified", "verified_at": "2026-10-07T09:30:12Z" }, "multi_sede": true, "onboarding_completed": true } }}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.
