# Platform

Describe the call. Hear the agent. Then let it call.

Type the job. Review the diff. Talk to it in the browser. Then publish a version that already knows when it is allowed to dial.

PLATFORM

Build

Describe the call. Accept the agent.

TEACHER AI

Describe · Clarify · Configure · Accept

✓

Automatic Context Pull

Describe your agent in plain English…

Type your requirements…

→

Teacher AI

Describe the call. Review the diff. Accept the agent. The teaching chat is typed. Speaking happens afterward, in the live test.

  • A sentence, or a starter such as lead qualification, appointment booking, customer support, or product consultation
  • No prompt yet: Vaani drafts one. A prompt already exists: the same chat edits it and changes as little as possible
  • Clarifying questions first, then a sentence diff — accept only the sections you want

VOICE AGENT

Listen · Reason · Speak · Act

Idle

Ears

STT

Brain

LLM

Mouth

TTS

Actions

Tools

Memory

RAG

Agents

The studio around that chat is the rest of the agent: who it is, what it can do, and how you try it before anyone is dialed.

  • Persona, senses, cognition, tools, experience, and analysis
  • In-browser chat and audio test, with a transcript
  • Create from scratch, from a template, from a clone, or from an exported config

TEMPLATES

Browse · Preview · Adopt · Customize

Gallery
AR

Healthcare · Clinic Reception

Inbound · English · Booking, triage, warm Hindi/English.

Female
RI

Real Estate · Lead Qualification

Outbound · English · Qualify buyers, book property visits.

Female
SJ

E-com · Order Support

Inbound · English · Verify orders, delivery updates.

Male

Templates

Start from a job that already works. A template is the whole call — not a prompt snippet.

  • Prompt, guardrails, voice, hold and voicemail behavior, tools, and the fields to extract after the call
  • Filter by inbound or outbound, and by industry
  • Keep a private template for your organization, build one in a five-step wizard, or clone a live agent

VOICE LAB

Browse · Audition · Clone · Assign

Explore+ Clone
LanguageAccentProviderGender
AA

Aaden

Friendly American middle-aged male.

▶
MaleEnglish
AR

Aarti

Warm low-latency voice for live calls.

▶
FemaleHindi +1
PK

Palak

Clear, consultative sales tone.

▶
FemaleEnglish
MR

Meera

Native regional dialect specialist.

▶
FemaleTamil
RH

Rohan

Calm collections specialist, firm but fair.

▶
MaleEnglish
SF

Sofia

Bright hospitality concierge voice.

▶
FemaleSpanish

Clone Your Voice

Upload 15–30s of clean speech. Clones stay private to your organization.

♫

brand-ambassador.m4a

22s · ready to clone

Clone ›

Voice Lab

Choose how it sounds, how fast it talks, and what it does when the line goes quiet.

  • Audition a voice, clone one from an upload or a recording, or register a voice you already own
  • Background noise, filler words, a breathing sound, and eagerness: slow, balanced, or fast
  • After silence, a pulse check — then hang up if the caller stays idle

KNOWLEDGE BASE

Ingest · Clean · Embed · Retrieve

FastDeep FAQ
Website
PDF + OCR
Word
Paste

Clean

Normalize

Embed

Vectors

Retrieve

On-call

ON-CALL RETRIEVE

—

Caller · What's your return window on unused items?

CITED · return-policy.pdf

Unused items can be returned within 30 days of delivery with original packaging.

  • Paste

    pricing-faq.md

    Queued
  • PDF

    return-policy.pdf

    Queued
  • Web

    docs.company.com

    Queued
Compiling index

Knowledge Base

Your docs, policies, and site become answers on the call, shared across agents.

  • Text, PDF, Word, and a URL. Text is stored immediately; files and pages are read in the background
  • Pick fast or slow when you create the base. That choice stays
  • Attach one base to more than one agent. Detaching it does not throw the answers away

PLATFORM

Humanise

How it sounds when the line is live.

FILLER WORDS

Acknowledge · Mask · Continue

Caller is speaking…

CALLER

