Skill-based routing
Rather than sending work items to the first available user in a queue, skill-based routing matches the most expert user in terms of the characteristics of an incoming work item. Users should have the necessary skills to handle the item.
Having a skill is one of the key metrics of an agent’s expertise and can be something such as language proficiency, product knowledge, certifications handled, or account history. Each skill can have a proficiency level from 0 (none) to 10 (maximum).
Skills are assigned to users via the Service Resource object and to work items via the Skill Requirements object. Matching the skill means matching the right agent. If we have multiple skills, the item is routed to an agent that handles all of the required skills.
With queue-based routing, a queue represents a single skill (such as a product or spoken language), so it is not possible to assign a work item to more than one queue. Skill-based routing helps with more complex scenarios where multiple skills are needed.
If no users with the required skill(s) are found, the item is not routed until the right user is available. To enable skill-based routing, go to Setup | Omni-Channel Settings and check the Enable Skills-Based Routing flag.
You can define the required skills by going to Setup | Omni-Channel | Skills. Don’t assign users within the skill configuration as this is not related to Omni-Channel setup.
To assign skills to users, use the Service Resource object (you can find this tab from the App Launcher):
Omni-Channel skills related to a user
But how can we relate skills to incoming work items? We can do this using custom Apex code and a Process Builder or Apex trigger in order to execute custom routing. Please refer to Salesforce Help at https://help.salesforce.com/articleViewid=omnichannel_skills_based_routing_route_work_items_using_skills.htm&type=5 or the following Trailhead module for more information: https://trailhead.salesforce.com/content/learn/modules/Omni-Channel-lex/understand-sbr.
External routing
If Salesforce is a new addition to the overall application layer and you cannot use Salesforce’s routing engine, external routing allows work items to be routed based on an external application, which will decide which agents have enough capacity and the skills to handle a work item.
To find out more about this routing model, and if you feel you want to join the developer side of things, please refer to the Omni-Channel developer guide at https://developer.salesforce.com/docs/atlas.en-us.218.0.omni_channel_dev.meta/omni_channel_dev/omnichannel_developer_guide_intro.htm.
Omni-Channel Supervisor app
Let’s talk about another cool feature that comes with Omni-Channel: the Omni Supervisor app.
You can access this from the App Launcher. It provides us with an effective way to monitor an agent’s work in real time, as well as their queues backlog and assigned work and skills backlog:
Omni-Channel Supervisor agents view
By clicking on an agent, we can look at all the details of their work:
Agent capacity details on the Omni-Channel Supervisor page
For a detailed list of what we can review from this page, please refer to Salesforce Help at https://help.salesforce.com/articleView?id=omnichannel_supervisor_intro.htm&type=5.
One of the most effective channels that speeds up case resolution is live chat. We’ll explore this in the next section.