Skip to main content

What is a Webhook?

A webhook lets Vaani push call events to your server in real time — no polling required. You’ll receive an HTTP POST request to your endpoint whenever a call lifecycle event occurs (e.g. call started, ended, transferred, or post-processed).

Event Types

Vaani fires webhooks for both outbound and inbound calls.

Setup

1

Create a Webhook Endpoint

Set up an HTTP endpoint on your server that accepts POST requests and returns 200 OK.
2

Register the Webhook in the Dashboard

Go to Settings → Webhooks and add your endpoint URL.
Webhook setup screen
Your webhook endpoint must be publicly accessible. For local development, use a tunnel like ngrok.

Payload Reference

Outbound Call Events

call_started

Fired as soon as the SIP participant joins the room and the call begins dialing.

call_ringing

Fired when the carrier reports the phone is actively ringing at the destination.

Lifecycle Success Events

user_picked_up_at

Fired when the user answers and media starts flowing.

Lifecycle Terminal Errors (Outbound Only)

call_rejected

Fired if the user manually rejects the call (SIP 486 or 603 Busy).

call_no_answer

Fired if the call rings until carrier timeout (typically 45–60 s) without answer.

call_failed

Fired for abrupt SIP errors, technical failures, or invalid destination numbers.

Human Agent Transfer Events

human_transfer_initiated

Fired when the AI agent triggers the transfer_call tool to hand off the session.

human_transfer_successful

Fired when the human specialist answers and the AI agent is ready to introduce the call.

human_transfer_failed

Fired if the transfer cannot be completed due to rejection, busy signal, or no-answer.

Session Termination & Analysis

call_ended

Fired as soon as the room is disconnected and the session terminates.
call_duration in this event is expressed in seconds.

call_postprocessing

Fired after the session ends and the backend has completed transcription, summary generation, and entity extraction.
call_duration in this event is expressed in milliseconds.