Voice and live calls
Configure text, voice messages, real-time calls, and language behavior.
Configure text, voice messages, real-time calls, and language behavior.
Understand the three interaction modes#
| Mode | Visitor experience | Entitlement and usage |
|---|---|---|
| Text chat | Types a message and receives text | Always enabled; consumes normal AI credits |
| Voice messages | Records a message, waits for transcription/agent/TTS, receives a reply | Included on all plans; transcription, model, and speech work consume credits |
| Live real-time call | Holds a low-latency spoken conversation | Operate: 30 min/month; Scale: 90 min/month; Launch: unavailable; also charges credits up front for the configured call limit |
Text cannot be disabled. Voice-message and real-time toggles control which additional surfaces visitors may use. A saved real-time toggle does not override the workspace's plan entitlement or missing provider configuration.
Configure interaction behavior#
- Open the site's Agent page and find Voice.
- Keep Text chat on and choose Voice messages and/or Live real-time voice.
- If the agent has multiple languages, optionally enable live language mirroring.
- Set the per-call automatic limit.
- Select a stock voice.
- Save and test each enabled mode separately.
The call limit accepts 30 seconds through 20 minutes in 30-second steps; the default is 3 minutes. It ends an individual call and protects the monthly allowance, but it does not increase the plan's remaining live minutes.
Choose languages and a voice#
Agents can be configured for English, Korean, Uzbek, and Russian. The first language is primary. A single-language agent keeps answering in that language. A multilingual text agent mirrors the visitor when the visitor uses one of the configured languages.
For live calls, language mirroring is an explicit option shown only with two or more languages. When it is off, live calls use the primary language. Uzbek voice is currently best effort because provider speech coverage is less complete; test it with your exact provider and audience before launch.
Stock voices include English-first, multilingual, and Korean-native options. The language label describes the curated delivery, not a hard guarantee. Preview the chosen voice when the dashboard preview control is available, and always test names, abbreviations, currencies, phone numbers, and specialized terminology in the real visitor flow.
Provider keys and fallback#
Voice requires more than a model key:
- Speech-to-text uses the platform's configured transcription provider.
- Voice messages and connector audio replies need the configured text-to-speech provider.
- Real-time calls need the configured real-time provider and a plan allowance.
Platform-managed voice uses the platform’s configured providers; you do not need a key. Scale owners can optionally add a Speko key for transcription and voice synthesis under Settings → AI provider keys and follow Provider keys. Live calls are always billed at the platform rate. A successful text chat proves only the model path; it does not prove transcription, speech synthesis, media upload, or real-time session minting.
Speech routing and fallback#
Choose a model under Voice models for transcription, voice synthesis, and live calls. Each choice identifies the model and its creator; Auto lets us choose. Hosting and routing are managed by Make Agent Fast, so there is no separate platform choice. The exact stock voice can vary with the selected model.
If a voice service is unavailable, an available backup may be used. If speech fails, the text remains available.
Live calls stream native audio from the selected live provider using its built-in voice. Knowledge retrieval, language rules, interruption, live-minute allowances, and upfront call charges still apply. Live replies do not make an additional TTS request.
Test voice messages#
Use a real embed or the Agent link, not only an owner preview. Grant microphone access, record a short question, and confirm the transcript meaning plus spoken/text response. Then test:
- quiet and noisy environments;
- mobile Safari and Chrome where relevant;
- a long question near the 25 MB public audio cap;
- denied microphone permission;
- unsupported or low-quality audio;
- each configured language.
For embedded sites, the parent CSP and Permissions Policy must allow microphone use. See Security and CSP.
Live talk on the platform vs on the published site#
Live talk uses the same call controls in two places:
| Surface | Where | Look | Counts as activation? |
|---|---|---|---|
| Agent studio canvas | The live widget beside the tabs on the Agent page | The visitor widget look, shown in the dashboard | No — owner tests never activate |
| Published site and embed | embed.js iframe, the widget on the Agent link, and any leftover hosted demo page | Tenant / widget look | Yes — a visitor call is a real conversation |
The canvas beside the Display tab shows the same visitor look. Test a real embed before launch; a successful dashboard test does not prove the embed microphone permission, host-page CSP, or activation.
Use website under Agent theme on the Display tab follows the visitor’s light or dark mode on the host page and embed. A fixed Light or Dark pins both chat and live call. See Look.
Test live calls#
Confirm the plan has unused live minutes, the site is accessible, and the real-time provider key validates. Begin with a short call, interrupt the agent, switch languages only when mirroring is enabled, and allow the configured call limit to end one test session. Repeat one call on a real embed, not only the Agent page canvas.
Live minutes are a separate monthly entitlement from normal credits. Issuing the live token charges credits for the server-authorized maximum duration and reserves that duration against the monthly live allowance. Because media flows directly between the browser and provider, a shorter client-reported call cannot be verified and unused time is not partially refunded after token delivery. Server-side token-mint failures are released; abandoned sessions are charged at their authorized limit. End tests cleanly and use the configured call limit when forecasting. See Credits and usage.
Live voice actions#
Agent → Actions → Live call actions (Let the agent take actions during live calls) controls tool use during live calls, which run on Gemini 3.8 Live in every language. It defaults on (voice.liveActions); turning it off leaves knowledge grounding available. The live-voice plan, provider and access requirements still apply.
Calls can show lookup results, choices, change proposals, calendar slots/bookings, follow-up watches and human handoff. Business changes, bookings and watches require the on-screen card buttons; spoken or typed “yes” never confirms a write. A watch also needs on-screen email consent. Cards and tool results stay in the conversation history. Page actions and your own MCP tools are not in the live subset. Call billing stays reserve-only, with no refund for unused call time after token delivery.
Test both the spoken result and the on-screen confirmation before customer use. See Follow-ups and Change actions.
Disclosure and safety#
Tell callers they are interacting with AI and synthetic speech. Define how recordings, transcripts, and downstream provider data are retained and deleted.
Troubleshooting#
| Symptom | Check |
|---|---|
| Text works but voice controls fail | Transcription/TTS/realtime provider keys, feature toggle, plan, credit balance, and browser permission |
| Recording cannot start | HTTPS, microphone permission, device input, embed Permissions Policy, and browser support |
| Transcript is inaccurate | Audio quality, chosen language set, accent/terminology, and transcription-provider coverage |
| Spoken reply sounds wrong | Selected voice, source text, punctuation, language label, and provider availability |
| Live call ends immediately | Remaining minutes, per-call limit, provider key, network, and concurrent session state |
Treat voice as a separate launch surface: text acceptance tests are necessary but not sufficient.