Mirror a Talki appointment
You can mirror Talki bookings into a CRM calendar today through webhooks. Public appointment REST endpoints are not released yet, so recovery currently uses the dashboard delivery log.
Authority
Section titled “Authority”- Talki decides whether an appointment exists. Mirror it; do not re-arbitrate it.
- Your calendar’s busy time can be fed back as a read-only constraint, which is a separate integration from this API.
- Use the Talki appointment ID as the external unique key.
Events to subscribe to
Section titled “Events to subscribe to”appointment.created: insert or upsert the new booking.appointment.updated: replace the mirrored fields for the same ID. This also covers restoring a cancelled appointment.appointment.cancelled: mark or remove the mirror for the same ID.
A reschedule made by the voice assistant is represented as a cancellation of the old ID and creation of a new ID. A dashboard edit can instead update the existing ID. Handle the event types literally rather than trying to infer one universal reschedule sequence.
Consumer shape
Section titled “Consumer shape”Verify and deduplicate the envelope exactly as in the call activity
guide. Queue an idempotent
operation keyed by (account_id, data.object.id) and record the last applied
object updated_at where available. An older, out-of-order event must not
overwrite a newer mirror.
Do not depend on deprecated flat keys in appointment.created; all new code
should consume data.object.
Recovery limitation
Section titled “Recovery limitation”Failed deliveries can be inspected and redelivered for 30 days in the Talki dashboard. Until appointment list and retrieve endpoints appear in the API reference, there is no supported programmatic full reconciliation. Design the integration so adding that sweep later does not change the webhook handler.
