Multilingual support agent

Configure transcription, a multilingual voice, and file-based support answers in English, Spanish, and French

Use sample customer records only. A knowledge-base lookup does not authenticate callers or enforce access to real customer accounts.

Overview

Build a support assistant for GlobalTech International that handles English, Spanish, and French. Configure multilingual transcription and one multilingual voice, then use a prompt to guide the assistant’s response language.

A Query tool retrieves information from uploaded files. In this demo, one Query tool searches three CSV files. You don’t need a custom server or a tool-calls webhook handler.

The files are a snapshot, not a live customer database or product catalog.

What you’ll build:

  • Multilingual transcription for English, Spanish, and French
  • One multilingual voice that automatically selects the synthesis language
  • Prompt-guided responses when callers change languages
  • A Vapi phone number for incoming support calls
  • A system prompt with language and tone instructions
  • One Query tool for customer records, product information, and support article summaries

Alternative Approach: For a more structured multilingual experience with explicit language selection, see our Squad-based multilingual support that guides customers through language selection and dedicated conversation paths.

Prerequisites

  • A Vapi account.
  • A Vapi private API key stored in the VAPI_API_KEY environment variable. Run API examples on your server or local machine, not in browser code.
  • Install @vapi-ai/server-sdk version 2.0.1 for TypeScript or the requests package for Python. The cURL model-update examples also use jq.

Each TypeScript and Python snippet includes its own imports and setup. Replace YOUR_ASSISTANT_ID and the file or tool ID placeholders with the IDs returned by earlier steps.

Scenario

GlobalTech International serves customers across North America, Europe, and Latin America. This example uses one assistant for all three languages, without a language-selection menu. Test transcription, spoken responses, and knowledge-base answers in each language before connecting callers.


1. Upload the sample files

The CSV files contain fictional example data for this tutorial. Do not call or email the sample customers.

2

Upload the files

  1. Navigate to Files in your Vapi Dashboard.
  2. Click Choose file and upload all three CSV files.
  3. Note the file IDs for use in creating the Query tool.

2. Create a Multilingual Assistant

2

Create a new assistant

  • Click Create Assistant.
  • Select Blank Template as your starting point.
  • Change assistant name to GlobalTech Support Agent.

3. Configure Multilingual Transcription

1

Set up automatic language detection

Use Deepgram nova-3 with language: "multi" for English, Spanish, and French. Nova-2 multilingual mode supports English and Spanish only. Choose one transcriber configuration below.

  1. In your assistant configuration, find the Transcriber section
  2. Provider: Select Deepgram (recommended for speed and accuracy)
  3. Model: Choose Nova 3
  4. Language: Select Multi (enables automatic language detection)
  5. Alternative: Use Google provider with Multilingual language setting

4. Configure Multilingual Voice Synthesis

1

Set up automatic language synthesis

  1. In the Voice section of your assistant, select Vapi.
  2. Choose a Vapi Voice.
  3. Set Version to 2.
  4. Leave the language unset, or set it to auto.

Voice fallbacks activate when synthesis fails. They do not select a different voice based on the detected language.


5. Configure System Prompt

1

Update the multilingual system prompt

Use this system prompt to choose the relevant knowledge base and answer from the returned data:

System Prompt
# GlobalTech International - Multilingual Support Agent
## Identity & Role
You are **Maria**, a multilingual customer support representative for GlobalTech International. You are fluent in English, Spanish, and French, and you help customers with product information, account support, and technical troubleshooting.
## Language Capabilities & Cultural Guidelines
### English (Primary)
- **Tone**: Direct, friendly, professional
- **Style**: Conversational but efficient
- **Approach**: Solution-focused, provide clear steps
### Spanish
- **Tone**: Warm, respectful, patient
- **Formality**: Use formal "usted" initially, then adapt to customer preference
- **Approach**: Take time to build rapport, be thorough in explanations
### French
- **Tone**: Polite, courteous, professional
- **Formality**: Use proper greeting conventions ("Bonjour/Bonsoir")
- **Approach**: Structured responses, respectful of formality
## Core Responsibilities
1. **Product Information**: Help customers understand our technology solutions
2. **Customer Records**: Look up sample customer profiles without changing accounts
3. **Support Articles**: Find relevant article titles and summaries
4. **Limits**: Explain when the sample data cannot answer a question. Transfers and callbacks are not configured.
## Language Behavior
- **Auto-detect**: Automatically respond in the customer's language
- **Language Switching**: If customer switches languages, switch with them seamlessly
- **Mixed Languages**: If customer uses multiple languages, respond in their primary language
- **Unsupported Languages**: If customer speaks another language, politely explain you support English, Spanish, and French
## Knowledge-base tool
Use defaultQueryTool before answering questions about customer records, products, or support articles.
Select the relevant knowledge base with knowledgeBaseNames:
- ["customers"]: Sample customer profiles. Ask for a customer_id, email, or phone number, then use only a matching returned record.
- ["products"]: Product names, descriptions, prices in USD, and availability from the sample catalog.
- ["support_articles"]: Article titles and content summaries. These are not full articles or step-by-step instructions.
Select more than one knowledge base if the caller's question needs multiple categories.
## Grounded answers and limits
Respond in the caller's current language. For products and articles, use the returned _en, _es, or _fr fields for English, Spanish, or French.
If the caller changes languages, keep the same factual answer and use the appropriate language fields.
If the caller changes the customer or product details, repeat the lookup and ignore results for the old request.
Use only returned facts. If a record is missing, ambiguous, or mismatched, ask for clarification instead of guessing.
If retrieval fails, explain the failure. Do not treat it as proof that a customer does not exist or a product is unavailable.
Do not invent article steps, URLs, customer history, or pricing terms that the files do not contain.
Matching a customer record does not verify identity or authorize access to real accounts.
The files are a snapshot. Do not claim to check live stock, change an account, reset a password, or complete a transfer.
Keep responses concise (under 50 words) while being thorough and helpful.

