Suite | Professional, Enterprise, or Enterprise Plus |
Support | Professional or Enterprise |
Omnichannel routing assigns tickets from email (including web form, side conversations, and API), calls, and messaging directly to agents based on agent availability and capacity and, on Professional plans and above, ticket priority and skills. The standard omnichannel routing configuration directs all eligible tickets into a single queue, assigning work to agents in the group assigned to the ticket. If you want to use omnichannel routing to direct work to agents in multiple groups or configure secondary or fallback groups, you can create custom queues.
If you create custom queues, new tickets are inserted into the first custom queue they meet the conditions for, and omnichannel routing uses the standard queue only if the ticket doesn't match any custom queues. On Team and Growth plans, email and messaging tickets that are reassigned back to a group are automatically inserted into the standard queue and assigned to an agent in the ticket's group. On Professional plans and above, admins can choose whether to reassign email and messaging tickets through the custom queues or the standard queue.
You must have the Agent Workspace to use omnichannel routing.
Creating a custom omnichannel routing queue
Before creating queues, ensure you understand how queues work in omnichannel routing. You can create up to 199 custom queues in addition to the standard omnichannel routing queue.
- In Admin Center, click
Objects and rules in the sidebar, then select Omnichannel routing > Queues.
- Click Create queue.
- Enter a Name for the queue.
- (Optional) Enter a Description for the queue.
- Click Add condition to set up the queue to meet All or
Any conditions.
Conditions are the qualifications needed for a ticket to be added to the queue.
- Select a Condition, Field operator, and Value for each condition you add.
- (Optional, Enterprise plans only) Select Distribute tickets across
subqueues if you want to route specific percentages of the tickets
meeting this queue's conditions to different primary and secondary groups.
You can create up to five subqueues per custom queue.
If you select this option, provide a Name and configure the Percentage, Priority, Primary groups, and Secondary groups (as described below) for each subqueue rather than the custom queue as a whole. The sum of the subqueue percentages must equal 100%.
After creating all of your subqueues, click Save.
- Specify the queue's Priority relative to other queues.
Valid values are 1-100, with 1 being the highest priority.
Queue priority is only considered when an agent receives work from multiple queues. In that case, work from the queue with the higher priority is assigned first.
- Select at least one Primary group.
You can select up to 20 primary groups. Omnichannel routing treats all primary groups as a single pool of agents.
- (Optional) If you want to configure secondary groups for the queue, select
Turn on secondary groups and then select at least one
Secondary group.
You can select up to 20 secondary groups. Omnichannel routing treats all secondary groups as a single pool of agents.
Omnichannel routes work to the primary groups first, falling back to the secondary groups only if no agents in the primary groups are available. If no agents are available in any of the primary or secondary groups, the tickets remain in the queue until an agent from any of the groups becomes available.
- Click Save.Note: New queues are automatically added to the bottom of the list on the Queues page. If you want your newly created queue to be evaluated prior to other omnichannel routing queues, you must reorder the list. See Managing custom omnichannel routing queues.
After you create custom queues, you can report on their performance to see how well work is being routed through them, including how much work is awaiting available agents and how long work items spend in each queue on average. See Explore recipe: Reporting on custom omnichannel queue performance.
Building queue condition statements
Condition statements consist of a condition, operator, and value. Conditions are the qualifications needed for a ticket to enter the queue. The field operator determines the relationship between the condition and the value. For example, if you select the field operator "Is," your condition must equal the specified value. Supported field operators differ by condition.
-
Routing channel: Indicates how omnichannel routing is treating a
ticket for routing purposes. Often this aligns with the ticket's channel
(also known as the via type). However, some settings, such as treating agent-ended messaging sessions
as email tickets, can result in this value being different from
the ticket's channel. For example, you can use the following conditions to create a queue that routes agent-ended messaging session tickets only:
- Channel | Is | Messaging
- Routing channel | Is | Email
- All ticket trigger conditions
16 comments
Rafael Santos
Hey team, could you please update the API Reference documentation to include Queues?
I guess it could be on Omnichannel, Ticketing, or Betas and EAPs.
FYI Jacquelyn Brewer, Barry Neary
List queues:
Create queue:
List queue definitions:
Show queue:
Update queue:
Delete queue:
0
Steve Lacoss
This will not assign to a group until an agent in that group becomes available for the related channel (email/messaging). You will also either have a trigger to still assign to the group so you can see volume or have a view to monitor unassigned tickets.
0
Jacquelyn Brewer
Rafael Santos I've confirmed with Barry Neary that the team is currently working on the public-facing APIs for omnichannel routing queues.
2
Farmina Consultant
Any updates? I saw the new spec on the oas.yaml file.
List queues is working, but create queue still not
0
Lena OCC
Hello,
My account has 3 types of skills:
Brands (only agent with the skill can work on the ticket).
Topics (custom ticket fields: only agent with the skill can work on the ticket).
Language The ticket should be first pushed to an agent with the skills but if no one is available in the next X minutes then assign the ticket to someone else with brand/topic skills.
There's the option to turn on skills timeout, but we can't select the type of skills.
Or
We can use secondary groups under queue, but there's no delay. So if the Arabic agent has reach is ticket capacity the ticket will be directly routed to someone else;
Do you have any workaround please?
0
D.Fitz
What is the process for the Secondary Group kicking in? Will it happen immediately? Is there an in-built delay? Is it tied to skills timeout?
0
Barry Neary
HI Lena OCC
We are currently working on a feature to allow you to do this - release likely Sept 2024. No clear workaround at present - although if its an email ticket potentially you could use an automation which fires if the ticket is still New (unassigned ) after x hours and adds a tag which causes a trigger to remove a skill
0
Barry Neary
Hi D.Fitz
Secondary group overflow happens immediately if primary group not available. Not linked to skills timeout
1
Steven Hampson
Hi Barry,
Hope you're well. Is there a way to add a tag to a ticket when it enters a queue, so that we can report on it? I know there is the live omnichannel reporting but we want to be able to report on historical trends as well.
Many thanks,
Steven.
0
Barry Neary
Hi Steven Hampson
You could have a trigger with the same condition as the queue add a tag - then report on tickets with this tag?
0
Steven Hampson
Thanks Barry! I'm not sure if that will give me exactly what I need because I want to know if something looks like it should match but was not routed correctly - ideally I'd want it to tag after it enters the queue so I can check performance. But I'll give that a try, it might be enough. Thanks for the suggestion. Steven.
0
Vitaliia Paniuta (External)
Is there a condition in queues which can work like “if SLA is close to be breached”?
0
Barry Neary
Hi Vitaliia Paniuta (External)
No, not currently. There is the ability to move a message from one routing queue to another if that message goes inactive - see here
0
Johannes Garske
Hi,
Does primary group mean that the ticket is moved to this specific group or is it really just a group of agents that nothing has to do with the group of the ticket?
0
Sinan Omerović
Hi Barry Neary,
Are there any updates on the request from Lena?
I am currently facing a similar issue - our primary “Skill” is the ticket Brand - which works fine - only agents with the matching brand skill can work on the tickets from that brand.
However, when it comes to the ticket language I'd like to have the following:
- Higher priority queue routes ticket to agents with the matching language skill only
- Lower priority queue routes tickets to agents regardless of language skill
This would mean that agents working on English tickets will always have the English tickets routed to them first - as long as there are English tickets in the queue. However once there are no longer any English tickets in the queue - they would be eligible to receive tickets from a different language.
Using the skill timeouts isn't ideal for this - because if we have a large backlog, all tickets start being timed out of their language skill - making agents do other language tickets while English tickets are still available. Ideally we would like to have agents work on their own language before helping with any other languages.
Is there any news in regards to this, or any recent updates/workarounds?
Thanks!
0
Barry Neary
HI Sinan Omerović
We are planning to have agent skills priorities, which enable you to specify which skill is most important - in your case English, The agent will get tickets with this skills first before receving tickets with other skills that they have. I dont have a release date as we are still in discovery but will post here once we have a confirmed release date.
0