Product
Live MonitorAppointment BookingSMS AgentWeb AgentOutbound & BatchCall TransferPost-Call AnalysisCustom FunctionsWebhooks & AutomationsBring Your Own Carrier
Compare
OverviewNixflex vs RetellNixflex vs VapiNixflex vs BlandNixflex vs Synthflow
Developers
DocumentationQuickstartAPI ReferenceTwilio & TelnyxCal.comGoogle CalendarGoHighLevelSlackZapier & Make
More
PricingSecurityContact usGet started free
Webhooks & Automations

Every call, delivered to your systems.

A webhook is simple: when something happens on a call, Nixflex sends the details to a URL you choose - automatically, the second it ends. No polling, no exports, no copy-paste.

LIVE: WHAT HAPPENS WHEN A CALL ENDS
{
"event": "call.completed",
"from": "+44 7••• 402",
"duration_seconds": 142,
"summary": "Caller booked a checkup…",
"sentiment": "positive",
"bookings": [ { "time": "Tue 2:00 PM" } ],
"recording_url": "https://…"
}
POST
Your server
waiting…
Down? We retry automatically.
01
Set a URL
One field on any phone number - dashboard or API. A second URL can receive the same events.
02
Calls just happen
Inbound or outbound, phone or web - when a call ends, the full record is assembled.
03
You receive everything
Transcript, summary, sentiment, extracted data, bookings, recording link - one POST, retried automatically if your server is down.
THE REAL PAYLOAD
This is the actual shape every call.completed event carries - build against it directly.
{
  "event": "call.completed",
  "call_id": "call_...", "agent_id": "agent_...",
  "direction": "inbound", "from": "+44...", "to": "+44...",
  "status": "completed", "ended_reason": "...",
  "started_at": "...", "ended_at": "...", "duration_seconds": 142,
  "transcript": "...", "summary": "...", "sentiment": "positive",
  "successful": true, "extracted": { ... }, "bookings": [ ... ],
  "recording_url": "https://...", "recording_duration_seconds": 142,
  "voicemail_detected": false, "campaign_id": null, "avg_latency_ms": 780
}
Wire your first webhook in minutes
Get started freeWebhook docs