For companies with several Customer-facing Teams, Contact Routing can be challenging. However, companies that implement routing correctly see an improvement in the speed and quality of their conversations. This article will explain how to plan & execute Chat Routing strategies using the respond.io Workflows Module.
Chat Routing: An Introduction
Routing is the process that determines which team within a company will be responsible for handling a conversation. This will depend not only on the Contacts’ needs but also on the way a company organizes its teams.
Dealing with instant messages and emails isn’t the same. When it comes to instant messaging, the speed at which routing needs to occur must be in near real-time to keep the customer satisfied.
Chat Routing vs Other Contact Routing Methods
Companies handling Ticket Routing via email have one email account per customer-facing team. Customers will "route" themselves by writing to the team they want to talk to. When the email arrives, an agent will handle the conversation from there onwards.
But Business Messaging Accounts are usually made at a country-specific level. Customers who contact a Business Messaging Account can’t choose a team to talk to. They need to be manually routed to a specific Team, based on their needs.

Chat Routing with instant messaging brings higher response time and resolution time expectations from customers. It comes with additional capabilities too - you can use automated questions to route contacts to the best team without any human intervention.
Chat Routing Benefits
Chat Routing has two important advantages: A reduction in the conversation resolution time and an increase in the satisfaction contacts experience when properly routed.

Granted that the routing logic is applied correctly, Contacts will be quickly routed and auto-assigned. And since the right agent can close the conversation faster, the resolution time is shorter too.
When agents are familiar with a contact’s problems and demands, there are fewer clarification questions. Plus, they will be able to make a recommendation faster. These two points contribute to overall customer satisfaction.
Chat Routing Strategies
Before deciding on a Routing strategy, there are two things you should do. First, list the customer-facing Teams that will be involved. Second, define when to route Conversations to one Team versus another.

The following are some common ways companies use routing strategies to meet their business needs. They are just examples. Every company works differently, so it's not unusual to mix several Contact Routing strategies.
Chat Routing Based on Team Function
Companies who choose this strategy handle customers from similar locations who speak the same language(s). And since language and time zone constraints are minimal, work is organized based on Agent functions.

There are two ways to route Conversations to the right Team. You can ask the Contacts in the Conversation thread what Team they want to talk to. This is the best option for companies that feel comfortable letting their customers choose.
Alternatively, Agents can ask Contacts for their email and determine which Team should attend to them by querying their business software. In both cases, the Contact will proceed along the Branch of the desired function.
Chat Routing Based on Contact Language
Contacts like to get support in their preferred language. That’s why this strategy is applied by companies with international audiences or operating in regions where people speak multiple languages.

Same as Function-based Routing, you can get a Contact’s preferred language by asking a question. If there have been previous interactions with the Contact, you’ll be able to find the language as a saved data value.
There should be as many Branches as languages your company supports. Once the Contact language is identified, he/she can proceed along the branch of the desired language to be assigned to an Agent.
Chat Routing Based on Shifts
Some companies receive messages at different times of the day. So they need to have customer-facing teams available for many hours, if not round-the-clock. Companies that use this routing strategy often have international audiences.

This routing strategy is intended to work around a company’s business hours, rather than Contact data values. To begin, you must add a Date & Time Step that defines the Branches based on the business’s hours conditions.
Branches are made based on Team shifts, allowing to route contacts to the current working Team. Thus, depending on the time of the day they start a conversation, Contacts are routed to different customer-facing Teams.
Now you should be familiar with some Contact Routing strategies. It’s time to move on to the following section, where we will be adding simple routing to a Workflow for Inbound Conversations.
Adding Simple Chat Routing to a Workflow
Chat routing can be complex for companies with multiple Teams, so let’s start with the basics. There are three steps to follow to add simple routing to a Workflow with our Workflows Module:
- Ask a Question to the Contact.
- Save the Answer as Contact Field or Variable.
- Build a Branch with the collected data.

Next, we’ll go through these steps in-depth, and explain how to route Contacts to the right Team based on their needs.
Contact Routing Step 1 - Asking a Question
The Ask a Question Step allows you to ask Contacts something. There are many different question formats you can use. Depending on your choice, the list of acceptable answers will change.
Multiple-choice questions are a popular way to get Contact information if you have discrete values. For example, you can offer Contacts two options: Talk to sales or to support Team.

