Webhooks send automatic HTTP notifications to your server when events happen in your Allo account — a call finishes, an SMS arrives, a contact is created, and more.Documentation Index
Fetch the complete documentation index at: https://help.withallo.com/llms.txt
Use this file to discover all available pages before exploring further.
What you can do with webhooks
- Log calls and messages in your CRM or database
- Trigger workflows when calls finish or SMS arrive
- Sync contacts with external systems
- Build real-time dashboards and alerts
Available events
| Event | Description |
|---|---|
call.received | Inbound call starts ringing |
call.triggered | Outbound call initiated |
call.completed | Call finished with recording, transcript, and summary |
tag.added | Tag added to a call |
tag.removed | Tag removed from a call |
sms.received | Inbound SMS received |
sms.sent | Outbound SMS sent |
contact.created | Contact created |
contact.updated | Contact updated |
How to set up webhooks
- Via the API
- Via the mobile app
Get an API key
Go to Settings > API and create an API key with the
WEBHOOKS_READ_WRITE scope.Handle incoming requests
Your server receives a POST request for each event. Return a
200 status code within 20 seconds to acknowledge receipt.Verify signatures
Every webhook includes a cryptographic signature. Verify it to ensure the request came from Allo. See Verifying signatures.
Webhook payload format
Every webhook uses the same envelope:Security
- Your endpoint URL must use HTTPS.
- Every webhook includes a cryptographic signature in the
webhook-signatureheader. Verify it to ensure the request is authentic. - Store your signing secret securely — treat it like a password.
Reliability
- Allo retries failed deliveries up to 8 times over approximately 27.5 hours with exponential backoff.
- If your endpoint fails continuously for 5 days, it is automatically disabled.
- You can recover missed events by replaying them after fixing your endpoint.
Example implementations
- Node.js
- Python
Troubleshooting
Webhook not receiving events
Webhook not receiving events
Verify your endpoint is publicly accessible over HTTPS. Check that the webhook is enabled and subscribed to the correct event types. Use the test endpoint to verify.
Getting timeout errors
Getting timeout errors
Your endpoint must respond within 20 seconds. Return
200 immediately and process the event in the background.Receiving duplicate events
Receiving duplicate events
This is expected — Allo guarantees at-least-once delivery. Use the
webhook-id header to deduplicate. See Best practices.Signature verification failing
Signature verification failing
Make sure you use the raw request body (not parsed JSON) for verification. Check that your signing secret is correct and your server clock is accurate. See Verifying signatures.
Need help?
Full API reference
Complete webhook API documentation
Contact support
Get help from the Allo team