Webhook Event Types
This page documents all webhook events available in Voxifi.
Call Events
call.started
Fired when a call begins.
json
{
"event_type": "call.started",
"event_id": "evt_abc123",
"timestamp": "2024-01-15T10:30:00Z",
"organization_id": "org_xyz",
"data": {
"call_id": "call_abc123",
"assistant_id": "asst_xyz789",
"customer_number": "+15551234567",
"start_time": "2024-01-15T10:30:00Z"
}
}call.ended
Fired when a call ends. Contains basic completion info. For full details including transcript and cost, subscribe to call.completed.
json
{
"event_type": "call.ended",
"event_id": "evt_abc124",
"timestamp": "2024-01-15T10:35:00Z",
"organization_id": "org_xyz",
"data": {
"call_id": "call_abc123",
"end_time": "2024-01-15T10:35:00Z",
"duration_seconds": 305
}
}call.completed
Fired when a call ends with full details available — transcript, cost, and sentiment analysis.
json
{
"event_type": "call.completed",
"event_id": "evt_abc125",
"timestamp": "2024-01-15T10:35:00Z",
"organization_id": "org_xyz",
"data": {
"call_id": "call_abc123",
"assistant_id": "asst_xyz789",
"customer_number": "+15551234567",
"start_time": "2024-01-15T10:30:00Z",
"end_time": "2024-01-15T10:35:00Z",
"duration_seconds": 305,
"transcript": "...",
"cost": 0.85,
"currency": "USD",
"status": "completed",
"sentiment": "positive"
}
}call.failed
Fired when a call fails to connect.
json
{
"event_type": "call.failed",
"event_id": "evt_abc126",
"timestamp": "2024-01-15T10:30:05Z",
"organization_id": "org_xyz",
"data": {
"call_id": "call_abc123",
"failure_reason": "Call was not answered",
"error_code": "no_answer"
}
}Common Payload Fields
All events include:
| Field | Type | Description |
|---|---|---|
event_type | string | Event type identifier |
event_id | string | Unique event ID for idempotency |
timestamp | string | ISO 8601 timestamp |
organization_id | string | Your organization ID |
data | object | Event-specific payload |
Request Headers
Each delivery also includes these headers:
| Header | Description |
|---|---|
X-Webhook-Signature | HMAC-SHA256 signature (sha256=<hex>) |
X-Webhook-Timestamp | Unix timestamp (seconds) |
X-Webhook-Event-Type | Event type (e.g., call.completed) |
X-Webhook-Event-Id | Unique event identifier |
X-Webhook-Delivery-Id | Unique delivery identifier |
X-Webhook-Attempt | Attempt number (1-indexed) |
Event Filtering
Subscribe to only the events you need:
call.completed - Most useful; includes full transcript and cost
call.failed - For error monitoring and retry logic
call.started - High volume; use only when you need real-time start notification
call.ended - Lightweight end signal without full detailsNext Steps
- Delivery Monitoring - Track delivery status
- Security - Verify event authenticity