Webhook Integration Guide
Version: 0.2
Last Updated: April 14, 2025
1. Overview
This document describes how to integrate with our AI Phone Answering Agents webhook system. Our system sends real-time updates about phone call interactions to your endpoint through HTTP POST requests.
Prerequisites
- A publicly accessible HTTPS endpoint
- Ability to process JSON payloads
- Authentication credentials (provided separately)
What is not in this document:
- The API docs are not in this document. We are working on making the endpoints public by the end of Q4 2024.
- The developer testing account provided alongside this document has limited functionalities. Most importantly, it only has 1 agent connected to 1 phone number.
Notes:
- The schemas provided in this document are still unstable as of the time of writing. We are actively improving our system.
2. Webhook Setup
Please contact adam@heffron.ai to obtain a testing account.
2.1 Configuring Your Webhook URL on the platform
- Log in to your dashboard at
[testing environment url]
on your computer. - On the sidebar, navigate to the footer Developer Tools
- Developer Tools are currently unavailable on mobile view.
- Under
Your Webhook Secret
click ”+” to create a new webhook secret. - Fill in the following details:
- Webhook URL: Your HTTPS endpoint that will receive the events
- Store your webhook secret securely - you’ll need it to verify incoming requests
3. Authentication
3.1 Headers
All webhook requests include the following authentication headers:
3.2 Verification
An example FastAPI server for Webhook Receiving (inclu. signature verification) can be found below:
4. Webhook Events
Our system emits the following event types:
Event Type | Description | Trigger |
---|---|---|
call_ended | Call has completed | When a phone call ends |
5. Error Handling
Retry Policy
- Failed deliveries are retried a total of 3 times
- Backoff delay between retries: 5 seconds
- Webhook timeout threshold: 10 seconds
Error Response Code
The following are HTTP Code descriptions related to Webhook transmission, given that a webhook_url
and webhook secret has already been set by user via the platform.
HTTP Code | Meaning | Action Required |
---|---|---|
200 | Webhook has been successfully sent and received. | None. |
4xx | Client Error | Fix Integration on Client Side. |
5xx | Server Error | Request will be retried. |
6. Integration Guide
6.1 Sample payload
Call Success
Call Failure
7. Sample Integration
A demo video can be found at this link.
8. Support
For integration support, contact:
- Email: adam@heffron.ai
- Technical Support: +61 451 660 338