This post is part of a series on optimizing customer support operations. In it, we cover how to prioritize your most important customers. Discover more ways to improve customer service efficiency by reading the full guide here.
Following the Pareto principle, we can state that around 80% of your revenue can be attributed to about 20% of your customer base. So, it only makes sense to treat your most valuable and loyal customers with extra care - right? It’s already a common practice in many industries, just think about the lines you get to skip at the airport after raising through the levels of the frequent flyer program or the extra discounts you get when returning to your favourite sporting goods brand.
However, over and over we see companies offering their customers the same support across the board. Wouldn’t it make more sense to get your most valuable customers to skip the line and talk to your best performing reps as soon as possible?
Unfortunately building complex communication flows has been limited to those with access to expensive telecommunications tooling and willing to invest significant engineering time. This is why we built Flow Builder, a communication automation platforms which empowers cross-functional teams to collaborate on communication flow. It allows you to run logic, pull in data from external data sources and perform actions in third party services.
In this how-to, we will be looking at how you would pull in data from an external system which you can use to prioritize different customers in less than 5 minutes. We will go through a simple example, but you can pull in as many data sources and logic steps as you like.
What we are trying to achieve:
The simplest way is to catch an incoming call is to use a call trigger. Make sure you have bought a number - as soon as you do it will show up in the number selector on the right. As soon as you pick a number and you hit publish you are ready to start receiving calls. If you are trying to do something similar for a messaging based channel, just switch out the trigger to one of the messaging triggers.
When the call comes in, we want to know who the customer is and what their loyalty status is (assuming that this is available from your API). Of course you can pick whatever data point is available from your API, for example you might want to route based on the number of orders or connect someone directly to their account manager. All of these things just require you to tweak the fetch variables step to make sure you get the right data. If you don’t know what an API is, you might want to ask some help from a developer to configure this step.
Naming the variable makes is available to all following steps in the flow, we can now reference it and pass it as an input.
We now know the loyalty status of our customer and want to split the incoming calls based on the priority we want to give them. We add a branch step which allows us to check for a condition. As you can see we branch off if the loyalty status is gold or platinum. The rest of the incoming calls go into the last path.
Lastly we are handing over to a call queue. We have three call queues setup which will be managed with rules specific to the type of customers. For example you might assign a higher average rep to caller ratio for your priority queues.
We are using the Forward Call step’s SIP trunking functionality to connect the call through to our preconfigured call queues. You can do this by submitting a SIP URI in the number field.
Keep in mind, this is just one example of how this could work in the real world. We have seen people combine all sorts of data sources, third party services, and channels. The sky's the limit!
If you have a problem that could be optimized with communication automation we would love to talk to you. Feel free to reach out here and we can set up some time with a product expert to help make your ideas a reality.