Omnichannel routing is a highly-configurable routing solution that can route tickets from email, calls, messaging, web form, side conversations, and the API. 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 out and planning your routing configuration.
Planning your routing configuration
Omnichannel routing works out of the box. That means it 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. Decide what your routing tag will be.
- You probably already use triggers to assign tickets to groups. In that case, you just 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. 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.
- 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.
- On Professional and Enterprise plans, you'll also need to decide the
following:
- 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 the routing model if agents with the skills aren't available?
- 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? (On Professional plans the reassignment time is 30 seconds; on Enterprise plans, it is customizable.) Are you going to turn on call offering time limits, which acts as a reassignment time threshold for incoming calls?
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.
- On Professional and Enterprise plans, you can configure the following
values:
-
Turn on skills-based routing: This routes 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. See
About using skills to route
tickets.
-
Turn on skills timeout : (Recommended) When selected,
work may be assigned to agents without the matching skill if
none of the agents with the skills are available at the time. If
you don't turn on the skills timeout, email and messaging
tickets with skills remain in the queue indefinitely until an
agent with the matching skill becomes available; calls remain in
the queue until the maximum queue wait time is reached and the
call is sent to voicemail.Note: Before agents can be considered for assignment after a skills timeout occurs, one of the following events must occur: agent status changed, agent capacity changed, the agent's group assignment changed, or the agent's maximum capacity changed.
- 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.
- Talk: The skills timeout threshold for calls. The default is 30 seconds.
-
Turn on skills timeout : (Recommended) When selected,
work may be assigned to agents without the matching skill if
none of the agents with the skills are available at the time. If
you don't turn on the skills timeout, email and messaging
tickets with skills remain in the queue indefinitely until an
agent with the matching skill becomes available; calls remain in
the queue until the maximum queue wait time is reached and the
call is sent to voicemail.
- Turn on messaging activity routing: Counts all open active and inactive messaging tickets towards an agent's capacity. Additionally, both active and inactive messaging tickets will be offered to agents via the Accept button. When not selected, only active messaging tickets are counted towards capacity and offered via the Accept button.
-
Turn on messaging reassignment timing: This reassigns
work to a different team member if it isn’t addressed in the time you
specify.
-
Messaging timing (seconds): If messaging
reassignment timing is enabled, specifies the time in seconds
before work is reassigned to another agent. This feature is
available on all plans up to Professional and is editable on
Enterprise. Note: On Enterprise plans, you can also set a reassignment timing threshold for incoming calls with the Call offering time limit setting on the Talk page in Admin Center. See Managing Talk line settings.
-
Messaging timing (seconds): If messaging
reassignment timing is enabled, specifies the time in seconds
before work is reassigned to another agent. This feature is
available on all plans up to Professional and is editable on
Enterprise.
-
Turn on reassign reopended tickets: This 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. If
you are using custom ticket statuses, this
applies to all custom ticket statuses in the Solved, Pending, or On-hold
status categories.
- Email: Select the agent statuses for which you want to reassign email tickets when the ticket status changes. This reassignment behavior applies to all email tickets with the routing tag, even if the ticket wasn't originally assigned via omnichannel routing.
- Messaging: Select the agent statuses for which you want to reassign messaging tickets when the ticket status changes. This applies to all messaging tickets.
Note: To configure reassignment of reopened tickets, your account must allow agents to assign tickets back to their groups.
-
Turn on skills-based routing: This routes 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. See
About using skills to route
tickets.
- When you are finished, click Save.
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.
81 Comments
Hi Bobby Koch
Third party telephony solutions are not integrate with omnichannel routing yet - there are APIs to read and write the agent status which could be used by a 3rd party solution, but full integration is likely to happen next year
Messages are no longer being routed and not sure where they are going. No option to accept a chat in conversations.
Hi Christine
Can you create a support ticket for your issue and we can check on what the issue is?
Barry
Where do we enable this? I am trying to test it yet I can see no reference to Omnichannel routing anywhere in our instance.