Reschedule my dental visit to Tuesday…

···

AGENT

Checking the schedule for you…

0:00
Lookup masked
Got itUh-huhHaanjiSure

Filler Words

Active-listening cues and conversational affirmations—Got it, Uh-huh, Haanji—so agents nod in real time, mask tool latency, and never leave callers in dead air.

  • Backchanneling that signals the agent is hearing you, not hanging
  • Sub-second latency masking before CRM, calendar, or KB lookups
  • Master toggle, 0–1 frequency, and custom multilingual filler tags

BACKGROUND AMBIENCE

Layer · Mix · Stay Clear

Office under the voice — outbound only, so speech-to-text stays clean.

  • Office

  • Support floor

  • Quiet room

  • No Noise

VOICE

Office

Background Ambience

Background noise and a breathing sound sit under the voice, so the line does not sound like a silent booth.

  • Office or room tone, plus a breathing sound when you want the agent to feel present
  • Turn it off when the call should be quiet
  • The mix stays under the voice — it does not replace what the agent says

EAGERNESS TO SPEAK

Wait · Detect · Take the Floor

Caller is speaking — the gauge fills only after silence hits the threshold.

0ms

Balanced

FastBalancedSlow

My account number is 4-5-8…

Eagerness to Speak

Choose how fast it talks: slow, balanced, or fast. Idle handling is separate, and concrete.

  • Slow, balanced, or fast — how quickly the agent takes the turn
  • After silence, a pulse check. If the caller stays idle, the agent hangs up
  • Tone is not its own slider. It comes from the prompt plus these controls

EMOTION & MOOD

Sense · Soften · Resolve

Caller sounds furious, but the agent replies with the wrong tone.

Caller · You charged me twice — fix this now!

“Hope you’re having a wonderful sunny day!”

Wrong tone for this caller

CALL ARC

Negative

Emotion & Mood

Emotion follows the conversation. It is not a tone slider sitting next to the voice.

  • Tags shift with the caller, from the prompt and the turn — not from a single mood dial
  • The voice you assigned in Voice Lab is what they hear
  • Eagerness and idle handling stay their own controls

NATURAL BARGE-IN

Hear · Cut · Pivot

Both sides stream at once — the agent can hear while speaking.

AGENT · OUT

Our office hours are Monday through Friday from nine…

FULL DUPLEX

CALLER · IN

Idle

…

Waiting for a real interrupt…

Natural Barge-in

Full-duplex interruption handling—callers can cut in mid-sentence, the agent flushes audio in under 150ms, and pivots without steamrolling or clunky apologies.

  • Sub-150ms playback flush with LLM cognitive pivot on new intent
  • Filters coughs, noise, and passive uh-huhs from real “wait / stop” interrupts
  • Interruptible greetings when callers already know what they need—or protected ones for disclosures

NATURAL CODE-MIX

Detect · Blend · Stay Native

Caller mixes Hindi and English in one sentence — no language menu.

EN termRegionalBlend

CALLER

Merapaymentcompleteho gaya,lekinconfirmation mailnahi aaya.

AGENT

…

KEEP IN ENGLISH

Video KYCInvoiceCredit LimitService Slot

Natural Code-mix

Speak and understand the way people actually talk—Hinglish, Tenglish, and other blends that switch mid-sentence, keep English jargon intact, and never force Press 1 for English.

  • Mid-turn switches with colloquial grammar—not stiff textbook translations
  • STT auto-detect plus Voice Lab TTS that pronounce both languages natively
  • Bilingual fillers and emotion stay coherent across language shifts

PLATFORM

Connect

Act on the call, or start it from code.

INTEGRATIONS

Bridge · Act · Sync

Cal.com

Sheets

VAANI

WhatsApp

Transfer

—

Integrations

The agent can act on the call: book a time, message the caller, write the outcome, or hand the line to a person.

  • Cal.com availability and booking
  • WhatsApp follow-ups, and Google Sheets for the outcome of the call
  • Schedule a callback, end the call, transfer to a person, or transfer to another agent
  • The knowledge base you attached is what the agent retrieves while it talks

