Skip Navigation

Search

Translate incoming and outgoing messages on an incident
Answer ID 12891   |   Last Review Date 11/13/2025

How can I translate incoming and outgoing incident messages?

Environment: 
Oracle B2C Service
 
Resolution:

Browser UI supports translation of incoming and outgoing incident messages. With the required profile access, an agent can translate a Customer Entry into their preferred language or translate a Response into the customer's language before sending it.

Once an administrator configures incident thread translation, translation controls appear in the thread headers. A Customer Entry is translated into the interface language by default. An agent can choose another preferred language in Preferences. A Response can use the automatically detected language of the latest Customer Entry, when that option is configured, or the agent can select a language from the drop-down.

Administrators may find the Thread Translations setup guide helpful.

First step — Set up External Objects connections

In Browser UI, open **Configuration > Administration > External Objects & Integrations**. Create the connections to the language service your organization uses:

- **Language Translation Connection:** Sends Customer Entry or Response content to the translation endpoint for the selected target language.
- **Language Detection Connection:** Detects the language of the latest Customer Entry when an outgoing Response is set to use automatic language detection.

See the External Objects permissions guide, External Objects setup guidance, and connection configuration guide. Supported connection types include OCI Translation, the default option, and third-party translation services.

Second step — Configure Thread Translations and profile access

From **Administration > Workspace Configuration**, open **Thread Translations**. Select **Add New** to create a configuration. To edit one, double-click it or select it and choose **Open**. To remove one, select it and choose **Delete**.

Complete these configuration fields:

- Name: Name shown in the list of Thread Translation configurations.
- Language Translation Connection: Required. Select the translation connection created in External Objects & Integrations.
- Language Detection Connection: Optional. Select a detection connection if your setup uses one.
- Need Source Language Detection: Select **Yes** when the provider needs a detected source language for translation; some providers require this. The detection connection then identifies the source language. If set to **No**, the agent does not see the automatic-detection option.
- Maximum character limit: Match the limit of the selected service. For example, OCI Translation supports a limit of 5,000 characters, so the configured value must not exceed that limit. If a thread exceeds the configured limit, it is not translated and the agent receives a dialog advising them to contact an administrator. Check the OCI Language limits for the applicable service limit.
- Notes: Optional information for administrators.
- Profile Access: Assign access for each interface and profile. Expand an interface, select profiles on the left, and move them to the right with the arrow. Move a profile back to remove its access. A profile can be assigned to only one Thread Translation configuration for an interface; a profile already assigned elsewhere cannot be added to another configuration.

The page also displays **Created**, **Created By**, **Updated**, and **Updated By** details for the configuration.

Customizations

Browser UI extensions can change translation requests and responses and provide customer-managed logging or feedback. Enter the name of a registered extension action in the appropriate field:

- Convert Request Extensibility Action: Formats a request for the configured translation or language-detection endpoint.
- Convert Response Extensibility Action: Converts the endpoint response into the format Browser UI expects.
- Logging Extensibility Action: Passes translation activity to a customer-provided logging action.
- Feedback Extensibility Action: Calls a customer-provided action that can store agent feedback about a translation. Configuring the name alone does not create stored feedback.

For example, an OCI Language request can be changed to include a compartment ID. The following customer-shared extension registers ociRequest and adds compartmentId to both translation and language-detection requests:

   ORACLE_SERVICE_CLOUD.extension_loader
     .load("Global Extension", "1")
     .then(function (extensionProvider) {
       extensionProvider.getGlobalContext().then(function (globalContext) {
         globalContext.registerAction("ociRequest", function (param) {
           if (param.translationType === "TRANSLATION") {
             return {
               payload: {
                 documents: [
                   {
                     key: "1",
                     text: param.text,
                     languageCode: "auto"
                   }
                 ],
                 targetLanguageCode: param.targetLanguageCode,
                 compartmentId: "<compartment id>"
               }
             };
           }

           if (param.translationType === "DETECT_LANGUAGE") {
             return {
               payload: {
                 documents: [
                   {
                     key: "1",
                     text: param.text
                   }
                 ],
                 compartmentId: "<compartment id>"
               }
             };
           }
         });
       });
     });

Replace **<compartment id>** with the OCI compartment OCID and load and publish the extension for the relevant profiles. Enter **ociRequest** in **Customizations > Convert Request Extensibility Action**, then save the Thread Translation configuration. The configured name must exactly match the name registered by the extension. Test both the translation and language-detection requests against their OCI connections. This example changes the outgoing request; it does not implement feedback or logging.

Third-party translation services may need extensions to convert requests and responses between the provider's format and the format Browser UI uses. The BUI extension type definitions include ILanguageTranslationRequest, ILanguageTranslationTransformedRequest, ILanguageTranslationResponse, and ILanguageTranslationTransformedResponse. For action registration, see the BUI global context API.

Agent experience

- Customer Entry: The thread header has one translation icon. The target language is the interface language by default. The agent can change their preferred language from the avatar menu's Preferences.
- Response Thread: The thread header has a translation icon and language drop-down. When configured, automatic detection uses the latest Customer Entry's language; the agent can also choose another target language.
- Private Note: Its thread header has one translation icon. The target language is the interface language by default, and the agent can change their preferred language in Preferences.