Use case with Push-based Routing
Example Use case
Customers from Los Angeles are facing problems with their broadband devices these days. A special channel and a queue need to be set up to answer customer queries.
To achieve this, let's see what will be configured and experienced on the Unified Admin and Agent Desk respectively.
Admin Configurations
- The administrator creates a new Media Routing Domain (MRD) to entertain chat channel requests.
- Adds a new Channel Type
WhatsApp
to handle WhatsApp chats and link this Channel Type to the MRD,xyz,
created above. - Creates a Queue
Q1
to enqueue any Broadband-related inquiries coming from WhatsApp. While creating the queue, the admin links the MRDxyz
to the queueQ1
so that agents who are part of the queue can be assigned chat requests based on the available MRD states (i.e. Ready, Active, Busy, etc.). - Creates a new Channel,
C1
of the Channel Type,WhatsApp
, assuming that this channel is supposed to take customer chat requests from a dedicated WhatsApp number such as123456
. - Sets the Routing Policy of the channel as Push.
- Adds
Q1
, as the default queue of the channelC1
. This implies that all requests coming on the channelC1
will by default be enqueued to the queueQ1
unless the bot decides, otherwise.
The following diagram depicts the linking of internal solution components and their relationships with each other.
Since customers who approach from Los Angeles for fixes to their broadband devices should be routed to agents who can speak in English and are skilled enough to answer technical queries related to Broadband connection, the admin creates the following Routing Attributes.
- English (Boolean type)
- Los Angeles (Boolean type)
- Broadband (Proficiency type)
So the queue logic would state:
(English==true) AND (Los Angeles==true) AND (Broadband>=7)
See Administrator Guide -> Add Steps to the Queue to see how to define queue criteria.
Example chat.
Let's see what happens when a new request on C1
comes in:
- A customer 'John Williams' sends a WhatsApp message from Los Angeles, to report a problem related to a broadband device and wants to talk to a human agent.
- The chat request is received on the channel
C1
. - A new channel session for the customer, John is created in the system for the WhatsApp channel request since this is the first message from the customer on this channel.
- The customer is identified as John, using his channel identity for
WhatsApp
channel. - Bot Framework checks if a Conversation from John already exists. If not, it creates a new Conversation for the customer, and the Channel Session is added to the same Conversation.
- The chat request landed in the queue
Q1
which is the default queue for the channelC1.
- The Routing Engine looks for an available agent in the queue based on the routing logic defined in the Queue Steps.
- The Routing Engine finds an agent, Sussane who meets the queue criteria, and is the
Longest Available
inREADY
orActive
state with a minimum number of agent tasks on the MRDxyz.
- The Routing Engine assigns the chat request to Sussane.
- The Routing Engine creates an Agent Task for Sussane to work on this chat request.
- Sussane accepts the request and starts the conversation with John.
- Sussane's state turns from
READY
toACTIVE
on the MRDxyz
. See Agent States for details of MRD state transitions. - John gets the answer to his query.
- Sussane greets John and leaves the conversation.
- John also leaves the conversation.
- Sussane's MRD state turns from
ACTIVE
READY
xyz.
- The system clears the conversation from Sussane's frontend interface.
- The bot framework decides whether or not to close the conversation based on the Bot training (such as closing the conversation when both the customer and the agent leave the conversation).