Webhook Action
The Webhook action sends a POST request with call data to any URL you specify. This is the most flexible action type — it lets you connect BuildVoiceAI to any external system that can receive HTTP requests.
Configuration
| Field | Required | Description |
|---|---|---|
| URL | Yes | The destination URL that will receive the POST request |
| Custom Headers | No | Optional HTTP headers to include with the request (e.g., authentication tokens) |
Setting the URL
Enter the full URL where you want the call data sent. This must be a publicly accessible HTTPS endpoint.
https://your-server.com/api/call-webhookAdding Custom Headers
If your endpoint requires authentication or custom headers, add them as key-value pairs. Common examples:
| Header | Value | Purpose |
|---|---|---|
Authorization | Bearer your-api-key | API key authentication |
X-API-Key | your-key | Alternative API key header |
Content-Type | application/json | Already set by default |
Payload Format
The webhook sends a JSON payload with the following structure:
{
"call_id": "call_abc123",
"agent_name": "Sales Agent",
"agent_id": "agent_xyz",
"direction": "inbound",
"from_number": "+14155551234",
"to_number": "+14155555678",
"duration": 245,
"status": "completed",
"sentiment": "positive",
"summary": "Caller inquired about pricing for the premium plan...",
"transcript": "Agent: Hello, thanks for calling...",
"cost": 0.42,
"created_at": "2025-01-15T14:30:00Z",
"metadata": {}
}All available call data is included in every webhook payload. You can ignore fields you do not need on the receiving end.
Use Cases
Zapier
Create a Zapier Zap with a “Webhooks by Zapier” trigger (Catch Hook). Zapier gives you a unique URL — paste that into the webhook URL field. You can then connect the call data to any of Zapier’s thousands of integrations.
Make.com (formerly Integromat)
Create a Make.com scenario with a “Webhooks” module (Custom webhook). Use the generated URL in BuildVoiceAI. Make.com will parse the JSON automatically.
n8n
Set up an n8n workflow with a Webhook node. Use the production URL from n8n as your webhook URL. n8n runs self-hosted or in the cloud and provides full control over data processing.
Custom Backend
Point the webhook at your own API endpoint to process call data however you need. Common implementations include:
- Storing call records in your own database
- Triggering custom business logic based on call outcomes
- Syncing data with systems that BuildVoiceAI does not natively integrate with
- Building custom dashboards or reports
Testing Your Webhook
Before using a webhook in production, test it to make sure your endpoint receives the data correctly.
Using webhook.site
- Go to webhook.site
- Copy the unique URL provided
- Paste it into the webhook URL field in your workflow
- Make a Test Call
- Check webhook.site to see the incoming request and inspect the payload
Using RequestBin
Similar to webhook.site, RequestBin provides a temporary URL that captures incoming requests for inspection.
Always test your webhook with a test call before going live. This lets you verify the payload format, check for authentication issues, and confirm your endpoint processes the data correctly.
Make sure your endpoint responds within 30 seconds. If the request times out, the action will be marked as failed in the Execution Log. For long-running processing, have your endpoint accept the request quickly and process the data asynchronously.