Defining routing logic (Routing configurations) - Skill based Routing

Updated 

Routing Configurations are a set of action groups which perform actions on cases pending in the work queue based on defined conditions. The routing checks all the pending cases in real time and instantly performs the defined actions on the case like dropping the skills tagged with the case, increasing priority of pending cases, sending cases to another queues, etc. All these actions are taken on a case if it has crossed the wait time defined in the routing group.

You can collapse routing groups for better visibility of multiple groups. Once added, you can utilize the drag-and-drop functionality to change the sequence of routing groups, making it easier to manage their priority.

Business Use Case

These action groups help in meeting the SLA requirements for the client even though there is a very high incoming volume. Each action group contains some set of actions which are defined.

How to define a routing configuration ?

The routing configuration is basically divided into two broad components :

1) Filters to segregate the pending cases

2) Defining conditions and susequent actions on those cases

Filtering of cases

There may be many pending cases in the work queue depending on channel type, associated skills, etc. Using filter options, supervisors can filter out the cases on which the routing actions should be applied.


The above defined conditions will filter "Cases" which have skill tagged as "Credit Card". The subsequent action groups will work only on these filtered cases.

Defining Action Groups

An Action group contains a set of actions on a condition which is defined on Wait time of customer or Estimated Wait time. For an action group, the defined actions will be performed for those filtered cases which breach the wait time condition. Under a routing group, we can define multiple action groups with different wait time conditions. You can collapse action groups for better visibility of multiple groups.

There are two wait time conditions that can be set are :

1. Wait for Assignment

This condition works on the actual wait time (the time since the case is pending in the queue) of a case. For the below configuration, if the actual wait time of a case exceeds 5 minutes, the actions defined in this action group below will be performed on the case. This actions will be performed only once for this action group. If we want to perform any other action after, let's say, 10 more minutes, then we have to define another action group with wait time condition as 10 minutes.

We can also use "Skip wait time of no users available" checkbox to immediately perform actions on pending case if no users are available in the work queue. So, when a new case with skill "Credit Card" arrives in the queue and if no users are available, then the actions will be performed immediately on the case when the checkbox is enable

2. Estimated Wait time

This wait time condition checks the current Estimated Wait Time of the work queue. Estimated wait time for any new case is calculated based on the number of cases that are already pending in the queue and their individual actual wait time. For the below configuration, if a new case arrives in the work queue and if the estimated wait time of the work queue is greater than 5 mins, then immediately the subsequent actions will be performed on the case.


After the initial conditionare set, we need to define the actions. The following are the different types of actions that can be used in an action group.

  • Change Priority: This action helps in changing the priority of incoming calls/cases based on the filters defined.

    • Use case - This can be used to increase the priority of pending cases by which the routing algorithm will try to assign them first as compared to new incoming case.

  • Change Proficiency: This action helps in changing the proficiency of required skill of the incoming calls/cases based on the filters defined.

    • Use Case - This can be used when routing type is Best Skill Matching. If all the agents who have the required proficiency for a case are busy, then using this action, the required proficiency can be decreased to a lower value. By this, the agents who have lower skill proficiency will also be now eligible for the case.

  • Drop Skill: This action helps in dropping required skills for the incoming call/case if they are still not assigned to any particular agent.

    • Use Case - This can be used when all the agents who have the required skills for the case are busy. Using this action, any of required skill(s) tagged with the case can be dropped and agents with less number of skills will now be eligible for the case.

  • Drop Skill Category: This action helps in dropping the skill category for the incoming call/case if they are still not assigned to any particular agent. In this, all the skills mapped under the selected skill category will be dropped.

    • Use Case - This is similar to drop skill action.

  • Send to Another Queue: This action will send the case to the selected work queue irrespective of whether agents of the selected work queue are available or not.

    • Use Case - This can be used when there are agents available in another queue and can take up the case.

  • Backup Queues: This action helps in defining the backup queues for a particular queue. This action is not transferring the case to another queue, but making the agents of the backup queue also eligible for the cases of the primary queue that breach the threshold wait time. As the case breaches the condition, system will start looking for agents from backup queue who are eligible for the case.

  • Backup Queues(Retain Original Skills): This is similar to the above action but with one change. Before this action is executed, any skill tagged to case may have got dropped from the case based on any other routing action. Using Backup Queues(Retain Original Skills) action, we can retain the skills tagged to the case while searching for agents in the backup queue. This helps to double check that if any agent is available with all the required skills, the case should be assigned to that agent.

Example Use Cases

Use Case #1

Brand wants to increase the priority of incoming calls which are tagged with skill "Credit Card", if it is not assigned within 10 seconds of landing in the queue. 

Configuration :

We first apply filter to all the cases in the work queue. In the use case, we want to change priority for "Voice Calls" which have skill as "Credit Card". For this, we define Work Social Network as "Sprinklr Voice" and Skill as "Credit Card". The next step is to set wait time condition, which in this case is 10 seconds. The last step is to increase the prioirty, which is done by

"Change Priority" action.

Use case #2

A brand wants that if normal calls are waiting to get assigned from the past 20 seconds, then drop the skill "English" and check for agents if they are available to assign. If there are calls still waiting to be assigned for around 10 seconds more, then they want to drop all required skills and start looking for no skilled agents also.

Configuration:

Here we have two wait time conditions, so we will be needing two action groups.

For the first action group, we set the theshold wait time as 20 seconds and set an action "Drop Skill" for English.

For the second action group, we set the threshold wait time as 10 seconds. In this, we have to drop all the skills tagged with the case, so we choose "Drop Skill Category" action and select the "Language" and "Product" skill category.