Mid-call webhooks
Trigger your own systems while Anna is still on the phone — for live lookups, dynamic routing, real-time CRM sync.
Mid-call webhooks let your backend respond to events while the call is still live. The classic example: Anna asks for an order number, fires a webhook to your shop, gets the status back in under a second, and reads it to the caller.
When to use mid-call vs post-call webhooks
| Use case | Webhook type |
|---|---|
| Look up data to read aloud during the call | Mid-call |
| Update CRM with conversation summary | Post-call |
| Trigger live agent escalation | Mid-call |
| Send confirmation SMS after the call | Post-call |
Configuration
In Callina → Settings → Webhooks → Mid-call:
- Endpoint URL (must be HTTPS, must respond within 2.5 seconds).
- Trigger events you want to subscribe to.
- Signing secret — the
X-Callina-Signatureheader on each request.
Event types
| Event | Fired when |
|---|---|
intent.detected | Anna detects a structured intent (e.g. lookup_order, book_appointment) |
tool.invoked | Anna calls a custom tool — your endpoint computes the response |
escalation.requested | Caller asked for a human, or Anna's confidence dropped below threshold |
silence.detected | Caller has been silent for >8s — useful to log abandoned calls live |
Request payload (intent.detected)
{
"event": "intent.detected",
"call_id": "call_x1y2z3",
"occurred_at": "2026-05-09T14:32:55Z",
"intent": "lookup_order",
"params": {
"order_number": "ORD-12345"
},
"context": {
"caller_phone": "+43660123456789",
"caller_name": "Maria Steinhauser"
}
}Expected response (under 2.5s)
Return JSON that Anna can read back to the caller:
{
"say": "Order ORD-12345 was shipped yesterday and arrives tomorrow.",
"next_action": "continue"
}Or to escalate:
{
"say": "Let me transfer you to a specialist.",
"next_action": "transfer",
"transfer_to": "+43662275124"
}Timeout behavior
If your endpoint doesn't respond within 2.5 seconds, Anna falls back to a generic "I'm checking that for you, please hold" and then either retries once (configurable) or escalates to voicemail / human transfer.