With skills-based routing, you can set up "skills" and associate each one with individual agents. For each skill, you also define a set of ticket conditions. Then you configure a view that identifies which tickets match the skills of whomever's looking at it.
This article includes these sections:
Understanding skills-based routing
This section includes these topics:
About skills and skill types
There are two elements that skills-based routing is built on: Skill types and skills.
- Skill types are categories for skills. For example, "Languages" is a skill type, and "French" is an individual skill. "Country" is a skill type, and "Belgium" is a skill.
Skills are any attributes of an agent that determine their suitability to work a ticket that requires them. A skill can be something the agent is able to do, like speak French. But a skill can be any other fact about the agent, like being located in the Brussels office.
While a skill can technically exist with just a name, a skill is fully defined by:
- A name
- A set of conditions that determine when a ticket requires the skill (called routing rules)
- A set of agents who have that skill
The skills-based routing workflow
Currently, skills-based routing uses the existing paradigm where agents pull tickets from views. You can configure a view that filters tickets by skill to organize tickets so agents possessing certain skills can quickly find those tickets they are qualified to address.
The following is an overview of the steps you'll take to route tickets into useful views.
- Create skill types, to organize your skills into categories.
- Add skills to the skill types, based on your customers' needs and the skills or qualities your agents have (language, time zones, and the like).
- Identify agents' skills, and assign them to as many skills as you like.
- Build routing rules for each skill, so skills can be applied to the right tickets.
- Create a view to filter tickets based on skills, so the agent can focus on the ones they are best qualified to answer.
About skill metrics for reporting in Explore
While Explore doesn't currently have a pre-configured Skills dashboard, Explore Professional and Enterprise do include metrics and attributes that you can use to build your own reports.
For more information, see Metrics and attributes for Zendesk Support.
Creating skill types
You'll need to create at least one skill type before you can set up specific skills. You can create up to 10 skill types.
To create a skill type
- In Admin Center, click Objects and rules in the sidebar, then select Business rules > Skills.
- On the Skills page, click the New skill type button.
- Enter a unique name for the skill type. Names cannot exceed 96 characters.
- Hit Enter. The skill type is created and added to the Routing page:
Repeat these steps for each skill type you want to create.
Adding skills to skill types
After you've created one or more skill types, you can add your specific skills. Once you've added a skill to a skill type, a new Skills ticket field appears on tickets viewed by administrators. Visibility options can be modified by Configuring the skills field viewing options.
Skills can be viewed, edited, or deleted after they've been created, and skills can be manually added or changed by an administrator on a ticket-by-ticket basis. For information on this, see Working with skills.
Each skill type can include up to 30 skills.
To add a skill to a skill type
- On the Skills page, locate the skill type you want to update, and click the New skill button.
- Enter a name for the new skill. Names cannot exceed 96 characters.
Note: Each skill within a skill type must have a unique name. However, skills in separate skill types can use the same name.
- Hit Enter. The skill is added to the skill type.
- Repeat until you've added all your skills to the skill type:
Assigning agents to skills
For each skill, you need to designate agents who have that skill.
There are two ways you can connect agents to skills:
Adding agents to specific skills, via the Skills admin page. This is particularly useful when assigning multiple agents to a skill at once.
Adding skills to specific agents, via the agent’s profile page. This option is good when onboarding new agents who need multiple skills assigned to them.
- On the Skills page, click the skill type you want to open, then click the skill you want to update.
- In the Agents section, click the Manage button to display a list of all agents, and the groups they belong to:
- Locate the agents you want to assign to the skill. You can find agents in a number of ways:
- Scroll through the list of agents
- Enter an agent's name in the search box
- Filter the list of agents by group, by clicking the options icon () and selecting the group name.
- Select agents by clicking the check box to the left of their name. Once selected, agents appear in the Agents with skill list.
Note: You can add or remove up to 50 agents at a time. If you have more that 50 agents to add or remove, you'll need to make multiple updates
- When done, click the Save button.
To remove an agent from a skill via the Skills admin page
- Open the skill.
- In the Agents with skill list, locate the agent you want to remove, then click the x next to their name.
- Click the Save button.
To assign a skill to an agent via the agent's profile
- In Support, open the agent’s profile. You can do this by clicking their profile picture and selecting View profile, or clicking their name on the Manage > People admin page.
- Scroll down the profile to the Skills field in the left sidebar.
- Click in the box to open the skills picker.
- Click the skill type, then the skill, you want to assign to the agent, and repeat as needed. The skill appears in the agent’s skills list, and the agent appears as an assignee on the Skills admin page.
To remove a skill from an agent via the agent’s profile
- On the agent’s profile page, scroll down to the Skills field in the left sidebar.
- Click the x on the skill you want to remove. The skill is removed from the agent’s skills list, and the agent is removed as an assignee on the Skills admin page.
Assigning skills to tickets (building routing rules)
Each skill needs conditions defined to determine which tickets they're applied to. These sets of conditions are called routing rules. When a ticket is created that meets the conditions defined in a skill's routing rule, that skill is attached to the ticket. You can create views based on those skills to direct agents to tickets they are qualified to address.
Routing rules are applied upon ticket creation, which means:
- If a ticket is created before a routing rule is set up, it won't have that skill attached to it.
- If a ticket is updated so that it no longer meets a skill's conditions, the ticket will still require that skill until you manually remove it from the ticket.
- If a ticket is updated so that it meets the conditions for a new skill, the ticket will not start to require that new skill until you manually add it to the ticket.
To create a routing rule
- On the Skills page, click the skill type you want to open, then click the skill you want to create a routing rule for.
- In the Tickets section, click the Add condition button under Meet All of the following conditions and/or Meet Any of the following conditions.
- If you add conditions under Meet All of the following conditions, all of the conditions must be true for the skill to be applied.
- If you add conditions under Meet Any of the following conditions, one or more of the conditions must be true for the skill to be applied.
Note: If you don't add any conditions in either section, then the skill will not apply on any tickets. Skills must have at least one routing rule to apply.
- Select a condition, a field operator, and a value for each entry.
- When all conditions are added, click the Save button.
When a skill is applied to a ticket, it appears in that ticket's sidebar.
For information on modifying these skills, see Working with skills.
Understanding how skills are applied to follow-up tickets
When a follow-up ticket is created for a closed ticket, you may notice that skills on the follow-up ticket don't always match the skills on the original ticket. Generally, when a follow-up ticket is created, it inherits data from the original ticket (see Creating a follow-up for a closed ticket). Skills are an exception to this rule.
Follow-up tickets don't inherit skills. Instead, skills are applied to the follow-up ticket based on your routing rules when the follow-up ticket is created.
Creating skills-based views
This section includes these topics:
About the types of skills-based views
A skills-based view is a view that displays only tickets with skill requirements that match the skills of the agent using the view. There are currently two types of skills-based views in Support:
- Views with a skills-based condition
- Skills-match views
Views with a skills-based condition (recommended)
You can create a skills-based view by adding a skills-based condition to a view. You can do this to as many views as you want. Tickets without skills are excluded from these views. For more information, see Creating views with skills-based conditions.
We recommend using this type of skills-based view because it offers several advantages compared to skills-match views. For example:
- You can filter all views by skills instead of just one.
- There’s no limit on the number of tickets assessed.
- There’s no limit on the number of tickets displayed in the view.
- The results of the view are paginated.
You can create a skills-match view by applying a skills filter to a view. However, you can only have one skills-match view in Support, not multiple. Tickets without skills are included in this view. For more information, see Creating a skills-match view.
Understanding the limitations of skills-based views
This section explains the limitations of different types of skills-based views. The limitations are different depending on the type of skills-based view you are using (see About the types of skills-based views).
Limitations for both types of skills-based views
These limitations apply to both types of skills-based views (views with a skills-based condition and skills match).
Skills application: Skills are applied only when tickets are created. This impacts skills-based views in two ways:
- If a ticket is updated so it no longer meets a skill’s conditions, that ticket will continue to appear in the view for the former skill match. To remove a ticket from a view when it no longer meets the skill’s conditions, you need to manually delete the skill from the ticket.
- Language skill application: Language skills are applied to a ticket based on the requester’s language, rather than the ticket language.
Limitations for only views with skills-based conditions
- Closed tickets: Closed tickets are not included in views with skills-based conditions.
- Tickets with no skills: Tickets with no skills are excluded from the view.
Limitations for only skills-match views
These limitations apply only to skills-match views. They do not apply to views with a skills-based condition.
- Number of tickets assessed: If the ticket count in a skills-match view includes more than 3,000 tickets, or a processing timeout occurs, all tickets will have the skills correctly applied, but some tickets may not appear in the view.
- Ticket display: Only the first 30 tickets in a skills-match view are displayed, based on how your tickets are sorted. You can change the displayed tickets by changing the view’s sorting criteria.
- Tickets with no skills: Tickets with no skills are included in the view.
Creating views with skills-based conditions
A view with a skills-based condition is one of the types of skills-based views that are available in Support. When an agent uses this type of view, they can see either:
- Tickets with skills requirements that match their skills, or
- Tickets that have no associated skills
You can create these types of views by adding skills-based conditions to the view:
Skills + Is + Current user skills
You can add the condition to as many different views as you want. Tickets without skills will be excluded from views with a skills-based condition. For information about how views with skills conditions differ from other views, see Understanding the limitations of skills-based views.
Skills + Is + No skills
You can also add this condition to as many different views as you want, but it cannot be combined with the Skill+Is+Current user skills condition. Only tickets without skills will be included in a view with this skills-based condition.
- There is no count of tickets on the view
- The browsing back in forward in the view looks different from a normal view
To create a skills-based view using conditions
In Admin Center, click Workspaces in the sidebar, then select Agent tools > Views.
Click the name of the view you want to open for editing.
- In the Conditions section, under Tickets must meet all of these conditions to appear in the view, click Add Condition.
Add the required condition:
Skills + Is + Current user skillsor
Skills + Is + No skills
- Click Save.
You can now start using the view.
Keep in mind that there’s nothing in the user interface (UI) that indicates to the agent that the view is a skills-based view, and that only tickets that match their skills are appearing in the results.
If you are an admin and you are looking at the Views admin page, there is also nothing on this page that indicates that the view is a skills-based view (such as a filter icon).
- If you are an admin and the view is a shared view, let the appropriate agents know that the view is a skills-based view.
You can make shared views visible to all agents or to a group of agents.
Creating a skills-match view
You can create a skills-match view by adding a skills filter to a view. However, you can only have one skills-match view in Support, not multiple. Tickets without skills are included in this view. For information about how skills-match views differ from other views, see Understanding the limitations of skills-based views.
A skills-match view is one of the types of skills-based views that are available in Support. When an agent uses a skills-based view, they see only tickets with skills requirements that match their skills.
To create a skills-match view
- In Admin Center, click Workspaces in the sidebar, then select Agent tools > Views.
- Create a view, or clone an existing view, that covers common support requests (see Using views to manage ticket workflow).
- Optional: On the view's edit page, scroll to the Table columns section, and drag Skill match into the Columns included in table list. All tickets in the view should have a checkmark in this column; if they don’t, go back and check your view conditions. You can also use the column on its own, on any view, in lieu of the filter. This will tell the agent which tickets match their skills without actually hiding the ones that don’t.
- Update the rest of the view as needed, and click Submit.
After you’ve created the view, you can then apply the filter, so agents looking at the view will only see tickets that match their skills.
To apply a skills filter to a view
- Go to the Skills page.
- In the Skills match view section, use the drop-down menu to select the view you want to filter by skill.
Note: Only certain views are compatible with filtering. Incompatible views appear in the drop-down menu, but are grayed out and cannot be selected.
- Click Apply skills filter.
When a skills filter is applied to a view:
On the Views admin page, the view appears with a filter icon:
- When an agent opens the view, they’ll only see those tickets for which they match all required skills.
- When an agent uses Play mode with the view, only skills-matched tickets are displayed.
Converting an existing skills-match view
If you have an existing skills-match view, you can convert it into a view with a skills-based condition by cloning it and then adding a skills-based condition.
To convert a skills-match view into a view with a skills-based condition
- (Optional) Deactivate your skills-match view.
In Admin Center, click Workspaces in the sidebar, then select Agent tools > Views. Hover your mouse over the view, click the options menu icon (), and then choose Deactivate view.
Clone your skills-match view.
Find the skills-match view. Hover your mouse over the view, click the options menu icon (), and then choose Clone view.
- Edit the cloned view.
Follow the steps in To create a skills-based view using conditions to add this skills-based condition:Skills + Is + Current user skillsNote: When you clone a view, it becomes an active view as soon as you click Save, regardless of whether the parent view was active or inactive.
Working with skills on tickets
This section discusses the following topics related to skills that have been applied to tickets:
Configuring the skills field viewing options
As soon as you add a skill to a skill type, the Skills field appears on the left side of a ticket, along with other system and custom ticket fields:
By default, only administrators can see and update the skills field. You can configure the visibility and permissions for the skills field, so agents can view or update it as well.
To configure the skills field visibility options
- On the Skills page, click the Configuration icon next to the New skill type button.
- On the Manage skills on tickets modal, use the drop-down menu to select the visibility configuration you want to apply to the skills field:
- Administrators only (view and update): Administrators can view and update skills in the ticket UI. Agents cannot view or update skills.
- Administrators (view and update) and agents (view only): Administrators can view and update skills in the ticket UI. Agents can view skills in the ticket UI, but not update them.
- Administrators (view and update) and agents (view and update): Administrators and agents can view and update skills in the ticket UI.
- No one (disabled): The Skills field does not appear in the ticket UI.
- Click Save.
Viewing skills in the ticket UI
If skills are configured to appear on your ticket UI, they are displayed in the Skills field, in the ticket sidebar.
To view the skills applied to a ticket
- Locate the ticket in your ticket views.
- Click the ticket subject to open it in the main window.
- In the ticket's sidebar, locate the Skills field. The skills applied to that ticket appear here.
Adding and removing skills on a ticket
If skills are configured to be editable through your ticket UI, admins (and agents, if allowed) can update the skills applied to a specific ticket from within the ticket UI.
To add a skill to a ticket
- In the ticket's sidebar, locate the Skills field.
- Click the skills drop-down icon () to display the available skill types:
- Click the skill type containing the skill, then click the skill you want to add to the ticket.
- Repeat as needed, then submit the ticket.
To remove a skill from a ticket
- In the ticket's sidebar, locate the Skills field.
- Click the x on the skill you want to delete from the ticket.
- Submit the ticket. The skill is removed from the ticket.
Note: If you remove all skills from a ticket, it can be viewed by agents regardless of their assigned skills.
In the admin, how are skills reordered so they are more logically navigated by the agent while updating a ticket?
Hi all, trying to setup skill-based routing for my team.
Following the guide I am almost there. The problem is when I add the rule "Skills is Current user's skill" to the testing view, I receive the error saying the view can't be saved. Any way I can figure out why is the error appearing? The preview is correct but I can't save the view.
@... - do you have the view selected in the Routing page as a skills match view? That would block certain conditions being added. If you're using the filter in the View conditions then you wouldn't need it to be selected as skills match view as well.
Ola Timpson - Thank you!! That worked!! I thought it was necessary to add a view in the routing page to connect/filter the tickets.
Is there a way to create a routing rule to handle the following scenario?
We have a group of agents who all possess a skill for servicing a specific brand, however, some of the agents are only serving as additional capacity during peak periods, and we'd only like them to be assigned a call, chat, or email in the event that all of the regular agents are busy or offline.
Is this possible? If so, how would you go about setting that up?
We are seriously considering Skills Based Routing for one of our teams that support over 60+ vendors and have close to 100 associates to support those vendors, often 1 or 2 people per vendor. Thus skills based approach seems like a strong option.
Yet in evaluating this functionality there are several things prohibiting us moving forward
1. We don't see a means to enable the normal "Standard Agent" to add or remove skills thus enabling them to move between various vendors to support peak ticket activity. This appears to be an Admin-only setting which needs to be more flexible to enable the Agent to determine those changes, much in the way they can set any of their characteristics on their profile page.
2. The lack of routing rules to evaluate form field data after ticket creation is a significant limitation. This skills routing is an excellent concept but limiting to only ticket creation and only data prior to triggers firing is serious limitation to be addressed.
3. Similarly to above, the skills should be reassessed upon any ticket change including automations or triggers dynamically. Instead of manually modifying the skills on the ticket, the criteria at the skill level should be constantly re-evaluating tickets as they change and adding/removing the skill on the ticket as those attributes change.
4. Other groups NOT using skills still see the skills inside their form even when those skills don't apply. There needs to be a way to set or configure which groups or forms are using skills and those that are not.
5. More granularity is needed on the Views utilizing skills. Rather than just "is" and "is not" black and white across ALL skills, specifying WHICH skills to evaluate is needed. For instance we originally had plans to separate out two different skills; one for vendor and another for country/region. That was until we determined that ANY skill being met would cause that ticket to appear. Basically there is no way to create an "and" condition to see we want to show a view where ticket and user have skills "vendor" AND "country/region". Basically ANY skill being met would show that ticket which isn't sufficient.
Would really appreciate feedback from the product team if any of these items are being addressed and when.
@...: first of all, apologies for the late reply to your post
1) This ability for someone other than admin to be given permission to edit an agent's skills is on the roadmap for 2022. I dont have an exact date but likely late Q1
2) and 3) The ability to be able to automatically change skills post ticket creation is also key roadmap item for 2022
4) To understand this more fully - you want to be able to specify that the skills are shown only in some forms and not others? Similarly you should be able to configure it so that the skills field appears in tickets that are assigned to certain groups and not others?
5) My understanding is that currently the agent must have all skills associated with the ticket for them to be able to see it. So in your example, currently the agent would have to have both the vendor and country skill that matches the ticket's in order for them to see it in a view which is filtered by skills. It sounds like this is what you want?
@...: sorry for late reply
We are working on an omnichannel routing engine which will have a feature enabling overflow to occur as you describe. For now I am not sure there is any automated way for your skilled agents only to be used on non-skilled tickets in the case of other agents not being available.
Thanks for the reply @...
Regarding point 4) Correct on both. We have completely different groups working in completely different parts of the country. One is North America (NA) and other is Germany (DE). NA has skill types (think of an NA Skill with different vendors/partners/etc) they work with while DE has completely different skill type that contains their vendors/partner/etc. NA doesn't want/need DE's skill type or skills shown. Likewise DE doesn't want need NA's skill type or skills shown. And lastly if a group is not using skills for their form/tickets, no skill types or skills should be shown at all.
Regarding Point 5) See samples below on what we have had to do to work around this. We started with defining a Country skill type and Vendor Skill Type thinking that we could create an "And" condition, yet quickly learned that "ANY" skill being met caused the ticket to appear. As an example if a ticket was defined as AU, then ticket appeared in the view, OR if Google skill was met, then ticket appeared in the view. Thus there is no means to say All or which skill types must be met to cause ticket to appear. Instead we had to create a skill type for each iteration of a vendor and country. Fortunately these situations are limited right now but we could see if we used skills more often in other groups that using skills would be unmaintainable.
Fitbit - AU
Fitbit - NL
Google - AU
Google - NL
Google - US
Appreciate the team focusing on this as we see great potential if functionality can be expanded. We have a single view for one group that supports upwards of 70 vendors (ie skills) with each Associate/Agent given abilities to switch skills using a custom app we had to create to give the means to switch skills as needed. Looking forward to the next update
There is some way to create a trigger notification skills-based routing?
We have set the skills but the notification of new ticket still arrive to all agents of the group.. We would notify only the specific agents of the group that have the specific skills..
Are you pertaining to email notification? If yes, you can create a trigger and use tags to segregate the tickets from each other or if you have a ticket field for Skills, you can also add it as a condition under meet all, then target the group recipient under actions. I hope that helps
hi Cheeny Aban
we manage many skill like here:
The skill is define by the value of a ticket custom field like this:
Every skill is associated to some specific agent, but in the trigger there is not the choice to add a specific condition by skill-based routing:
The use of the tags (of the ticket custom field) as condition is not the best option to manage because the skills are manage directly in the routing rules.. We need a trigger condition like "Ticket skill is accomplish" instead of ticket tags.
So in the action of the trigger should be add an action like "Email user -> Agent in the skills":
I hope to explain our needs. Manage all the skills matrix by ticket tags in the conditions of the trigger is a manual duplicate management of the skills and we have to create so many triggers like the number of the skills..
Hi Barry Neary and team!
I'm experimenting with Skills and have a lot of the same questions as Terry above - especially around flexibility with views (e.g. using AND instead of OR for skills) and also around being able to apply Skills or update Skills through Triggers or Automations on already-created tickets.
You mentioned there might be some changes around this available soon (Q2 2022) - do you know if there's an EAP planned or if there's any update with that please?
Hi Tim G
We are actively working on two things skills related:
1) Adding skills to the new routing engine that we just EAP'd - the ability to select an agent to assign a ticket based on not only their capacity and status (online/offline) but also on their skills
2) We are also working on allowing triggers to set skills
Dont have specific release date yet, but once we have I will share
Hi Barry Neary
I tried to use SBR, too, but had to discard it.
In our tickets, we usually have to make a first analysis to determine which SMEs have to work on the ticket, while your current model assumes that a ticket arrives in perfectly analyzed form such that it can be assigned right at creation and assigned completely automatically.
I implemented my solution using a web hook which sets fields on the ticket, and also adds an internal comment inviting the selected SME to work on the ticket.
I learned a lot doing this, especially things like what happens when the SME is on vacation and the like - deputy setup is done manually today.
Barry Neary - Triggers being able to set skills will be a game changer for us. When that feature exists, we'll begin using SBR.
We used skills based routing, but agreed, we would be able to use it significantly more if…
Are there any updates on 2 and 3? Are these still key roadmap items for 2022?
Hi CJ Johnson, yes we are due to start working on the ability to change skills post ticket creation shortly - I dont have a confirmed expected date for release on this at present, but as soon as I do I will update this post
Hello, we are looking to use skill based routing - is there no condition for ticket tags???
Hi Malik, unfortunately currently skills rules are run only once when the initial ticket is created - i.e. before any tags can be added to ticket. It is on the roadmap to address this in the future
Hi Barry, oh wow only at the time the ticket is created? We can only work with skill based routing if we can change the ticket skills - so the only way could be atm to setup a webhook for https://developer.zendesk.com/api-reference/ticketing/ticket-management/skill_based_routing/#set-agent-attribute-values and use this webhook in a trigger action?
Yes, that is a workaround until we have this addressed natively
Can skills-based routing be used with any form of agent capacity management? My use case is that I need to route tickets to agents with the right skills, but if there is more than one, Zendesk should look at capacity to ensure work is distributed fairly.
I have seen posts about the new routing EAP but this does not include skills routing.
Hi Graham Ferguson
Adding skills to the omnichannel routing engine is next up on our roadmap. Should be released in Q4
Terry Ehrhard: Belatedly, we have the capability now to allow admin to grant permissions to roles to edit skills , including the ability to add/remove skills from agent. This is in the role section under Business Rules: 'Other business rules':
Barry Neary I tried adding this permission for one of our roles. It gives access to skills settings in admin centre, but doesn't show the skills option in a user profile. This is the bit I'm really missing, so a Team Lead can check that a member of their team has the right skills and amend if needed. Right now they'd have to go through every skill in the list to see if their team member has it.
Hi Ola Timpson, you are correct - having skills in agent profile is something we are looking at for the use case you describe
Quick question: Would you want all the skills between a ticket and an agent to match for the ticket to be routed to that agent? Or would you rather that the routing engine tries to find an agent that matches, but if it cannot find one, then assign to next available agent independent of whether the skills match?
If it is the latter, then what happens if suddenly an agent become available with skils, but the ticket at the top of the queue didnt match the agents skills - should the routing engine keep going down the queue looking for a the ticket that matches?
Barry Neary I would want the ticket to wait for an agent with matching skills - for us there is no point routing to someone who can't work the ticket.
Please sign in to leave a comment.