Question
How does the flow of MessagingActivity work with multiple Engines or SDKs?
Answer
Multiple SDKs can be integrated into the MessagingActivity by adding Engines into it using the .withEngines setting.
Those objects tell the activity which SDKs can be used and each one can receive its own configuration by passing it to the activity. For an example of this, see this article: Multiple configurations in one screen.
Once the activity starts, the flow will be as follows:
Once you reach the other Engines, Chat, or Support, you won't be able to go back to the AnswerBot unless you get out of the view and restart it.
Once it's handed over, you'll see the following:
- If handed to Support, the Engine converts the ongoing discussion with the AB to a ticket containing all the Chat transcripts. Additionally, if Conversation is enabled, it will prompt you with a button to access your Requests view, using the RequestListActivity.
- If handed to Chat, the Engine starts a Chat flow and session as per the flow below. The Engine executes like a normal Chat session. It reuses the transcript of the Answer Bot discussion instead of asking you about the subject of this chat. The full transcript is added to the Chat as the initial message.
Few things to note:
- Identity for Support SDK and VisitorInfo for Chat SDK are 2 distincts set of identity. The same goes for the JWT process, which are fully separated.
- The Answer Bot Engine doesn't have any knowledge of the status of your Chat account. If your account is offline, the Answer Bot will still ask you if you want to reach out on Chat, and will then check the account status, triggering the offline message flow. To avoid this, check the Chat account status before passing the Chat Engine to the MessagingActivity configuration. To check the account status, use this function from our Provider Chat SDK.
- The default name of the Chat Bot is "Answer Bot". Once you hit either of those options, do not discuss with the AB Engine. Instead, do it with either Chat or Support. For more information, see the article: Why do I see the Answer Bot in the Chat SDK even though I don't have a subscription?
Note: if you have messaging with omnichannel routing enabled, the routing behavior for messaging is different from live chat routing. For more information, see the article: Routing messaging tickets and notifications.