Tickets
Content translation
Read ticket content in the agent's language, send replies in the customer's language
Tip
Content translation shows the ticket to agents in their profile language. The customer sees and receives only their own language — no toggle, no original beside it.
This is a different feature from Translate in the AI text assistant. The text assistant changes only the draft in the editor. Content translation covers the whole ticket.
For agents
On the agent side, content is translated the same way on every channel: email, letter, chat. The exception is telephony: only the transcript is translated, not the call itself.
Agents who turn on Translate ticket content for me (translateTicketContent) in their profile see the concern, the thread, and reply suggestions in their profile language. Show original and Show translation switch between the source text and the translation.
Translation does not have to be clicked first. It can already run in the background — after AI analysis, after routing, on a new message, on assignment, or when the ticket is opened. The automatic translation rules below decide when. Until it is ready, the source text stays visible.
The translation stays close to the original. Style, formal address, and ticket examples therefore still apply. Quality assessments (scorecards) score the message that actually went out, whether it was translated or not.
For customers
Customers see only the language they write in and the language the reply arrives in. There is no original / translation switch on their side, and there will not be one.
Example
A customer writes in Turkish. The agent's profile language is German, and Translate ticket content for me is on.
- They open the ticket and read the concern and the thread in German. If needed, they switch to the Turkish original.
- They reply in German. The customer receives the reply in Turkish.
Setup
Path: Settings → Advanced settings → General → Content translation
Content translation (contentTranslationEnabled) turns the feature on for the tenant. Content translation channels (contentTranslationChannels) chooses which channels it applies to (default: email and letter; chat can be added). Target languages for content translation (contentTranslationTargetLanguages) are the languages content may be translated into: English, German, French, Turkish. The team's profile languages must be on this list, or those people receive no translation — and the rules below cannot resolve a target either.
Automatic translation rules (contentTranslationRules)
Without a rule, translation runs when someone with the profile switch on opens the ticket. Rules bring the translation into the ticket beforehand, in the background, instead of waiting for that click. Several rules run independently of each other; empty filters mean “all”.
| Trigger | When it is useful |
|---|---|
| After every AI analysis | The team mostly reads one language. Tickets then sit in the backlog already translated, not only once opened. |
| After routing to an agent | Translation should start only once Autopilot or routing has actually handed the ticket to someone. |
| On new message | Follow-up from the customer after the first analysis has already run. Without this rule, often only the first message is pre-translated. |
| When assigned to an agent | Together with target language Language of the assigned agent: a mixed-language team does not pay for every language on every ticket, only for the person who works it. That target language is valid only with this trigger. |
Each rule can also be limited to channels, subchannels (mailboxes), source languages, and tags. Example: only the Turkish mailbox, only tickets with a given tag, target language German.
A rule's target languages come only from Target languages for content translation (contentTranslationTargetLanguages).
Terminology for translations (contentTranslationGlossary)
Fixed technical terms per target language, e.g. Abschlag = Peşinat. For translation to the customer, the ticket's language applies, not the agent's. Without tags, an entry applies to all tickets; with tags, only to tickets that carry one of those tags.
In Events, translations from the last month can be reviewed. Mismatched terms there are the reason to update the terminology.
Note
Ticket language is taken first from the ticket itself (languageCode, detected by the AI from the content). If that is missing, Enneo expects the same field on the contract and on the customer:
{
"languageCode": "tr"
}Both two-letter codes (de, en, fr, tr) and five-character regional variants (de-CH) are supported. A region is kept only if it is listed under Regional language variants (regionalLanguageVariants); otherwise it is reduced to two letters. No regional variant is listed yet. If languageCode is missing everywhere, the system language (locale) applies.