Platform

Building AI Voice Agents

Everything you need to create, configure, and deploy AI agents that make real phone calls. 24 languages worldwide.

Introduction

An AI Voice Agent on Vaaad AI is a configurable voice assistant that can make outbound calls or answer inbound calls on your behalf. Each agent has its own personality, script, language, voice, and optional knowledge base. Agents can handle thousands of conversations at the same time, across 24 languages.

This guide walks you through creating your first agent, writing a good system prompt, personalizing calls with variables, designing a call flow, linking a Knowledge Base, and going live.

Video walkthrough: Building your first agent

Creating Your First Agent

Head to the Agents page in your dashboard and click + New Agent. A slide-out panel opens with every configuration option.

  1. Agent Name: an internal label like “Vaaad Sales Bot”. Customers never see this.
  2. Description: a quick note for your team about what this agent does.
  3. Active toggle: keep it off until you have tested. Only active agents can receive calls.

Writing the Perfect System Prompt

The System Prompt is the most important field. It is the instruction manual for your agent, telling it who it is, what it does, and how to behave. A well written prompt is the difference between an agent that feels human and one that feels robotic.

Structure of a great prompt

We recommend breaking your prompt into clear sections:

# IDENTITY
You are a friendly, professional real estate assistant
named Vaaad, calling on behalf of Aditya Realty.

# OBJECTIVE
Qualify leads by asking 4 questions:
1. Are they buying or renting?
2. What's their budget range?
3. Preferred location?
4. Timeline to move?

# STYLE
- Warm, conversational, never pushy
- Use "aapka" (formal Hindi) not "tumhara"
- Keep each response under 20 seconds
- Acknowledge what the user says before responding

# RULES
- Never discuss price directly on the call
- If asked for specifics, say: "Our team will follow up
  with details via WhatsApp"
- If the user asks to stop, end the call politely
💡
Pro tip: Start with a short prompt and iterate based on real call recordings. Don't try to cover every edge case upfront. Listen to how your agent actually performs and refine from there.

What makes a prompt bad

  • Too long. Prompts over 4000 characters slow down response time.
  • Contradictions. “Be formal” plus “Be casual and friendly” confuses the model.
  • No identity. The agent doesn't know its own name or company.
  • Missing objective. The agent rambles instead of driving the conversation.

Initial Greeting

The Initial Greeting is the first thing your agent says when the call connects. Keep it under 8 seconds and include three things:

  1. Who is calling (name and company)
  2. Why they're calling (one-line context)
  3. A soft question or pause for the user to respond
Namaste {{name}}, main Vaaad hoon, Aditya Realty se. Aapne {{interest}} ke baare mein enquiry ki thi. Kya abhi 2 minute baat ho sakti hai?

Notice the {{name}} and {{interest}} placeholders. Those get replaced with real values per call. See the next section for how that works.

Variables: Personalizing Every Call

Variables let your agent say “Hello Rahul, regarding your Honda Activa” instead of a generic “Hello there”. They work just like Mailchimp merge tags. Write {{variable_name}} anywhere in your system prompt or greeting and it gets substituted with the contact's value at call time.

Built-in variables

Every contact automatically exposes these. No setup needed:

PlaceholderValue
{{name}}Contact's full name
{{phone}}Contact's phone number
{{email}}Contact's email (if set)
{{company}}Contact's company (if set)

Custom variables

You can attach any other key-value pair to a contact. There are three ways:

  1. CSV upload. Any column beyond name, phone, email, company, tags automatically becomes a variable. A column called “Order ID” becomes {{order_id}}. See Contacts for details.
  2. Single-contact editor. Open any contact in the dashboard and use the Custom Variables section to add key/value pairs by hand.
  3. API. POST or PATCH /api/contacts with a variables JSON object.

Agent-level defaults

When a variable is used in your prompt but the contact doesn't have a value for it, the agent falls back to the Default you set in the agent's Variables panel (under Conversation, right below Initial Greeting). The panel auto-detects every {{var}} in your prompt and greeting, then gives you an input field for each one.

