Skip to main content

Multilingual Auto-Switch

The Multilingual Auto-Switch tool detects when a caller speaks a different language and automatically switches the agent’s TTS voice and STT model mid-call. The agent continues the conversation seamlessly in the new language.

Automatic language following

When your agent’s speech-to-text language is set to auto-detect (for example Sarvam Saaras, or any transcriber set to “multi”), the agent follows the caller’s language on its own — no tool, no configuration:
  • It detects the language of each caller message and replies in that same language.
  • It handles mid-call switches turn by turn — a caller can open in English, move to Hindi, and switch back, and the agent keeps up every time.
  • It mirrors code-mixing. A caller speaking Hinglish (Hindi and English blended in one sentence) — or Tanglish, Tenglish, and similar mixes — gets a reply in the same mixed style, rather than being pushed into one pure language.
  • Hindi and Marathi are told apart correctly even though they share the Devanagari script, so the agent answers in the language the caller actually spoke.
This runs on the agent’s existing voice. Use the Multilingual Auto-Switch tool below only when you also want a different voice per language — for example, a dedicated Spanish voice for Spanish callers.

How It Works

Configuration

Language Voice Map Entry

Each entry in languageVoiceMap configures the voice for that language:

LLM Tool

Tool name: switch_language
When called, the tool:
  1. Looks up the language in languageVoiceMap
  2. Creates a new TTS instance with the target voice
  3. Updates the STT language
  4. Swaps the agent’s TTS mid-session via session.update_agent()

Supported Languages

Any language supported by your TTS/STT providers. Common combinations:

Example — Create Multilingual Agent