About omnichannel routing

<body>
<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_all">
<table>
<tbody>
<tr>
<td>
<strong>All Suites</strong>
</td>
<td>Team, Growth, Professional, Enterprise, or Enterprise Plus</td>
</tr>
</tbody>
</table>
</div>

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

</div>
<div id="docs-ai-summary">
<p id="docs-ai-summary-toggle">Verified AI summary <span id="up-triangle">◀</span><span id="down-triangle">▼</span></p>
<p id="docs-ai-summary-content">Omnichannel routing directs tickets from various channels to agents based on availability and capacity, enhancing response times and prioritizing high-value customer interactions. It supports unified agent status, custom queues, and skills-based routing. While it requires setup and configuration, it streamlines ticket assignment, prevents cherry-picking, and allows agents to handle multiple channels. Note limitations like unsupported chat-only routing and specific plan-based features.</p>
</div>

<div class="body">

<p class="p"></p>
<div class="non-responsive"><iframe class="iframe embed-responsive-item" controls="controls" height="439" src="https://docs.google.com/presentation/d/e/2PACX-1vTg_rjZQQxJJsm-u5IS3EyxGvch71uuD5gAM0gmfIBIAQjJYCIyTDaD97AbPLa75MHeIqqq41Kyiebb/embed?start=false&amp;loop=false&amp;delayms=3000" width="730"></iframe></div>
<p class="p" dir="ltr">Omnichannel routing allows you to direct new and open tickets from <a class="xref" href="#topic_psx_hxk_3yb">email (including web form, side
conversations, and API), calls, and messaging</a> to agents based on their
availability and capacity. On <a class="xref" href="#topic_hhb_2xk_3yb">Growth plans
and above</a>, tickets can be routed based on time to service level agreement
breaches. On Professional plans and above, tickets can also be routed based on priority
and skills.
</p>
<p class="p" dir="ltr">Using omnichannel routing means agents can set a <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5133523363226" target="_blank">single unified status</a> for all channels, and important
tickets are assigned to the agents who are most available to work on them. This provides
the following benefits: </p>
<ul class="ul" id="ac_about_omnichannel_routing__ul_pgh_13p_m5b">
<li class="li" dir="ltr">Agents can respond to tickets faster</li>
<li class="li" dir="ltr">You can prioritize work from high-value customers, including calls</li>
<li class="li" dir="ltr">Agents are automatically assigned tickets and don’t have to go looking for
them</li>
<li class="li" dir="ltr">Agents can’t "cherry pick" the tickets they want to work on</li>
<li class="li" dir="ltr">Agents can work on multiple ticket channels at once</li>
<li class="li">You can route calls to specific groups of agents based on the caller's country code
of callers or other attributes</li>
</ul>
<p class="p" dir="ltr">You can use <em class="ph i">capacity rules</em> 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 <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4776409839770" target="_blank">Creating capacity rules to balance agent workloads</a>).</p>
<p class="p">With omnichannel routing, instead of setting status individually by channel, agents can
set a single unified status for email, voice, and messaging. On Professional plans and
above, 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 <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4410525357594" target="_blank">Adding unified agent statuses</a>.</p>
<p class="p" dir="ltr">This article contains the following sections:</p>
<ul class="ul" id="ac_about_omnichannel_routing__ul_qgh_13p_m5b">
<li class="li"><a class="xref" href="#topic_zlk_c3p_m5b">Requirements and limitations of omnichannel routing</a></li>
<li class="li" dir="ltr"><a class="xref" href="#topic_nlb_c3p_m5b">How omnichannel routing works</a></li>
<li class="li"><a class="xref" href="#topic_hhb_2xk_3yb">Summary of features</a></li>
<li class="li"><a class="xref" href="#topic_r1l_c3p_m5b">Related articles</a></li>
</ul>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_zlk_c3p_m5b">
<h2 class="title topictitle2" id="ariaid-title2">Requirements and limitations of omnichannel routing</h2>
<div class="body">
<p class="p">To use omnichannel routing, you have to <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5866925319962" target="_blank">set it up</a> and <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4828787357210" target="_blank">configure it</a>. If you decide to stop using it, you can
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5095079121690" target="_blank">turn it off</a>. </p>
<p class="p">There are a few requirements for using omnichannel routing, as well as some
limitations you should consider.</p>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested2" id="topic_zvv_bjt_nvb">
<h3 class="title topictitle3" id="ariaid-title3">Requirements</h3>
<div class="body">
<div class="p">Your account must meet the following requirements to use omnichannel routing:<ul class="ul" id="topic_zvv_bjt_nvb__ul_cw1_h3t_nvb">
<li class="li">The <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408821259930" target="_blank">Agent Workspace</a> must be
activated for your account.</li>
<li class="li">If your account has a Chat subscription, native messaging or Sunshine
Conversations must also be activated.</li>
<li class="li">Messaging must be activated to turn on omnichannel routing while using
live chat. Limited support for Chat is provided for accounts <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6249962577690" target="_blank">migrating to Messaging and
omnichannel routing</a>.</li>
</ul>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested2" id="topic_nh3_cjt_nvb">
<h3 class="title topictitle3" id="ariaid-title4">Limitations</h3>
<div class="body">
<p class="p" dir="ltr">Omnichannel routing with unified agent status currently has the
following limitations:</p>
<ul class="ul" id="topic_nh3_cjt_nvb__ul_evc_pgs_bvb">
<li class="li" dir="ltr">Omnichannel routing can't be activated if you’re using only live
chat. Messaging must be activated,
too.</li>
<li class="li">At the time omnichannel routing is activated, agent statuses are
automatically set to <em class="ph i">offline</em> initially, then agents are prompted to
set their own status after that.</li>
<li class="li">Only tickets with a status of <em class="ph i">new</em> or <em class="ph i">open</em> are routed by
omnichannel routing. </li>
<li class="li" dir="ltr">Broadcast and hybrid modes for messaging aren't supported. </li>
<li class="li" dir="ltr">When using <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5133523363226" target="_blank">unified agent statuses</a>, operating
hours won't automatically set an agent's status. </li>
<li class="li">
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408846501402" target="_blank">Light agents</a> can't be assigned
tickets and can't set a status.</li>
<li class="li" dir="ltr">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.</li>
<li class="li">When using custom queues, work routed through your custom queues are
prioritized over all work routed through the standard queue, regardless of
the individual ticket priority.</li>
<li class="li" dir="ltr">Tickets are created for all calls received during business hours
as soon as they enter the queue. The tickets are routed to agents only if the call is
active. Abandoned calls and calls that exceed the maximum queue waiting time are considered inactive,
and therefore aren't routed by omnichannel routing. The channel for calls received during business hours, whether the
call is answered or goes to voicemail, is <em class="ph i">inbound call</em>.
<p class="p">Calls received outside of business
hours go directly to voicemail and their tickets have a channel of
<em class="ph i">voicemail</em>. Tickets generated by voicemails can't be routed by
omnichannel routing. Tickets
for calls that go to voicemail, regardless of when they're received,
have a subject beginning with "Voicemail from." </p>
</li>
<li class="li" dir="ltr">The setting “Create tickets for abandoned calls” is no longer
available. <div class="note tip">
<span class="tiptitle">Tip:</span> You can <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5027246725786" target="_blank">create a workflow to automatically
close tickets</a> created for abandoned calls.</div>
</li>
<li class="li" dir="ltr">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. </li>
<li class="li">When using priority phone numbers in Zendesk, calls that reference a
priority line are assigned to agents first. Then, calls are assigned to
agents in order based on the associated tickets' priority and timestamp.
Tickets associated with calls on priority lines have a priority of
<em class="ph i">High</em>.</li>
<li class="li">Talk Partner Edition isn't supported. The way you route calls for Talk
Partner Edition depends on the integration you're using.</li>
<li class="li">When offering messaging conversations (and sometimes live chats) to agents,
only 20 <em class="ph i">offered to</em> events are recorded per ticket. Omnichannel
routing will continue to offer the ticket beyond 20 times as needed, until
an agent accepts the ticket, but any offers after the first 20 aren't
recorded in the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408829602970" target="_blank">ticket event log</a>.</li>
<li class="li">After a voice ticket has been assigned to an agent, omnichannel routing won't
reassign it, even if the ticket becomes unassigned or gets assigned back to
a group. For email and messaging channels, ticket reassignment depends on
your plan and routing configuration. On Team and Growth plans, email and
messaging tickets can be reassigned through the standard omnichannel routing
queue, but they can't re-enter custom queues.
On Professional plans and above, you can choose 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
through custom queues</a> or rely on the standard queue.</li>
<li class="li">If you're using a ticket trigger to assign a group to tickets for calls,
when an agent uses the group transfer feature in Talk, it can cause the
ticket trigger to fire and overwrite the agent's group assignment back to
the trigger's group assignment. To avoid this, you can configure ticket
triggers that assign a group to call tickets to include either a <strong class="ph b">Ticket |
Is | Create</strong> condition, meaning it fires only on newly created
tickets rather than updates such as a group transfer, or <strong class="ph b">Ticket &gt; Comment
text | Does not contain the following string | Call transferred</strong>,
meaning it fires only on tickets that haven't been transferred.</li>
<li class="li">Omnichannel routing doesn’t work on <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9204149016346" target="_blank">AI agent tickets</a> until the ticket
is escalated to a human agent.</li>
</ul>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested1" id="topic_nlb_c3p_m5b">
<h2 class="title topictitle2" id="ariaid-title5">How omnichannel routing works</h2>
<div class="body">
<p class="p">When you use omnichannel routing, tickets are generated for all channels of work as
soon as they are received, enabling you to run triggers on them, including incoming
calls. For brevity, channels of work are labeled as <em class="ph i">Email</em> (including tickets
generated from email, web form, side conversations, and API), <em class="ph i">Messaging</em>
(<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6249962577690" target="_blank">sometimes including tickets from Chat</a>),
and <em class="ph i">Talk</em>. Omnichannel routing classifies tickets based on the original
channel through which they are received, even if other channels are used in the
course of resolving the ticket. </p>
<p class="p" dir="ltr">As soon as a ticket becomes eligible for routing, omnichannel routing
attempts to assign it to the first eligible and available agent. If no eligible
agents are available at the time, the ticket is inserted into a queue and routed
based on the following:</p>
<ul class="ul" id="topic_nlb_c3p_m5b__ul_sc3_x4p_m5b">
<li class="li">
<strong class="ph b">Queue</strong>: This is defined by the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6712096584090" target="_blank">omnichannel routing queue</a> the ticket
is inserted into. Omnichannel routing uses one or more queues to order and
assign tickets to agents: a single, standard omnichannel routing queue (default)
or custom omnichannel routing queues. The queue assignment determines which
groups of agents are eligible to be assigned to each ticket. If you aren't using
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6716530152858" target="_blank">custom queues</a>, all tickets are
inserted into the standard omnichannel routing queue.</li>
<li class="li" dir="ltr">
<strong class="ph b">Availability</strong>: This is defined by the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4410545721114" target="_blank">single unified status</a> the agent sets
across channels.</li>
<li class="li" dir="ltr">
<strong class="ph b">Capacity</strong> for each work channel: You define the agents' maximum
capacity for each channel and decide which email tickets are eligible for
routing. </li>
<li class="li">
<strong class="ph b">Assignment method</strong>: This is defined by the assignment method in your
routing configuration and applies to all channels and queues. When assigning by
spare capacity, you also select whether that is based on the percentage of an
agent's capacity consumed by assigned tickets or the number of tickets they
still have capacity to be assigned for the channel.</li>
<li class="li">
<strong class="ph b">Skills</strong>: This is defined by the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5833468891674" target="_blank">skills assigned to agents and tickets</a>
and applies to all channels.</li>
</ul>
<p class="p" dir="ltr">Then triggers are used to assign the tickets to groups, assign a ticket
priority, and add tags to the ticket. After triggers run on a ticket, custom
omnichannel routing queues are evaluated, and the ticket is inserted into the first
queue it meets the conditions for. When using the standard omnichannel routing
queue, messaging conversations and calls enter the queue as soon as they are
received, but email tickets must have a routing tag added to them before they can
enter the queue. Tickets in the standard queue rely on the ticket's assigned group
to identify eligible agents. If you create custom omnichannel routing queues, email
tickets are treated the same as messaging conversations and calls, and are evaluated
and matched to a queue as soon as they are received, regardless of tags. If a ticket
doesn't meet the conditions for any of your custom queues, it's inserted into the
standard omnichannel routing queue and routed to an agent in the ticket's assigned
group.</p>
<p class="p">If you have multiple brands, omnichannel routing respects the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/7584022494874" target="_blank">brand memberships</a> of your agents. Tickets are only
assigned to agents who are members of the ticket's brand. </p>
<p class="p" dir="ltr">After a ticket is assigned to an agent, it is removed from the omnichannel
routing queues.</p>
<p class="p" dir="ltr">The following table shows the order in which tickets are routed to
agents:</p>
<table border="1" cellpadding="4" cellspacing="0" class="simpletable" id="topic_nlb_c3p_m5b__simpletable_n5g_z4p_m5b" summary="">
<col style="width:50%">
<col style="width:50%">
<thead>
<tr class="sthead">
<th class="stentry" id="d52e385" style="vertical-align:bottom;text-align:left;">Plan</th>
<th class="stentry" id="d52e388" style="vertical-align:bottom;text-align:left;">Order in which tickets are routed</th>
</tr>
</thead>
<tbody>
<tr class="strow">
<td class="stentry" headers="d52e385" style="vertical-align:top;">
<p class="p">Suite Team</p>
</td>
<td class="stentry" headers="d52e388" style="vertical-align:top;">
<p class="p">The ticket with the oldest eligible-for-routing timestamp within the
queue is routed first.</p>
</td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e385" style="vertical-align:top;">Suite Growth and above</td>
<td class="stentry" headers="d52e388" style="vertical-align:top;">Admins can configure whether the ticket with the oldest
eligible-for-routing timestamp within the queue or the ticket with the
soonest <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408829459866" target="_blank">service level agreement</a> breach is
routed first.</td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e385" style="vertical-align:top;">
<p class="p">Suite Professional and above</p>
</td>
<td class="stentry" headers="d52e388" style="vertical-align:top;">
<p class="p">Admins can configure whether the ticket with the highest priority and
oldest eligible-for-routing timestamp or the ticket with the soonest
service level agreement breach is routed first. </p>
<p class="p">Although skills don't influence the order of tickets within a queue, they
can cause tickets to remain in the queue awaiting an agent with the
matching skills while tickets of lower priority and newer timestamps get
assigned.</p>
</td>
</tr>
</tbody>
</table>
<p class="p" dir="ltr">When a ticket makes it to the front of the queue, it's assigned to agents
based on the following:</p>
<ol class="ol" id="topic_nlb_c3p_m5b__ol_wtk_pqp_m5b">
<li class="li">The ticket's group or queue's groups:<ul class="ul" id="topic_nlb_c3p_m5b__ul_kjp_wmk_k1c">
<li class="li">If you're not using custom queues, a ticket must be assigned to a group
to be eligible for routing with omnichannel routing.</li>
<li class="li">Custom queues can be used to route work to multiple groups of agents
with omnichannel routing. Tickets in queues are routed to the queue's
groups, ignoring the ticket's assigned group. </li>
<li class="li">When using custom queues, work is assigned to agents in the primary
groups first. If no agents from those groups are available when a ticket
reaches the front of the queue, omnichannel routing looks for available
agents in the secondary or "fallback" groups.</li>
<li class="li">If an agent can receive work from more than one queue, omnichannel
routing assigns work from the queue with the highest priority
first.</li>
<li class="li">If a ticket doesn't match a custom queue, it's inserted into the
standard omnichannel routing queue and routed to an agent based on the
group assigned to the ticket. Tickets from all channels that don't meet
the conditions for your custom queues must have a group assigned to be
routed through the standard omnichannel routing queue. Furthermore,
email tickets that don't meet the conditions for any custom queues must
also have the auto-routing tag.</li>
</ul>
<p class="p">See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6712096584090" target="_blank">Understanding omnichannel routing
queues</a>.</p>
</li>
<li class="li" dir="ltr">An agent's status for the channel:<ul class="ul" id="topic_nlb_c3p_m5b__ul_xtk_pqp_m5b">
<li class="li">
<strong class="ph b">Email tickets</strong>: An agent must have a status of <em class="ph i">online</em> or
<em class="ph i">away </em>to receive email tickets.</li>
<li class="li" dir="ltr">
<strong class="ph b">Messaging conversations</strong>: An agent must have a status of
<em class="ph i">online</em> to receive messaging tickets. </li>
<li class="li" dir="ltr">
<strong class="ph b">Calls</strong>: An agent must have a status of <em class="ph i">online</em> to
receive incoming call tickets.</li>
</ul>
<p class="p" dir="ltr">Agents are automatically set to offline or away, as defined by
an admin, when they are idle for longer than the <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4828787357210" target="_blank">idle status threshold</a>.
Additionally, if an agent forgets to set their status to offline, the status
of the agent is automatically set to offline when one of the following
events is detected:</p>
<ul class="ul" id="topic_nlb_c3p_m5b__ul_ytk_pqp_m5b">
<li class="li" dir="ltr">An agent closes the Agent Workspace without signing out (by
closing down their computer or browser window or putting their computer
to sleep)</li>
<li class="li" dir="ltr">An agent’s connection is lost due to a network outage</li>
</ul>
<p class="p">See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4410545721114" target="_blank">Setting your unified agent status with
omnichannel routing</a>.</p>
</li>
<li class="li">Assignment method:<ul class="ul" id="topic_nlb_c3p_m5b__ul_dby_yz2_rcc">
<li class="li">
<strong class="ph b">Highest spare capacity</strong>: The standard omnichannel routing
configuration assigns work to the available agent with the most spare
capacity for the channel.<ul class="ul" id="topic_nlb_c3p_m5b__ul_plf_l1f_rcc">
<li class="li">Agents must have spare capacity to be eligible to receive work
through omnichannel routing. Spare capacity is defined as having
fewer open tickets assigned than their maximum capacity for that
channel. See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4776409839770" target="_blank">Creating capacity rules to
balance agent
workload</a>.</li>
<li class="li">Spare capacity can be measured numerically or as a percentage.
See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4828787357210#topic_y3p_mh2_rcc" target="_blank">Managing your omnichannel
routing configuration assignment method</a>.</li>
<li class="li" dir="ltr">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.</li>
<li class="li">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 from the relevant
channel in the longest time. Omnichannel routing treats
re-opened tickets as assignment events.
</li>
<li class="li">To be assigned an inactive messaging ticket (more than 10
minutes without a reply), an agent must have spare capacity.
Whether inactive messaging tickets count towards an agent's
capacity depends on your routing configuration.</li>
</ul>
</li>
<li class="li">
<strong class="ph b"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/7990049158554" target="_blank">Round robin</a></strong>: Assigns
the work to the available agent who's gone the longest time without
being assigned work for the channel. Agents still must have spare
capacity to be assigned work.</li>
</ul>
</li>
<li class="li">An agent's skills:<ul class="ul" id="topic_nlb_c3p_m5b__ul_eht_sdz_3xb">
<li class="li">An agent must have the same skills as the ticket in addition to having
an eligible status and spare capacity.</li>
<li class="li">If a skill is a high priority for an agent, omnichannel routing will
look for tickets in the queue with that high priority skill to assign to
the agent. If no tickets with the agent's high priority skills are
found, then other tickets they are eligible to receive are assigned. See
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408838892826#topic_ysc_fq4_ghc" target="_blank">Configuring the priority of an
agent's skills</a>.</li>
<li class="li">If you configure a <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4828787357210#:~:text=Turn%20on%20skills%20timeout" target="_blank">skills timeout</a>, tickets are
assigned without regard to optional skills if an agent with all of the
matching skills is unavailable for a specified duration after a ticket
reaches the front of the queue. If a skills timeout isn't configured,
all skills are treated as required and tickets will sit in the queue
until an agent with the matching skills becomes available or a call
reaches the maximum time in queue and is sent to voicemail. See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5833468891674#topic_d2l_bnx_txb" target="_blank">Using skills with omnichannel
routing</a>.</li>
</ul>
</li>
</ol>
<p class="p">Here's an example of a scenario for omnichannel routing:</p>
<p class="p"><img class="image img-screenshot" id="topic_nlb_c3p_m5b__image_n33_r5y_n5b" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ocrdiag22.png" width="750"></p>
<ol class="ol" id="topic_nlb_c3p_m5b__ol_h1v_s5y_n5b">
<li class="li" dir="ltr">An important VIP end user has an urgent issue that needs to be
resolved.</li>
<li class="li" dir="ltr">They submit a ticket using the email channel. </li>
<li class="li" dir="ltr">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, priority, and
skills.</li>
<li class="li" dir="ltr">After the triggers fire, the end user's ticket is matched to an
omnichannel routing queue and inserted based on the ticket's priority of
<em class="ph i">Urgent</em> and it's eligible-for-routing timestamp.</li>
<li class="li" dir="ltr">Omnichannel routing now assesses the ticket based on agent skills,
status, and capacity.</li>
<li class="li" dir="ltr">The routing system first understands that three agents are available
for work.</li>
<li class="li" dir="ltr">Second, it identifies that two of the agents have the skill (German
language) required for the ticket.</li>
<li class="li" dir="ltr">Finally, it finds which of those two agents has the most spare
capacity for emails and assigns the ticket to this agent.</li>
</ol>
</div>
<div aria-labelledby="ariaid-title6" class="topic nested2" id="topic_zry_1fs_bvb">
<h3 class="title topictitle3" id="ariaid-title6">Reassigning messages and calls in omnichannel routing</h3>
<div class="body">
<p class="p">Messaging conversations and calls require time-sensitive responses. Therefore,
omnichannel routing has special reassignment logic for each. For more
information about how tickets enter and leave the queue to be routed by
omnichannel routing, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6712096584090" target="_blank">Understanding how omnichannel routing orders
tickets in a queue</a>.</p>
<p class="p"><strong class="ph b">Reassigning messaging conversations and chats</strong></p>
<p class="p">With reassignment timing, a message or chat can be reassigned to another agent in
the group if the original agent does not accept the work within a specific time
threshold. The default threshold is 30 seconds. On Enterprise and above, that
threshold can be customized.</p>
<p class="p">The reassignment timing setting must be <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4828787357210" target="_blank">turned on during configuration</a> 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. </p>
<p class="p"><strong class="ph b">Reassigning incoming calls</strong></p>
<p class="p">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
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408838035866#topic_w1l_j14_5fb" target="_blank">maximum queue waiting time</a> expires.
When using skills-based routing for calls, you can leverage the skills timeout
settings to "overflow" the calls to agents without the matching skill when
needed; you can also use custom queues with primary and secondary groups to
accomplish this "overflow" behavior.</p>
<div class="p">Because call tickets are created as soon as the call comes in, admins can create
a <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408888828570" target="_blank">view in Support</a> that shows details
about waiting calls. To create such a view, use at least the following
conditions:<ul class="ul" id="topic_zry_1fs_bvb__ul_zvs_dwk_pwb">
<li class="li">
<strong class="ph b">Hours since created</strong> &gt; <strong class="ph b">(calendar) Less than</strong>
&gt;<strong class="ph b">1</strong>
</li>
<li class="li">
<strong class="ph b">Status</strong> &gt; <strong class="ph b">Less than</strong> &gt;<strong class="ph b">Solved</strong>
</li>
<li class="li">
<strong class="ph b">Channel</strong> &gt; <strong class="ph b">is</strong> &gt; <strong class="ph b">Phone call (incoming)</strong>
</li>
</ul>
</div>
<p class="p">After a call ends, the ticket generated by the call is removed from the
omnichannel routing queue. If an agent needs to add more information to the
ticket after a call ends, they must manually find the ticket, either by searching
or using a view.</p>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title7" class="topic nested1" id="topic_hhb_2xk_3yb">
<h2 class="title topictitle2" id="ariaid-title7">Summary of features</h2>
<div class="body">
<p class="p">Omnichannel routing has a broad scope, so here's a quick reference of features and
functionality.</p>
</div>
<div aria-labelledby="ariaid-title8" class="topic nested2" id="topic_psx_hxk_3yb">
<h3 class="title topictitle3" id="ariaid-title8">Channels supported by omnichannel routing</h3>
<div class="body">
<p class="p">At a high level, omnichannel routing can be used to route tickets from email,
messaging, and calls. However, in business rules, these categories of tickets
are broken down into <a class="xref" href="https://developer.zendesk.com/documentation/ticketing/reference-guides/via-types/" target="_blank"><code class="ph codeph">via</code> types</a>. The
following lists show the supported via types (referred to as <em class="ph i"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408824097050" target="_blank">channels</a></em>) as they appear in
Admin Center business rule conditions.</p>
<div class="p">
<strong class="ph b">Email tickets</strong><ul class="ul" id="topic_psx_hxk_3yb__ul_byq_nxk_3yb">
<li class="li">Email</li>
<li class="li">Web form</li>
<li class="li">Web service (API)</li>
<li class="li">Closed ticket</li>
<li class="li">Ticket sharing</li>
<li class="li">Facebook post</li>
<li class="li">X (formerly Twitter)</li>
<li class="li">Web widget</li>
<li class="li">Mobile SDK</li>
<li class="li">Side conversation</li>
<li class="li">Merge</li>
<li class="li">Legacy channel framework (any_channel)</li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408885601178" target="_blank">SMS texts</a></li>
</ul>
</div>
<div class="p">
<strong class="ph b">Messaging conversations</strong><ul class="ul" id="topic_psx_hxk_3yb__ul_smq_nzk_3yb">
<li class="li">Native messaging</li>
<li class="li">LINE</li>
<li class="li">SMS (through Sunshine Conversations
only)</li>
<li class="li">Facebook Messenger (through Sunshine Conversations
only)</li>
<li class="li">Telegram</li>
<li class="li">X (formerly Twitter) Direct Message</li>
<li class="li">WeChat</li>
<li class="li">WhatsApp</li>
<li class="li">Google RCS</li>
<li class="li">Apple Messages for Business</li>
<li class="li">Google Business Messages</li>
<li class="li">KakaoTalk</li>
<li class="li">Instagram Direct Messenger</li>
<li class="li">Sunshine Conversations API</li>
<li class="li">Chat (only supported in <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6249962577690" target="_blank">some circumstances</a>)</li>
</ul>
</div>
<div class="p">
<strong class="ph b">Calls</strong><ul class="ul" id="topic_psx_hxk_3yb__ul_y2m_qbl_3yb">
<li class="li">Phone call (incoming)</li>
<li class="li">Phone call (outgoing)</li>
</ul>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title9" class="topic nested2" id="topic_r5j_c3p_m5b">
<h3 class="title topictitle3" id="ariaid-title9">Summary of features by plan</h3>
<div class="body">
<p class="p">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:</p>
<table border="1" cellpadding="4" cellspacing="0" class="simpletable" id="topic_r5j_c3p_m5b__simpletable_yhb_bgs_bvb" summary="">
<col style="width:25%">
<col style="width:25%">
<col style="width:25%">
<col style="width:25%">
<thead>
<tr class="sthead">
<th class="stentry" id="d52e881" style="vertical-align:bottom;text-align:left;">Team</th>
<th class="stentry" id="d52e884" style="vertical-align:bottom;text-align:left;">Growth</th>
<th class="stentry" id="d52e887" style="vertical-align:bottom;text-align:left;">Professional</th>
<th class="stentry" id="d52e890" style="vertical-align:bottom;text-align:left;">Enterprise</th>
</tr>
</thead>
<tbody>
<tr class="strow">
<td class="stentry" headers="d52e881" style="vertical-align:top;">Routing email, messaging and call tickets</td>
<td class="stentry" headers="d52e884" style="vertical-align:top;">Routing email, messaging and call tickets</td>
<td class="stentry" headers="d52e887" style="vertical-align:top;">Routing email, messaging, and call tickets</td>
<td class="stentry" headers="d52e890" style="vertical-align:top;">Routing email, messaging, and call tickets</td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e881" style="vertical-align:top;">Routing based on capacity and agent status</td>
<td class="stentry" headers="d52e884" style="vertical-align:top;">Routing based on capacity and agent status</td>
<td class="stentry" headers="d52e887" style="vertical-align:top;">Routing based on capacity, agent status, skills, and
queue</td>
<td class="stentry" headers="d52e890" style="vertical-align:top;">Routing based on capacity, agent status, skills, and
queue</td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e881" style="vertical-align:top;">Default unified agent statuses</td>
<td class="stentry" headers="d52e884" style="vertical-align:top;">Default unified agent statuses</td>
<td class="stentry" headers="d52e887" style="vertical-align:top;">Default and custom unified agent statuses</td>
<td class="stentry" headers="d52e890" style="vertical-align:top;">Default and custom unified agent statuses</td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e881" style="vertical-align:top;">Focus mode for agents working on messaging and calls</td>
<td class="stentry" headers="d52e884" style="vertical-align:top;">Focus mode for agents working on messaging and calls</td>
<td class="stentry" headers="d52e887" style="vertical-align:top;">Focus mode for agents working on messaging and calls</td>
<td class="stentry" headers="d52e890" style="vertical-align:top;">Focus mode for agents working on messaging and calls</td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e881" style="vertical-align:top;">Include or exclude inactive messaging tickets when calculating
agent capacity </td>
<td class="stentry" headers="d52e884" style="vertical-align:top;">Include or exclude inactive messaging tickets when calculating
agent capacity </td>
<td class="stentry" headers="d52e887" style="vertical-align:top;">Include or exclude inactive messaging tickets when calculating
agent capacity </td>
<td class="stentry" headers="d52e890" style="vertical-align:top;">Include or exclude inactive messaging tickets when calculating
agent capacity </td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e881" style="vertical-align:top;">Automatic assignment of messaging tickets</td>
<td class="stentry" headers="d52e884" style="vertical-align:top;">Automatic assignment of messaging tickets</td>
<td class="stentry" headers="d52e887" style="vertical-align:top;">Automatic assignment of messaging tickets</td>
<td class="stentry" headers="d52e890" style="vertical-align:top;">Automatic assignment of messaging tickets</td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e881" style="vertical-align:top;">Assignment based on spare capacity or round robin</td>
<td class="stentry" headers="d52e884" style="vertical-align:top;">Assignment based on spare capacity or round robin</td>
<td class="stentry" headers="d52e887" style="vertical-align:top;">Assignment based on spare capacity or round robin</td>
<td class="stentry" headers="d52e890" style="vertical-align:top;">Assignment based on spare capacity or round robin</td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e881" style="vertical-align:top;">Message reassignment</td>
<td class="stentry" headers="d52e884" style="vertical-align:top;">Message reassignment</td>
<td class="stentry" headers="d52e887" style="vertical-align:top;">Message reassignment</td>
<td class="stentry" headers="d52e890" style="vertical-align:top;">Customizable reassignment time</td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e881" style="vertical-align:top;"> </td>
<td class="stentry" headers="d52e884" style="vertical-align:top;"> </td>
<td class="stentry" headers="d52e887" style="vertical-align:top;">Routing in order of soonest SLA breach or highest
priority</td>
<td class="stentry" headers="d52e890" style="vertical-align:top;">Routing in order of soonest SLA breach or highest
priority</td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e881" style="vertical-align:top;"> </td>
<td class="stentry" headers="d52e884" style="vertical-align:top;"> </td>
<td class="stentry" headers="d52e887" style="vertical-align:top;">Reassignment of reopened tickets when the assigned agent is
unavailable</td>
<td class="stentry" headers="d52e890" style="vertical-align:top;">Reassignment of reopened tickets when the assigned agent is
unavailable</td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e881" style="vertical-align:top;"> </td>
<td class="stentry" headers="d52e884" style="vertical-align:top;"> </td>
<td class="stentry" headers="d52e887" style="vertical-align:top;">Custom omnichannel routing queues </td>
<td class="stentry" headers="d52e890" style="vertical-align:top;">Custom omnichannel routing queues </td>
</tr>
<tr class="strow">
<td class="stentry" headers="d52e881" style="vertical-align:top;"> </td>
<td class="stentry" headers="d52e884" style="vertical-align:top;"> </td>
<td class="stentry" headers="d52e887" style="vertical-align:top;">Up to 5 custom statuses</td>
<td class="stentry" headers="d52e890" style="vertical-align:top;">Up to 100 custom statuses</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title10" class="topic nested1" id="topic_r1l_c3p_m5b">
<h2 class="title topictitle2" id="ariaid-title10">Related articles</h2>
<div class="body">
<p class="p" dir="ltr">See the following articles for more information to help you get up and
running with omnichannel routing and agent statuses:</p>
<ul class="ul" id="topic_r1l_c3p_m5b__ul_x2m_g3p_m5b">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5866925319962" target="_blank">Turning on and setting up omnichannel
routing</a></li>
<li class="li" dir="ltr"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4828787357210" target="_blank">Managing your omnichannel routing
configuration</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6712096584090" target="_blank">Understanding queues in omnichannel
routing</a></li>
<li class="li" dir="ltr"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4776409839770" target="_blank">Creating capacity rules to balance agent
workload</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5133523363226" target="_blank">About unified agent statuses</a></li>
<li class="li" dir="ltr"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4410525357594" target="_blank">Adding unified agent statuses</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5133588225690" target="_blank">Managing unified agent statuses</a></li>
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5833468891674" target="_blank">About using skills to route
tickets</a></li>
</ul>
</div>
</div>
<script id="ai-summary-script">
//<![CDATA[
const ai_summary_style = document.createElement('style');
ai_summary_style.innerHTML = `#styled-article-body{padding:0 0 0}#article-body #docs-ai-summary{background-color:#f3f3f3;border:1px solid #d3d3d3;padding:10px 10px 6px;margin-bottom:16px}#article-body #docs-ai-summary #docs-ai-summary-toggle{font-size:.9em;font-weight:700;margin-bottom:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}#article-body #docs-ai-summary #docs-ai-summary-toggle #up-triangle{margin-left:auto;padding-right:10px;display:none}#article-body #docs-ai-summary #docs-ai-summary-toggle #down-triangle{margin-left:auto;padding-right:10px}#article-body #docs-ai-summary #docs-ai-summary-content{font-size:.9em;padding-left:25px;padding-right:25px;margin-bottom:12px}`;
document.head.appendChild(ai_summary_style);

const toggleAISummary = () => {
const summary = document.getElementById("docs-ai-summary-content");
const upTriangle = document.getElementById("up-triangle");
const downTriangle = document.getElementById("down-triangle");
if (summary.style.display === "none") {
summary.style.display = "block";
upTriangle.style.display = "none";
downTriangle.style.display = "inline";
} else {
summary.style.display = "none";
upTriangle.style.display = "inline";
downTriangle.style.display = "none";
}
};

document.getElementById("docs-ai-summary-toggle").addEventListener("click", toggleAISummary);
//]]>
</script>
</body>