About Contact Routing
Each contact arrives at an entry point, where a routing strategy applies business logic. Based on the evaluated criteria in the routing strategy, the system selects an appropriate queue to distribute the contact to one of the available teams.
About Skills-based Routing
Skills-based Routing (SBR) is an optional feature that matches the needs of contacts with agents who have the skills to best meet those needs. SBR is available for voice contacts as well as digital channel contacts. When calls arrive at an entry point, SBR classifies the calls into subsets. You can route the calls in each subset to agents who possess a required set of skills, such as language fluency or product expertise.
SBR assigns skill requirements to calls in a flow. Based on the assigned skill requirements, the calls enter a queue for distribution to agents who have matching skills. You can configure SBR in a way that removes or reduces the skill requirements of agents if an agent is not available within a time interval that is specified in the queue. For more information, see Skill Definitions. To remove or reduce the skill requirements, specify the skill relaxations in the Queue Contact activity.
SBR matches all skill requirements of contacts with the skills of agents. If one of the skill requirements of a contact is invalid because skill values are not properly defined in the flow, SBR cannot find a matching agent. In such cases, the call is routed to the longest available agent.
SBR provides the following capabilities:
-
Match skill requirements of contacts with agents who have those specific skills.
-
Add skill requirements to contacts and route contacts with the same skill requirements to a single queue. For more information, see Queue Contact activity.
-
Configure different agent teams with a set of agents to serve a queue. For more information, see Create a Queue and an Outdial Queue.
-
Map various skills to the profiles of these agents. For more information, see Agent Profiles.
In the preceding example, contact C1 requires skill A and contact C2 requires both skill A and skill B. When C2 enters the queue, it requires agents with both skill A and skill B. For best customer service, map C2 to the team that has both skill A and skill B. Do not map C2 to a team that has only skill A or skill B. If you map C2 to a team that has only skill A or skill B, C2 becomes the longest contact in the parked state.
Skills-based Routing Types
SBR routes contacts to agents based on the contact’s skill requirements that are configured in the flow. For more information, see About Skills-based Routing.
You can enable SBR in the Queue Routing Type settings when creating a queue. For more information, see Create a Queue and an Outdial Queue. SBR routes contacts to agents in one of the following ways when more than one agent with the required skill set is available:
-
Longest Available Agent
-
Best Available Agent
Longest Available Agent: SBR routes contacts to the agent who has been available for the longest duration.
Best Available Agent: SBR routes contacts to the agent who has the highest level of proficiency in the skill. To route contacts to the best available agent:
-
Configure the contact’s skill requirements with the necessary condition so that the contact is always routed to an agent with the highest level of proficiency:
-
If you choose <= condition for the contact’s skill requirements, a lower value indicates a better match with the contact's requirement.
-
If you choose >= condition for the contact’s skill requirements, a higher value indicates a better match with the contact's requirement.
-
If you choose IS condition for the contact’s skill requirements, a higher value indicates a better match with the contact's requirement.
For more information, see Skill Requirements in Queue Contact activity.
-
-
Assign the proficiency level to an agent when creating Skill Definitions and Agent Profiles.
For example, you can route contacts to agents with English speaking skill as a language proficiency. Consider two agents: Agent 1 with an English language proficiency level of 3 and Agent 2 with an English language proficiency level of 6. Both agents are available in the queue.
-
If you configure the contact’s skill requirement with <= condition in the flow, Agent 1 with an English language proficiency level of 3 is the best available agent in the queue to connect to the contact.
-
If you configure the contact’s skill requirement with >= condition in the flow, Agent 2 with an English language proficiency level of 6 is the best available agent in the queue to connect to the contact.
Advanced Queue Information
The Advanced Queue Information feature allows you to assess if the skills of the logged in and available agents in a queue match the contact's skill requirement without queueing the contacts for a long duration. The GetQueueInfo activity provides the number of agents that are logged on and available. However, this activity doesn't provide information about any logged in agents who have specific skills that match the requirement of a specific contact. For more information about the GetQueueInfo activity, see Get Queue Info.
At some time of the day, there may be no agents who are adequately skilled to match the skill requirement of a specific contact. The administrator needs information about such agents before and after queuing a contact to initiate alternative action such as playing a message, providing a callback option, or escalating to a different queue.
The administrator can do the following:
-
If this activity is invoked before queuing the contact, the flow uses the skill requirements that are configured in the Advanced Queue Information activity and the teams from the last call distribution group. This determines the number of logged in and available agents and populates the LoggedOnAgentsAll and AvailableAgentsAll output variables. The system sets the output variable CurrentGroup to –1.
Note
A value of -1 for the CurrentGroup indicates that the contact isn't yet queued when the activity is invoked. Flow designers can use the output variable CurrentGroup and determine if the contact isn't queued.
-
If this activity is invoked after queuing the contact, the system considers the current skills of the contact. The skills in the current skill relaxation cycle and the teams from the current call distribution group will be used to calculate the available and logged in agents. These values are populated in the LoggedOnAgentsCurrent and AvailableAgentsCurrent output variables. The system uses skills from the current skill relaxation cycle and the last call distribution group to calculate logged in and available agents and stores these values in the LoggedOnAgentsAll and AvailableAgentsAll output variables. The system also stores values in the PIQ, CurrentGroup, and TotalGroups output variables.
Note |
You can invoke this activity for LAA-based queues. However, skill requirements that are configured for this activity aren't applicable for LAA-based queues. You can use this activity in a loop. The Flow Designer invokes the Advanced Queue Information activity when executing the flow. In the Flow Designer, you can create flows using the Advanced Queue Information activity only if the feature flag is enabled for this feature. You can't work with flows that have the Advanced Queue Information activity in the Flow Designer, if the feature flag is disabled. Ensure that the feature flag is enabled for the Advanced Queue Information activity. |
Note |
As part of the Advanced Queue Information when a contact is parked in a queue and you use the Advanced Queue Information to query another queue stack, this will not be supported and will result in an error. For more information on the error response code, see Advanced Queue Information. |
Escalate Call Distribution Group
The application uses the Escalate Call Distribution Group activity in the post queuing loop to quickly move to the next call distribution group or the last. Typically, administrators use this activity to identify the contacts that are parked against escalation groups. These escalation groups have at least one logged in agent who has matching skills or no logged in agents.
The application uses the QueueContact activity and calls the advanced GetQueueInfo activity to determine if there are any agents logged in to a specific call distribution group. If no agents are logged in to a specific call distribution group, the flow designer uses the EscalateCallDistribution activity to move ahead to either the next or the last call distribution group in the series. If an agent is available in the escalated group, Webex Contact Center routes the contact to that agent. If not, Webex Contact Center parks the contact immediately in that call distribution group.
For more information about the QueueContact activity, see Queue Contact.
A customer use case is a queue that has many call distribution groups. If an agent is not available in the first call distribution group to answer a call, the flow designer redirects the call to another call distribution group within the queue. At each level, the number of agents in the call distribution group increases so that there is a greater chance of the call getting answered. At certain times of the day, agents from this group or other groups might not be available.
For SBR and LAA-based queues, if you invoke the EscalateCallDistribution activity on a contact that is not yet queued, it results in an error and exits the error path in the flow activity.
Note |
Escalate Call Distribution Group is an independent activity. You can use this activity along with the AdvancedQueueInformation and the GetQueueInformation activities to escalate the call distribution group on a queue. The CheckAgentAvailability parameter in the QueueContact activity results in escalation of call distribution groups. Don't use the EscalateCallDistributionGroup activity along with the CheckAgentAvailability parameter in the QueueContact activity. In the Flow Designer, you can create flows using the EscalateCallDistributionGroup activity only if the feature flag is enabled for this feature. You can't work with flows that have the EscalateCallDistributionGroup activity in the Flow Designer, if the feature flag is disabled. Ensure that the feature flag is enabled for the EscalateCallDistributionGroup activity. |
Routing of Parked Contacts
SBR parks contacts in a queue until an agent connects with the contacts.
When agents become available, SBR routes contacts by using one of the following selection methods:
-
Skills-based Contact Selection
-
First In, First Out (FIFO) based Contact Selection
Note |
By default, Skills-based contact selection is enabled for your organization. |
Skills-based Contact Selection
In skills-based contact selection, contacts are selected based on the exact match between the skill requirements of the contact and the skills of the agent. Skills-based contact selection does not assign contacts to agents on FIFO basis. If the contact's skill requirements match exactly with the agent's skill, the contact connects to the agent irrespective of its position in the queue. If there are many such contacts with the same skill requirements, skills-based contact selection filters contacts in the queue and assigns them to the agent in the following order:
-
Priority
-
Timestamp (oldest to newest)
For example, consider that contact C1 which requires an agent with skill A and contact C2 which requires an agent with skill B are waiting in the queue to connect to an agent. Contact C3 which requires an agent with skill C also enters the queue. If an agent with skill C becomes available, C3 does not wait for C1 and C2 to connect to agents, as the skill requirements of C3 match exactly with the agent who has skill C.
First In, First Out (FIFO) based Contact Selection
The first contact that enters the queue has the highest priority to connect to an agent. The first contact connects to an agent when an agent with matching skills becomes available. If the agent’s skill does not match the skill requirement of the first contact that is parked in the queue, the agent does not connect to the first contact. Even though the agent’s skill matches the skill requirements of other contacts in the queue, the contacts remain parked until the first contact finds an agent.
For example, consider two contacts: C1 is the first contact to enter the queue which requires an agent with skill A and C2 is the second contact to enter the queue which requires an agent with skill B. When an agent with skill B becomes available, C2 does not connect to skill B. Since C1 is the first contact to enter the queue, SBR waits for an agent with skill A to be available to connect to C1 first. C2 connects to skill B only after C1 finds an agent.
Note |
To enable FIFO-based contact selection for your organization, contact Cisco Support. |
Set Up Skills-Based Routing
Procedure
Step 1 |
Define the skills. For more information, see Skill Definitions. |
Step 2 |
Define the skill profiles. For more information, see Skill Profiles. |
Step 3 |
Assign the skill profiles to agents. You can assign a skill profile to an individual agent. Currently, you cannot assign a skill profile to a team. For more information, see View the Details of a User. |
Step 4 |
Create a queue with a channel type as Telephony and Queue Routing Type as Skills-Based. |
Step 5 |
Create a flow that defines how to treat the call. For more information, see Create and Manage Flows. |
Step 6 |
Add a Queue Contact activity and select the queue for which Skills-Based Routing is configured. For more information, see Queue Contact. |
Step 7 |
Create an entry point routing strategy and select the flow that you created. For more information, see Create a routing strategy. |
Agent-based Routing
Agent-based Routing is an optional feature that routes or queues a contact to the preferred agent directly. An agent lookup with agent's email address or agent's ID routes a contact to the preferred agent. The Queue To Agent activity in the flow helps to achieve Agent-based Routing. For more information, see the section Queue To Agent activity.
A contact can have one or more preferred agents. The mapping between the contacts and their preferred agents is managed in an external application outside Webex Contact Center. The preferred agent lookup for any contact is performed using the HTTP Request activity in the flow. The HTTP Request activity retrieves the mapping from the external application. To route or park the contact against that preferred agent, you can configure the Queue To Agent activity in the flow. The Queue To Agent activity allows you to specify the agent by their Webex Contact Center agent ID or email address. You can also park the contact against a preferred agent if that preferred agent isn't immediately available.
You can consider chaining an activity within the flow to route or queue contacts.
For example, you can chain one Queue To Agent activity to another Queue To Agent activity to queue a contact to multiple preferred agents. You can chain a Queue Contact activity to the Queue To Agent activity to route a contact if none of the preferred agents are available for that contact.
Agent-based Routing is useful in the following scenarios:
-
Preferred agent routing: The customer can assign contacts to dedicated agents or relationship executives. In such scenarios, the Agent-based Routing routes the contacts directly to that preferred agent.
-
Last agent routing: When a contact calls back the contact center multiple times to interact with an agent, Agent-based Routing can route the contact to the last agent who handled that contact.
In both use cases, the details of the contact and the agent mapping are stored outside the Webex Contact Center. The HTTP activity retrieves the data. The Queue To Agent activity routes the contact to the preferred agent or the last agent.
To set up Agent-based Routing:
Before you begin:
You must export the Webex Contact Center agent ID and agent email address from Webex Contact Center to an external application. Webex Contact Center doesn't store the mapping between the agent and its contacts.
-
Retrieve the mapping between the agent and the contact from the external application using the HTTP Request activity in the Flow Designer (From the Management Portal navigation bar, choose New to create a new flow). For more information, see the section HTTP Request.
and click -
Configure the Queue To Agent Activity in the Flow Designer. You can provide the general settings and the contact handling details to route the contact. For more information, see the section Queue To Agent activity.