Then update your assistant. The API examples retrieve the existing model first so the prompt update preserves its other settings:

Copy the system prompt above and paste it into the System Prompt field in your assistant configuration.


6. Create and attach a Query tool

Create one Query tool with three knowledge bases. The assistant selects the relevant knowledge bases for each question. Vapi retrieves from the uploaded files, so you don’t need a custom tool-calls webhook handler.

The API examples use the default function name, defaultQueryTool. Use that name in the dashboard and in the system prompt from step 5. Replace the file ID placeholders with the IDs from step 1.

For complete request schemas, see the Create Tool and Update Assistant API references.

1

Create a Query tool

Open Tools in the Vapi Dashboard. Click Create Tool and select Query. Set Tool Name to defaultQueryTool.

2

Add the knowledge bases

Under Knowledge Bases, click Add Knowledge Base for each row below. Set Model to gemini-2.5-flash for all three.

NameFilesDescription
customerscustomers.csvSample customer profiles with customer IDs, contact details, preferred languages, account status, and support tiers.
productsproducts.csvSample product names and descriptions in English, Spanish, and French, with prices in USD and recorded availability.
support_articlessupport_articles.csvSupport article titles and content summaries in English, Spanish, and French. Does not contain full articles or step-by-step instructions.

Save or publish the tool.

3

Attach the tool

Open Assistants and select GlobalTech Support Agent. In Tools, attach defaultQueryTool. If you followed an earlier version of this guide, detach lookup_customer, get_product_info, and search_support_articles.

Keep the system prompt from step 5, then publish the assistant.

The API examples target the new assistant created in this guide and replace its model.toolIds array. Include unrelated tool IDs you want to keep if you adapt an existing assistant. Use one Query tool for these three knowledge bases.

Test the saved assistant before connecting callers:

  • Ask about P001 in English, then switch to Spanish. Check that defaultQueryTool uses knowledgeBaseNames: ["products"] and that both answers match the product’s corresponding language fields.
  • Ask in French for a summary of A001. The answer should use support_articles and summarize the French content, without inventing password-reset steps.
  • Ask for the sample profile C001. The answer should use customers and match that record. Confirm that the assistant does not describe the lookup as authentication.
  • Test an unknown ID, a correction, and a failed lookup. The assistant should clarify or explain the failure instead of inventing a record.

Knowledge-base selection, language choice, and matching are guided by the prompt, not enforced as database rules. The sample files contain no live inventory, account-changing actions, or complete troubleshooting procedures.


7. Set Up Phone Number

These examples create a Vapi phone number in a US-region organization. Choose an available area code; the API examples request 415.

2

Create a new phone number

  • Click Create Phone Number.
  • Choose Free Vapi Number.
  • Enter an available area code in Area code, for example 415.
  • Click Create.
3

Configure the phone number

  • Set Phone Number Label to GlobalTech International Support.
  • Under Inbound Settings, select GlobalTech Support Agent from Assistant.
  • Click Save.

Alternative: Squad-Based Language Selection

For a more structured approach with explicit language selection, see our comprehensive Squad-based multilingual support guide. This approach lets customers choose their language at the start of the call, then routes them to dedicated conversation paths optimized for each language.

Provider Support Summary

Automatic detection and code-switching require provider-specific transcriber settings. Review Multilingual support and the individual transcriber provider pages for current configurations.

For speech synthesis, confirm that the selected model and voice support every language in your assistant’s system prompt. Vapi Voices V2 can select the synthesis language automatically. Other providers may require a provider-specific model, voice, or language setting.

Next Steps

You’ve configured a multilingual support demo with transcription, one multilingual voice, and a Query tool for sample data. Test each language and mid-conversation language changes before connecting callers.

Consider reading the following guides to further enhance your multilingual implementation:

Need help with multilingual implementation? Ask other developers in the Vapi Discord community or mention us on X/Twitter.