Real-Time Translation lets a customer write in a language your project does not support. Each of their messages is translated into the project's primary language before the virtual agent tries to understand it. The bot's replies are translated back into the customer's language.
It is available for Inbound projects only, and only on text channels. It cannot be combined with a Text-to-Speech service, so it does not work for voice.
📝 Note: Before you can turn Real-Time Translation on, two services must be attached to the project: Translation and Text-Language Detection. The project must also have no Text-to-Speech service attached. Until all of that is true, the switch stays grey.
Creating the two services
Both services are created under Integrations > Services, with New Integration.
Translation
Enter a Name, then fill in the fields below.

1. Type: Translation.
2. Provider: Google. Google is the only provider.
3. Service Url: Filled in with Google's address, and read-only.
4. Subscription Key: Your Google key. This field is required.
Text-Language Detection
Enter a Name, choose Text-Language Detection as the Type and Sestek as the Provider. The form has no other fields. A tenant can have one Text-Language Detection integration per provider.
Turning it on
- Open the project and go to Project Settings > General.
- In Select Services, add both the Translation and the Text-Language Detection integrations.
- Turn on the Real-Time Translation switch.

1. Real-Time Translation switch: When it is on, customer messages are translated into the primary language, and replies are translated back into the customer's language. You cannot change it on a published version. Outbound projects do not have it.
2. Info tooltip: Explains why the switch is grey: "In order to enable real-time translation, translation and text-language detection services should be added to the project. If TTS integration is added to the project, real-time translation cannot be enabled."
Text-to-Speech and removing services
Real-Time Translation and Text-to-Speech exclude each other. While the switch is on, the services it depends on are locked to the project.
| While | You cannot |
|---|---|
| Real-Time Translation is on | Add a Text-to-Speech service, or remove the Translation or Text-Language Detection service. To do either, turn the switch off first. |
| A Text-to-Speech service is attached | Add the Translation service, or turn on Real-Time Translation. |
How it works
Language detection runs on every customer message, not only the first one:
- The detected language code is stored in
LastUserLanguage. - If the language is one of the project's languages, primary or additional, nothing is translated.
- Otherwise the message is translated into the primary language, and the virtual agent works on the translated text.
LastUserInputtherefore holds the translated text, not what the customer typed. - Replies, including quick replies, are translated into the language most recently detected for the customer.
- Because detection runs on every message, the customer can switch language mid-conversation.
Sentiment is also scored on the translated text. See Sentiment.
Example
The project's primary language is English, and German is not one of its languages. A customer writes in German:
| Step | Text |
|---|---|
| Customer types | Wo ist meine Bestellung? |
Translated, and what the virtual agent works on (LastUserInput) |
Where is my order? |
| Bot reply, as written in the flow | Please enter your order number. |
| What the customer sees | The reply, translated into German |
⚠️ Warning: If one translation fails, translation is switched off for the rest of that conversation. Later messages are handled untranslated, so a customer writing in an unsupported language is no longer understood, and replies reach them in the primary language.
Live agent handover
When the conversation passes to a live agent, translation continues in both directions. The customer's messages reach the agent translated into the project's primary language, and the agent's replies are translated into the customer's language.
Reporting
In conversation details, conversations where translation happened have an Original / Translated switch. Other conversations do not show it.
| View | Shows |
|---|---|
| Translated (the default) | The conversation as the customer saw it, in their language |
| Original | Everything in the project's primary language, including the customer's messages as translated |
When you export the conversation, the export follows the switch.

