Webhook Integration
Send call data to any URL in real-time using webhooks.
What Are Webhooks?
A webhook is a way for your AI agent to send call data to another system automatically. Think of it like a notification — when something happens (a call ends, an appointment is booked, a new contact is created), the platform sends the details to a URL you specify.
Webhooks are the most flexible connector available because they work with any system that can receive HTTP requests. Whether it's a custom application, a no-code automation platform, or a CRM, if it has a webhook URL, your AI agent can send data to it.
Common Use Cases
Here are the most popular ways agencies use webhooks:
| Use Case | How It Works |
|---|---|
| Push leads to a CRM | After each call, send caller details to your client's CRM (even if we don't have a native connector) |
| Notify via Slack/Teams | Trigger a message in a team channel with the call summary and caller info |
| Update a spreadsheet | Via Zapier or Make — add a row to Google Sheets for every call |
| Trigger an email | Send a custom follow-up email to the caller using your email marketing tool |
| Log to a dashboard | Feed call data into a BI tool or custom dashboard for reporting |
| Kick off a workflow | Start an onboarding sequence, create a support ticket, or assign a task |
Webhook Payload Data
When a webhook fires, it sends a JSON payload containing the call details. Here's the data included:
{
"event": "call.completed",
"timestamp": "2026-02-15T14:32:00Z",
"call": {
"id": "call_abc123",
"duration_seconds": 187,
"caller_phone": "+15551234567",
"agent_id": "agent_xyz",
"quality_score": 88,
"sentiment": "positive",
"goodbye": true
},
"contact": {
"name": "Sarah Johnson",
"email": "sarah@example.com",
"phone": "+15551234567"
},
"summary": "Caller asked about teeth whitening options and pricing. Agent provided information about in-office and take-home whitening kits. Caller booked a consultation for next Tuesday.",
"intent": "appointment_booking",
"data_collected": {
"service_requested": "teeth whitening consultation",
"preferred_date": "next Tuesday"
},
"actions": [
{
"type": "booking",
"details": "Consultation booked for 2026-02-18 at 10:00 AM"
}
]
}
Note: This payload structure represents the standard webhook format. Field names and nesting may vary slightly depending on your configuration and which event types you’ve subscribed to. Test your webhook endpoint with a real call to confirm the exact payload your system receives.
Warning: Your webhook endpoint must use HTTPS (not HTTP) and return a 200 status code within 10 seconds. If the endpoint fails to respond, is unreachable, or returns an error, the platform will retry up to 3 times with exponential backoff. After 3 failures, the webhook delivery is marked as failed and logged for troubleshooting.
Setting Up Webhooks
Get Your Webhook URL
First, you need a URL to receive the data. This could be from Zapier (use "Webhooks by Zapier" trigger), n8n (use the "Webhook" node), Make.com, or your own custom endpoint. Copy the URL.
Navigate to Connectors
In your agency portal, go to the client's agent settings and find the Connectors section. Select Webhooks.
Add the Webhook URL
Paste your HTTPS webhook URL into the endpoint field. Give it a descriptive name (e.g., "Zapier — New Call to Google Sheets").
Select Trigger Events
Choose which events should fire the webhook. Options typically include:
- Call completed — fires after every call ends
- Booking made — fires when the agent books an appointment
- New contact created — fires when a first-time caller is detected
Send a Test Event
Click the "Send Test" button to fire a sample payload to your URL. Verify that it arrives correctly in your receiving system and that the data maps properly.
Activate and Monitor
Enable the webhook and make a real test call. Check the webhook delivery log in the connector settings to confirm successful delivery. Green checkmarks mean success; red Xs mean the endpoint returned an error.
Tip: Pairing webhooks with Zapier or n8n is the easiest way to connect your AI agent to thousands of apps without writing any code. A Zapier webhook can route call data to Google Sheets, Slack, email, HubSpot, Trello, Asana — you name it. It's the Swiss Army knife of integrations.
Troubleshooting Webhooks
If your webhook isn't working as expected, check these common issues:
| Problem | Likely Cause | Solution |
|---|---|---|
| Webhook never fires | Wrong trigger event selected | Verify the event type matches what you expect |
| Delivery shows "failed" | Endpoint returned non-200 status | Check your receiving service is running and healthy |
| Data arrives but looks wrong | Field mapping issue in receiving app | Review the JSON structure and remap fields |
| Delivery times out | Endpoint takes too long to respond | Ensure your endpoint responds within 10 seconds |
| Duplicate deliveries | Retries after initial timeout | Use the call ID to deduplicate on the receiving end |
Security Considerations
Webhook payloads contain caller information (phone numbers, names, emails), so security matters:
- Always use HTTPS endpoints — never send call data over unencrypted HTTP
- If your receiving system supports it, verify the webhook signature to ensure requests are genuine
- Limit access to the webhook endpoint to known IP ranges if possible
- Don't log raw payloads in publicly accessible locations
Was this page helpful?
