Omnichannel routing is a highly configurable routing solution that can route new and open tickets from email (including web form, side conversations, and API), calls, and messaging. Omnichannel routing provides the most sophisticated routing logic, which can increase agent efficiency and effectiveness. It works out of the box, but you'll get the most value if you take your time planning your routing configuration. Your routing configuration applies to all omnichannel routing queues.
Planning your routing configuration
Omnichannel routing works out of the box. As long as you already have a mechanism in place to assign incoming tickets to groups, such as triggers, omnichannel routing can start routing calls and messaging conversations as soon as it's turned on and email tickets as soon as the auto-routing tag is added to them. Therefore, when you turn on omnichannel routing or adjust your configuration routing, it's best to have a detailed plan ahead of time.
To plan out your omnichannel routing configuration
- (Optional) To make the most informed decisions about your routing configuration settings, you might want to consider the questions posed in Best practices: Planning your routing workflow.
- On all plan types, do the following:
- Email tickets (including web form, side conversations, and API) must have a unique routing tag to be routed through the standard omnichannel routing queue. However, the auto-routing tag isn't needed to route email tickets through custom routing queues, unless they don't match to any custom queues and you want them to get picked up by the standard omnichannel routing queue. Decide what your routing tag will be.
- You probably already use triggers to assign tickets to groups. If you're using the standard omnichannel routing queue, you need to ensure one or more triggers have an action to add the routing tag to any email tickets you want routed by omnichannel routing. The group assignment and auto-routing tag aren't required for tickets that are routed through custom queues. See Requirements for the routing triggers. Decide if you are going to modify existing triggers to function as routing triggers, or create new ones.
- Before you turn on omnichannel routing, you need to define capacity rules to balance the assigned work between agents. There is a built-in capacity rule that is enabled by default, but you can define alternative rules that better meet your unique needs. Decide what capacity rules you will need. For each rule, decide what the capacities will be for each channel and which agents will be assigned to the rule.
- Do you want to assign work to agents based on who has the most spare capacity for the channel (the standard configuration) or based on who hasn't been routed work from the channel in the longest time (round robin)?
- Review the standard unified agent statuses. When you turn on omnichannel routing, standard agent statuses are automatically available for agents to use across channels. The standard agent statuses can't be edited, but it's important to understand how they're configured.
- How do you want to handle it when messaging conversations and calls are routed to agents but they don't accept it? Are you going to turn on messaging reassignment timing, where a messaging ticket is reassigned to a different team member if not addressed within the specified timing?
- How do you want agents to see the email tickets they've been assigned by omnichannel routing? Should they use a view to see what's been assigned to them, or should the email tickets open in a new tab, similar to messaging conversations?
- On Professional and Enterprise plans, you'll also need to decide the following:
- When you turn on omnichannel routing, it's configured to use a the standard omnichannel routing queue that routes work from all channels to the ticket's assigned group. However, we recommend creating custom queues to route tickets that meet specific conditions to multiple primary and secondary (fallback) groups. Decide if you need additional queues, what their conditions will be, and which groups will be primary and secondary. See Understanding how omnichannel routing uses queues to route work to agents.
Note: Creating additional queues might require adjustments to your triggers for them to continue working correctly to help you route work into the appropriate queues.
- What unified agent statuses are you going to use? Just the standard agent statuses or custom statuses, too? For each custom status, what will be the name of the status and what will be the per-channel statuses?
- Are you routing based on ticket priority? If so, what triggers are you going to use to add and manage priority on tickets?
- Are you using skills? If so, what skills are you going to define and which agents have them? What routing rules or triggers are you going to use to add and manage skills on tickets? Do you want to fallback to routing without regard to skills if agents with the skills aren't available? If so, which skills are always required, and which are optional?
- (Enterprise plans only) Are you going to turn on call offering time limits, which acts as a reassignment time threshold for incoming calls?
- How do you want to handle re-opened email and messaging tickets if the agent has certain statuses? For which statuses would you want to reassign email tickets? For which statuses would you want to reassign messaging tickets?
- How do you want to handle reassigning tickets? Do you want new tickets to be prioritized over them and therefore rely on the standard queue for reassignment, or would you like them to be prioritized equally against new work and reassigned through custom queues?
- When you turn on omnichannel routing, it's configured to use a the standard omnichannel routing queue that routes work from all channels to the ticket's assigned group. However, we recommend creating custom queues to route tickets that meet specific conditions to multiple primary and secondary (fallback) groups. Decide if you need additional queues, what their conditions will be, and which groups will be primary and secondary. See Understanding how omnichannel routing uses queues to route work to agents.
Editing the routing configuration
After you turn on omnichannel routing and set your routing tag, your final step is to configure how it distributes the messages. An initial routing configuration is supplied with omnichannel routing. You can edit this at any time to suit your needs.
To set up a routing configuration
- In Admin Center, click Objects and rules in the sidebar, then select Omnichannel routing > Routing configuration.
- On the Routing Configuration page, click Edit next to the Initial routing configuration.
- On the Initial routing configuration page, you can see the name and description for the routing configuration.
- Configure the following Global routing options, which apply to tickets from emails, messaging conversations, and calls across all omnichannel routing queues:
- Ticket sorting: Determines whether tickets are ordered in the queues and assigned by priority and date created or by nearest SLA breach.
- Assignment method: Determines whether omnichannel routing assigns work to agents with the highest spare capacity or agents who have gone the longest without being assigned work for the channel. Regardless of the method you select, agents must have an eligible status and spare capacity for the channel to be routed work.
- Turn on skills-based routing: (Professional plans and above for Zendesk Suite, Support, Talk, and Chat) Routes tickets to agents with matching skills who also have an eligible status and spare capacity. When using skills to route tickets, we recommend also configuring a skill timeout.
- Turn on focus mode: Assigns an agent work from one real-time channel at a time. Email tickets aren't included in this restriction.
- Reassign reopened tickets: (Professional plans and above for Zendesk Suite, Support, and Chat) Reassigns email and messaging tickets if the assigned agent has a specified status when the ticket status changes from Solved, Pending, or On-hold back to Open.
- Reassign tickets through queues: (Professional plans and above for Zendesk Suite, Support, and Chat) Use custom queues to reassign tickets that have been assigned to an agent and are then assigned back to a group. When not selected, tickets are re-assigned through the standard queue.
- Under Email routing, configure whether to Automatically open email tickets. This determines whether newly assigned email tickets are opened in a new tab for the agent. Regardless of this setting, agents receive a notification that a new ticket has been assigned to them.
- Configure the following Messaging routing options:
- Choose whether to Wait until the agent accepts offered tickets or auto-accept for the agent. Determines whether messaging tickets are offered to agents or automatically assigned to them by omnichannel routing.
- Reassign if agent doesn't accept within time limit: (Professional plans and above for Zendesk Suite, Support, and Chat) Reassigns work to a different team member if it isn’t addressed in the time you specify.
- Turn on messaging activity routing: Determines whether inactive messaging tickets are counted toward agent capacity and how inactive tickets are routed to agents.
- When you are finished, click Save.
Global routing options
Global routing configuration settings affect all channels.
Ticket sorting
The standard omnichannel routing logic assigns work to agents in order of priority and routing eligibility timestamp (commonly when the ticket is created). However, in some cases, it's preferable to assign work in order of least time until an service level agreement (SLA) breach.
If you decide to order work by SLA breach times, tickets are ordered by nearness to SLA breach, beginning with those that have already breached and followed by tickets with upcoming breach times. All tickets with an SLA are prioritized over those without; tickets that aren't subject to an SLA are sorted behind all SLA-related tickets based on their priority and routing eligibility timestamp.
- Under Ticket sorting, select Prioritize tickets with a service level agreement (SLA).
Assignment method
The standard omnichannel routing configuration uses a combination of agent statuses and capacity to predict which agent is most available to handle each ticket. However, the complex interactions of how capacity is counted, having multiple capacity rules for different agents, and custom statuses, means it can sometimes be challenging for Zendesk admins and team leads to understand why tickets are being routed the way they are. If you want all the other benefits of omnichannel routing, but would like to increase the predictability of which agent will receive work, you can configure omnichannel routing to use the round robin method.
When you configure round robin assignment, omnichannel routing identifies all agents with spare capacity and eligible statuses to receive work for the channel. Then, it assigns the work to the agent who has gone the longest period of time since last receiving work for that channel. Omnichannel routing considers any ticket assignment, whether manual or by omnichannel routing, as an assignment event. Additionally, omnichannel routing counts offering a call or messaging conversation to an agent and the reopening of a ticket as assignment events.
- Under Assignment method, either leave Highest spare capacity selected to use the standard configuration or select Round robin.
See Using round robin routing for email, messaging conversations, and call tickets.
Skills-based routing
On Professional plans and above, you can choose to route tickets to agents with matching skills who also have an eligible status and spare capacity. To use this feature you must have defined skills for your account and a way to assign skills to tickets. When using ticket triggers to assign skills to tickets, you have the ability to specify whether each skill is required or optional. Skills marked as required can't time out and are always part of the criteria for routing the ticket to an agent, but optional skills stop being considered, in order of priority from low to high, for routing purposes when skill timeouts occur.
If you turn on skills-based routing, we recommend also configuring a skill timeout. When a timeout is configured, work can be assigned to agents without the optional skills if no available agents have all of the matching skills. For email tickets, which are always assigned to agents when routed by omnichannel routing, skill timeouts occur when a ticket reaches the front of the queue and no agent with all of the matching skills is available for a specified duration. However, for messaging and calls, skill timeouts can occur only when no agents with the matching skills are available (online, with spare capacity) for the timeout duration; if any agent with matching skills is available, omnichannel routing will continuously offer the ticket to them until either they accept it or all agents with matching skills become unavailable for the specified timeout duration.
If you don't turn on the skill timeout, email and messaging tickets with skills remain in the queue indefinitely until an agent with all of the matching skills becomes available, and calls remain in the queue until the maximum queue wait time is reached and the call is sent to voicemail.
See About using skills to route tickets.
- Select Turn on skills-based routing.
- (Recommended) Select Turn on skills timeout and configure your timeout thresholds per channel.
- Email: The skills timeout threshold for email tickets. The default is one hour.
- Messaging: The skills timeout threshold for messaging conversation. The default is 30 seconds. This also applies to chats in some circumstances.
- Talk: The skills timeout threshold for calls. The default is 30 seconds.
Focus mode
On Team plans and above, you can configure omnichannel routing to help agents focus when handling tickets from real-time channels (calls, messaging conversations, and live chats). When you turn on focus mode, omnichannel routing only routes an agent work from one real-time channel at a time. For more information, see About focus mode.
Email tickets aren't included in this restriction and can still be assigned while agents address more time-sensitive tickets from other channels.
- Select Turn on focus mode.
Reassign reopened tickets
On Professional plans and above, you can reassign email and messaging tickets if the assigned agent has a specified status when a ticket's status changes from Solved, Pending, or On-hold back to Open. If you are using custom ticket statuses, this applies to all custom ticket statuses in the Solved, Pending, or On-hold status categories. Depending on your other routing configuration settings, ticket reassignment can be to another agent in the ticket's assigned group or through custom queues.
- Select Turn on reassignment for reopened tickets.
- Select the agent statuses for which you want to reassign reopened Email tickets.
If reassigment through queues is also on, all reopened email tickets are reassigned regardless of the routing tag. Otherwise this reassignment behavior applies to email tickets with the routing tag only, even if the ticket wasn't originally assigned by omnichannel routing.
- Select the agent statuses for which you want to reassign reopened Messaging tickets. This also applies to chats in some circumstances.
Reassign email and messaging tickets through custom queues
- Select Reassign tickets through queues.
Email routing options
The following setting applies only to how omnichannel routing assigns email tickets to agents.
Automatically opening email tickets
You can choose whether a newly assigned email ticket is automatically opened in a new tab for the assigned agent, similar to messaging conversations. Regardless of this setting, the agent receives a notification of the assignment. If you choose not to automatically open email tickets, it's a good idea to have agents use views to monitor the tickets assigned to them.
- Select Automatically open assigned email tickets.
Messaging routing options
The following settings apply only to how omnichannel routing offers and assigns messaging conversations to agents.
Auto-accept messaging tickets for the agent
Typically, messaging conversations are offered to agents rather than automatically assigned. On Team plans and above, you can configure omnichannel routing to automatically assign messaging tickets to agents instead of offering them. This also applies to chats in some circumstances.
This feature can't be used at the same time as messaging reassignment timing.
- Select either Wait until the agent accepts (the standard configuration) or Auto-accept for the agent.
Messaging reassignment timing
On Professional plans and above, you can configure omnichannel routing to reassign messaging tickets to a different team member if the assigned agent hasn't addressed it in the time you specify. When messaging reassignment timing is enabled, a specified time, in seconds, can elapse before work is reassigned to another agent. Depending on your other routing configuration settings, ticket reassignment can be to another agent in the ticket's assigned group or through custom queues. The timing is 30 seconds on Professional plans, and customizable on Enterprise plans. This also applies to chats in some circumstances.
This feature can't be used at the same time as auto-accept for messaging.
- Select Reassign if agent doesn't accept within the time limit.
The timing is 30 seconds on Professional plans.
- (Enterprise plans only) Enter the Messaging timing in seconds.
Count inactive conversations towards agent capacity
On Team plans and above, you can choose whether to count all open active and inactive messaging tickets towards an agent's capacity or only active messaging tickets. This setting was previously referred to as messaging activity routing.
When selected, active and inactive messaging tickets are counted and offered to agents through the Accept button.
When not selected, only active messaging tickets are counted towards capacity and offered to agents through the Accept button. Inactive messages are automatically assigned to a previously-offered agent or other available agent. See Understanding how capacity rules work for messaging conversations and live chats.
- Select Count inactive conversations towards an agent's capacity.
Configuring omnichannel routing to route tickets based on priority
On Professional and Enterprise plans, omnichannel routing automatically considers ticket priority if it's set. All you have to do is set a ticket's priority before it is assigned to an agent. We recommend using triggers to automatically set the ticket's priority when it enters the queue. This can be done with the same routing triggers you're already using to assign groups and the routing tag, or separate triggers.
- Create a new trigger or edit an existing one.
- Add conditions to define the tickets you want to set the priority for.
- Add an action Ticket > Priority and select the priority value you want to assign.
Evolving your routing configuration
- Are your reassignment timeouts correct? If your agents often have spare capacity, you could try reducing these thresholds. If they are typically at capacity with a large queue of work waiting for an available agent, reducing the threshold probably isn't a great idea.
- Is your ticket prioritization working for each channel? Are any adjustments needed?
- Are your unified agent statuses still meeting your needs? Have you noticed any trends in agent productivity based on their status usage? If you aren't using custom agent statuses, would they be helpful to you?
- Has anything changed for you organizationally that should be reflected in our routing configuration, triggers, or other business rules?
When you need to adjust your routing configuration, see Editing the routing configuration.