Skip to main content
Instead of polling, point the bot at your own endpoint. Set 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 HTTP POST 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 an X-Meeting-Bot-Signature header:
Compute HMAC-SHA256 over the timestamp’s ASCII bytes, a literal . 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.
Concatenate the timestamp and body as bytes. Formatting 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 id and fall back to REST polling when guaranteed receipt matters.