How Vaani Works
Vaani connects your AI agents to phone calls. When someone calls your agent’s number — or when your agent calls out — the platform handles the entire conversation automatically.Key Entities
Workspace
Your team’s organizational unit. All data — agents, calls, phone numbers — is contained
within a workspace. You can belong to multiple workspaces.
Agent
An AI-powered virtual assistant configured with a system prompt, an LLM provider, voice settings,
and custom tools. Each agent has a unique phone number for receiving calls.
Phone Number
A provisioned phone number from Twilio or Vonage, connected to your agent.
Incoming calls to this number are automatically handled by the assigned agent.
Call Log
A record of every call — including transcript, recording, cost breakdown,
AI-generated summary, and disposition (outcome).
The Call Lifecycle
Every voice call follows this lifecycle:| Phase | What Happens |
|---|---|
| Connect | The call is routed to the assigned AI agent |
| Greeting | The agent delivers its configured first message |
| Conversation | The agent listens, understands, and responds in real-time. It can use custom tools, query the knowledge base, or transfer the call |
| End | Either party hangs up, or the agent ends the call |
| Post-Call | A recording is saved, costs are calculated, and the conversation is analyzed for sentiment, summary, and disposition |
Roles & Permissions
Vaani uses Role-Based Access Control (RBAC) within each workspace:| Role | What They Can Do |
|---|---|
| Member | View agents, call logs, reports, and analytics |
| Developer | Everything a Member can do, plus create/edit agents, phone numbers, campaigns, and batch jobs |
| Admin | Everything a Developer can do, plus manage workspace settings, invite/remove members, delete workspace |
Each user can belong to multiple workspaces with different roles in each. Switch between workspaces using the workspace selector in the dashboard.
AI Providers
Vaani lets you mix and match AI providers for each agent:| Component | Purpose | Available Providers |
|---|---|---|
| LLM | Understands conversation and generates responses | OpenAI GPT-4o, Groq |
| STT | Converts caller’s speech to text | Deepgram, Sarvam, Cartesia |
| TTS | Converts agent’s text to natural speech | OpenAI, ElevenLabs, Deepgram, Rime, Cartesia, Sarvam, Murf, Inworld |
Dynamic Variables
Personalize conversations by injecting variables into agent prompts:- Outbound calls — passed when initiating the call
- Batch calls — extracted from your uploaded CSV columns
- Dynamic data — stored in the platform and matched by phone number
Key Terms
| Term | Meaning |
|---|---|
| Disposition | The outcome of a call (e.g., “completed”, “transferred”, “no-answer”) |
| Knowledge Base | Documents uploaded to your agent so it can answer questions using your content |
| Batch Job | A set of phone numbers to call automatically, uploaded via CSV |
| Campaign | A simpler version of a batch job for quick outbound calling |
| Custom Function | A webhook the agent can call during conversations (e.g., check inventory, book appointments) |
| Warm Transfer | The agent briefs the human before connecting the caller |
| Cold Transfer | The caller is connected directly to the human without briefing |