Skip to main content

What these features add

By default, the Halo widget supports text chat. With a few extra toggles, you can also offer:
  • Voice mode — the user speaks, the AI listens (speech-to-text), responds, and reads its reply aloud (text-to-speech) via ElevenLabs.
  • Live Help — a real-time video avatar via HeyGen. The user sees a streaming person responding in real time with synchronized voice and facial animation.
Both features turn on per agent and surface as buttons on the widget header next to the regular chat icon.

When to enable each

FeatureBest for
Voice modeMobile users, accessibility, hands-free tasks. Lower friction than typing.
Live HelpHigh-touch onboarding, sales demos, executive support, breakthrough moments where presence matters.
You don’t have to enable both. Many workspaces ship with chat-only and add voice or Live Help as their support model evolves.

Voice mode setup

  1. AI Agents > [Your Agent] > Configure
  2. Scroll to Widget Modes and toggle Voice on.
  3. Configure the voice in the Voice section:
    • Voice ID — pick from ElevenLabs library
    • Modeleleven_multilingual_v2, eleven_monolingual_v1, or eleven_turbo_v2 (turbo is fastest)
    • Stability, Similarity, Style — fine-tune the voice character
  4. Use the Preview button to hear your settings before saving.
  5. Save the agent.
Voice mode now appears as a microphone button on the widget header. When users click it, the widget requests microphone access and starts a voice conversation.

Microphone permissions

Browsers require user permission to access the microphone. Halo requests this on the first voice interaction. Two configurations on your site can block it:
  • Permissions-Policy header — must allow microphone=(self). If your header has microphone=(), voice mode breaks.
  • iframe allow attribute — if you embed Halo inside an iframe, add allow="microphone".
See the Web Widget Installation page for details.

Live Help setup

Live Help streams a real-time video avatar via HeyGen. It requires more setup than voice but delivers a much more immersive experience.
  1. AI Agents > [Your Agent] > Configure
  2. Toggle Live Help on under Widget Modes.
  3. In the Live Help section:
    • Avatar — search the HeyGen avatar library and pick one.
    • Live Help label — what the button says (default “Live Help”).
    • Video display modemodal (full-screen overlay) or inline (in the widget panel).
  4. Save the agent.
Live Help also uses your voice configuration for the avatar’s spoken voice — set up voice first.

CSP requirements

Live Help streams real-time video and audio through HeyGen and LiveKit. If your site has a Content Security Policy, you’ll need to allow these domains:
connect-src https://api.haloagents.ai https://*.heygen.com wss://*.heygen.com https://*.livekit.cloud wss://*.livekit.cloud;
script-src https://cdn.haloagents.ai;
See CSP Configuration for the full setup.

How users experience it

When voice or Live Help are enabled, the widget shows mode-switcher buttons in the header:
  • Chat icon — regular text chat
  • Microphone icon — voice mode
  • Headset icon — Live Help
Users can switch between modes mid-conversation. The agent maintains context — switching modes doesn’t reset the conversation. In voice mode, the agent uses a spoken-mode system prompt addition that tells it to keep responses short and conversational (since users have to listen, not skim). Suggested messages and other UI elements are hidden in voice and Live Help modes.

Custom default mode

You can set the default mode the widget opens in via the SDK:
HaloAgents.init({
  orgId: "your-org-id",
  defaultMode: "chat", // "chat" | "voice" | "livehelp" | "custom"
});
Most teams leave this as "chat" and let users switch.

Where to go next

Channels

See how voice and Live Help fit into the chat widget channel.

Web Widget Installation

CSP and Permissions-Policy requirements for voice and Live Help.