Skip to main content
Multilingual agents detect the caller’s language, switch languages mid-conversation, and use language-appropriate voices and knowledge. This page covers how to maintain these capabilities.

Quick reference

I need to…Action
Add a new languageAdd a voice in the target language from the Voice Library
Update language-specific knowledgeEdit topics with language variants
Change voice for a languageChannels > Voice > Agent Voice → Change
Fix a translation issueEdit the language-specific response in the topic
Test language switchingAgent Chat → switch language mid-call

Adding or removing languages

Adding a new language

  1. Go to Channels > Voice > Agent Voice
  2. Click Change and use the Language filter to find voices in your target language
  3. Select and apply a voice
  4. Add language-specific knowledge (see below)
  5. Update behavior rules for the new language
  6. Test in Agent Chat, then publish
Use a multilingual voice model (such as ElevenLabs multilingual or Cartesia sonic) for proper pronunciation across languages. See voice classes for available providers.

Removing a language

Remove the voice for that language in Channels > Voice > Agent Voice, then update any language-specific knowledge and functions. The agent will fall back to the default language for callers speaking the removed language.

Language-specific knowledge

Managed Topics with language variants

  1. Go to Build > Knowledge > Managed Topics
  2. Create or edit a topic
  3. Add language variants for each supported language with translated or culturally-appropriate content
  4. Save and test

Connected Knowledge per language

Add separate sources per language:
  • URL sources — add the language-specific version of your website
  • File sources — upload language-specific documents
  • Integration sources — configure APIs to return language-specific data

Shared vs. language-specific knowledge

Use shared knowledge when…Use language-specific knowledge when…
Information is universal (phone numbers, addresses)Content needs translation
Data is language-agnostic (product IDs, prices)Cultural context matters
Maintaining multiple versions is impracticalLocal regulations differ by region

Updating voices per language

  • Use native voices — don’t use an English voice for Spanish
  • Match regional accents — Mexican Spanish for Mexico, Castilian for Spain
  • Test pronunciation of language-specific characters
  • Multilingual TTS models are convenient but may have slightly lower quality than language-specific models

Language detection and switching

By default, the agent detects the caller’s language automatically via ASR and responds in that language. If detection is too aggressive or not sensitive enough, adjust via behavior rules — for example, instruct the agent to only switch after the caller has spoken consistently in a different language for multiple turns. For explicit selection, create a Managed Topic that lets callers choose their language and use a function to set it:
def set_language(language_code):
    conv.set_language(language_code)
    return {"utterance": f"Switching to {language_code}."}

Language-specific functions

Access the current language in functions with conv.language:
def dynamic_response():
    if conv.language == "es":
        return {"utterance": "Respuesta en español"}
    return {"utterance": "Response in English"}

Fixing translation issues

IssueSolution
Awkward phrasingRewrite for natural language (localize, don’t just translate)
Cultural mismatchesUse culturally-appropriate equivalents for idioms
Incorrect terminologyUse domain-specific terms with a glossary
Formatting issuesLocalize date/time/number formats per language
For bulk translation updates, export Managed Topics as CSV, send to professional translators with context and a domain glossary, then import the translated CSV.

Testing

  1. Open Agent Chat and select a language
  2. Verify the agent responds correctly
  3. Switch languages mid-conversation and confirm detection works
  4. Test with native speakers for naturalness and cultural appropriateness

Maintenance checklist

  • Monthly: Audit content parity across languages
  • Quarterly: Review voices for naturalness
  • Ongoing: Update all languages together — don’t let translations lag behind
Last modified on March 26, 2026