Voice bot
A voice bot that holds the conversation.
A voice bot is software that talks with people by voice: it listens, works out what they mean and answers out loud. The name covers a wide range, from a phone menu that recognises a few spoken words to an AI voice agent that holds an open conversation and gets the job done.
VocalLabs builds the second kind, without code. You write the behaviour, pick the speech and language models, add the tools it may use, and the same voice bot answers on a phone number, in the browser or on a WhatsApp call.
No code · STT + LLM + TTS or one realtime model · Barge-in & DTMF · Phone, browser & WhatsApp calls · 20+ languages
- AI agent00:00
Hi, you have reached Lumen Broadband. I am the AI assistant. What can I do for you?
- Caller00:04
My internet keeps dropping, since yesterday.
- AI agent00:07
Sorry about that. Please key in your customer number, or just say it.
- System00:12
DTMF · 8 digits entered · account found
- AI agent00:14
Thanks. There is an outage in your area, and engineers expect it fixed by six this evening. I can text you when it is back, or
- Caller00:21
No, I work from home. I need someone to look at it today.
- System00:23
Barge-in · bot stopped speaking · handoff rule matched
- AI agent00:24
Understood. I am putting you through to a technician now, with your account and the outage details.
Touch-tone IVR, voice bot or AI voice agent.
The three terms are often used as if they were the same thing. They describe different amounts of understanding, and the difference decides what a caller can actually get done.
| Touch-tone IVR | Scripted voice bot | AI voice agent | |
|---|---|---|---|
| How the caller asks | Presses a key at each menu level | Says one of the words or phrases it expects | Says it in their own words |
| What it understands | Keypresses only | A fixed list of intents | Open speech, including two requests in one sentence |
| How it replies | Recorded prompts | Prompts written for each branch | Generated replies, in your tone, from your information |
| Getting things done | Recorded information, keypad payments | The lookups its flow was built for | Tools: lookups, bookings, updates and handoffs |
| Interruptions | The caller waits for the prompt to end | Often has to wait its turn | Barge-in: the caller can cut in mid-sentence |
| Changing it | Re-record prompts, rebuild the tree | Edit every branch the change touches | Edit the prompt, the FAQs or the tools |
| When it is stuck | Back to the main menu | Repeats the question, or transfers | Warm transfer with the transcript attached |
Category-level comparison. Vendors use “voice bot” for all three, so ask which one you are buying.
One turn, four steps, and what makes it hard.
Speaking is the easy part. A voice bot also has to stop when it is interrupted, take keypad input when that is quicker, and know when to hand over.
- 01Caller speaksOn a phone, in a browser or on WhatsApp.
- 02Speech to textWords transcribed as they are said.
- 03Model decidesAnswers, looks something up or hands off.
- 04Voice repliesSpoken back in the voice you chose.
- Barge-in
- The bot stops talking the moment the caller cuts in, and answers what they said.
- DTMF
- Keypad input alongside speech, for account numbers, PINs and callers who would rather press a key.
- Tools
- An HTTP request finds the account and the outage. Any HTTP endpoint can become a tool.
- Handoff
- Rules you write send the call to a person, with the conversation attached.
Why a voice bot has to answer fast.
People take turns quickly. Across ten languages, the average gap between one speaker finishing and the next starting is about 200 milliseconds. A bot that pauses much longer than that sounds broken, however good its answer. VocalStack Voice, the telephony layer under VocalLabs agents, publishes its own end-to-end figures against that bar.
- Human conversation, mean gap between turns
- 208 ms
- VocalStack Voice, median
- 247 ms
- VocalStack Voice, P95
- < 300 ms
VocalStack Voice figures are VocalLabs’ own, as published on the VocalStack Voice product page: end to end, phone to phone, measured at five capture points from the phone edge through ASR, LLM and TTS. Human figure: mean response offset across 10 languages, Stivers et al., PNAS 2009. · Source: Stivers et al., PNAS 2009
What is inside an AI voice bot.
Every AI voice bot is built from the same parts. On VocalLabs you choose each one on your own provider keys, or replace the middle of the chain with a single realtime model.
- 01Listen
Speech-to-text
Turns the caller’s audio into text while they are still speaking.
- 02Think
Language model
Reads the conversation and your instructions, then decides what to say or which tool to call. OpenAI, Gemini, xAI or OpenRouter.
- 03Speak
Text-to-speech
Speaks the reply in the voice you pick. Speech providers include Deepgram, ElevenLabs, Soniox, Sarvam and Raya.
- 04Alternative
Realtime model
Or skip the chain: a single realtime model listens and speaks in one step.
- 05Knowledge
Answers in your words
FAQs the bot looks up mid-conversation and says the same way every time.
- 06Act
Tools and handoffs
HTTP requests, MCP servers, conditions and code steps, plus transfer to a person or another agent, or ending the call.
One voice bot, everywhere people talk.
The prompt and the tools do not change when the channel does.
Build a voice bot without code.
- 01
Describe the job
Write the system prompt: who the bot is, what it may do and when it must hand over. Or ask the Copilot to draft it and show you what it changed.
- 02
Pick the models
A speech pipeline you assemble yourself, or one realtime model, on your own provider accounts and at your own rates.
- 03
Add answers and tools
The FAQs it should answer word for word, HTTP and MCP tools for lookups and bookings, and the rules for handing over.
- 04
Test it in the browser
Talk to it from the dashboard, then read the transcript, tool calls and captured fields for that session.
- 05
Publish and connect
Assign the published bot to a phone number for inbound calls, place outbound calls from the dashboard or the API, or let people call it from the browser.






