Troubleshooting omnichannel routing issues

<p>If you have problems with your omnichannel routing setup, use this guide to find solutions to common issues.</p><p>This article covers the following topics:</p><div style="margin-bottom: 20px; text-align: right;">
<button id="master-toggle" class="btn fw-semibold text-dark" data-action="expand" style="background-color: #DEF991; border: none; outline: none; border-radius: 7px; padding: 10px 20px; font-size: 15px; transition: background-color 0.2s ease;" onmouseover="this.style.backgroundColor='#cbef6d'" onmouseout="this.style.backgroundColor='#DEF991'">
Expand all tabs
</button>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
const toggleBtn = document.getElementById('master-toggle');

toggleBtn.addEventListener('click', function () {
const action = this.getAttribute('data-action');
const headers = document.querySelectorAll('.accordion');

headers.forEach(header => {
const isActive = header.classList.contains('active');
const panel = header.nextElementSibling; // Grabs the corresponding .panel container

if (action === 'expand' && !isActive) {
// Open it by simulating a standard click
header.click();
} else if (action === 'collapse' && isActive) {
// Close it by simulating a standard click
header.click();
}
});

// Flip button text and states
if (action === 'expand') {
this.setAttribute('data-action', 'collapse');
this.textContent = 'Collapse all tabs';
} else {
this.setAttribute('data-action', 'expand');
this.textContent = 'Expand all tabs';
}
});
});
</script><div class="accordion"><h3 id="h_01KNKDSFJ3VX76BAJFV2CA7J20">Review Copilot recommendations</h3></div><div class="panel"><p>If you have the <a href="https://support.zendesk.com/hc/en-us/articles/5608652527386" target="_blank" rel="noopener noreferrer">Copilot add-on</a>, review artificial intelligence (AI) recommendations about your omnichannel routing settings. Copilot flags routing issues and provides systemic recommendations to optimize your operations. For more details, see <a href="https://support.zendesk.com/hc/en-us/articles/9598690362010-Optimizing-your-account-with-admin-copilot-insights-and-recommendations" target="_blank" rel="noopener noreferrer">Optimizing your account with admin copilot insights and recommendations</a>.</p></div><div class="accordion"><h3 id="h_01J9TP0QC3SZVS40ZGRQWQSERA">Omnichannel routing settings not visible in Admin Center</h3></div><div class="panel">
<p>If settings for omnichannel routing don't appear in <a href="https://support.zendesk.com/hc/en-us/articles/4408838272410" target="_blank" rel="noopener noreferrer">Admin Center</a>, check whether you meet the <a href="https://support.zendesk.com/hc/en-us/articles/4409149119514-About-omnichannel-routing#topic_zlk_c3p_m5b" target="_blank" rel="noopener noreferrer">requirements</a>.</p>
<p><img class="wysiwyg-image-resized" style="aspect-ratio: 548/928; width: 28.36%;" src="https://support.zendesk.com/hc/article_attachments/10853857898394" alt="Omnichannel routing setting in Admin Center" width="548" height="928"></p>
</div><div class="accordion"><h3 id="h_01J80R0DNYSY8XJD646Y3FW9KP">Abandoned call tickets</h3></div><div class="panel"><p>Abandoned call tickets might appear in your queue with omnichannel routing on. This happens because omnichannel routing creates tickets for calls but doesn't support the <strong>Create tickets for abandoned calls</strong> setting. For a workaround, see <a href="https://support.zendesk.com/hc/en-us/articles/5027246725786-Workflow-recipe-Automatically-closing-tickets-created-by-abandoned-calls" target="_blank" rel="noopener noreferrer">Automatically closing tickets created by abandoned calls</a>.</p></div><div class="accordion"><h3 id="h_01KWXW82STGB03SQ4SY0DA25PP">Skills routing doesn't assign to tickets with omnichannel routing</h3></div><div class="panel">
<p>If skills routing doesn't work, you're likely not using triggers or your trigger conditions aren't set correctly.</p>
<p>To ensure skills routing works:</p>
<ol>
<li data-list-item-id="ed4b4c039f4eb0c21e070d23b826d8e1e">Verify that the skill applies to your tickets</li>
<li data-list-item-id="ed95998360a48082621e8419c51aac732">Use <a href="https://support.zendesk.com/hc/en-us/articles/5833458075930-Adding-and-managing-skills-on-tickets#:~:text=skills%20to%20tickets-,Using%20triggers%20to%20add%20skills%20to%20tickets%20(recommended),-When%20omnichannel%20routing" target="_blank" rel="noopener noreferrer">triggers</a> to assign skills to tickets because they can add <a href="https://support.zendesk.com/hc/en-us/articles/5833458075930-Adding-and-managing-skills-on-tickets#:~:text=skills%20to%20tickets-,Using%20triggers%20to%20add%20skills%20to%20tickets%20(recommended),-When%20omnichannel%20routing" target="_blank" rel="noopener noreferrer">skills</a> when tickets are updated as well as when tickets are created</li>
<li data-list-item-id="e4d7978292d507a04ec3f116851856765">The skills actions for ticket triggers also let you specify the skill priority for routing</li>
<li data-list-item-id="e658f229dc9e57e4c36e4c5e48cb1d128">Skills marked as <strong>Required</strong> can't time out and are part of the criteria for routing the ticket to an agent, but optional skills stop being considered for routing when a skills timeout occurs</li>
<li data-list-item-id="ed5d9ea8fc7efd46f5a924d199b30c513">Trigger actions related to skills are available when you've created at least one skill</li>
</ol>
</div><div class="accordion"><h3 id="h_01J9TQ22N0E0NE7H7GDRCB1SAR">Agents get more tickets than their capacity limits</h3></div><div class="panel"><p>Agents may receive more tickets than their allowed capacity. For more information about why this happens, see <a href="https://support.zendesk.com/hc/en-us/articles/5308501814042-My-agent-automatically-gets-assigned-more-tickets-than-their-capacity-allows" target="_blank" rel="noopener noreferrer">My agent automatically gets assigned more tickets than their capacity allows</a>.</p></div><div class="accordion"><h3 id="h_01J9TQ2BBTTV4M7HEXPJ845EW6">Voice tickets don't route to the right groups</h3></div><div class="panel">
<p>When omnichannel routing is off, Voice (formerly Talk) creates tickets after an agent accepts a call. When it's on, the system creates tickets immediately and routes them to available agents before they accept the call. Triggers that run on these Voice tickets can affect routing. Update triggers to exclude Voice channel tickets. Use this condition in your trigger: <strong>Ticket &gt; Channel | Is not | Phone call (incoming)</strong>.</p>
<p><img src="https://support.zendesk.com/hc/article_attachments/7856565556634" alt="Trigger conditions to exclude call tickets" width="579" height="54"></p>
<p>If you <a href="https://support.zendesk.com/hc/en-us/articles/6170157307162-Using-generative-AI-to-create-call-summaries-and-transcripts-on-tickets" target="_blank" rel="noopener noreferrer">use generative AI to create call summaries and transcripts on tickets</a> and also have intelligent triage on, sentiment detection may assign an <a href="https://support.zendesk.com/hc/en-us/articles/4550640560538-Automatically-detecting-customer-intent-sentiment-and-language#topic_fcq_wr2_hgc" target="_blank" rel="noopener noreferrer">intent value</a> that routes the ticket based on a business rule. <a href="https://support.zendesk.com/hc/en-us/articles/4408829602970-Viewing-all-events-for-ticket-updates" target="_blank" rel="noopener noreferrer">Check the events</a> of the ticket to confirm this.</p>
</div><div class="accordion"><h3 id="h_01J9TQ1P09B7DAZJA2YZ5WV0T1">Messaging tickets don't route automatically</h3></div><div class="panel">
<p>If you use custom omnichannel routing queues, messaging tickets route automatically.</p>
<p>If you use the standard omnichannel routing queue, you must assign tickets to a group before they're eligible for omnichannel routing. Adjust or <a href="https://support.zendesk.com/hc/en-us/articles/4408886797466" target="_blank" rel="noopener noreferrer">create triggers</a> to assign groups to messaging tickets. For more information, see <a href="https://support.zendesk.com/hc/en-us/articles/5866925319962-Turning-on-omnichannel-routing#topic_asz_ljb_yxb" target="_blank" rel="noopener noreferrer">Requirements for the routing trigger</a>.</p>
<p>A trigger action called <strong>Set routing channel</strong> lets you change a messaging ticket's routing channel to email. When you change the routing channel from messaging to email, add the auto-routing tag to the ticket. Don't use only the <strong>Ticket &gt; End session</strong> action in the trigger. This is incompatible with the <strong>Set routing channel</strong> action, which ends the session and changes the routing channel. After you change the routing channel and add the auto-routing tag, omnichannel routing treats tickets as email tickets and they count toward the agent's email capacity instead of messaging capacity. This manages queue eligibility and balances workloads across channels. For more information, see <a href="https://support.zendesk.com/hc/en-us/articles/8009788438042-About-ending-messaging-sessions" target="_blank" rel="noopener noreferrer">About ending messaging sessions</a>.</p>
</div><div class="accordion"><h3 id="h_01M1Q3ZV6A17WKPMMJK7Z6YD79">Messaging tickets route as email tickets</h3></div><div class="panel">
<p>In omnichannel routing, if you don't enable <strong>Count inactive conversations towards agent capacity</strong>, this is expected behavior.</p>
<p>A message session goes "inactive" after 10 minutes of no reply from the end user. The inactive session isn't offered as a live conversation to an agent but instead will route directly to an agent. For more information, see <a href="https://support.zendesk.com/hc/en-us/articles/4828787357210-Managing-your-omnichannel-routing-configuration#:~:text=only%20active%20messaging%20tickets%20are%20counted%20towards%20capacity%20and%20offered%20to%20agents%20through%20the%20Accept%20button.%20Inactive%20messages%20are%20automatically%20assigned%20to%20a%20previously%2Doffered%20agent%20or%20other%20available%20agent" target="_blank" rel="noopener noreferrer">Managing your omnichannel routing configuration</a>.</p>
</div><div class="accordion"><h3 id="h_01J80RG9RWQ6JH5E2D6PZB03Q9">Unavailable settings and functions</h3></div><div class="panel">
<p>Omnichannel routing offers a unique experience, but some settings aren't available. Compare your missing settings to the known limitations in <a href="https://support.zendesk.com/hc/en-us/articles/4409149119514#topic_zlk_c3p_m5b" target="_blank" rel="noopener noreferrer">Requirements and limitations of omnichannel routing</a>.</p>
<div class="note">
<strong>Note:</strong> <a href="https://support.zendesk.com/hc/en-us/articles/5866925319962" target="_blank" rel="noopener noreferrer">Omnichannel routing</a> is the default routing experience for all new and trial customers of Zendesk Suite created on or after December 11, 2024.</div>
<p><strong>Tip:</strong> If you created custom omnichannel queues, set up a dashboard for live data on routing performance with this recipe <a href="https://support.zendesk.com/hc/en-us/articles/7217081202714-Explore-recipe-Reporting-on-custom-omnichannel-queue-performance" target="_blank" rel="noopener noreferrer">Reporting on custom omnichannel queue performance</a>.</p>
</div><div class="accordion"><h3 id="h_01KT46PC2JN7BW4X6543SDH7YD">Other issues and expected behaviors</h3></div><div class="panel">
<h3 id="h_01M1Q2RXXKSZ8QZQGX3QFRCT55">Round robin treats offers as assignments. This results in an uneven distribution if agents don't accept</h3>
<ul><li data-list-item-id="e1a028f15dd6b3cd5f8be24ad437aa648">If there's a large discrepancy among some agents, interview your agents to understand why they don't accept the offers they receive</li></ul>
<h3 id="h_01M1Q3ZV6AK4B6WA7RVPM2JDSQ">Error: Conversation accept error</h3>
<ul><li data-list-item-id="e152f19cdebe466bb9de0bec66c714283">See <a href="https://support.zendesk.com/hc/en-us/articles/9836138605210-Error-Conversation-accept-error-The-conversation-was-not-accepted-as-it-may-no-longer-be-valid" target="_blank" rel="noopener noreferrer">Error: Conversation accept error The conversation was not accepted as it may no longer be valid</a>
</li></ul>
<h3 id="h_01M1Q3ZV6AKQGJSV0KWVK4TZTR">Omnichannel serves tickets from lower priority queue first</h3>
<ul>
<li data-list-item-id="edba182d25c35430368b3acab22d78dcd">Check the <a href="https://support.zendesk.com/hc/en-us/articles/4408828001434-Viewing-the-audit-log-for-changes-to-your-account" target="_blank" rel="noopener noreferrer">Audit log</a> to see if a queue's order was reordered by an admin around the time of ticket assignment</li>
<li data-list-item-id="e980a5c03dfa44b14e3c9b83393014433">Check if you have multiple queues at the same priority level. If you have the same priority setting for two queues and those queues each have a ticket, it may select the ticket closest to an SLA breach from the second queue lower on the queues list. To resolve this, select a different priority level to differentiate the priority of the two queues.</li>
</ul>
<h3 id="h_01M1Q2S2BNRT948R0RN58P8F25">Tickets leave a custom queue after a ticket update if they no longer meet the queue conditions</h3>
<ul><li data-list-item-id="e49ee76c34be2f0e51fb152472f1e517d">Ensure the conditions of the desired queue meet the ticket features for every expected subsequent ticket update. For example, remove the condition <strong>Ticket is created</strong>.</li></ul>
<h3 id="h_01M1Q2S5HVZ0TPBQXQDGRM7006">Updates in the queue setup don't apply to tickets that are already in the queue</h3>
<ul><li data-list-item-id="e62a24e754198732de5e6fe67d7427ef6">Tickets follow the queue configuration at the time they joined it</li></ul>
<h3 id="h_01M1Q2SQ5T0CY1QY4DBF2SND66">Omnichannel routing (OCR) offers newer tickets first if service level agreement (SLA) prioritization is active</h3>
<ul><li data-list-item-id="ea1480b376a7500eeaff153d06c4d370d">Ensure tickets have an active target at all times, deactivate SLA prioritization, or use custom queues. Custom queues priority takes precedence over SLAs. This lets older tickets join a higher priority queue based on the use case.</li></ul>
<h3 id="h_01M1Q2SVG25HG6HFYC6KNP9Y51">OCR only routes tickets without an assignee</h3>
<ul><li data-list-item-id="ebe0cd7d1dcbe3cd28048417866e53c5d">If a group contains only one agent, a system ticket rule assigns the ticket to that agent when the ticket lands in the group. Review the ticket events to confirm if this event took place immediately after ticket creation.</li></ul>
<h3 id="h_01M1Q2SZ2ZJ41R8NHDK4PEJWC3">OCR routes tickets unevenly among agents due to higher priority skills</h3>
<ul><li data-list-item-id="ebe7b5dbb7696dd22a2d214d5a2528b42">Ensure an admin assigns the correct skills to all agents</li></ul>
<h3 id="h_01M1Q2T2WBSB1VJW7ZS76BSN8V">Brand memberships prevent assignments</h3>
<ul><li data-list-item-id="e5dd708078eb69a3bc279f876b3ba99b7">Ensure an admin assigns the correct brands to all agents</li></ul>
<h3 id="h_01M1Q2T848D0436VYXHFBH6KVM">OCR doesn't offer Voice and messaging tickets to secondary groups of a custom queue if an agent is available in the primary group but doesn't accept the ticket</h3>
<ul><li data-list-item-id="e04e1b0a4af510bd58d4a408ffa573e2a">Agents must set themselves to <strong>Away</strong> or <strong>Offline</strong> whenever they aren't available to take tickets</li></ul>
<h3 id="h_01M1Q2TCEWRJADNDYJ8AXCF8Z9">OCR doesn't assign reopened tickets to agents with <strong>Online</strong> status</h3>
<ul><li data-list-item-id="ecffb7b048ec7ea3ca0f902afdef0394d">OCR reassigns reopened tickets based on the agent status of the current assignee. Ensure you select the agent status that the reopened ticket becomes unassigned from.</li></ul>
</div>