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 email (including web form, side conversations, and API), calls, and messaging. This article explains more about each of these options.
Understanding skills
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.
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 Product skill type and add ProductA, ProductB, and ProductC as the skills.
You can define up to 10 skill types. Each skill type can contain up to 30 skills.
- A name
- A way to add that skill to tickets
- A set of agents who have that skill
Setting up skills-based routing
After that, you either need to configure skills as part of your omnichannel routing configuration, which automatically assigns tickets to agents, or define one or more views for your agents to pull tickets from based on their skills.
Using skills with omnichannel routing
Omnichannel routing with unified agent status allows you to direct tickets from email (including web form, side conversations, and API), messaging conversations, calls, and chats in some circumstances 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.
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.
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 in order of priority from low to high. 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.
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.
For more information, see About omnichannel routing, Turning on omnichannel routing, and Managing your omnichannel routing configuration.
Using skills with Messaging and Talk tickets
Unlike standalone skills-based routing, you can use omnichannel routing to route messaging conversations, calls, and sometimes chats 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. Skills added to the ticket after the initial ticket creation and triggers firing aren't considered when routing calls.
Configuring the skills timeout setting for omnichannel routing is particularly important for calls, messaging conversations, and chats. 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, in order of priority from low to high, and assigns the ticket to the first available agent in the appropriate groups that has spare capacity.
For calls, omnichannel routing treats all skills as low-priority optional. For email and messaging tickets, the priority level specified by the triggers is respected.
- All skills on tickets are considered required.
- Talk tickets remain in the queue until they reach the maximum queue wait time and are sent to voicemail.
- Messaging conversations, chats, and email tickets remain in the queue indefinitely until an agent with all of the ticket's skills becomes available.
Using triggers to add and update skills on tickets
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, in order of priority from low to high, 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 Adding and managing skills on tickets.
Using standalone skills-based routing
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.
For more information, see Using standalone skills-based routing.
45 comments
Jason V
Hi Barry, last we chatted you mentioned TALK CAPACITY is the only thing that moves an agent into the pool once the skills time out.
If team B is not on the phone at all and waiting to be Team A's overflow - how can we get the skills timeout to add them? What is the best practice here as we have half our team in Ontario waiting to help our BC team, while they are overflowing with calls and customer hangups.
0
Barry Neary
Hi Jason V
We are addressing this limitation in early July.
Till them , could you use queue overflow capability without using skills? So team A is the primary group for the calls queue, and team B is the secondary?
0
Jason V
We have a toll free number set up that goes to our Service team. The call is then routed by area code to the correct province by assigning Area codes to the Location Skill.
I don't think the overflow method works since we'd have to assign number to a primary location and that team would in essence collect most of the inbound calls.
We can wait til July if thats the plan, but we desparately need to fix this as we do have very inefficient hangups at the moment where our Team B never receives a ring
0
Johannes Garske
Hey Barry Neary
we would love to st skills-based routing live for us.
We also have custom queues and skills.
When i try it with my testaccount and put myself on a custom status, it should put my open tickets back to the group (basically an unassign-feature). This should also happen when i don't answer this ticket for x hours.
How is this possible?
It seems not to be duable via triggers or the normal configuration.
Also it does not work with the custom agent status i created.
Thanks!
1
Barry Neary
Hi Johannes Garske
currently we only have a feature that reassigns tickets when you go into a custom status and that ticket reopens. What you want is that all open tickets automatically get reassigned, which we dont currently have. You would have to manually bulk edit those tickets and set their assignee to null. It is on the roadmap (likely 2025) to implement this.
An automation could be used (they run every hour) that says if a ticket has not been updated in the last X hourse, then set assignee to null.
1
Johannes Garske
Thanks a lot :)
Then i will create an automation for this, i think it should work also, or?
0
Barry Neary
0
Chris McPhearson
I'm looking at implementing this for my organization, but the issue being discussed here with agents having to interact and change their talk capacity somehow would be a problem for us. I see “early July” was mentioned as a time estimate for the fix, can anyone confirm if that has been resolved yet or have an updated timeframe?
Also, how do skills and overflow groups interact? If you have some agents in a queue's primary group that do have a skill and others that don't, will the skills timeout route to other agents in the primary group, or does the ticket route to the overflow group first?
0
Barry Neary
Hi Chris McPhearson
This issue has now been resolved. The system will look first in the primary group for agents with skills and then in the secondary. Once the timer expires it will give the ticket to any available agent in the primary group independent of skills, and failing that any available agent in the secondary group
0
Johannes Garske
Is there the possibility to see how many tickets are picked up manually from an agent?
I know there is the acceptance rate for ticket from messaging, but it don't work for e.g. email or Web-form.
it would be nice to know if tickets are updated from the system before it's assigned to an agent or if the agent picked the ticket manually.
0
Barry Neary
Hi Johannes Garske
If you are using the auto routing tag to route email tickets then in Explore you can compare how many are assigned to an agent with tag vs without
Barry
0
Johannes Garske
Thanks. Barry Neary
But how exactly is it possible in Explore? Because i don't know how we can say please only show tickets with this tag which are picked up manually?
The auto-routing tag is something we have in general so it is in every ticket.
0
Ahmed Zaid
Very excited about the new optional/required skills feature. I was hoping for further improvement where it could be set on the queue level rather than the ticket level. For example, when a ticket is in L1 queue, language skill is required, but when the same ticket moves to L2 queues, topic skills are then required while languages are optional.
0
Barry Neary
Hi Ahmed Zaid
A trigger can remove all skills and replace them with a skill thats common to everyone when it moves to L2?
Barry
0
Ahmed Zaid
Hi Barry,
Yes this is now my current approach. A trigger resets the skills to specialised topics upon escalation then another resets them back to language skills upon de-escalation. Thank you.
0