About using skills to route tickets

<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_e">
<table>
<tbody>
<tr>
<td>
<strong>Support</strong>
</td>
<td>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">Use skills-based routing to match tickets with agents who have the right skills, improving response times and workload distribution. Skills can be used alone or with omnichannel routing to consider agent status and capacity. Set up skills, assign them to agents, and use triggers to update them on tickets. Skills timeout settings ensure flexibility in agent assignment when needed.</p>
</div>
<div class="body">
<p class="p">Skills can be used as a standalone routing method for Support tickets, or as one of
several factors considered for omnichannel routing and applied to 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. This article explains more about each of these
options.</p>
<div class="p">This article includes the following topics:<ul class="ul" id="topic_qlt_lmx_txb__ul_wlb_bnx_txb">
<li class="li"><a class="xref" href="#topic_rkh_3nj_5xb">Understanding skills</a></li>
<li class="li"><a class="xref" href="#topic_d2l_bnx_txb">Using skills with omnichannel routing</a></li>
<li class="li"><a class="xref" href="#topic_s2n_dnx_txb">Using standalone skills-based routing</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_rkh_3nj_5xb">
<h2 class="title topictitle2" id="ariaid-title2">Understanding skills</h2>
<div class="body">
<p class="p">Skills are agent attributes that determine their suitability to work a ticket that requires them. They can be something the agent is able to do, as we'd typically think of a skill, or another type of attribute, such as the agent's location, timezone. </p>
<p class="p">When adding skills, you'll create skill types to categorize the skills. For example, you could
have agents dedicated to supporting specific products; in this scenario you could
create a <em class="ph i">Product</em> skill type and add <em class="ph i">ProductA</em>, <em class="ph i">ProductB</em>, and
<em class="ph i">ProductC</em> as the skills. </p>
<p class="p">You can define up to 10 skill types. Each skill type can contain up to 30 skills.</p>
<div class="p">Although a skill can technically exist with just a name, skills are fully defined when they have:<ul class="ul" id="topic_rkh_3nj_5xb__d8e34">
<li class="li">A name</li>
<li class="li">A way to add that skill to tickets</li>
<li class="li">A set of agents who have that skill</li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested2" id="topic_zqx_gcv_vxb">
<h3 class="title topictitle3" id="ariaid-title3">Setting up skills-based routing</h3>
<div class="body">
<div class="p">The first several steps for setting up skills-based routing are the same
whether you're using it as a standalone solution or as part of <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4409149119514" target="_blank">omnichannel routing</a>.<ul class="ul" id="topic_zqx_gcv_vxb__d9e17">
<li class="li">
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408838892826#topic_x5d_cvs_5xb" target="_blank">Plan out your skills</a>.</li>
<li class="li">
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408838892826" target="_blank">Create skills</a>.</li>
<li class="li">
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408838892826#topic_w3m_th2_bbb" target="_blank">Assign them to agents</a>.</li>
<li class="li">
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5833458075930" target="_blank">Configure an automated way to assign skills
to tickets</a>.</li>
</ul>
</div>
<p class="p">After that, you either need to <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4828787357210" target="_blank">configure skills as part of your omnichannel routing
configuration</a>, which automatically assigns tickets to agents, or <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408883700122" target="_blank">define one or more views</a> for your agents to pull tickets
from based on their skills.</p>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested1" id="topic_d2l_bnx_txb">
<h2 class="title topictitle2" id="ariaid-title4">Using skills with omnichannel routing</h2>
<div class="body">
<p class="p"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4409149119514" target="_blank">Omnichannel routing with unified agent
status</a> allows you to direct tickets from email (including web form, side
conversations, and API), messaging conversations, calls, and <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6249962577690" target="_blank">chats in some circumstances</a> to agents based on their
availability and capacity. On Professional plans and above, tickets from all of
these channels can also be routed based on priority and skills. Turning on skills in
omnichannel routing means you're routing based on agent status, capacity, skills,
and ticket priority all at once.</p>
<p class="p">When using skills in omnichannel routing, agents must have skills that match the
ticket in addition to having an eligible status and spare capacity for that channel
of work. You have the option to enforce the skill matching, meaning you wait for an
agent with the matching skill to become available, or to let skills time out and
"fall back" to the omnichannel routing model without optional skills if agents with
the matching skills aren't available within a specified amount of time after the
ticket is created. This flexibility gives admins the most control possible over
their workflow without requiring their manual intervention. </p>
<p class="p">Skill timeouts work as you'd expect for email tickets, which are always assigned to
agents by omnichannel routing. If an email ticket can't be assigned to an available
agent that has all of the matching skills, after a specified time, the optional
skills are dropped. However, for messaging and calls, a skills timeout can occur
only if no agents with the matching skills are available (online, with spare
capacity) for the timeout duration. If any agent with matching skills is available,
omnichannel routing will continuously offer the ticket to them until either they
accept it or all agents with matching skills become unavailable for the specified
timeout duration. </p>
<p class="p">However you decide to configure skills in omnichannel routing, tickets from all
channels are automatically assigned (email) or offered to (messaging and calls) to
the best-suited available agent. This has many benefits, including faster response
times and more equitable workloads for your agents, and can also improve your end
users' experience since they're more likely to interact with agents with specialized
skills to meet their needs.</p>
<p class="p">Skill timeouts reset after the ticket has been assigned to an agent. If a ticket
re-enters an omnichannel routing queue to be assigned to an agent, all skills will
be respected and allowed to time out in order of priority again until an eligible
agent is found.</p>
<p class="p">For more information, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4409149119514" target="_blank">About omnichannel routing</a>, <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5866925319962" target="_blank">Turning on omnichannel routing</a>, and <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4828787357210" target="_blank">Managing your omnichannel routing configuration</a>. </p>
<p class="p"><img class="image" id="topic_d2l_bnx_txb__image_bxd_3gr_yxb" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ocr_skills_surfboard_example.png" width="400"></p>
</div>
<div aria-labelledby="ariaid-title5" class="topic nested2" id="topic_y1s_21p_ghc">
<h3 class="title topictitle3" id="ariaid-title5">Prioritizing agent skills</h3>
<div class="body">
<p class="p">Separate from the priority of the ticket's skills, which can timeout for the
purposes of routing, you can also configure the priority of an agent's skills.
When using agent skill priority, omnichannel routing looks for tickets in the
queue with that high priority skill to assign to the agent whenever they have
spare capacity. Other tickets the agent is eligible to receive are assigned to
them only when there are no tickets in the queue with the agent's high priority
skills. That means the prioritization of an agent's skill can result in tickets
with lower priority or newer routing eligibility timestamps being assigned to
the agent before tickets nearer to the front of the routing queue.</p>
<p class="p">For more information, 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>.</p>
</div>
</div>
<div aria-labelledby="ariaid-title6" class="topic nested2" id="topic_crx_bsx_txb">
<h3 class="title topictitle3" id="ariaid-title6">Using skills with messaging and call tickets</h3>
<div class="body">
<p class="p">Unlike standalone skills-based routing, you can use omnichannel routing to route
messaging conversations, calls, and <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6249962577690" target="_blank">sometimes chats</a> based on skills, too.
For all channels, tickets are created as soon as the request enters the queue.
That means triggers can run on them. This is how skills are applied to tickets
in the queue so that omnichannel routing can match the best agent to the
ticket.</p>
<p class="p">Configuring the skills timeout setting for omnichannel routing is particularly
important for calls, messaging conversations, and <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/6249962577690" target="_blank">chats</a>. Doing so means omnichannel
routing first attempts to assign the work to an eligible agent with all of the
matching skills. However, if an agent with the matching skills is unavailable
for a specified amount of time after the ticket reaches the top of the queue,
omnichannel routing stops considering the optional skills and assigns the ticket
to the first available agent in the appropriate groups that has spare capacity. </p>
<div class="p">If you don't turn on the skills timeout:<ul class="ul" id="topic_crx_bsx_txb__ul_nvr_2kw_vxb">
<li class="li">All skills on tickets are considered required.</li>
<li class="li">Calls remain in the queue until they reach the maximum queue wait time
and are sent to voicemail.</li>
<li class="li">Messaging conversations, chats, and email tickets remain in the queue
indefinitely until an agent with all of the ticket's skills becomes
available.</li>
</ul>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title7" class="topic nested2" id="topic_a2l_3c2_5xb">
<h3 class="title topictitle3" id="ariaid-title7">Using triggers to add and update skills on tickets</h3>
<div class="body">
<p class="p">When omnichannel routing is turned on, you can use triggers to assign skills upon
ticket creation and ticket updates. This provides significantly more flexibility
and responsiveness than the skill-specific routing rules, which can only apply
skills when a ticket is created. When using triggers to apply skills to a
ticket, you can mark each skill as optional or required. Optional skills are
dropped from consideration when a skills timeout occurs, while required skills
never time out. Each skill that is dropped from consideration increases the
number of agents eligible to receive the ticket and, in turn, increases the
likelihood of it being assigned. For more information about adding and updating
skills with triggers, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5833458075930" target="_blank">Adding and managing skills on
tickets</a>.</p>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title8" class="topic nested1" id="topic_s2n_dnx_txb">
<h2 class="title topictitle2" id="ariaid-title8">Using standalone skills-based routing</h2>
<div class="body">
<p class="p">Skills-based routing is a great option if you're only receiving tickets via email,
web form, side conversations, and the API. However, it functions more as a way to
sort incoming tickets by skills rather than actually routing them directly to
agents. When you use skills as a standalone routing solution, agents rely on Views
based on skills to manually assign tickets to themselves.</p>
<div class="note note">
<span class="notetitle">Note:</span> Standalone skills-based routing can't be used with voice and messaging tickets. To
do that, you must <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/5833468891674#topic_d2l_bnx_txb" target="_blank">use omnichannel routing</a>. </div>
<p class="p">For more information, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408883700122" target="_blank">Using standalone skills-based routing</a>.</p>
</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/5833468891674",
"url": "https://support.zendesk.com/hc/en-us/articles/5833468891674-About-using-skills-to-route-tickets",
"headline": "About using skills to route tickets",
"description": "You can use skills-based routing to assign tickets to agents with matching skills, either as a standalone method or integrated with omnichannel routing, to optimize ticket handling based on agent attributes and availability.",
"articleSection": "Routing",
"datePublished": "2023-06-19T14:42:02+00:00",
"dateModified": "2025-11-19T14:10:20+00:00",
"inLanguage": "en-US",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/5833468891674"
},
"author": {
"@type": "Organization",
"name": "Zendesk",
"@id": "https://www.zendesk.com"
},
"publisher": {
"@type": "Organization",
"name": "Zendesk",
"@id": "https://www.zendesk.com"
},
"isPartOf": {
"@type": "WebSite",
"name": "Zendesk Help",
"@id": "https://support.zendesk.com/hc/"
},
"about": {
"@type": "SoftwareApplication",
"name": "Zendesk",
"@id": "https://www.zendesk.com"
}
}</script><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>