When Contacts get to this Step, they’ll have to make a choice. This will determine which Team they’ll be routed to. But first, the answers need to be saved so they can be used in a Branch.
Contact Routing Step 2 - Saving the Answer
When it comes to saving answers there are two possibilities. If one single value can be used in future conversations, the answer should be saved as Contact Field.
When Contacts choose between sales and support, their choice will only be useful for the current conversation. It’s in scenarios such as this that values should be saved as variables.

Variables store information just for the time the Contact is traveling through the Workflow. Once the Contact leaves the Workflow all data collected in variables can’t be used any longer. Once we have collected the Variables, we can start building Branches.
Contact Routing Step 3 - Building a Branch
So, how many Branches should you add to a Workflow? The answer is simple. As many as the number of customer-facing Teams you want to involve in your Chat Routing strategy. If you have one sales and one support Team, you'll need to create two Branches.
Let's assume that you have a multiple choice Ask a Question Step with Save Response as Variable enabled. Next, you'll need to add a Branch Step with as many branches as variables you are working with.
To create different routes, configure the specific conditions for each Branch using the previously saved variables. Then, apply your Auto Assignment strategy at the end of each Branch.

Contacts who start an Inbound Conversation will trigger the automated question. Then, their response will be saved as a variable. And based on that variable, they will be routed to the right Team.
This section lays the foundations of Conversation Routing in our Workflows Module. But there is much more that can be done with it. We’ll discuss it in the following section.
3 Additional Useful Routing Techniques
Now you have some basic routing steps in place. These can be applied to route Contacts to Teams based on a single condition. However, companies that need more complex Contact Routing must do some extra setup.

Perhaps they have to handle customers using various Conditions, cope with routing failure, or even route based on Team shifts. Here are some ways you can make your routing even more refined.
Multi-Condition Branching Chat Routing
This routing type will allow you to build branches with 2 or more Conditions to fulfill. For example, a Contact is routed to a sales Team for English speakers. Let’s see how this can be done.
You must create a branch where the variable conversation_purpose equals sales, and Contact Field language equals English. This way, English-speaking Contacts who choose to speak to the sales Team will be routed through the English sales branch.

Setting up Workflows like these takes some extra amount of dedication. But because you can have up to 4 Branches per Branch Step, you can build routes for multiple cases.
Handling Chat Routing Failure through the Else Branch
Routing often involves working around very specific conditions. But these conditions can’t always be met - There might be a missing or unexpected Contact data value. For example, you have English and French Teams but a Contact's preferred language is Spanish.
Contacts who fall into failure or exception will be routed to the Else Branch. If this Branch has no steps built on it, it will automatically exit the Workflow. We can use this Branch to assign Contacts to a supervisor and instruct them to complete the routing using a comment.

Although supervisors will become occupied with these routing failures and exceptions, no Contacts will fall through the cracks. What’s more, you can use these incidents to improve the Workflow further.
Shift-Based Chat Routing
This is the optimal method for companies that have multiple shifts for a certain route. For example, 24h customer support across 3 support Teams. With this method, Contacts are always routed to the Team that is currently on shift.
This Workflow makes Contacts pass through a Date & Time Step. Depending on the current time and the business hours defined, they are routed to a Team on duty.

Since this routing method is based on shifts, companies who apply it don’t need data values from Contacts to route them. Moreover, if only 2 Teams are covering 16 hours instead of 24, you have the option to set up an Away Message.
These 3 additional techniques are just examples of routes you can build with our Workflow Module. Hopefully, they have inspired you to create routing strategies that adjust to your customer-facing Teams.
Final Thoughts on Contact Routing
Routing is concerned with passing Contacts to the correct Teams. But to assign Contacts to Agents, you’ll have to create Assign To Steps at the end of each route and build your assignment logic.
To conclude, you can review the Conversation Resolution time for each of your Teams in the Reports Module. Remember to keep an eye on it, since it will allow you to optimize Workflows based on your learnings.