Seamless experience across Digital Messaging channels in Pega Platform 8.6
Digital Messaging channel
Pega Platform 8.6 introduces Digital Messaging (known as Unified Messaging in the previous versions) as a channel on the Channels and Interfaces page to facilitate chatbot capabilities when customers interact with business services for an organization by using various social messaging platforms like Facebook Messenger, Twitter, and WhatsApp.
For more information about how to set up a Digital Messaging channel, see Creating a Digital Messaging channel. You configure the channel to initiate a case based on the intent identified from the customer’s incoming messaging. Pega Platform does this by running the customer’s message through a text analyzer rule, which uses natural language processing (NLP) to detect the correct intent. You specialize the case type rule for the BotAgent channel so that the system pushes relevant messages or questions back to the customer by using the social messaging channel in which they initiated the conversation from.
Same case access using multiple channels
Once Pega Platform initiates a case, the system supports the case to get completed that is built into by using the same channel, and also supports the escalation to a customer service representative (CSR) when you use this feature in conjunction with a Customer Service application. There might be a case when a customer starts a conversation from one channel and then abandons the chat session midway. For example, consider a situation in which a customer wants to update information about their address. The customer can initiate the request to update their address using direct messages on Twitter. The channel rule detects the intent and starts the Address Change case. Based on the question shapes configured in the conversational flow, the chatbot responds by asking questions related to the new address, for example, ask about the effective date from which the new address is relevant. To learn how to configure a conversational flow in the system, see Conversational flow.
It is possible that the customer leaves the conversation flow midway and then later wants to resume the same conversation from another social messaging platform, for example, by using Facebook Messenger. This capability is not built into the system. When the customer initiates a conversation from the second social messaging channel and the chatbot identifies the intent, the system treats this interaction as a new case and starts a new Address Change case. The chatbot proceeds by asking the same questions about the new address and effective date, which means that the customer has to repeat their answers that were already provided by using the first channel. This article provides a design pattern to seamlessly address this use case, so that the customer does not need to enter the same details again and gets an experience as though they are resuming the conversation that they abandoned in the first channel.
For more information about the capabilities that are included in the system, see Supported chat and messaging features by channel.
Pega Platform 8.6 also includes a new feature called a channel hopper that allows the customer to transfer their current chat session from the Web Messaging chat window to any of the Digital Messaging channels, for example, Facebook Messenger or Twitter. To use this feature, the customer initiates the transfer from the Web Messaging widget. The customer then has a limited amount of time to complete the transfer from the other channel. For more information about this feature, see Pega Community.
Suggested approach to achieving a seamless experience across channels
To achieve a seamless experience across Digital Messaging channels, follow these steps and guidelines:
- As the initial step for the conversational flow, introduce an activity or automation that uses a data page to fetch any Address Change case (described in this example) that the same customer instantiated in the past, which has an open status and for which the pxActiveChannel property is set to “
BotAgent”. If required, you can define a condition to choose only cases that were instantiated in the last week or a specific timeline based on your own business requirements.
- If the system does not obtain any results from the data page, then we know that the current case is the first attempt from the customer. In this situation, you do not need to do anything else and the created case by the system can proceed normally. However, if the data page generates a result, this means that the customer previously attempted to proceed through an Address Change case. In this situation, you can open the old Address Change case by using the ID retrieved from the data page.
- Copy over the properties that hold the answers from the customer to the question shapes from the old case to the new case.
- Resolve the old case using the pxChangeStage API specifying the status as Duplicate, so that the case does not show up in future searches.
- Each question in the conversational flow is only displayed to the customer when the property associated with the question is not empty. In this situation, when property values are copied from the old to the new case, the question is not displayed because the property value is not empty. For example, if you defined ten questions in the case and a customer only answered the first five questions as part of the first case, then the answers to these five questions are automatically filled out in the new case by the activity. As a result, the first five questions are skipped as the part of the new case since their property values are not empty. The customer then directly proceeds to the sixth question giving them the user experience of having resumed the initial case and not starting a new case from the beginning.
- If the system obtains results for the data page due to an old case, you can also route the case to a question shape to display a message that indicates that the chatbot already contains some information that the customer provided earlier. At this point, you can provide the customer with an option to either keep this previously entered data for the case and proceed to the next question, or enter the data for the case from the beginning.
- If the customer selects to enter the data in a case from the beginning, then you can use a data transform to clear all the answer properties and the reset the case to the beginning, to the first question. If the customer selects to keep their previously entered answers, the system does not clear the properties, and as a result, skips the initial questions for which the customer provided answers, and continues the case from the question which was not yet answered by the customer.