Skip to main content
Voice Agents emit webhook events across a call’s lifecycle. Subscribe to them on a sender webhook to log conversations, trigger follow-ups, or update your systems in real time. Configure the events the same way as any other sender webhook — see Webhooks for setup, and Security to verify signatures. Voice events are signed exactly like message.* events, with the X-Zavu-Signature header.

Events

Subscribe to call.completed and call.failed to handle outcomes. Add call.initiated and call.answered when you need live progress.

Payload Structure

All voice events share the standard webhook envelope. The data object carries the call fields.

Data Fields

call.initiated

Fired when an outbound call starts dialing or an inbound call arrives.

call.answered

Fired when the call connects and the agent begins the conversation.

call.completed

Fired when a call ends after a conversation. Fetch the call to read the transcript.

call.failed

Fired when a call could not be completed. Check status and endReason for the cause.

Example Handler

Verify the signature, acknowledge quickly, and process asynchronously — the same pattern as message webhooks.
Webhook deliveries may be retried, so make your handler idempotent — key it on the top-level event id. See Event Types for the pattern.

Next Steps

Security

Verify webhook signatures

Configuration

Tune how the agent behaves on calls