Webhook security
Signatures, idempotency and replay handling.
Verification
Inbound provider callbacks are checked before they touch any data:
- Twilio - the request signature is verified against your account auth token and the full externally visible URL (forwarded protocol and host are taken into account).
- Africa's Talking and Yeastar - verified with the configured shared secret or verify token.
- Bad or missing credentials get
403; unknown workspaces get404.
Idempotency
Every callback is deduplicated by provider event ID in webhook_events. A replayed delivery is acknowledged but not processed twice. Your own outbound webhook consumer should do the same - dedupe on the event id.
Retries
Outbound deliveries go through the durable job queue. If your endpoint errors or times out, the delivery is retried rather than dropped.
Was this guide helpful?
