Sign In

Voice Assistant

The Voice Assistant lets visitors talk to your chat agent in real time instead of typing. When you enable voice on an agent, the embedded widget gains a microphone button — tap it and the visitor is in a live, spoken conversation with the same agent, backed by the same knowledge base and the same human-handoff option.

Voice configuration

Enable voice and test it in the real widget

Open Voice and enable conversations

Voice lives inside the agent Playground. Turn it on to let the same agent support real-time speech.

Test the microphone before embedding

Use the live widget preview and its microphone control to verify the visitor experience.

Overview

Voice is a per-agent capability layered on top of Chat Agents. It covers visitors talking through the widget microphone; to have the same agent answer an actual phone number, see Phone Calls. It uses LiveKit for the real-time audio connection and OpenAI Realtime for speech understanding and generation. The agent keeps everything it already has — its system prompt, its knowledge base, and (if enabled) human handoff — but now speaks and listens.

Voice and text share one conversation: a visitor can start by typing and switch to voice, and the spoken turns are added to the same transcript.

Why use it

  • Hands-free, natural support — visitors ask questions out loud and hear answers spoken back.
  • Same brain as text — voice answers from the same knowledge base, so nothing is duplicated.
  • Interruptible — visitors can talk over the agent (barge-in) and it stops to listen.
  • It ends the session itself — when the visitor says goodbye, the agent says goodbye back and closes the session rather than leaving an open, billing connection.
  • Live captions — what's said is transcribed on screen as the conversation goes.

Enabling voice

  1. Open the agent's Settings tab.
  2. In the Voice card, turn on Let visitors talk to this agent by voice.
  3. Save.

Once enabled and the agent is published, the widget shows a microphone button alongside the text input. No change to your embed snippet is needed.

Requires the voice worker. Voice depends on a real-time worker and the LiveKit/OpenAI integration being configured on the platform. If that infrastructure isn't running, the microphone button won't connect even though the toggle is on — text chat is unaffected.

The visitor experience

  1. The visitor taps the microphone button in the chat widget.
  2. The widget connects to a live audio session (you'll see a brief "Connecting…" state).
  3. An animated indicator shows whether the agent is listening or speaking.
  4. The visitor speaks naturally; live captions appear, and the agent replies out loud.
  5. The visitor can interrupt at any time, mute their mic, or end the call.

Finalized spoken turns are written into the same conversation transcript as text messages, so the history stays continuous across both modes.

How it works

  • Connection — when the visitor starts voice, the widget requests a short-lived session token and joins a dedicated, single-session audio room (one agent per visitor, so voices never cross).
  • Speech model — the spoken conversation is powered by OpenAI Realtime, with turn-taking handled by semantic voice activity detection and barge-in (the agent stops talking when the visitor speaks).
  • Knowledge base — rather than stuffing all context into the session up front, the voice agent looks up your knowledge base on demand while talking, keeping responses fast and grounded.
  • Handoff — if the agent has human handoff enabled, it can request a human during a voice call too. The microphone is hidden once a human takes over.

Limits & notes

  • Voice is off by default on every agent; enable it per agent.
  • The microphone button appears only when the agent is public and voice is enabled.
  • The voice connection is gated by your agent's allowed origins, just like text chat.
  • During an active human handoff, voice is paused and the visitor continues in text.

Best Practices

  • Keep the system prompt conversational. Voice answers are spoken — short, clear sentences sound better than long paragraphs.
  • Train the knowledge base well. Voice relies on the same sources as text; thin content makes for vague spoken answers.
  • Test with Try now. Preview the agent in the dashboard (it must be public) and exercise the mic before embedding.

Troubleshooting

IssueWhat to check
No microphone button in the widgetConfirm Voice is enabled in Settings and the agent is public.
Mic button shows an error / won't connectThe real-time voice worker/infrastructure may not be configured. Text chat still works.
Voice connects but agent is silentCheck the visitor allowed the browser microphone permission and isn't muted.
Spoken answers seem off-topicImprove the agent's knowledge sources — voice uses the same base.

Next Steps