Voice Setup
View as MarkdownConnect LiveKit and a speech provider to turn on real-time voice for your agents.
Voice needs two separate things connected before an agent can hold a spoken conversation: a transport (LiveKit) and at least one speech provider (Deepgram or ElevenLabs). Both live under Settings → Voice.
1. Connect LiveKit (transport)
LiveKit carries the actual audio between your browser and the agent. Enter your LiveKit project URL, API key, and API secret, then save. This is an install-wide setting: one LiveKit project serves every organization on this install, not one per organization.
2. Connect a speech provider (per organization)
Transcription and spoken replies are configured separately, and can use different vendors:
- Deepgram: transcribes English, Spanish, French, and Mandarin; speaks English, Spanish, and French.
- ElevenLabs: transcribes and speaks all four.
Add the provider's API key for each role you want to enable. You don't need both roles: voice works with transcription alone. See Voice for what that looks like from the chat.
3. Test before you rely on it
Use Test connection before saving a new or changed credential. It probes the exact configuration you're about to save, not whatever is already stored, so a bad key doesn't get committed on top of a live install and interrupt anyone already in a voice session.
4. Vendor training opt-out
Both supported vendors let you opt out of having them train on your organization's audio, on by default. Some vendors only honor this on paid vendor plans: run Test connection after enabling it to confirm the vendor actually accepted the setting.
Starting a session
Once transport and at least a transcription provider are connected, a microphone control appears in the agent conversation view. If it doesn't, check Settings → Voice for which piece is still missing. See Voice Not Available for what each specific gap means.
Related
- Voice: what a voice conversation looks and behaves like
- Voice Not Available: fixing a missing or disabled microphone control
- Security: how provider credentials are stored and scoped