Omnichannel routing is designed to provide a more consistent and customizable routing experience across email, messaging, and calls. However, there could be times when you want to handle work within a channel differently, such as the status of the conversation. This recipe describes how to prioritize the routing of active messaging conversations and deprioritize inactive messaging conversations.
This recipe uses omnichannel routing, groups, custom queues, and triggers.
Workflow goals
All unassigned messaging conversations become inactive after 10 minutes without end user interaction. The standard omnichannel routing configuration counts only active messaging conversations towards an agent's capacity. This behavior is controlled by the messaging activity routing setting. When messaging activity routing is off, messaging tickets that become inactive while still in a queue can be assigned to any available agent without taking up their capacity. Your organization wants to prioritize the routing of active messaging conversations to agents and leave inactive messaging conversations to be processed less urgently by a separate group of agents.
- You can create two custom queues, one to route active messaging conversations and another to route inactive messaging conversations. This approach provides the ability to designate multiple primary and secondary groups of agents for each queue.
- You can create one custom queue to route active messaging conversations and rely on the standard omnichannel routing queue to route the inactive messaging conversations. With this approach, you can designate multiple primary and secondary groups to handle active messaging conversations routed through the custom queue, but the inactive messaging conversations would need to have a group assigned to the ticket (typically via trigger) and would then be assigned only to agents within the ticket's specified group.
After discussing with your team, you decide creating two custom queues is the best approach.
Setting up your omnichannel routing configuration
- You've turned on omnichannel routing.
- Messaging activity routing is turned off.
For the purposes of this workflow, we're concerned only with unassigned messaging tickets in omnichannel routing queues. Therefore, the messaging capacity release settings, which only apply to messaging tickets that are assigned to agents, are not relevant. However, you might still want to configure the inactivity period and ticket statuses for inactive conversations to help your agents manage their capacity of assigned work.
Creating groups of agents to handle active and inactive messages
Groups collect agents together, allowing admins to manage agent ticket assignments based on an agent's skills, experience, or other similarities. To implement this workflow, your organization has decided to split the agents handling messaging conversations into four groups. The first two, Active Primary and Active Secondary, are the agents you want to handle all active messaging conversations. The third, Inactive Primary, is intended to handle the vast majority of inactive messaging conversations. The fourth, Backup, is a more general group that you use as a last resort to ensure tickets don't get stuck in the queues longer than you're comfortable with.
- In Admin Center, click People in the sidebar, then select Team > Groups.
- Click Add group.
- Enter a group name. In this example, we'll use Active Primary.
- Select the agents you want to add to the group.
- Click Save.
- Repeat steps 2–5 to create three more groups named Active Secondary, Inactive Primary, and Backup.
- Create a process, such as a trigger, to detect active and inactive conversations.
Creating triggers to identify when messaging tickets become inactive
There are no trigger conditions directly related to a messaging conversation's status as active or inactive. Instead, you have to understand the changes that occur when a message changes from active to inactive and define triggers to act based on those details. For this workflow, you'll need to create two triggers. The first adds a tag to all new messaging tickets, which provides a queue condition you can use to identify a messaging conversation as still active when it reaches the front of the queue. Because chat transcripts aren't added to messaging conversations until it transitions to inactive, you can use that update as a trigger condition to update the tags and thus provide a queue condition to identify inactive messaging conversations.
inactive
tag. However, we don't recommend this because the
update could be caused by many things other than re-engagement by the end
user.- In Admin Center, click Objects and rules in the sidebar, then select Business rules > Triggers.
- Click Create trigger.
- Enter Tag active messages as the Name.
- Under Meet ALL of the following conditions, click Add
condition and add the following:
- Ticket > Channel | Is | Messaging
- Ticket > Ticket status | Is | New
- Ticket > Tags | Contains none of the following | inactive
- Under Actions, click Add action and add the following
action:
- Ticket > Add tags | active
- Click Create.
- In Admin Center, click Objects and rules in the sidebar, then select Business rules > Triggers.
- Click Create trigger.
- Enter Tag inactive messages as the Name.
- Under Meet ALL of the following conditions, click Add
condition and add the following:
- Ticket > Channel | Is | Messaging
- Ticket > Ticket status | Is | New
- Ticket > Assignee | Is | -
- Ticket > Ticket | Is | Updated
- Ticket > Updated via | Is | Chat Transcript
- Ticket > Tags | Contains at least one of the following | active
- Under Actions, click Add action and add the following
action:
- Ticket > Add tags | inactive
- Ticket > Remove tags | active
- Click Create.
Configuring custom queues for active and inactive messages
Tickets, including messaging conversations, are assigned to queues based on the queue's conditions. Conditions are the qualifications needed for a ticket to be added to the queue. After you create your groups of agents and triggers to help identify messaging conversations that become inactive, the final step is to create your custom queues. In this workflow, you'll define two queues: one for active messaging conversations and one for inactive messaging conversations.
- In Admin Center, click Objects and rules in the sidebar, then select Omnichannel routing > Queues.
- Click Create queue.
- For the Name, enter Active messages.
- Specify the queue's Priority relative to other queues. Make sure this
queue's priority is higher than the inactive messages queue.
Queue priority is only considered when an agent receives work from multiple queues. In that case, tickets from the queue with the higher priority are assigned first.
- Under Meet ALL of the following conditions, click Add
condition and the following conditions:
- Channel | Is | Messaging
- Tags | Contains at least one of the following | active
- Under Groups, select Active Primary as the Primary groups.
- Select Turn on secondary groups.
- Under Secondary groups, select Active Secondary.
- Click Save.
- On the Queues page, drag and drop your queue into the correct order.
- In Admin Center, click Objects and rules in the sidebar, then select Omnichannel routing > Queues.
- Click Create queue.
- For the Name, enter Inactive messages.
- Specify the queue's Priority relative to other queues.
Queue priority is only considered when an agent receives work from multiple queues. In that case, tickets from the queue with the higher priority are assigned first.
- Under Meet ALL of the following conditions, click Add
condition and the following conditions:
- Channel | Is | Messaging
- Tags | Contains at least one of the following | inactive
- Under Groups, select Inactive Primary as the Primary groups.
- Select Turn on secondary groups.
- Under Secondary groups, select Backup.
- Click Save.
- On the Queues page, drag and drop your queue into the correct order. You probably want this queue listed below your active messages queue.
Your queues are the last piece in the workflow. After you create custom queues, omnichannel routing begins using them immediately and your active messaging conversations are prioritized over the inactive conversations.