TOOLS

Intent · Execute · Speak

CALLER

Can you check delivery on order #9821?

check_order_statusGET · /orders/9821

“Got it, let me check that…”

···
status Out for deliverycourier BlueDarteta 2:30 PM

AGENT

Out for delivery with BlueDart — around 2:30 PM.

transfer_callbook_appointmentsend_whatsapphold_call

Tools

Built-in actions cover the common jobs. Anything else is an HTTP function you register with a name, a description, and an endpoint.

  • Cal.com, WhatsApp, Sheets, callback, end call, and both kinds of transfer
  • Custom tools run mid-call and the result is spoken back
  • Your own key for speech, the language model, and voice — yours only, yours with a platform fallback, or the platform key
  • A custom language model on your websocket is not billed as platform model usage

WEBHOOKS

Stream · Sign · Deliver

POST call_started

SIP dial

POST call_ringing

180 Ringing

POST user_picked_up_at

Audio open

POST call_ended

42s · BYE

POST call_postprocessing

Transcript · entities

YOUR BACKEND

/webhooks/vaani

Waiting for events…

X-Webhook-Signature

Webhooks

Each agent or campaign can stream the life of the call to your endpoint, with the events you choose and a secret you verify.

  • Per agent or per campaign — pick the event list
  • Signed so you can tell a real Vaani event from anything else
  • Includes the post-call payload: transcript, disposition, and extracted fields

API

One agent · Any channel

YOUR APP

Backend

X-API-Key

VAANI

Phone

PSTN / SIP

In-app

WebRTC

Ready

API

A developer can start the same agent without the studio. Trigger a call with an agent id, a number, and metadata.

  • Phone call or in-browser session, against api.vaanivoice.ai
  • Pass variables in metadata, and override the voice or caller ID for that call
  • Skip the DND check on purpose, or run in test mode without dialing
  • Speech, reasoning, and voice each have a primary and a fallback
API Reference

PLATFORM

Run

Dial only when the call is allowed.

TELEPHONY

Managed · BYOC · SIP

LINE

+91 98765 43210

Idle
Vaani ManagedWallet · Instant DID

Inbound

→ Support agent

Outbound

→ Campaign dial

CALL PROGRESS

Dialing
Trying
Ringing
Answered

Concurrent calls

0 / 50

Warm transfer

SIP REFER · Bridge

Stereo record

Caller · Agent

TRAI hoursDNDTLS SIPUDP / TCP

Telephony

Outbound calls and inbound numbers use the same agent. Bring a number you already have, or take one from a carrier Vaani already connects.

  • Numbers from Vobiz, Twilio, or Plivo
  • Or bring your own SIP number over UDP, TCP, or TLS
  • One agent on the way in and the way out

CAMPAIGNS

Upload · Dial · Convert

UploadScrubDialRetrySync

FIRST TURN

Namaste Priya, aapka EMI ₹12,400 due 25 Sep…

Q3 Renewal Reminders

Preparing

Leads

10k

Done

—

Connect

—

Progress0 / 10,000
10:00–18:0050 parallelRetry ×3 · 30m

41%

Confirmed

13%

Callback

22%

Busy

24%

No answer

Campaigns

Upload the list. Vaani dials only inside the window, skips DND, and retries the rest.

  • A CSV or a Google Sheet, with a pace you set and retries for contacts that fail
  • Pauses outside the daily window and the days you selected, then resumes when the window opens
  • India calling stays inside 08:00–20:00 IST, including on a single call from the API
  • DND is checked before dial. Test mode places the call without dialing

ORCHESTRATION

Gate · Loop · Fan-out

PythonC++
1

Trigger

Wallet · Agent · Slots · DND

2

Live loop

VAD → ASR → LLM → TTS

3

Fleet

Windows · Pacing · Retry

4

Fan-out

Audio · Eval · Webhook

Barge-in <150msRedis slotsStuck recovery

Orchestration

