Mikey
02/27/2026, 1:06 PMAI Evy
02/27/2026, 1:06 PMAI Evy
02/27/2026, 1:06 PMcall_ended webhook is triggered when a call completes, while call_analyzed is triggered when post-call analysis finishes. [(1) ]()
These are separate events that happen asynchronously:
- call_ended fires immediately when the call terminates
- call_analyzed fires after the analysis processing completes (which takes additional time)
The webhooks are not blocking — meaning they're triggered in order but don't wait for each other to succeed. So call_ended should typically fire first, then call_analyzed follows once analysis is ready.
If you're seeing call_analyzed arrive before call_ended in some cases, this could be due to network latency or processing timing on your webhook endpoint. Additionally, call_analyzed can be triggered multiple times, while call_ended is only triggered once. [(2) ]()
A few important notes:
- Post-call analysis variables are only available in the call_analyzed webhook, not in call_ended [(3) ]()
- If you need guaranteed single delivery with analysis data, you can use call_ended and then fetch analysis via the Get Call API [(4) ]()AI Evy
02/27/2026, 1:06 PMAI Evy
02/27/2026, 1:06 PM