Creating custom omnichannel routing queues

<body>
<p id="docs-hc-snippet" style="display: none;">Omnichannel routing assigns tickets fromemail (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 alleligible ticketsinto 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.</p>
<div class="article-banners">
<div id="docs-wmp-link">
<a href="https://support.zendesk.com/hc/en-us/articles/5411234991258-plan" rel="noopener" target="_blank">What's my plan?</a>
</div>

<div class="article-banner" id="suite_pee">
<table>
<tbody>
<tr>
<td>
<strong>All Suites</strong>
</td>
<td>Professional, Enterprise, or Enterprise Plus</td>
</tr>
</tbody>
</table>
</div>

<div class="article-banner" id="support_pe">
<table>
<tbody>
<tr>
<td>
<strong>Support</strong>
</td>
<td>Professional or Enterprise</td>
</tr>
</tbody>
</table>
</div>

</div>

<div class="body">

<div class="note fastpath">
<span class="fastpathtitle">Location: </span> <span class="ph">Admin Center &gt; Objects and rules &gt; Omnichannel routing &gt;
Queues</span>
</div>
<p class="p">Omnichannel routing assigns tickets from <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4409149119514#topic_psx_hxk_3yb" target="_blank">email (including web form, side conversations, and
API)</a>, 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 <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6712096584090#topic_by4_fyz_31c" target="_blank">eligible tickets</a> 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. </p>
<p class="p">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 <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4828787357210#topic_g4r_x1z_rcc" target="_blank">reassign email and messaging tickets</a> through
the custom queues or the standard queue. </p>
<p class="p">You must have the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408821259930" target="_blank">Agent Workspace</a> to use omnichannel routing.</p>
<div class="p">This article contains the following topics:<ul class="ul" id="topic_zfc_cnh_j1c__ul_opc_k1l_3jc">
<li class="li"><a class="xref" href="#topic_emc_yd3_j1c">Creating a custom omnichannel routing queue</a></li>
<li class="li"><a class="xref" href="#topic_amf_zjd_42c">Building queue condition statements</a></li>
<li class="li"><a class="xref" href="#topic_udr_frk_3jc">Adding subqueues</a></li>
<li class="li"><a class="xref" href="#topic_br3_crk_3jc">Using subqueues to evaluate predictive routing</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_emc_yd3_j1c">
<h2 class="title topictitle2" id="ariaid-title2">Creating a custom omnichannel routing queue</h2>
<div class="body">
<p class="p">Before creating queues, ensure you <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6712096584090" target="_blank">understand how queues work in omnichannel routing</a>. You
can create up to 199 custom queues in addition to the standard omnichannel routing
queue.</p>
<div class="p">
<strong class="ph b">To create a custom omnichannel routing queue</strong><ol class="ol" id="topic_emc_yd3_j1c__ol_g3v_q23_j1c">
<li class="li"><span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" id="topic_emc_yd3_j1c__d9e1981" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_objects_rules_icon.png">
<strong class="ph b">Objects and rules</strong> in the sidebar, then select <strong class="ph b">Omnichannel routing &gt;
Queues</strong>.</span></li>
<li class="li">Click <strong class="ph b">Create queue</strong>.</li>
<li class="li">Enter a <strong class="ph b">Name</strong> for the queue.</li>
<li class="li">(Optional) Enter a <strong class="ph b">Description</strong> for the queue.</li>
<li class="li">Click <strong class="ph b">Add condition</strong> to set up the queue to meet <strong class="ph b">All</strong> or
<strong class="ph b">Any</strong> conditions. <p class="p">Conditions are the qualifications needed for a
ticket to be added to the queue.</p>
</li>
<li class="li">Select a <strong class="ph b">Condition</strong>, <strong class="ph b">Field operator</strong>, and <strong class="ph b">Value</strong> for each
condition you add. <p class="p">See <a class="xref" href="#topic_amf_zjd_42c">Building queue condition statements</a>.</p>
</li>
<li class="li">(Optional, Enterprise plans only) Select <strong class="ph b">Distribute tickets across
subqueues</strong> if you want to route specific percentages of the tickets
meeting this queue's conditions to different primary and secondary groups.
<p class="p">See <a class="xref" href="#topic_udr_frk_3jc">Adding subqueues</a>.</p>
</li>
<li class="li">Specify the queue's <strong class="ph b">Priority</strong> relative to other queues. <p class="p">Valid
values are <em class="ph i">1-100</em>, with <em class="ph i">1</em> being the highest
priority.</p>
<p class="p">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.</p>
</li>
<li class="li">Select at least one <strong class="ph b">Primary group</strong>. <p class="p">You can select up to 20 primary
groups. Omnichannel routing treats all primary groups as a single pool
of agents.</p>
</li>
<li class="li">(Optional) If you want to configure secondary groups for the queue, select
<strong class="ph b">Turn on secondary groups</strong> and then select at least one
<strong class="ph b">Secondary group</strong>. <p class="p">You can select up to 20 secondary groups.
Omnichannel routing treats all secondary groups as a single
pool of agents. </p>
<p class="p">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.</p>
</li>
<li class="li" id="topic_emc_yd3_j1c__saveQueue">Click <strong class="ph b">Save</strong>.<div class="note note">
<span class="notetitle">Note:</span> 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 <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6716541571994#topic_kkb_g43_j1c" target="_blank">reorder the list</a>. See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6716541571994" target="_blank">Managing custom omnichannel routing
queues</a>.</div>
</li>
</ol>
</div>
<p class="p">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 <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/7217081202714" target="_blank">Explore recipe: Reporting on custom omnichannel queue
performance</a>.</p>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_amf_zjd_42c">
<h2 class="title topictitle2" id="ariaid-title3">Building queue condition statements</h2>
<div class="body">
<p class="p">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.</p>
<div class="p">The following conditions are available for custom omnichannel routing queues:<ul class="ul" id="topic_amf_zjd_42c__ul_vt1_4ld_42c">
<li class="li">
<strong class="ph b">Routing channel</strong>: 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 <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4828787357210#topic_hr4_1lh_n2c" target="_blank">treating agent-ended messaging sessions
as email tickets</a>, can result in this value being different from
the ticket's channel. <div class="p">For example, you can use the following conditions
to create a queue that routes agent-ended messaging session tickets
only:<ul class="ul" id="topic_amf_zjd_42c__ul_s4y_3z2_p2c">
<li class="li"><strong class="ph b">Channel | Is | Messaging</strong></li>
<li class="li"><strong class="ph b">Routing channel | Is | Email</strong></li>
</ul>
</div>
</li>
<li class="li">
<strong class="ph b">All <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408893545882#topic_i3y_fkz_1cb" target="_blank">ticket trigger
conditions</a></strong><div class="note note">
<span class="notetitle">Note:</span> The <em class="ph i">Ticket &gt; Channel</em> condition returns
a complete list of ticket channels, including those that aren't
supported by omnichannel routing. See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4409149119514#topic_hhb_2xk_3yb" target="_blank">Channels supported by omnichannel
routing</a>.</div>
</li>
</ul>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested1" id="topic_udr_frk_3jc">
<h2 class="title topictitle2" id="ariaid-title4">Adding subqueues</h2>
<div class="body">
<p class="p">On Enterprise plans, subqueues allow you to route specific percentages of the tickets
meeting a queue's conditions to different primary and secondary groups. When adding
subqueues, you must add at least two and up to 5 subqueues per queue.</p>
<div class="p">
<strong class="ph b">To add subqueues</strong><ol class="ol" id="topic_udr_frk_3jc__ol_oyg_krk_3jc">
<li class="li"><span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" id="topic_udr_frk_3jc__d9e1981" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_objects_rules_icon.png">
<strong class="ph b">Objects and rules</strong> in the sidebar, then select <strong class="ph b">Omnichannel routing &gt;
Queues</strong>.</span></li>
<li class="li">Next to the queue you want to add subqueues to, click the options menu
(<img class="image" id="topic_udr_frk_3jc__image_ykw_rrk_3jc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/options-menu-icon-small.png" width="16">) and select <strong class="ph b">Edit</strong>.</li>
<li class="li">Select <strong class="ph b">Distribute tickets across subqueues</strong>.</li>
<li class="li">For each subqueue, enter the following:<ul class="ul" id="topic_udr_frk_3jc__ul_jgx_trk_3jc">
<li class="li">
<strong class="ph b">Name</strong>: Subqueue names must be unique within the queue.</li>
<li class="li">
<strong class="ph b">Percentage</strong>: The percentage of the queue's work that should be
assigned through this subqueue.<p class="p">The sum of the subqueue percentage
values must equal 100.</p>
</li>
<li class="li">
<strong class="ph b">Priority</strong>: The subqueue's priority.</li>
<li class="li">
<strong class="ph b">Primary groups</strong> and <strong class="ph b">Secondary groups</strong>: The groups to
which the tickets in the queue should be assigned.</li>
<li class="li">(Optional) Set <strong class="ph b">Predictive routing</strong> to <strong class="ph b">Active</strong> to use AI
to assign the subqueue's tickets to agents.</li>
</ul>
</li>
<li class="li">Click <strong class="ph b">Save</strong>.</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested1" id="topic_br3_crk_3jc">
<h2 class="title topictitle2" id="ariaid-title5">Using subqueues to evaluate predictive routing</h2>
<div class="body">
<div class="p">If you want to evaluate how <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6712096584090#topic_nr3_ppk_3jc" target="_blank">predictive routing</a> works for a queue, you
have two options:<ul class="ul" id="topic_br3_crk_3jc__ul_xw1_3j4_njc">
<li class="li">
<strong class="ph b">A/B testing</strong>: (Recommended) Splits a queue into two subqueues that run
in parallel. This method controls for other changes happening at the same
time, and the test runs until both subqueues have sufficient data to
evaluate the performance of predictive routing.</li>
<li class="li">
<strong class="ph b">Before/after testing</strong>: Turns on predictive routing for 100% of a
queue's tickets, which can then be compared to the queue's performance
before predictive routing was turned on. This method is less reliable than
A/B testing because it doesn't account for other variables that could change
between the two time periods being compared, such as fluctuations in ticket
volume, seasonality, and releases.</li>
</ul>
</div>
<p class="p">After the <a class="xref" href="#topic_y4z_p34_njc">testing period</a>, you
can filter the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9757103543194" target="_blank">ticket progress real-time dashboard</a> by time to compare
results from before and after you turned on predictive routing. Look at the <em class="ph i">agent
engagement time</em> metric. Additionally, you might also see improvements in the
<em class="ph i">customer wait time</em> and <em class="ph i">average resolution time</em> metrics. Lower
values for any of these metrics would indicate that predictive routing provided
improvements.</p>
<p class="p">The following procedure describes how to use subqueues to perform A/B testing. To do
this, you'll create two subqueues with the same priorities, primary groups, and
secondary groups. Then, for one of the subqueues you'll turn on predictive routing
and for the other you'll leave it off.</p>
<div class="p">
<strong class="ph b">To configure subqueues to evaluate predictive routing</strong><ol class="ol" id="topic_br3_crk_3jc__ol_ivy_w5k_3jc">
<li class="li"><span class="ph">In <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4581766374554#topic_hfg_dyz_1hb" target="_blank">Admin Center</a>, click <img class="image" id="topic_br3_crk_3jc__d9e1981" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ac_objects_rules_icon.png">
<strong class="ph b">Objects and rules</strong> in the sidebar, then select <strong class="ph b">Omnichannel routing &gt;
Queues</strong>.</span></li>
<li class="li">Next to the queue you want to add subqueues to, click the options menu
(<img class="image" id="topic_br3_crk_3jc__image_jvy_w5k_3jc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/options-menu-icon-small.png" width="16">) and select <strong class="ph b">Edit</strong>.</li>
<li class="li">Select <strong class="ph b">Distribute tickets across subqueues</strong>.</li>
<li class="li">For the first subqueue, enter the following:<ul class="ul" id="topic_br3_crk_3jc__ul_kvy_w5k_3jc">
<li class="li">
<strong class="ph b">Name</strong>: A unique name.</li>
<li class="li">
<strong class="ph b">Percentage</strong>: Enter <strong class="ph b">50</strong> or a different percentage you'd
like to apply predictive routing to.</li>
<li class="li">
<strong class="ph b">Priority</strong>: The subqueue's priority.</li>
<li class="li">
<strong class="ph b">Primary groups</strong> and <strong class="ph b">Secondary groups</strong>: The groups to
which the tickets in the queue should be assigned.</li>
<li class="li">Set <strong class="ph b">Predictive routing</strong> to <strong class="ph b">Active</strong>.</li>
</ul>
</li>
<li class="li">For the second subqueue, enter the following:<ul class="ul" id="topic_br3_crk_3jc__ul_i4x_1vk_3jc">
<li class="li">
<strong class="ph b">Name</strong>: A unique name.</li>
<li class="li">
<strong class="ph b">Percentage</strong>: Enter <strong class="ph b">50</strong> or the remaining percentage of
the queue's work that isn't using predictive routing.<div class="note note">
<span class="notetitle">Note:</span> The
subque percentage values must total 100%.</div>
</li>
<li class="li">
<strong class="ph b">Priority</strong>: Enter the same priority as the first subqueue.</li>
<li class="li">
<strong class="ph b">Primary groups</strong> and <strong class="ph b">Secondary groups</strong>: Select the same
primary and secondary groups as the first subqueue.</li>
<li class="li">Leave <strong class="ph b">Predictive routing</strong> to <strong class="ph b">Inactive</strong>.</li>
</ul>
</li>
<li class="li">Click <strong class="ph b">Save</strong>.</li>
</ol>
</div>
</div>
<div aria-labelledby="ariaid-title6" class="topic nested2" id="topic_y4z_p34_njc">
<h3 class="title topictitle3" id="ariaid-title6">Planning your evaluation period</h3>
<div class="body">
<p class="p">After configuring your test for predictive routing, you must determine how long
to run the test before evaluating the performance. It's important to remember
that big improvements might stand out quickly, but smaller margins of
improvement might take longer to become evident. </p>
<div class="p">Use the following table as a guideline for how long you need to run the test to
reliably have sufficient data to determine whether predictive routing improves
your ticket-time metrics for different queue ticket volumes. Improvements will
be visible as reductions in your ticket-time metrics.
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_y4z_p34_njc__table_hxc_vm4_njc" rules="all" summary="">
<colgroup>
<col style="width:25%">
<col style="width:25%">
<col style="width:25%">
<col style="width:25%">
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d52e594" style="vertical-align:top;">Metric Improvement Scenario</th>
<th class="entry cellrowborder" colspan="3" id="d52e597" style="vertical-align:top;">Days to Observe<p class="p">(by daily
ticket volume in the smallest subqueue)</p>
</th>
</tr>
<tr class="row">
<th class="entry cellrowborder" id="d52e605" style="vertical-align:top;"> </th>
<th class="entry cellrowborder" id="d52e607" style="vertical-align:top;">50/day</th>
<th class="entry cellrowborder" id="d52e610" style="vertical-align:top;">100/day</th>
<th class="entry cellrowborder" id="d52e613" style="vertical-align:top;">200/day</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d52e594 d52e605" style="vertical-align:top;"><strong class="ph b">5%</strong></td>
<td class="entry cellrowborder" headers="d52e597 d52e607" style="vertical-align:top;">48 days</td>
<td class="entry cellrowborder" headers="d52e597 d52e610" style="vertical-align:top;">24 days</td>
<td class="entry cellrowborder" headers="d52e597 d52e613" style="vertical-align:top;">12 days</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d52e594 d52e605" style="vertical-align:top;"><strong class="ph b">10%</strong></td>
<td class="entry cellrowborder" headers="d52e597 d52e607" style="vertical-align:top;">12 days</td>
<td class="entry cellrowborder" headers="d52e597 d52e610" style="vertical-align:top;">6 days</td>
<td class="entry cellrowborder" headers="d52e597 d52e613" style="vertical-align:top;">3 days</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d52e594 d52e605" style="vertical-align:top;"><strong class="ph b">15%</strong></td>
<td class="entry cellrowborder" headers="d52e597 d52e607" style="vertical-align:top;">6 days</td>
<td class="entry cellrowborder" headers="d52e597 d52e610" style="vertical-align:top;">3 days</td>
<td class="entry cellrowborder" headers="d52e597 d52e613" style="vertical-align:top;">2 days</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d52e594 d52e605" style="vertical-align:top;"><strong class="ph b">20%</strong></td>
<td class="entry cellrowborder" headers="d52e597 d52e607" style="vertical-align:top;">3 days</td>
<td class="entry cellrowborder" headers="d52e597 d52e610" style="vertical-align:top;">2 days</td>
<td class="entry cellrowborder" headers="d52e597 d52e613" style="vertical-align:top;">1 day</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d52e594 d52e605" style="vertical-align:top;"><strong class="ph b">25%</strong></td>
<td class="entry cellrowborder" headers="d52e597 d52e607" style="vertical-align:top;">2 days</td>
<td class="entry cellrowborder" headers="d52e597 d52e610" style="vertical-align:top;">1 day</td>
<td class="entry cellrowborder" headers="d52e597 d52e613" style="vertical-align:top;">1 day</td>
</tr>
</tbody>
</table>
</div>
<div class="note note">
<span class="notetitle">Note:</span> The estimates provided in the table are not guarantees. They
assume steady traffic over the test period. The actual duration depends on
how noisy your metrics are. Volatile metrics can take noticeably longer than
shown, while very stable ones may resolve sooner. Treat these estimates as a
starting point.</div>
</div>
</div>
</div>
</div>
<script id="docs-schema-markup" type="application/ld+json">{
"@context": "https://schema.org",
"@type": "TechArticle",
"@id": "https://support.zendesk.com/hc/en-us/articles/6716530152858-Creating-custom-omnichannel-routing-queues",
"url": "https://support.zendesk.com/hc/en-us/articles/6716530152858-Creating-custom-omnichannel-routing-queues",
"headline": "Creating custom omnichannel routing queues",
"description": "You can create and configure custom omnichannel routing queues with specific conditions, priorities, and group assignments to manage ticket distribution and evaluate predictive routing performance.",
"articleSection": "Routing",
"datePublished": "2024-02-08T16:45:32+00:00",
"dateModified": "2026-06-15T14:37:09.807114+00:00",
"inLanguage": "en-US",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/6716530152858-Creating-custom-omnichannel-routing-queues"
},
"author": {
"@type": "Organization",
"name": "Zendesk",
"url": "https://www.zendesk.com"
},
"publisher": {
"@type": "Organization",
"name": "Zendesk"
},
"isPartOf": {
"@type": "WebSite",
"name": "Zendesk Help",
"url": "https://support.zendesk.com/hc/en-us"
},
"about": {
"@type": "SoftwareApplication",
"name": "Zendesk"
}
}</script><script id="fast-path-script">
//<![CDATA[
const fast_path_style = document.createElement('style');
fast_path_style.innerHTML = `#article-body .fastpath{font-size:.9em;background-color:#f3f3f3;border:1px solid #d3d3d3;padding:10px 10px 8px;margin-bottom:16px}#article-body .fastpath::before{content:none!important}`;
document.head.appendChild(fast_path_style);
//]]>
</script>
</body>