How to's, Tips & Tricks
March 28, 2019

8 Intelligent Workflows for Assigning Tickets in Zendesk

On days when your inbox looks more like maelstrom than a mailbox, it can be difficult to know where to dive in. Agents get overwhelmed looking at a wall of tickets that all look equally important. Instead of tacking tickets one at a time, they click between tabs and don’t know where to start.

Sit back and let Zendesk take care of the details.

Intelligent workflows help teams make sense of the chaos and get to work. Zendesk offers several features that can help smart teams avoid analysis paralysis and get to queue crushing.

When building workflows for assigning tickets, there are two important questions to ask:

  1. Who is the best person (or group of people) to answer these questions?
  2. What information do I need to get these tickets to them, every time?

The first question helps us understand who we need to notify or assign a ticket to. The second question helps us determine how we mark these tickets. For example, if you wanted to make sure every ticket regarding a specific integration went to the engineer who built it, you’d need to somehow identify those tickets. You could do this through a ticket form field, or by searching the comment text for the name of integration.

With these ideas in mind, we’ve collated 8 workflows that will help you route tickets like an expert.

Escalation Based Routing 🔀 ❗️

Agents will frequently need to pull in an “expert” to help resolve a ticket. The expert might be a more experienced agent, a group of engineers, a supervisor, or even Tony Stark if you’re lucky and a ghost whisperer. Getting this ticket into the hands of the right person requires an escalation. Here are two different ways to escalate tickets like a pro:

Escalations to a Group of Agents 👥

  1. Set up a Group for the set of Agents you would like to escalate to. This might be your Tier 2 agents,  Team Leads, or Customer Support Engineers.
  2. Create a Macro for Escalations:
  • Set Group to escalated team
  • Add tag “escalated” to make it easier to track how many tickets get escalated
  • Add comment:
    “Hi {{ticket.requester.first_name}},

             Thanks for the reply. I’m going to go ahead and escalate this ticket to our Tier 2 team who will be able to look into this for you. They’ll respond back on this same ticket within the next 24 hours.

             Thanks again for your patience – I’m looking forward to getting this fixed for you!

             Sincerely, “

To run the escalation workflow, agents simply choose the correct macro and everything is done! It’s also possible to update the ticket status if necessary, however, most teams will probably keep the ticket in Open status when escalating.

Escalations outside of Zendesk 🔥↗️

What if you need to escalate situations to groups outside of Zendesk? Maybe engineering doesn’t have Agent accounts on Zendesk, or you’ve received a resume that you want to send to Slack. There are a couple ways you can escalate tickets outside of Zendesk to make sure the right person sees it.

Send to Slack: The first way is using BubbleIQ’s Slack integration. Once you’ve set up the workflow to send Zendesk tickets to Slack, just @mention the colleague you want to escalate to. Halp 🔮 auto-magically🔮 parses the ticket contents to notify the colleague in Slack. You can also do this via native Zendesk triggers, but it takes a little more work to make sure everything parses properly. See our blog post on Powerful Zendesk Triggers for Team Communication for full detailed steps on setting this up.

Send via email: The second way is by setting up an email target. It’s a two-step process to set these up with macros, because macros won’t send notifications. You’ll need to set up the macro, and then create a separate trigger to notify the email target. This is the best way to forward tickets because it ensures the recipient can see the entire thread, and leaves a comment for the requester.

The Macro:

Set up a new macro that adds an “escalated” tag along with a tag identifying who you want to escalate the ticket to. Add a comment to the ticket to explain to the customer what’s happening and set expectations. This comment can be edited when the macro is applied.

Note that we’ve also set the status to Solved to remove the ticket from the support inbox.

The Trigger:

For the trigger, we look for any tickets with the escalation tags, and then send off an email to the target. If you need to update the Assignee when you close the ticket, you can do it within the same Trigger.

Note that the trigger only sends on tickets that are not yet closed. By setting the status to closed after the trigger runs, we’ll avoid any trigger loops.

Skill Based Routing 🔁🔃

Skill based routing ensures tickets are assigned to the person with the right abilities to resolve them. For example, if you handle both leads and existing customers in your Zendesk, skill based routing makes sure that sales support deals with new customers, and tech support deals with current customers.

Using Ticket Fields 🎟

Asking customers to tell you what they need help with is a simple way to route tickets to the relevant team. This works for online ticket forms or for Zendesk Chat.

Start by adding a new drop-down field to the ticket form. Here are some common suggestions for routing tickets based on end-user submission.

Ensure the ticket field is visible to the end-user, editable, and required for the ticket to be submitted.

Each dropdown option is given a ticket tag. When the customer submits the ticket, a ticket is tagged with the selection.

Once you’ve defined the ticket fields, set up Triggers to assign the ticket to the appropriate Group, based on the tags added.

This Trigger also works very well if you’re using BubbleIQ’s Zendesk Slack integration. You can set up the /support Slack command to generate a ticket form with required fields. When tickets are generated in Slack, they are sent to Zendesk properly tagged and sorted.

