

The Routing EAP enables you to direct tickets generated from Zendesk Support email, webform, API, and messaging conversations to agents based on the ticket's priority and the agent's status and capacity (together referred to as their availability). This method of routing ensures the highest priority items are assigned to the agents who are most available to work them first.
Understanding how availability-based routing works
First and foremost, availability-based routing provides a way to route work to agents based on their availability as defined by their status and their spare capacity for that channel of work. You get to define maximum agent capacities for each channel and decide which email tickets are eligible for this type of routing. Agents set their status. Triggers are used to assign the tickets to groups, assign a priority, and apply the routing tag to Support tickets. The priority assigned to tickets and messaging conversations determines the order in which work is routed to agents.
Determining ticket priority
Tickets (generated from Zendesk Support email, webform, API, and messaging conversations) are assigned to agents based on their priority. If there are multiple tickets with the highest priority, the oldest ticket by date of creation is assigned first. The ticket deemed to be the highest priority, based on the assigned priority and date of creation, is routed to an agent within the assigned group who has an eligible status and the most spare capacity.
Determining which agent to assign the ticket to
- An agent's status for the channel.
- Messaging conversations: An agent must have a status of Online to receive messaging tickets.
For more information, see Setting your chat status in the Zendesk Agent workspace.
- Email tickets: An agent must have a status of Online to receive email tickets.
Agents working in Support can't explicitly set their status, but Zendesk can detect if they're logged in or not. For availability-based routing, agents logged into Support are considered Online and those who aren't logged in are considered Offline.
- Messaging conversations: An agent must have a status of Online to receive messaging tickets.
- An agent's spare capacity for that channel.
- An agent must have fewer tickets or messaging conversations than the defined maximum capacity for that channel of work.
- 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 highest spare capacity, the agent that has the longest elapsed time since being assigned a ticket from that channel is assigned.
Considerations for availability-based routing
- The channel-specific maximum capacity values per agent are set at an account level. They can't be set by group or modified for individual agents.
- If an agent doesn't accept a messaging ticket assignment, it won't be reassigned automatically. After ten minutes, the routing engine will end the conversation and the ticket will remain assigned to the agent but it won't be counted against their capacity.
- Skills aren't considered by the availability-based routing engine.
- Broadcast and hybrid modes for messaging aren't supported.
- 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.
- Availability-based routing is enabled at the account level.
Configuring availability-based routing
There are two steps to configure availability-based routing: enabling the feature and configuring triggers to assign the tickets to the appropriate group(s) and add the routing tag to tickets.
Enabling availability-based routing
When you enable availability-based routing, you need to define a tag that will be used to indicate which email tickets should be routed this way. Admins also must specify capacity limits per agent for each channel.
To enable and configure availability-based routing
- In Admin Center, click the Objects and rules icon (
) in the sidebar, then select Business rules > Routing.
- Click the Routing tab, and then select Enable routing.
- Under Define auto-routing tag, enter a unique tag that will be used to mark all email tickets that you want to be assigned to agents via availability-based routing.
This must be a new tag that hasn't been used before in your account.
- Specify the Email capacity and Messaging capacity for your agents.
Agents who reach one of these capacity limits won't be assigned new tickets in that channel until they are back below the specified capacity.
- Click Save.
Creating triggers to prepare tickets for availability-based routing
- Assign a group
- Assign a priority
- (For email tickets) Add the routing tag
Disabling availability-based routing
Disabling availability-based routing is simple, but you'll also want to modify your triggers used for availability-based routing accordingly.
- In Admin Center, click the Objects and rules icon (
) in the sidebar, then select Business rules > Routing.
- Click the Routing tab, and uncheck the Enable routing box.
- Click Disable routing to confirm the change.
- Deactivate or modify triggers used for availability-based routing.
55 Comments
Hi, just wanted to clarify.
The article specifically mentions "email" tickets but by the looks of it, seems like tickets from other non real time channels like web can be applied via trigger+tag mentioned in the article.
Is this true? or only "email" & "messaging" tickets are supported by the EAP?
I'd love to know more about the points Lee mentioned too. Does this routing work for any other incoming live channels, like Zendesk Chat?
Hi Lee & Dan -
if you'd like to sign up for the waiting list to participate in the EAP, you can do so here: https://support.zendesk.com/hc/en-us/community/posts/4412494234138-How-do-I-sign-up-for-the-Routing-EAP-
I've also alerted the product manager to your comments here.
The EAP signup link is restricted. It gives us an OOPS page :D
Hi Lee, yes - the type of tickets that can be routed are those originating from an email, from API or from a webform
Heather Rommeloops, that's my bad. Standby.
Apologies for the broken link. Should be fixed now!
Nicole, can you confirm if this is different or the same as the round robin EAP?
Thanks.
Hi there, Just a few questions - we're trying to find out how this will work and if we should wait for release or invest more in a third party solution for now.
From reading this article, is it just one auto-routing tag that assigns to any available agents? Or can you define different tags for different groups of agents?
Also just wanting to confirm if the 'per-agent limits that are set at the account level' means that it's just one limit, not applied per-agent individually?
Lastly, as it determines agent availability based on if agents are signed in to support or not, can you give more information around how this works? Is it limited to only assigning within the business hours defined in the Zendesk schedule, or if someone signs in outside of those hours will they be assigned tickets as well? And how does it determine if someone is no longer signed in, for example if they left for the day but have left their computer on/browser open?
Thanks, keen to hear how this will work and potentially develop in the future!
-SP
@Jed: this is the routing EAP, which I believe is the same one you're referring to
Hi Scott
In the EAP, you specify the type of ticket that you want routed by adding the tag to it. However once the tag is added and the ticket is assigned to a group, then any member of the group who is online and has spare capacity can be routed a ticket. Currently you cannot specify that a certain agent (e.g. team leader) should not be routed a ticket. We are planning to address this in the future, but its not there now.
We are working on enabling an admin to specify different max capacity limits for different agents - so for example set team leaders to have '0' max capacity and so they wont be routed tickets.
Currently for EAP an agent is set online when they signed in and offline when they manually signed out. We are working on being able to set agents offline when they close the browser or there is a lack of activity for X number of mins, but this is not in the EAP at present.
Barry
Hi Barry,
Thanks for your answers! Are you able to confirm how this behaves outside of business hours set in Zendesk? Or if it's independent of schedules.
Thanks!
-SP
Hi Scott
Currently the Routing EAP is independent of schedules
Barry
Barry Neary
Hi Barry,
I have received an email stating that Zendesk Routing EAP has been enabled on my Zendesk instance. I am currently following "Configuring availability-based routing" steps to enable it, however, I do not see Enable routing button option under Routing tab. Therefore, I do not have an option to enter a tag under "Define auto-routing tag".
Please advise.
Hello,
Does the capacity in terms of tickets the agent currently has assigned differ based on the status of those tickets? Is it all tickets that are not solved/closed?
Our program has many unresolved tickets due to waiting on 3rd parties or developers for enhancements/bug fixes, etc. We keep those tickets as On Hold since they are not waiting on the agent or requestor and are essentially out of our hands so we don't typically count those as capacity limitations on our end.
Denny Lee: can you try again now, there was an issue last Friday in deploying EAP which has since been addressed
Mindy B: Capacity does take into account ticket status. Only assigned tickets with status of Open will count towards an agent's capacity, if they are Pending, On Hold or Solved they do not.
We do not use priority on tickets. Does it need to have a value for routing to work?
What happens if priority is not set to ticket?
Hi Kulin Joshi
You dont have to use priority to use routing - if you dont set priority on any tickets to be routed, then they will just be ordered by date created when it comes to being assigned.
Barry
Barry Neary If priority is not set then tickets will be assigned based on age of date created.
More age will be given high priority.
If we use SLA then how would that have an impact?
if we used priority and we'd have more high than low priority tickets the impact on low priority SLA would be severe, correct?
Hi Kulin Joshi
You can use automations to change the priority of tickets. Say you have a low priority ticket that is in the queue waiting to be assigned to an agent. It is about to breach its SLA. You can setup an automation (which runs every hour) to set the priority of the ticket to urgent as its approaching SLA breach. This ticket will then move to the top of the queue
Barry
Hi Scott Patterson
We are considering adding business hours to the routing engine - whereby you could setup one (or more than one if you are an Enterprise customer) schedules and then have the routing engine take into account if a schedule has been associated with a particular ticket.
If it has, the routing engine would not automatically route it if the schedule has been exceeded.Would such a feature be of interest? If so, would you want the ability to turn it on and off at an account level?
Regards
Barry
Hi Barry Neary,
If schedule is attached to a ticket then routing engine will only route tickets when its within working hours?
Regards,
Kulin
Hi Kulin Joshi
Currently in the Routing EAP, it ignore schedule. But we are planning to add this feature, whereby if you specify a schedule for a particular type of ticket and assign it to a group, then it will only be automatically assigned to an agent within that group if its within business hours.
Would you have any specific requirement around such a feature?
Hi Barry Neary,
Yeah being able to restrict by schedule would be pretty helpful. In our case we primarily work between 8am-5pm, however customers may be sending through support requests after this or over night for non-urgent issues or alerts. If schedules are not used then this means that if an engineer is working late to catch up on work, or someone wants to log into Zendesk in the evening to check a ticket or something, they'll start getting assigned any tickets that have come in which would unfairly burden them, when ideally we want these to assign out evenly between staff at 8am the next morning.
There's also a slightly different issue where if it only assigns to staff once they log into Zendesk, then it kind of rewards staff who may show up/sign in late and hurts staff who sign in early. Staff who sign in before 8am will first be assigned work that came in over night, however staff who are late and sign in at say 8:30 will miss out on that. It may balance out over the course of the day as it assigns to the person with the least tickets, but the balance there wouldn't be immediate. That's less of an issue though than the not sticking to schedules, but thought I'd mention it.
Thanks!
-SP
Hi Barry Neary,
It would be good to have that feature to assign tickets based on schedule. We have two teams - one use business hours and other calendar hours. Account based activation is ok if we can use both the optoins. If schedule is not added to ticket then it ignores it and assign tickets in calendar hours format.
Regards,
Kulin
Hi Barry Neary,
What about happen to tickets in a group which are unassigned and not in New status?
Scenario 1:
Agent is out of office, customer replied to one of his pending/solved ticket. This ticket will be assigned back to the group in open status but will not be assigned to any agent.
Scenario 2:
Agent escalated a ticket to our level 2 team and next day went on leave. Level 2 team will assign that ticket back to the group in on hold status but will not be assigned to any agent.
Will these tickets be routed to available agents or will it stay in the group unassigned?
Regards,
Kulin
Hi Kulin Joshi,
In scenario one, you could use the trigger mentioned here, but the issue with that is currently we dont have a trigger condition on agent status - so the ticket would be reassigned back to the group and the routing engine would assign it to another agent independent of whether the original agent was offline or not - it would just look for a ticket that the end user has reopened. This is something we are looking at addressing.
In scenario two, you are correct, the ticket because it is on hold and not open would not be routed - instead it would stay in the group and could be picked by an agent who has access to the group view.
Barry
Hi Barry Neary,
What if we use the out of office app. That will assign the ticket back to group when customer update a solved or pending ticket if that agent is marked as out of office.
will these tickets be assigned to other agents ?
Regards,
Kulin
Hi Barry Neary,
I tried the out of office app and your suggested trigger.
Unassigned tickets in Open status are not getting assigned to agents.
Also, ticket was getting assigned back to agent once customer had replied in spite of it getting assigned back to agent.
When I tried to assign a ticket back to group then it gives me error " You can't reset the assignee within a group. Please select another group or assign to another agent within the current group."
It would be nice to have this feature where unassinged open tickets in a group get assigned to agents just like tickets with New status.
Regards,
Kulin
Please sign in to leave a comment.