webhook_url when creating the session and Telnyx pushes session events to it. The destination must be a public HTTPS URL without embedded credentials and must not resolve to loopback, private, link-local, or otherwise reserved addresses; redirects are not followed. Each session returns a webhook_secret exactly once at creation — store it; it is not retrievable again.
Envelope and Events
Every delivery is an HTTPPOST with Content-Type: application/json, no authorization header, and one envelope shape — deduplicate on id:
Each event’s full payload schema lives in the Webhooks group of the API Reference. New event types can be added, so acknowledge any
event value you do not recognize with a 2xx and ignore it. Individual transcript.segment messages are never delivered over webhooks. Read segments via the transcript endpoint or the stream.
Verify Signatures
Each delivery is signed with anX-Meeting-Bot-Signature header:
. byte, and the exact raw request-body bytes, then hex-encode the result and compare it against v1. Do not parse and reserialize the JSON before verifying.
raw_body into a string (for example with an f-string) produces b'...' in the signed payload and the comparison always fails.
Use a constant-time comparison and reject deliveries whose timestamp is outside your accepted clock skew window.
Delivery and Retry
- Up to 5 delivery attempts. Non-2xx responses, redirects, network errors, and timeouts all consume an attempt.
- Retries back off: roughly a minute after the first failed attempt, doubling each retry (about
60s * 2^n). - Each attempt has a 10-second timeout, so respond with a 2xx promptly.
- Events are delivered with best effort and duplicates can occur — including when your endpoint processed an event but its response was lost. Deduplicate on the event
idand fall back to REST polling when guaranteed receipt matters.
Related
- Session Events — the full event history, and what to read when a delivery is missed
- Join a Meeting — set
webhook_urlwhen creating a session - Collect Results — read the finalized transcript and artifacts