Skip to content
HeartBeatAgents

Voice Setup

View as Markdown

Connect 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.

  • 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