The natural first external event family
call.routedwhen a validated route is executedcall.missedwhen nobody answers and fallback handling beginscall.completedwhen the call lifecycle closescall.summary.createdwhen a call summary is generated
This page is directional. It is not yet a published partner contract, but it shows the event family and payload shape that make the most sense for the current backend.
call.routed when a validated route is executedcall.missed when nobody answers and fallback handling beginscall.completed when the call lifecycle closescall.summary.created when a call summary is generated{
"event": "call.routed",
"id": "evt_123",
"occurred_at": "2026-08-02T12:00:00Z",
"call_session_id": "...",
"call_log_id": "...",
"caller_number": "+15551234567",
"called_number": "+15557654321",
"route": {
"target_type": "team",
"target_id": "...",
"strategy": "priority"
},
"outcome": {
"fallback_action": "sms_callback"
}
}
This draft does not yet guarantee retry policy, signature format, event ordering, duplicate delivery semantics, or idempotency headers. Those must be documented before this becomes a production partner contract.
A routing platform becomes more defensible when customers can hook routing outcomes, missed calls, and summaries into their CRM, ticketing, and callback workflows.