🔄
Priority order: contact's custom variables, then contact's built-in fields (name, phone, email, company), then agent defaults, then a literal {{var}} left visible if nothing matches. So renaming a contact instantly updates what the agent says next time you call them.

One-off calls without a contact

Calls made by typing a raw phone number (no contact linked) only have access to agent defaults. The New Call modal auto-links to a saved contact when the number matches, so for personalized calls just save the contact first.

Language and Voice

Vaaad AI supports 24 languages through a single unified engine — Vaaad Voice Auto. Pick your language from the dropdown and choose a voice. The engine handles Indian languages, international languages, and code-switching automatically, with no manual tier selection needed.

LanguageRegion
HindiIndia
HinglishIndia — Hindi + English code-mix
TamilIndia
TeluguIndia
KannadaIndia
MalayalamIndia
BengaliIndia
GujaratiIndia
MarathiIndia
PunjabiIndia
EnglishUS / UK / India / Global
SpanishLatin America / Spain
FrenchFrance / Canada
GermanDACH
ItalianItaly
PortugueseBrazil / Portugal
DutchNetherlands / Belgium
PolishPoland
RussianRussia / CIS
Chinese (Mandarin)China / Taiwan
JapaneseJapan
KoreanSouth Korea
ArabicMENA
HebrewIsrael
💡
Hinglish is the sweet spot for most Indian business calls. It sounds exactly how real people talk, mixing Hindi and English naturally, and consistently outperforms pure Hindi or pure English in connection rates.

Voices

Vaaad Voice Auto includes a set of prebuilt voices that work naturally across all 24 languages: Aoede, Puck, Charon, Fenrir, Kore. Pick the one that fits your brand tone. You can switch voices anytime — the next call uses the new voice.

Designing a Call Flow

Most effective agents follow a simple 5-step flow. Build your prompt around this structure:

  1. Open. Greet plus state reason for call. Use {{name}}.
  2. Permission. “Is this a good time?” (respects the user)
  3. Qualify. 3 to 5 questions to understand the need.
  4. Value. Share the relevant info or offer.
  5. Close. Confirm next step (WhatsApp follow-up, meeting, callback).

Linking a Knowledge Base

If your agent needs to answer specific factual questions like product details, pricing, policies, or addresses, attach a Knowledge Base document. The agent will only pull answers from your documents, never make things up.

How to link:

  1. Go to the Knowledge Base page and upload your docs (PDF, DOCX, TXT)
  2. Open your agent in the Agents page
  3. Scroll to Knowledge Base and check the docs to link
  4. Save. The agent will now use RAG to retrieve relevant info during calls.
🔗
KB docs are shared across agents. Upload once, attach to multiple agents. Any doc you update is reflected everywhere it's linked.

Human Handoff

If the user asks to speak to a human (“transfer me”, “insaan se baat karao”), your agent can warm-transfer the call to a real person. Configure this in the agent settings:

  • Transfer Number. The human's phone number, with country code.
  • Trigger Phrase. Optional custom phrase. The agent auto-detects common transfer requests in multiple languages even without a custom phrase.

When triggered, the agent says “I'm connecting you to our team” and dials the human in 2 to 3 seconds.

Testing Your Agent

Before running a campaign, always test with your own number:

  1. Make your agent active
  2. Click New Call from any page
  3. Start typing your phone number. If you are already saved as a contact, a suggestion will appear. Click it to link the contact (so variables get substituted). Or just type a raw number for a non-personalized test.
  4. Pick your agent from the dropdown, click Start Call
  5. Answer the call and run through every branch of your script
  6. Review the recording, transcript, and Analysis (sentiment, summary, outcome, goal) in the Calls page

Iterate until it feels natural. Most good agents take 3 to 5 iterations on the system prompt before they're launch-ready.

Going Live

Once tested, your agent can be used for:

  • One-off calls. Via the New Call button anywhere in the dashboard. Picks the matching contact automatically.
  • Campaigns. Upload a contact list and call thousands at once. See Call Campaigns.
  • Inbound. Assign a phone number to the agent for incoming calls. Works for both Indian numbers and international SIP-routed numbers.

Next: Manage contacts and variables →