This article is intended for Salesforce administrators responsible for installing and configuring the Language I/O LiveAgent 2 for automated chat translation. Estimated time to complete: 30 minutes.
Installation of the Language I/O Live Agent
- Contact Language I/O Support at email@example.com to get an account setup in our database. Once an account is created on our side, you will be sent the credentials and API Endpoint url. This will be used later in the post-installation process.
- Install the package from the latest URL below depending on whether you are using a Sandbox or Production org. Begin by logging into the instance of Salesforce you wish to use. Visit the install link in the same browser and select "Install for all users". The current release is 2.35.
- Sandbox org:
- Production org:
Using Named Credentials with Salesforce ensures security and authentication are friction-free by simplifying the critical task of securely storing login details and authenticating with external APIs. As a major improvement from Language I/O Chat 1.x, Language I/O LiveAgent 2 leverages Salesforce's Named Credentials extensively, which allows per org, per profile, as well as per user-level endpoints and credentials for flexible and powerful Language I/O omni-language translation integrations.
After receiving your credentials, from Setup enter Named Credentials into Quick Find box, select Named Credentials, then click New Named Credential. You can do this from either Classic or Lightning Experience.
Give it a label and name. The name will be used later in our Custom Settings, in order for our Chat app to know which credentials and endpoint to use to communicate with our backend.
This is also where you enter the credentials and endpoint you received earlier. From Authentication section, choose Named Principal as the Identity Type, Password Authentication as Authentication Protocol, and then enter the username and password. For the endpoint's URL, unless instructed otherwise, you would normally use https://golinguist.com/linguistnow/resources.
Click "Save" to save the new named credential.
Minimal Custom Settings
Before using Language I/O LiveAgent 2 for Salesforce, you must create a org-wide default custom setting named Language I/O Chat Public Settings.
From Setup/Custom Settings, click on Manage to the left of Language I/O Chat Public Settings.
Create "New" at the root level to create a new Default Organization Level value. If you are upgrading from a previous version, click "Edit".
The following figure shows a basic configuration. The important settings are Named Credential which should match the name of the Named Credential created earlier, Translation Enabled, and Append Transcript.
To configure different custom settings based on profile or user, click 'New' below the existing custom settings. If you have no existing custom settings, click on the second 'New' button that is not at the root level.
You will notice that there will be a 'Location' field with a drop down option. You have the option to assign the custom settings based on User or Profile.
Classic: Customize Console App
If you are working in Classic, you need to add the Language I/O page to your console app by going to Setup > Build > Create > Apps
Press edit next to a Console App where you want to add live agent. Typically, this is your service console app. Browse to "Include Live Agent in this App" section, and add the "LinguistNow_LiveAgent" Visualforce page.
First, find and open the Lightning Record Pages node in Setup for Chat Transcript.
- From Setup, click Object Manager.
- Click Chat Transcript to open the object and then click Lightning Record Pages.
Click on Lightning Record Pages, and edit the page where you want to add Language I/O Component.
Create a new tab with a custom label, e.g., Language I/O. You can optionally make the tab default. From the left pane, drag Language I/O Chat component within the Language I/O tab you just created. Press Save. You can find the Language I/O Chat component from either Custom if you have installed an unmanaged version or Custom Managed if you have installed a managed version.
Voila. You are done setting up Language I/O Chat 2 for Lightning Experience.
Appendix I. Set up Locally Stored Custom Greetings
For both Classic and Lightning Experience, you can use locally stored (vs. Language I/O server) auto greetings and timeout messages for your chat session.
To set up Greetings and Timeouts by locale, you will need to add a couple of custom object tabs to edit them. The plugin will start with the most specific locale e.g. (“es-la”), if that doesn't match it checks root locale (“es”), and if that fails to match it defaults to “en” when selecting a message.
Click on Setup/Create/Tabs.
Create a new set of custom tabs for Language I/O Connection TImeout Messages and Language I/O Greetings. Add the tabs to the console you are hosting.
Language I/O Connection Timeout Message
Language I/O Greetings
This should produce tabs to edit the new custom objects.
You can then add greetings per locale for each of the object types
When all greetings are setup navigate Navigate to Setup > Develop > Custom Settings > Language I/O Chat Public Settings. Click "[Manage]". Enable the setting "Retrieve Greeting From SF" to use locally stored messages.
Appendix II. Custom Settings
Enable Customer Quality Flag
When checked, this setting enables customers to be able to flag each translation when a translation is wrong or could be improved when chatting with an agent.
Enable Agent Quality Flag
When checked, this setting enables agents to be able to flag each translation when a translation is wrong or could be improved when chatting with a customer.
The following four settings deal with how we can detect the customer’s language.
Attempt Locale Detection
When this is checked, the customer’s language is detected based on the first message the customer sends.
Chat Button Language
When checked, it uses the Chat Button language. The Chat Button is a Salesforce setting that can be mapped to a language, then that Chat Button can be assigned to an Embedded Service.
The purpose of this is to allow different companies that have specific language sites, each site has each own button and that is how they know the language.
Custom Detail Locale
The label of the custom field coming in, which overrides the browser language.
Examples of use cases:
End customers can select their language from a pre-chat form
End customers have accounts that are mapped to their preferred language.
Transcript Field Name for Locale
Takes in the API name of a custom field within the Chat Transcript object to define customer’s language.
Description & Subject Field
These settings are used to be able to translate the description and subject that are incoming from the pre-chat form used to initiate a chat.
In the image below, the customer entered a subject and description in Spanish, the agent can see the translation and initiate the conversation in the language detected from the subject and description.
Description & Subject Label
These settings are used to personalize the Description and Subject label that show when translating the subject and description from the pre-chat form.View from Custom SettingsView from the active chat
Include Original Text
When this is checked, the original text from the agent will be included in the response to the customer along with the translated text.
Agent Language Preference
This settings takes in a custom field from the User object to define the agent’s translation language. This will override the agent’s language and locale.
The setting ‘Use Agent Salesforce Locale’ does not have to be checked for this to work.
Skip Initial Auto Responder
When checked, the initial auto responder is not sent when there are prior agent messages. Is this the lio auto responder or the sf auto responder or both?
Unsupported Language Text
When the customer starts chatting in a language that is not supported by the current consumer, it will automatically send the message detailed in this field to alert the customer that their language is currently not supported. In the following example, the current consumer does not have german language mapped; therefore, is not supported for them.
Use Agent Salesforce Locale
When this is checked, the plugin will use the Agent’s language/locale instead of English.
The Agent Language Preference overrides this!
Use Chat Text Input
still needs to be documented
This will append the Language I/O Chat Transcript with translations to the standard Chat Transcript.
show visual examples here
still needs to be documented
When installing the Language I/O Live Agent package, users create a Named Credential in Salesforce with a username and password given by Language I/O. These credentials allow users to be able to connect to the Language I/O API through our plug-in. The label of the named credential is entered in this setting.
When checked, the agent using the plugin can un-toggle the translation. When the translation is toggled back on, it will reset the customer’s locale.
Example use case:
A customer started the conversation in Spanish, but decided to switch to German, the locale can be reset so that the conversation can continue in German by the agent un-toggling and toggling back on the translation.
This allows for only one locale reset.
When checked, the translation toggle is enabled by default. When un-checked, the agent has to manually toggle the translation when they realize the conversation needs to be translated.
The messages prior to the translation being enabled will not be translated, even with the re-detect and retranslate feature.
Use Auto Responder
When checked, the plugin will use localized auto responses stored with Language I/O.
For this feature, users should contact Language I/O and provide the desired auto response or use Language I/O standard auto response. Language I/O then can send the text to be translated by human linguists or machine translated with the user’s preferred translation engine.
Once Language I/O receives all the translated responses, we will map each response with their language. The auto response is sent when the chat begins.
Retrieve Greeting From SF
Use greetings locally stored in Salesforce.