Live voice conversations
Customers can talk to your chatbot out loud in the web chat. The bot answers in a voice as it writes, the customer can talk over it, and everything said stays in the chat and the inbox as text.
A customer presses Talk in the web chat widget and speaks with your chatbot, the way they would on a phone call. The microphone listens the whole time. When they stop talking, the bot answers out loud, and the conversation shows in the chat as text while it happens. The flow is the same one that answers typed messages: keyword triggers, intents, forms and AI nodes all answer what was said.
Live voice is for the web chat. WhatsApp, Telegram, Messenger, Instagram and Slack give bots no live audio, so customers there can send voice notes instead.
What the customer sees
- Talk sits beside the voice-note microphone while the message box is empty. The browser asks for the microphone the first time.
- Voice opens as a panel over the bottom of the chat. It shows whether the bot is listening, thinking or speaking, how long the conversation has run, and the customer's words as they are recognised.
- When the customer pauses, the bot answers. An AI answer starts playing as soon as its first sentence is written, and appears in the chat as it is written, with the sentence being spoken highlighted. If an answer takes more than a moment to start, the bot says something short first, like "One moment" or "Mm, let me check", so the customer knows they were heard.
- Talking over the bot stops it, and it listens again. It takes two words or more: a cough or a "mhm" doesn't interrupt, and a single word said over the end of an answer, like "yes", is answered once the bot finishes.
- Mute stops sending the microphone, End ends the conversation, and Type ends it and returns to the message box.
Everything said on both sides stays in the chat as text. What the customer said is marked Spoken.
Turn it on
Open the chatbot's Project settings, go to the Voice notes tab, and find Live voice conversations.
| Setting | What it does |
|---|---|
| Let customers talk to the bot | Shows Talk in your web chat. Off by default, because every minute is drawn from your plan's voice minutes. |
| Speech keys | Buni, with Buni's voice listens and speaks on Buni's keys. Your own Deepgram and voice keys uses your workspace's keys instead. See Who pays. |
| Longest conversation (minutes) | When a conversation ends on its own. 30 minutes unless you change it, and 60 at most. |
| Say a short acknowledgement while the bot works | On by default. When an answer is slow to start, the bot says something short and varied ("One moment", "Mm, let me check"), and after about 6 seconds, "Still on it, nearly there". In English, French, Spanish, Portuguese, German, Italian and Dutch; in other languages it stays quiet. |
| AI voice and Voice | Shown for your own keys. The voice the bot speaks in: ElevenLabs or Deepgram. On ElevenLabs' free plan, choose one of your account's voices: ElevenLabs only lets paid plans use Voice Library voices through the API, so a library voice would never speak. |
| API keys | Shown for your own keys. Your workspace's Deepgram key and voice key are used unless you pick other stored credentials here. |
These settings apply to the next conversation. There is nothing to republish. A chatbot published before live voice existed still answers live conversations, but republish it so AI answers are spoken while they are written, and so the inbox marks what was spoken.
The section says when Talk would stay hidden, and why: the plan has no voice minutes, usage is paused, or a key is missing.
When Talk shows
Talk shows only when all of these are true:
- Let customers talk to the bot is on.
- Your plan has voice minutes, or usage billing to pay for minutes past them. The free plan has none.
- Usage isn't paused.
- The keys are in place: Buni's keys need a paid plan, and your own keys need a Deepgram key and a key for the voice.
- The customer's browser can hold a conversation, and the page lets the chat use the microphone.
If you embed the chat in your own iframe, add allow="microphone" to it. The snippets in the embed manager include it.
When a conversation ends
| What happened | What the chat says |
|---|---|
| The customer pressed End or Type, or closed or minimised the chat | Voice ended after 1:42. |
| Nobody spoke for 90 seconds | Voice ended after 1:42. Nobody spoke for a while. |
| It reached Longest conversation | Voice ended after 30:00. That is the longest a voice conversation can run. |
| The connection dropped and didn't come back | Voice ended after 1:42. The connection dropped. |
An agent taking the chat ends live voice too, before the line saying they joined. A customer can't start live voice while a person is handling the chat. A dropped connection is reconnected once before the conversation ends, and so is a conversation on a server that is being restarted.
If the bot's voice stops working (the voice vendor refuses or is down), the conversation ends and says so, rather than going quiet. The answers are still in the chat as text. The same happens if speech recognition stops working, for example when the Deepgram key is refused: the chat says "Speech recognition stopped working" instead of listening to nothing.
Who pays
Live voice uses your plan's voice minutes, the same minutes as phone calls. Each conversation is counted by the second, from when it connects until it ends.
| Speech keys | What you pay |
|---|---|
| Buni | Voice minutes. Listening and speaking are included. Comes with paid plans. |
| Your own keys | Voice minutes, and Deepgram and your voice vendor bill you directly for the speech. |
Past your plan's minutes, conversations keep going at $0.02 a minute with usage billing on. Without it, no new conversation starts once the minutes are used up: a customer who presses Talk is told voice isn't available here, and can still type. Each conversation also takes one of your plan's calls at once while it runs. See Billing and usage.
Each thing the customer says also counts as a chatbot message, the same as a typed message, and an AI node uses tokens as it always does.
Live voice counts toward the voice minutes meter, with your calls. In the usage report it is listed under Chatbot as Live voice conversations.
Languages
Live voice conversations are recognised in the language set under Language customers speak on the Voice notes tab, when it is one of these: English, French, Spanish, German, Portuguese, Italian, Dutch, Hindi, Russian or Japanese. Otherwise, and on Detect automatically, they are recognised in English. For other languages, customers can send voice notes, which take any language in that list.
Testing in the canvas simulator
The canvas simulator shows Talk once the project has been published, so you can talk to your bot as you build. Simulator conversations don't use voice minutes, but Speech keys still applies: Buni's keys need a paid plan.
Branching on a spoken turn
{{requestAttributes.inputMode}} is voice for what the customer said in a live conversation, as it is for a voice note, and text for a typed message. Use it in a Router, for example to give shorter answers to spoken questions.
Answers spoken while they are written
An AI node's answer starts playing as soon as its first sentence is written when the node answers in plain words:
- it is the last node on its path, so its answer is the reply (an AI node whose answer a later node uses, such as a classifier before a Router, isn't spoken at all);
- it has no tools, exit conditions, UI components, response template or integration triggers;
- its output format is text;
- it runs on OpenAI, Groq, Mistral, Azure OpenAI, Anthropic, Google or Buni.
Any other answer, and text from other nodes such as a Message node, is spoken when the bot's turn is complete, a sentence at a time.
In the inbox
A live conversation appears in the inbox as text, like any conversation. What the customer said carries a Spoken label. There is no audio to play, because none is kept.
Privacy
- No audio is stored. The customer's voice goes to Deepgram to be transcribed, and the bot's answer goes to the voice vendor to be spoken, while the conversation happens.
- The words are kept in the conversation, like typed messages, and follow your organization's transcript retention. See Privacy and data.
Related
Voice notes
Chatbots answer the voice notes customers send on any channel. Each note is transcribed and answered like a typed message, can answer a form's file question, and can be answered in a voice. Agents can play it in the inbox.
USSD codes
Connect a USSD short code from your aggregator to a Buni.ai project, and record it on the Routes page.