Skill Based Routing in Call Flow

Start designing call flows that direct your clients to the agent groups who can help them

Written by Shelby Glynn
Updated over a week ago

Here are some ways you can design a call flow that will ensure incoming calls make it to the agent teams with the most appropriate skillsets.

User Role:

  • Admin

What is skill based routing?

Skill based routing creates a logical routing system in situations where incoming callers have an unpredictable variety of needs. Your company call center may have customers ringing in with differing preferred languages, callers who require particular technical assistance, and other use cases which require help from agents who possess specific skills.

Skill based routing minimizes queue times by using caller data or inputs to automatically direct callers to the right agents to help them.

When is it useful?

There are many cases where a company benefits from using skill groups to classify their agents. For example:

  • We have an international company. Our Support center has many bilingual agents with varying levels of language skill.

  • If an incoming call has a German area code, it should be sent to one of our German speaking agents. If the call is coming from France, it should be sent to a French speaking agent, and so forth.

  • Agents who are better at a particular language should be prioritized for customers who speak that language.

  • We also want to use stored data about our contacts, like contact tags, to direct certain calls to agents with additional skillsets, like technical support.

Add/Edit a Call Flow

Before starting, make sure that you have existing groups. To get the most out of skill based routing, you can add skills to agent profiles to create specialized skill groups for agents.

From the dashboard, navigate to the Numbers tab. Find the number of the call flow you want to edit, and click the blue pencil icon to start.

Skill Based Routing with IVR

IVR, or interactive voice response, is one type of action step we can use to implement skill based routing.

Use Case: We want the caller to be able to press a number to be routed to a certain skill group. For example, our recording might prompt a caller to press 0 for English, 1 for Español, 2 for Français, and so on.

  1. Select the + symbol on the step after which you want to add a new action. We want to let callers choose their language preference before being routed to our English speaking Agents group.

  2. As an action type, select IVR.

  3. Enter seconds to wait and search the IVR greeting you want to use. New recordings must first be uploaded via Settings.

  4. Select the + to add a new action after the IVR step. Choose Call to group.

  5. Notice that our Call to group > Agents step defaults to the 0 branch in our IVR. Enter the other IVR options as new branches:

    1. Choose the Call to group action.

    2. Enter Seconds to wait on this step.

    3. Search and select the Group name which aligns with the recording used in your IVR step, and choose an IVR keyboard number for the caller to enter. This number will default to the next chronological number.

  6. Add all the necessary groups as separate branches, continuing each call flow branch as necessary. Save changes before exiting the page.

Skill Based Routing with Condition Splitter

The condition splitter is an action type which is only available for Essential, Expert, and Custom plans. Using a condition splitter will filter calls through a series of conditions to decide what subsequent branch a call will follow.

Use Case: We can make a condition which filters for tags associated with a skill. We will filter for an existing tag, technical, so that all incoming calls with this tag are routed to a technical skill group.

  1. Add a new action step in the call flow by selecting + on the step you want your action to follow. As an action type, choose Condition Splitter. Ok.

  2. We will start with our "failover" condition, where calls that don't meet our other condition(s) can flow. Select an action type if starting a new branch, or select the edit icon on the next action following your condition splitter step. Under Condition Splitter settings, tick the box No other condition is met.

  3. Once the failover branch is added/edited, we can start a new condition branch. Select the + plus symbol underneath the failover branch and select Call to group as the action we want to take place if conditions are met.

  4. Enter Seconds to wait on this step. Search the group name which relevant calls will route to (e.g., technical support). Under Condition Splitter settings, select Add New.

  5. Make a logical statement using the Property, Operand, and Value fields.

    1. Our Property will be Contact - Tags. Our condition will inspect the tags associated with an incoming contact.

    2. As an operand, we select contains.

    3. For Select value, we type and select the tag technical. This can by any existing contact tag being by your company to flag various customer details.

  6. Click Ok to finalize the condition. Continue each call flow branch or add more conditions as necessary. Save changes before exiting the page.

We have now made a branch which will send calls tagged as a technical type to a group of agents equipped to deal with them.

Skill Routing FAQ

  • In what order are skilled agents chosen for incoming calls? / What if an agent is in multiple skill groups?

    • When an inbound call gets routed to a specific skill group, the call will ring based on these conditions (in this order):

      1. Availability —the agent who is online and available.

      2. Lowest number of assigned skills—the agent out of a given selection with only one skill. This frees up agents with multiple skills to take more complicated calls.

      3. Highest skill level—agents with higher skill levels will be prioritized over agents with lower skill levels.

      4. Lowest number of handled calls—the agent with the lowest number of calls at the given time will be prioritized.

If you have any further questions regarding skill based routing or any other topic, please reach out to our Support team. We are always happy to help!

Did this answer your question?