Omnichannel routing is a highly configurable routing solution that can route tickets from email (including web form, side conversations, and API), calls, and messaging conversations. Agents are considered available to receive work through omnichannel routing when they have an eligible status and spare capacity for the channel.
When configuring omnichannel routing, you can choose whether to assign work based on the highest spare capacity or based on the time elapsed since agents last received work for that channel, which is commonly referred to as round robin.
Understanding how round robin routing changes the standard omnichannel routing behavior
The assignment methods for omnichannel routing are straightforward on the surface: either you're routing based on spare capacity or time since last assignment for the channel. However, the way these methods interact with other routing configuration options can help you make an informed decision when setting up your own omnichannel routing workflows.
- Any ticket assignment to an agent, whether manual or by omnichannel routing
- A call or messaging ticket is offered to an agent
- A ticket assigned to an agent is reopened
Scenario 1: Agents available
- Agent 1: Has a spare capacity of 1. Was assigned a messaging conversation ticket 5 minutes ago.
- Agent 2: Has a spare capacity of 2. Was assigned a messaging conversation ticket 3 minutes ago.
- Agent 3: Has a spare capacity of 3. Was assigned a messaging conversation ticket 1 minute ago.
Round robin
If you're using the round robin method, omnichannel routing assigns the messaging ticket to agent 1 because they've had the longest time elapsed since being assigned a ticket for the channel. This behavior is consistent across all channels.
Highest spare capacity
If you're using the standard method of highest spare capacity, omnichannel routing assigns the messaging ticket to agent 3 because they have the most spare capacity for the channel. This behavior is consistent across all channels.
Scenario 2: No agents have spare capacity
- Agent 1: Has no spare capacity. Was assigned a messaging conversation ticket 5 minutes ago.
- Agent 2: Has no spare capacity. Was assigned a messaging conversation ticket 3 minutes ago.
- Agent 3: Has no spare capacity. Was assigned a messaging conversation ticket 1 minute ago.
In this scenario, omnichannel routing would behave the same way for both routing methods. The ticket would be assigned to the first agent that drops below their maximum capacity. This is true for all channels.
Scenario 3: Routing with focus mode turned on
- Agent 1: Has a spare capacity of 4. Was assigned a messaging conversation ticket 5 minutes ago. Is on an active call.
- Agent 2: Has a spare capacity of 2. Was assigned a messaging conversation ticket 3 minutes ago. Isn't on an active call.
- Agent 3: Has a spare capacity of 4. Was assigned a messaging conversation ticket 1 minute ago. Isn't on an active call.
Round robin
If you're using the round robin method with focus mode, omnichannel routing assigns the messaging ticket to agent 2 because they've had the longest time elapsed since being assigned a ticket for the channel while also not having an active call. This is because focus mode prevents omnichannel routing from assigning messaging tickets to an agent while they're working on a call and vice versa. Email tickets are excluded from focus mode, and therefore would be routed to agent 1 in this scenario.
Additionally, if focus mode wasn't enabled but all other factors remained the same, omnichannel routing would assign the ticket to agent 1 because they've had the longest time elapsed since being assigned a ticket for the channel.
Highest spare capacity
If you're using the standard method of highest spare capacity with focus mode, omnichannel routing assigns the messaging ticket to agent 3 because they have the most spare capacity for the channel while also not having an active call. This is because focus mode prevents omnichannel routing from assigning messaging tickets to an agent while they're working on a call and vice versa.
Email tickets are excluded from focus mode, and therefore would be routed to agent 1 in this scenario because agent 1 and agent 3 have the same spare capacity, but agent 1 has gone longer without being assigned work for the channel. This would also be the behavior if focus mode was off but all other factors remained the same.
Turning on round robin routing
Round robin routing can be turned on in your omnichannel 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.
- Under Assignment method, select Round robin.
- Click Save.
13 comments
Mohamed Hosny
Awesome!, When this feature will be released to all accounts?
0
Mohamed Hosny
Awesome!, When this feature will be released to all accounts?
0
Kris
Is it possible to use Round Robin for some agents/groups and capacity for others?
2
Muhammet Hasan Güngör
Where is the Round Robin Method.I cannot find it under the Assignment method, because there is no Assignment method option in anywhere.
0
Muhammet Hasan Güngör
Hi, There is no any Assignment method option under the Routing configuration.Is it a bug?
0
Jacquelyn Brewer
Hi Mohamed Hosny and Muhammet Hasan Güngör. This feature is currently in the process of being rolled out. All accounts with omnichannel routing should have this feature by September 16. See the announcement for the latest information about the rollout.
0
Jacquelyn Brewer
Kris Like many omnichannel routing configuration settings, this is currently only able to be set at the account level. However, this is great feedback for the product team. Feel free to re-post your comment in the community, where we collect and manage customer feedback and feature requests.
0
Morten Frisch
I did some testing on this round robin functionality in our sandbox. We created 11 tickets, and then changed the Agent Status to Online for 1 agent. He immediately got 10 of the tickets assigned to him, and the second agent who logged in a few minutes later got the last ticket. Would it be possible to change this behavior? No one wants to be the first one to log in when they get so many tickets up front.
Ideally there needs to be some config option to limit the amount of tickets distributed for each round robin iteration (or per hour), or as a minimum change the invisible threshold of 10 tickets, to another, lower, number.
4
Steven Hampson
I have the same issue as Morten, we have some people that start earlier than others, but it means that the first person to log in in the morning, gets all the tickets that came in overnight. There needs to be an option similar to how it works in the Round Robin app, where you can set a limit like ‘5 per hour’ so that it keeps it fair when agents have staggered start times.
0
Barry Neary
Hi Morten Frisch & Steven Hampson
You can reduce the agent's maximum capacity so that they receive a few amount of tickets. We are looking at defining max capacity in terms of tickets per hour rather than the way it is now, which is the maximum amount of open tickets that can be assigned to an agent at any one time
0
Steven Hampson
Thanks Barry! We did consider reducing the maximum capacity but that doesn't work well either because we still want all tickets assigned within a certain timeframe. And if we set the early starters to a lower capacity than others, it means the people that start later will get more overall. We are doing trials and will continue to monitor and modify the capacities but having a limit per hour would remove a major barrier for us in going all-in with the Zendesk native routing. Thanks for considering it :)
0
Crystal Cisneros
Is there a way to have for example… A group of 5 agents. Where agent 1 and agent 2 receive calls… then if both agent 1 and agent 2 are on the phone…. agent 3, 4 or 5 get the call? I'd like to have agent 1 and 2 receive all calls first if available then it go to the rest if not the next agent available…
0
Barry Neary
Hi Crystal Cisneros
You could this using routing queues, but you would need to have agents 1 and 2 in a seperate group which is the primary group for the call routing queue and then the secondary group contain agents 3,4 and 5. The calls would only go to the secondary group if the primary one were not available
cc: Jenny Gillett
0