Omnichannel routing with unified agent status allows you to direct tickets from email (including web form, side conversations, and API), calls, and messaging to team members based on their availability and capacity. On Professional and Enterprise plans, tickets can also be routed based on priority (see Summary of features by plan). Using omnichannel routing means agents can set a single unified status for all channels, and important tickets are assigned to the agents who are most available to work on them. This provides the following benefits:
- Agents can respond to tickets faster
- You can prioritize work from high-value customers, including calls
- Agents are automatically assigned tickets and don’t have to go looking for them
- Agents can’t "cherry pick" the tickets they want to work on
- Agents can work on multiple ticket channels at once
- You can route calls to specific groups of agents based on the caller's country code of callers or other attributes
You can use capacity rules to limit the amount of work that’s assigned to agents at one time. However, regardless of these rules, agents can assign themselves work in excess of these limits if they want to (see Creating capacity rules to balance agent workloads).
With omnichannel routing, instead of setting status individually by channel, agents can set a single unified status for Support, Talk, and Messaging. On Professional and Enterprise plans, admins can also define their own custom statuses such as “Out to lunch” or “In a meeting.” This can assist you when deciding how you want to route work items (calls, tickets, and messages) based on the agent status and capacity. See Adding unified agent statuses.
To use omnichannel routing, you have to enable and configure it. If you decide to stop using it, you can turn it off.
This article contains the following sections:
Requirements and limitations of omnichannel routing
There are a few requirements for using omnichannel routing, as well as some limitations you should consider before enabling the feature.
Requirements
- The Agent Workspace must be activated for your account.
- If your account has a Chat subscription, native messaging or Sunshine Conversations must also be activated.
- You can't be using live chat.
Limitations
Omnichannel routing with unified agent status currently has the following limitations:
- Omnichannel routing can't be enabled if you’re using live chat. Only Messaging is supported.
- Broadcast and hybrid modes for messaging aren't supported.
- Focus mode isn't supported.
- Routing of email tickets by skills in omnichannel routing is currently in an Early Access Program (EAP). If you're interested, you can sign up for the EAP here.
- The ability to set an agent's status if they don't accept a number of message assignments, known as automatic idle, isn't supported yet.
- When using agent statuses, operating hours won't automatically set an agent's status.
- Light agents can't be assigned tickets and can't set a status.
- The ability to change a Talk agent’s status from the Talk dashboard, mobile apps, or by using the Talk APIs isn't supported. Integrations that use Talk APIs to change agent statuses might also be impacted.
- The ability to set up multiple call routing fallback groups in Talk settings for a single line or IVR keypress isn’t supported with omnichannel routing.
- Tickets are created for all calls as soon as they enter the queue.
The setting “Create tickets for abandoned calls” is no longer available.
Tip: You can create a workflow to automatically close tickets created for abandoned calls.
- If call forwarding is enabled and the status of an agent is automatically set to offline because the agent has been disconnected, calls to the agent will no longer be forwarded to the agent’s phone.
- Explore dashboards will show per channel agent statuses but not unified custom statuses.
- At the time omnichannel routing is activated, agent statuses can get into an inconsistent state. It is important to manually set every agent's unified status to offline initially, then allow them to set their own status after that. For more information, see Agent statuses are changing to online when enabling omnichannel routing.
- When using priority phone numbers in Talk, call tickets are assigned High priority but aren't necessarily put directly at the top of the queue.
- Talk Partner Edition isn't supported. The way you route calls for Talk Partner Edition depends on the integration you're using.
How omnichannel routing works
When you use omnichannel routing, tickets are generated for all channels of work when they enter the queue, enabling you to run triggers on them, including incoming calls. For brevity, channels of work are labeled as Email (including tickets generated from email, web form, side conversations, and API), Messaging, and Talk.
Omnichannel routing routes work to agents based on the following:
- Availability. This is defined by the single unified status the agent sets across channels.
- Capacity for each work channel. You define the maximum capacity for each channel and decide which tickets are eligible for routing.
- (EAP) Skills. This is defined by the skills assigned to agents and Support tickets, and only applies to email tickets.
Then triggers are used to assign the tickets to groups, assign a ticket priority, and add a routing tag to the ticket. The following table shows the order in which tickets are routed to agents:
Plan | Order in which tickets are routed |
---|---|
Suite Team and Growth |
Tickets are assigned to agents in the order they are created. |
Suite Professional and Enterprise |
The ticket with the highest priority and oldest creation date, is routed to an agent within the assigned group who has an eligible status and the most spare capacity. |
Tickets are assigned to agents based on the following:
- Agent's status for the channel:
- Email tickets: An agent must have a status of online or away to receive email tickets.
- Messaging conversations: An agent must have a status of online to receive active messaging tickets.
- Calls: An agent must have a status of online to receive incoming call tickets.
If an agent forgets to set their status to offline, the status of the agent is automatically set to offline or away, as defined by an admin, when one of the following events is detected:
- An agent closes the Agent Workspace without signing out (by closing down their computer or browser window or putting their computer to sleep)
- An agent’s connection is lost due to a network outage
- An agent is idle for longer than the idle status threshold defined by admins
See Setting your unified agent status with omnichannel routing.
- Agent's spare capacity for that channel:
- An agent must have fewer open tickets or active messaging conversations than the defined maximum capacity for that channel to have spare capacity. See Creating capacity rules to balance agent workload.
- If more than one agent has an eligible status and spare capacity, the agent with the highest spare capacity for the relevant channel is assigned.
- If more than one agent has an eligible status and the same spare capacity for the relevant channel, the ticket is assigned to the agent who hasn't been assigned a ticket in the longest time.
- To be assigned an inactive messaging ticket (more than 10 minutes without a reply), an agent must have spare capacity, but the ticket doesn’t use up any of that capacity.
- Agent's skills (EAP for email tickets only):
- An agent must have the same skills as the ticket in addition to having an eligible status and spare capacity.
- If you select Fallback to routing model, tickets will be assigned without regard to skills if an agent with the matching skills is unavailable when a ticket reaches the top of the queue. If this option isn't selected, tickets will sit in the queue until an agent with the matching skills becomes available.
Here's an example of a scenario for omnichannel routing:
- An important VIP end user has an urgent issue that needs to be resolved.
- They submit a ticket using the email channel.
- The account admin has set up a trigger for the account to add the auto-routing tag to these tickets and then assign a group and priority.
- As a result of this trigger, the end user's ticket automatically routes to a specific group with an urgent priority.
- Omnichannel routing now assesses the ticket based on agent status and capacity.
- The routing system first understands that two agents are available for work.
- Second, it finds the agent with the most spare capacity for emails and assigns the ticket to this agent.
Reassigning messages and calls in omnichannel routing
Messaging conversations and calls require time-sensitive responses. Therefore, omnichannel routing has special reassigment logic for each.
Reassigning messaging conversations
With reassignment timing, a message can be reassigned to another agent in the group if the original agent does not take the message within a specific time threshold. The default threshold is 30 seconds. On Enterprise and above, that threshold can be customized.
The reassignment timing setting must be turned on during setup to reassign messages automatically if they aren’t accepted within the specified time. If that setting isn’t enabled, the routing engine will keep trying the same agent.
Reassigning incoming calls
When a call is offered to an agent, they can choose to accept or decline it. If the agent declines the call or doesn't answer within 30 seconds, the call is returned to the queue and assigned to another available agent. The call will continue to be offered to available agents in a round-robin fashion until the maximum queue waiting time expires.
- Hours since created > (calendar) Less than >1
- Status > Less than >Solved
- Channel > is > Phone call (incoming)
Summary of features by plan
The availability of omnichannel routing features varies by plan level. The following applies to your Zendesk Suite plan level, or to the plan level of all individual products:
Team | Growth | Professional | Enterprise |
---|---|---|---|
Routing email, messaging and call tickets |
Routing email, messaging and call tickets |
Routing email, messaging, and call tickets |
Routing email, messaging, and call tickets |
Routing based on capacity and agent status |
Routing based on capacity and agent status |
Routing based on capacity, agent status, and skills (EAP) |
Routing based on capacity, agent status, and skills (EAP) |
Default unified agent statuses |
Default unified agent statuses |
Default unified agent statuses |
Default unified agent statuses |
Routing based on priority |
Routing based on priority |
||
Up to 5 custom statuses |
Up to 100 custom statuses |
||
Message reassignment |
Customizable reassignment time |
Related articles
See the following articles for more information to help you get up and running with omnichannel routing and agent statuses:
165 Comments
Still don't see Omnichannel under objects and rules. We have Agent Workspace enabled, and I don't think we have a chat subscription.
Hi Michelle Nibbe
You have a chat subscription and dont have messaging enabled, which is why you dont see routing enabled on your instance
Barry
So we cannot use this if we don't have messaging enabled? We don't use it. We take tickets from clinics and have to stick to strict guidelines regarding PII and HIPAA.
There is not a spot to enable messaging anyways. I've followed the directions and there is no box to enable.
Is chat used in Omnichannel?
Hi Michelle, no - chat is not compatible with the new routing engine.
hi barry
What is the assignment rule for those messaging tickets that were not attended during the 10 minutes, example:
-I have several tickets to expire the 10 minutes
-I have 3 agents connected, 2 who are actively answering messages and 1 is at the limit of its capacity. The reassignment would be made by the agent who has not attended a conversation the longest, but does this imply that all those cases that exceeded 10 minutes will be assigned to this agent?
Thank you
Hi Onei
Inactive messages currently work as follows:
In your example, if only one agent has spare capacity then that agent will be assigned the inactive messages. Those inactive messages will not take up that agents capacity
Barry
Are there any plans to remove the dependency of Messeging? Any plans to incorporate external phone systems, as Zendesk lacks any actual IVR power for a team larger than 10?
Hi, currently if you have a chat subscription you need to have messaging enabled.
We are looking at supporting mixed mode customers i.e. cusomers with both chat and messaging traffic.
We also do have support for 3rd party telelphony systems on the roadmap
Barry
Will these status be available to use in reports in explore? it would be nice to know, of the time an agent is active, how many tickets are assigned. etc.
so from my understanding, once this is out of beta I can stop using a round robin add-on and use this feature to auto assign tickets to agents?
Hi Pedro Cassian: Yes, with some caveats:
1) You need to be on agent workspace, and if you have chat subscription you need to have messaged enabled to use omnichannel routing
2) The initial version of omnichannel routing has many of the features of the round robin app but not all - the documentation here should help, but also you could setup the beta on your sandbox to have a look
Barry
Hi Barry Neary,
Nice to see the PO being so involved.
One of the limitation is
Does this mean that routing based on language is a problem as well?
Messaging does support the routing on skill/language the way i have set it up in sandbox.
Hi Tim
You can have language as a condition on a trigger and use it with routing; e.g. if lang = spainish and tag=billing then assign to 'spanish billing group', and then the routing engine will assign it to an agent in that group.
What we are working on now is the ability that if the ticket has a spanish skill on it, the routing engine will route it to the general billing group and it will look for an agent that is available (online and has spare capacity) but also has the right skills
Barry
Is there a timescale for skills routing yet? Honestly this feature looks amazing but our setup relies heavily on skills.
Hi Ola Timpson, we are working on skills right now, so hopefully we will have something out before end of year
Barry
HI Barry,
any timeplan for API here? We control Talk Agent Status by Time Measurement App right now and to convert to new tool, we need it.
Thanks.
Tobias
Hi Tobias,
Agent Availability APIs are currently under development and are expected to be launched as an Early Access Program in Q4 (mainly to allow you to test the endpoints and provide feedback) and GA in Q1 2023. Let me know if you are interested in participating in EAP so I can let you know when it is available.
Thanks,
Volkan
HI Volkan,
Yes, please add us here so that we can double-check migrating the current solution into a new one with our dev team. Thanks.
Extremely bummed that many of the features we desperately need are all being loaded into this omnichannel EAP, which requires messaging over Chat. Messaging has quite a few holes that need to be addressed before it meets the requirements we have for a viable chat tool. I've been asking for these features for years and had my requests closed out as planned, only for the plans to specifically exclude me from using it.
Hi CJ, if its any consolation we are looking at ways of supporting chat within the omnichannel routing engine. No fixed dates yet, but will update this thread once we do
Barry
Sorry that I am late to the conversation. We have messaging and agent workspace enabled but still no option to enable omnichannel routing. Am I missing something?
Hi Jason Smith, seems you already have an existing ticket about the issue. We'll go ahead and proceed with the discussion there.
Regarding:
“A message remains active for 10 minutes in the queue. If it still hasn't been assigned after 10 minutes, the inactive message will be assigned to the next online agent with spare capacity (known as round-robin). It won’t use up any of that capacity. This applies only to messages that have previously been offered to an agent. Inactive messages never offered to an agent (for example, because they come in when all agents were offline) remain in the queue and are not assigned.“
Are there plans to resolve the issues this causes? For example, the following behavior is caused by the above: when agents sign in to start their day, they are dumped dozens of overnight tickets. Is there a recommended way to reassign these tickets to another group to prevent this? (My email/async support team and my live chat/messaging support teams are separate.)
Note: I believe this is inaccurate - “This applies only to messages that have previously been offered to an agent.” I do not have messaging agents (the only channel we’re using Omni routing for) online overnight and yet all overnight tickets drop onto my morning agents anyway.
Hi LVB
We are looking at various options to address this issue, including treating inactive messages the same as active ones...i.e. they would take up capacity just like active ones do. Would that be your preference?
You are correct that the text you quote is inaccurate. We will have that changed
Barry
Hi Barry Neary
We have been asking for this problem to be solved for more tan a year (since messaging was launched). Why is a chat that has not been answered for 10 minutes considered inactive? Why can't we manage this on our end?
We usually reply to customers in less than 1 minute. But during situations, such as incidents or today's Russian attack on Ukrainian cities, we do not answer clients as quickly. And as a result, we can not route these chats in the standard way, they are available only through the tab "unassigned tickets".
This is extremely inconvenient for teams with 100+ agents. Please do something about it
Hi Slava Skorbezh
Have you switched on omnichannel routing? It will automatically route messages that are active or inactive.
The inactive messages will be assigned to agents without them having to click Accept, they do not take up capacity of the agent...
Barry Neary We tested and found out that inactive chats do not count towards the agent's chat limit. That is, if an agent has a limit of 3 active chats, then all inactive chats will be assigned to him over the limit. Is this how it should work?
Barry Neary,
If inactive messaging conversations are different than both email and active messaging convos, I'd advocate for a third capacity limit with a checkbox to "combine active and inactive Message capacities" in the Capacity Rules. My use case would be to include inactive convos in capacity calculations for Messaging (hence the checkbox), but can understand if others do not have this workflow. Absent that, I would count them toward the email limit as they are more aligned with that channel's workflow than messaging's workflow.
Is Zendesk Talk Partner edition (https://www.zendesk.com/in/service/voice/talk-partner-edition) also supported in this omnichannel routing?
Please sign in to leave a comment.