Language Routing ㊗️

If you offer support in multiple languages, it’s really helpful to assign tickets to an agent that speaks the customer’s language. You may want to practice your command of the Japanese language on company time, but we’re pretty sure your customer isn’t going to be interested in teaching it to you while dealing with their technical difficulties. To do this, you first need to turn on multi-language support in Account Settings under Localization.

Once you’ve added additional languages, you’ll see the option to assign tickets based on Language conditions in Triggers and Automations. Below, we’ve added French and German and you can see them in the drop down list.

You can choose to assign to a 🇫🇷 French 🥖 Group of agents or to a specific agent.

Languages are automatically detected from emails, or they can be manually set on a user’s profile.

Triaging Workflow ☄️

Sometimes a more hands-on approach is necessary for assigning tickets to the right agent. Just because it’s manual doesn’t mean it’s any less intelligent than an automation. Instead of having agents work through the inbox first-in, first-out (FIFO), use a triage agent to better prioritize and assign tickets to agents.

The triage agent starts by scanning through incoming tickets. Any that are urgent (like downtime or VIP customers) get automatically assigned to another agent to start on. Tickets that only need a quick answer with a macro, the triage agents quickly replies to themselves. Anything that takes more investigation gets assigned to another agent. And that’s teamwork, people!

A few best practices for triaging:

  • The triage agent should fill out as many ticket fields as they can (ie. Organization name is correct, Product is listed, and tags applied correctly)
  • Try installing the Agent Ticket Counts app to see a running total of each agent’s workload. This will help make sure the triage agent doesn’t overload anyone.
  • Bundle tickets together that require the same context. For example, send all 10 billing tickets to one agent. They can stay logged into the payment platform and easily churn through all 10 tickets quickly.

Zendesk calls their triage agent a “queue quarterback” in their internal teams, and they swap around the responsibility as needed. Sometimes, taking a step back from automation is the most intelligent option for assignments.

Other Ticket Routing Options 🔀

Assign Based on Dedicated Support Agents 👥

Enterprise, VIP accounts are often provided dedicated support contacts. These agents are fully briefed on the technical requirements of the account, have a deep understanding of the customer’s business, and have built a solid rapport with the customer contact—they might even be virtual besties!

In Zendesk, you’ll want to make sure these tickets are routed towards the dedicated agent automatically. To do this, we can use Organizational tags, and then a Trigger to assign the ticket.

Organizational tags are automatically applied to the ticket anytime someone from the Organization submits a ticket. Zendesk looks for organizations based on email domain. So for example,, would be filed into the Microsoft Organization. Users can also be manually added to the organization if they have a different email address they use.

First, set up the Organization tag:

Then, set up the Trigger to assign tickets to their dedicated resource:

Once this workflow is set up, any tickets that come in from the Organization will automatically be tagged and routed to the dedicated support agent.

Assign Tickets with a Round-Robin Approach 🎯

If you want to assign tickets equally to agents, a round-robin approach works great. Each ticket that comes in is automatically assigned to the next agent in line. This makes sure work is divided equally, and that tough questions don’t get skipped over by cherry pickers. Agents are no longer scanning the queue and wondering how many tickets to pick up – the automated load balancing makes teams more efficient at powering through the queue.

The Round Robin App is free to try from the Zendesk App store. Once you’ve installed it, fill out your preferences for assigning tickets. For example, you can specify a Group of agents you’d like to rotate through.

For larger teams, there’s a small monthly cost to use the Round Robin app, but you’ll also receive more advanced features like managing work schedules.

Assign Negative Satisfaction Ratings for Follow-Up 🙁❗️

When a bad satisfaction rating is received (of course this never happens to you, only to others, we know that), it’s important to follow up on it. An easy way to do this is to assign the ticket to a supervisor or team lead. This is a super simple trigger to build in Zendesk.

Meet ANY of the following conditions:

  • Satisfaction Changed to Bad
  • Satisfaction Changed to Bad with Comment


  • Assign to Supervisor (Group or Agent)

After reviewing the ticket, the supervisor should set the assignee back to the original agent to ensure proper reporting.

Go with the flow! 🌊

We’ve barely scratched the surface of the workflows you can build to assign tickets in Zendesk. If you have questions about anything we’ve covered here, leave us a comment below and we’ll see if we can help!

Did we miss any? Leave us your most jedi-like workflows below, and we’ll feature you in an upcoming blog post.

Zendesk Apps Mentioned In This Post:

  • Halp – Seamlessly integrate Zendesk tickets with Slack (Yep, that’s us!)
  • Agent Ticket Counts – See the number of open, pending and on-hold tickets per agent
  • Round Robin App – Ticket assignment automation for Zendesk

If you liked this article and want to read more like it, subscribe for more tips!

Read what's next

We use your Cookies

This website uses cookies. By continuing to use this website you are giving consent to cookies being used. For more information please visit our Privacy Policy and our Terms of Service.