Unbabel has conditioned compatibility with Salesforce Messaging since our chat conversation component is able to translate messages taking place in a Messaging conversation out-of-the-box. However, there are some known differences in the translation flow and limitations. Learn more in this article.
Installation and configuration
Installation is almost entirely similar to Unbabel for Salesforce Chat:
- Connector and Salesforce Chat packages need to be installed
- Pre-requisites to have Salesforce Chat enabled for the Organization apply
- Users who are using the integration should be added to the Unbabel API and Unbabel Live Agent permission sets
- Users need to have access to Messaging, which typically means they need to be added to the native Messaging for inapp and Web user permission sets
- Agent languages need to be set
- You need to update the Translation Request page layout, but not the Chat Transcript one
- The Unbabel chat component should be added as described here, but to the necessary MessagingSession Lightning Record page(s)
How to use
The general experience with Unbabel for Salesforce Messaging doesn't differ much from the one with Salesforce Chat. You can consult this article for a reference to the basics.
There are some differences in the use of Unbabel with Messaging, the most important of which are listed below.
Session status and closing
Chat sessions are interrupted in two distinct ways
- ending the session, which closes the MessageSession object
- flagging the customer as inactive
Changing the conversation status is performed in the native Messaging component.
An inactive session will still allow for translations using the Unbabel component to be requested, even though the native component is blocked. These translations will fail to deliver and send.
A new message coming from the customer will:
- create a new session if the session was ended
- resume the session if it was moved to inactive
In both cases a new Messaging request needs to be accepted by an agent.
Access to past messages
In a Messaging conversation, all messages should be visible and translated in our component. Even if you have deleted previous session objects, Unbabel will list and retrieve any missing messages and respective translations.
Reporting and IDs
Most of the reporting in SF Messaging can be performed in the same way as described in this article. The objectID of a Messaging session is populated into the UnbabelChatKey Field and has a format looking like 0Mw090000001Vh5GAJ.
Limitations
- No chat transcripts are created for Messaging Sessions when ended
- SF Chat features are not available if used in a MessagingSession page
Known errors
A few errors are known at this moment. The team is working hard to solve them but should you run into them please consider our comments and suggestions.
Private messages between agent and supervisor are translated
Even though private messages from supervisor to agent, and the other way around, do not show on the Unbabel chat component interface initially, after a browser page refresh, messages from agent to supervisor will show as outbound messages. Despite that, these messages will not be sent to the end user.
Next steps: we are working with Salesforce to implement a fix.
Duplicated messages when Salesforce supervisor is opened
When the omni-supervisor tab is opened, inbound messages are shown as duplicates on the Unbabel chat component interface.
Next steps: reported as a bug.
Outbound messages out of order
In some instances outbound messages are sent out of order. This could happen if the agent sends multiple messages and the translations arrive at near the same time.
Next steps: reported as a bug.
Salesforce native conversation component needs to be loaded on the page
If only the Unbabel component loads, we won't have access to messaging sessions. The native components needs to have been loaded at least once with all new messages.
This includes messages sent without translation, directly from the native component.
Workaround: click the refresh button on the Unbabel component to load all messages.
Accepting a Messaging conversation with the same tab opened
When the agent accepts a conversation that has the same conversation id, and the tab was already rendered on the service console, our component won’t detect the messages sent while the conversation was on hold.
Workaround: click the refresh button on the Unbabel component to load all messages.
Ending chat with customer inactive does not block the Unbabel component
Messaging allows the agent to end a conversation in two ways, End Chat and Customer inactive. If an agent sends an outbound message on the Unbabel chat component after the conversation was tagged as Customer inactive, this will result in a failed delivery.