Running the Support engine
Running the Support engine
The Support engine handles the creation of Support tickets through the Messaging SDK. It is primarily intended for use in conjunction with the Answer Bot engine but can be used by itself.
How the Support engine works
On starting, the Support engine checks for any previous conversation data (such as an Answer Bot interaction). If found, it uses the data for the body of the ticket to be created. If it doesn't find any previous conversation data, the engine asks the user to enter their query.
If the Conversations setting is not enabled in Zendesk Support and the SDK is configured with an anonymous identity with no email address, then the Support engine prompts the user for an email address. Because tickets can't be viewed in the SDK when the Conversations setting is turned off, email is the only way a user can receive a reply.
Once the Support engine has a message from the user (and an email address, if required),
it creates a ticket in Support. If the Conversations setting is enabled, the Support engine shows a link
to the Support SDK RequestListActivity
. If Conversations is disabled, the Support engine
simply confirms that the ticket has been created.
The Support engine can't be used to view or update existing tickets yet. Once the
ticket has been created, the Support SDK's RequestActivity
must be used to view or
update it.
Starting the Support engine
Note: Make sure to add the Unified SDK dependency, initialise the SDK, and identify your user.
First, obtain an instance of SupportEngine
:
Engine supportEngine = SupportEngine.engine();
Running the engine by itself
To start the Support engine by itself, pass your SupportEngine
instance to the builder for MessagingActivity
as follows:
MessagingActivity.builder()
.withEngines(supportEngine)
.show(context);
Note: Starting with Messaging: 5.3.0
, the dependency of zendesk.messaging.MessagingActivity
has changed to zendesk.classic.messaging.MessagingActivity
.
Running the engine with other engines
To use the Support engine in conjunction with the Answer Bot and Chat engines, obtain an
instance of AnswerBotEngine
and ChatEngine
and include them when using the MessagingActivity
builder:
Engine supportEngine = SupportEngine.engine();
Engine answerBotEngine = AnswerBotEngine.engine();
Engine chatEngine = ChatEngine.engine();
MessagingActivity.builder()
.withEngines(answerBotEngine, chatEngine, supportEngine)
.show(context);
Note: Place the answerBotEngine
object before any other engines. This is important because the
Unified SDK starts the first engine in the list and any subsequent engines are treated
as potential contact options. Answer Bot can hand over to Support and Chat but no other engine
can hand over to Answer Bot. This means answerBotEngine
must be placed first in the list or else it will
never be started.
Note: Starting with Messaging: 5.3.0
, the dependency of zendesk.messaging.MessagingActivity
has changed to zendesk.classic.messaging.MessagingActivity
.
Using the standalone Support SDK
If the Support engine doesn't suit your use case or you want your users to be able to continue
the ticket conversation in your app, you can use the Support SDK's own RequestActivity
and
RequestListActivity
. See Adding tickets
in the Support SDK documentation for more details.
Using the Support API providers
If neither the Support engine nor the standalone Support SDK UI suit your use case, you can use the Support SDK's API providers instead and build your own UI. See the API providers reference in the Support SDK documentation.