Hi Liam Kelly. Omnichannel routing has the following requirements:
If you meet these requirements and still don't see omnichannel routing, please open a ticket, and we'll investigate.
This article states that Skilled-Based Routing is available to Professional plans (non-suite). Can you confirm this? I am on enterprise but do not have the ability to modify routing or add skill based, as far as I can tell.
Yes, if you have support Prof or above you should see a Skill section in your Admin centre
Hi Barry,
Can you bring some light to my open questions, please?
1.) When setting a direct assignment to Agents via Trigger and without auto-routing tag, does it count in capacity rules, or does everything need to run through the tag engine to count?
2.) If an Agent is on sick leave or vacation and has open tickets but stays "offline," when / how will a re-assignment happen?
3.) In case no Agent "pick" items, and everyone is on the limit, can we pressure the tickets to the Agents to speed them up, or can only increasing capacity help here?
4.) We look into sorting it based on country, i.e., German in a Trigger condition and group "German" in case German Team is busy. How can I build an overflow scenario for the English team?
5.) Our 100K Orgs are sorted on pre-prior already, so all "high value" changed by Ticket Creation to "Critical", where less urgent Organisation by the trigger to "Medium / High" and without Org is "Low", how can I combine this concept into Omni Channel Trigger, without rebuild and need 3 / 4 Priority trigger? We usually rework this by Automation "after assignment" and adjust SLA to right level (which confuse with Omni Assignment)
6.) Does I see the queue somewhere, how much backlog we have?
Thanks.
Kind Regards,
Tobias
Kindly see my answers to your questions in bullets:
1.) When setting a direct assignment to Agents via Trigger and without auto-routing tag, does it count in capacity rules, or does everything need to run through the tag engine to count?
2.) If an Agent is on sick leave or vacation and has open tickets but stays "offline," when / how will a re-assignment happen?
3.) In case no Agent "pick" items, and everyone is on the limit, can we pressure the tickets to the Agents to speed them up, or can only increasing capacity help here?
4.) We look into sorting it based on country, i.e., German in a Trigger condition and group "German" in case German Team is busy. How can I build an overflow scenario for the English team?
Hope this helps.
I am very thankful for the GA release of assignment and capacity management option for inactive conversations. It solved the problem of unfair workload assignment to the first agent that comes online when too many tickets are unassigned and inactive.
However, another problem arose. When assigned messages turn inactive, agent's capacity seems "inflated" compared to their actual activity and they have to clear those conversations manually in order to be offered new conversations.
We noticed this behaviour was a huge catalyst for a drop in agent productivity. Especially, with the messaging Explore dashboard being still incomprehensive and the new omnichannel dataset being still in closed beta.
I am hoping to have the best of both options by decoupling capacity and assignment. It would be ideal for inactive messages not to be counted in agent's capacity, but at the same time get offered to agents with spare capacity instead of being automatically assigned.
Hi Ahmed Zaid (cc: Prakruti Hindia)
Yes, you are correct in that by treating inactive messages the same as active they will continue to take up capacity until the agent manually set the messaging ticket status to Pending, On Hold or Solved.
To confirm what you would ideally like :
1) Messages in the queue that are unassigned would be assigned and take up capacity independent of whether they are active or inactive
2) Once assigned, there would be the concept of inactivity, whereby if there was no conversation on the message for a certain period of time , the capacity would be released?
Barry Neary that sounds great.
Is there a way to include text/SMS tickets in routing? Looks like it's not listed under any of the existing categories and I see someone above was saying they couldn't get SMS tickets to route.
Hi Kyle, would you like SMS/texts to be treated like email tickets, or are they more like a back and forward messaging conversation?
Hi Barry Neary!
Ideally we could have SMS treated like a live messaging ticket! But even just routing them like a regular email ticket would still be very helpful :)
+1 to Kyle Kneeland- we would also like to treat them as messaging tickets. We're actually in the process of adding Twilio SMS through SunCo partly as a way to overcome this limitation.
Is it possible to have 'major' brands and 'minor' brands so that the tickets for the major brands are assigned first and then minor brands are assigned once the major brand queues are empty?
Nora You can use triggers to set a higher priority on your major brands. Omnichannel will distribute those higher priority ones first.
Small point of feedback: it's unclear from this doc and from routing settings what "Turn on messaging activity routing" actually does.
There's no real definition of "activity" and I had to hunt to find this announcement to discover why my agents were getting assigned so many chats over their capacity limits: https://support.zendesk.com/hc/en-us/articles/5785684459418-announcing-assignment-and-capacity-management-for-messaging
cc: Prakruti Hindia, Jacquelyn Brewer
Hi Barry,
I do not know if Omnichannel routing can be set up to route to the Tier 1 group AND then to Tier 2 group if Tier 1 group further escalates the ticket. If the Tier 1 group cannot fix the issue then Tier 1 group sends it to Tier 2 group. Can omnichannel be set up to route to Tier 1 AND then Tier 2? We do not want Tier 1 to cherry pick who to assign the ticket to in Tier 2. Omnichannel routing should assign an available agent in Tier 2 the ticket if Tier 1 need to further escalate it. How can this be set up? I can set up a trigger to route the ticket to Tier 1 (add the auto-routing tag to tickets and then assign to Tier 1 group). But unsure how to set up trigger to assign an agent in Tier 2 if Tier 1 cannot solve the ticket.
Hi Uyen
We are addressing this issue by introducing Routing Queues later this year, but for now the two ways of handling this:
1) Initially route to Tier one and then allow agents to manually reassign to Tier Two group if they cannot handle this (although this can lead to cherry picking as you mentioned)
2) Have an automation run every hour that automatically reassigns all open Tier One tickets if they are still open after X mins or hrs
Barry
Hi Barry Neary,
Do you know when the Routing Queue will be available? We plan to subscribe to a third party vendor rather than use Zendesk's Omnichannel feature given the feature does not meet our needs. However, if the Routing Queue will be rolled out soon then we can hold off subscribing to the third party vendor.
Hi! We have enabled omnichannel routing and it has been working. However recently I have noticed that when my agents use the OOO app and have all their tickets placed back into the queue, omnichannel routing is not assigning those tickets out to be worked and they just sit in the "all unassigned" view. I don't want to enable the reassign timeout with offline status because that wont work with our other workflows. I just want tickets placed back into the all unassigned from the OOO app to be assigned. Thanks!
Hi Uyen Nguyen
Late Q4 or Q1 is the current timeline
Hi Brighton
If there are support tickets, then they would need to have the autorouting tag attached and be assigned to a group in order to be reassigned to another agent, is that the case?
Hi Barry,
Yes they have the tag, group and priority assigned.
Brighton
Is it E-Mail or Web Form tickets? Voice / Helpcenter isn´t supported yet.
Make sure to "close" the Agent Workspace Tab and reopen it, as this sometimes does not show "real assignee".
I can offer you also a look as we have similar setup in our instance if you like ping me in Skype: tagio1989
Hi Brighton
Normally we recommend that the OOO app is not used with omnichannel routing, but if you really need it could you raise a ticket with our support team and they can take a look?
Is there a way within messaging to automatically respond to new chats that there may be a delay in response during business hours due to higher than normal volume when all online agent are at capacity?
Please sign in to leave a comment.