Webhooks
The AI Front Office sends webhook events for key activities. Use these to integrate with your CRM, notification system, or custom workflows.
Available Events
call.received
Fired when a new call comes in.
{
"event": "call.received",
"timestamp": "2026-03-15T14:30:00Z",
"data": {
"call_id": "call_abc123",
"from": "+16015551234",
"to": "+16016404037",
"direction": "inbound",
"status": "in_progress"
}
}
call.completed
Fired when a call ends.
{
"event": "call.completed",
"timestamp": "2026-03-15T14:35:00Z",
"data": {
"call_id": "call_abc123",
"from": "+16015551234",
"duration_seconds": 180,
"recording_url": "https://...",
"transcription": "Customer asked about...",
"outcome": "appointment_booked"
}
}
appointment.booked
Fired when an appointment is scheduled during a call.
{
"event": "appointment.booked",
"timestamp": "2026-03-15T14:33:00Z",
"data": {
"appointment_id": "apt_xyz789",
"customer_phone": "+16015551234",
"service_type": "consultation",
"scheduled_at": "2026-03-17T10:00:00Z",
"duration_minutes": 30
}
}
sms.received
Fired when an inbound SMS is received.
{
"event": "sms.received",
"timestamp": "2026-03-15T15:00:00Z",
"data": {
"message_id": "msg_def456",
"from": "+16015551234",
"to": "+16016404037",
"body": "Yes, I'd like to schedule for Tuesday"
}
}
Configuration
Webhook URLs are configured during onboarding. Contact support to add or modify webhook endpoints.
Security
All webhook payloads are signed with a shared secret. Verify the X-Webhook-Signature header to ensure authenticity.
Retry Policy
Failed deliveries are retried 3 times with exponential backoff (5s, 30s, 5min). After 3 failures, the event is logged but not retried.