The same agent runs the live conversation: listen, answer from what you attached, act, then speak — while the campaign stays inside its rules.

  • DND and the calling window are checked before the line opens
  • Personalization from the list shows up in the first turn
  • Lifecycle email when the campaign moves, and a write-back of what the call extracted

RELIABILITY

Failover · Watch · Heal

Primary

SIP trunk A

Standby

→

Fallback

SIP trunk B

Standby

AGENT WORKER

Primary container

Healthy

WATCHDOGS

Idle air

Reprompt

Stuck LLM

Filler mask

Duration

Hard cap

Standing by

15-min sweeperRedis rollbackDurable audio

Reliability

A call that sticks, or a carrier that fails, should not stall the list behind it.

  • Calls stuck in progress for more than 15 minutes are recovered
  • Speech, reasoning, and voice can fail over so one provider does not end the call
  • Warm and cold transfer show up in call history, including the transfer leg

PLATFORM

Improve

Hear it first. Then read the call.

TESTING

Web · Phone · Chat

Web

WebRTC · $0

Phone

Live PSTN

Chat

Silent debug

BROWSER MIC

Ready

Listening · Thinking · Speaking

MOCK VARIABLES

{{name}} Rahul{{balance}} ₹12,450{{due}} Tomorrow
Webhook simVoice LabKB retrieve

Browser test

Talk to the agent in the browser, by chat or audio, with a live transcript, before you publish.

  • Chat or audio, in the studio, before the agent is on a real number
  • The transcript stays with the session so you can see what it heard
  • The API can run the same agent in test mode without dialing

ANALYTICS

Contain · Convert · Observe

81%

Containment

68%

Connect

48s

AHT

DURATION MIX

<10s
10–30s
30s–1m
1–3m
>3m

78%

Appointments

62%

Payments

84%

Qualified

STT 118msTTFT 240msTTS 165ms
Turn 523ms

After the call

Read what the agent extracted from real calls — the disposition, and the fields the template defined.

  • Disposition is scored after the conversation, not guessed on a slide
  • Extracted fields follow the template: the questions you already decided to keep
  • Transcripts stay attached so you can check the score against what was said

PLATFORM

Scale

Publish a version. Keep the campaign moving.

CONCURRENCY

Reserve · Cap · Pace

ACTIVE SLOTS

0 / 50

Standing by
Hard cap 50Grace 55

0

Inbound

0

Outbound

0

Transfer

API / Inbound

Priority queue

Campaigns

Throttle dialer

Redis LuaTTL cleanupParent · Child

Concurrency

Publish a version. If a call worker dies, the line frees itself and the campaign keeps going.

  • Each live call holds a slot and renews it while the agent is up
  • If the worker dies, the slot frees itself and the dialer continues
  • Each campaign keeps its own pace, separate from the rest of the account

FALLBACKS

Fail · Step · Continue

1

Model

Primary → Fallback AI

2

Trunk

Carrier A → Carrier B

3

CLI

5-level number cascade

4

Worker

Standby HA pod

5

Guard

Filler · Reprompt · Transfer

6

Curfew

Queue → 08:00 dial

7

Docs

Text → OCR

Standing by

Fallbacks

Speech, reasoning, and voice each have a fallback, so one provider failing does not end the call.

  • A primary and a fallback for speech-to-text, the language model, and the voice
  • Your own key can stand alone, fall back to the platform, or stay on the platform key
  • Warm and cold transfer remain visible in the call, including the transfer leg

VERSIONS

Tinker · Switch · Roll back

Editing draft…

AGENT

Support Concierge

Live build: v3 · Current

v3

Live

Prompt · Voice · Tools

  • Softer greeting
  • New transfer rule

v2

Previous

Last stable publish

  • Original opener
  • Strict transfer

WHAT CHANGED

+ Greeting warmed for Hinglish

~ Transfer threshold lowered

Keep currentSwitch to previous

Versions

The live agent does not change on every keystroke. You publish a version, and you can go back.

  • Published versus edited, so a draft stays a draft
  • Revert to an earlier version after a prompt, voice, or tool change
  • Export and import the config as JSON