How to prioritize call routing

Some call centers have “VIP” calls that they want to prioritize. For example, a particular telephone number is set up for such calls, which get preferential treatment. This typically means calls tend to get put through to agents ahead of other calls.

The only, and correct, way to prioritize the order of how calls are handled is to build in delays for the lower priority calls. It is important then at the same time to have agents available to deal with the higher priority calls.

In order to achieve this we will have to get a bit technical, so it might be useful to have an analogy or two in mind:

It's a bit like when you queue to get into a night club, and the doorman puts the red rope in front of you because Beyonce's entourage has just arrived.

So the only way the available staff can get Beyonce and co. in first is if the normal folks are delayed.

A more accurate analogy would be to imagine a huge DHL or Amazon package depot where the packages have lots of attributes, some of which indicate priority. The only way high priority packages get to a truck and a customer earlier than the others is to build appropriate delays into the processing of the lower priority packages.

In these analogies, there are two things to consider:

  • the delays applied to lower priority calls
  • the availability of the processing units: staff/agents

Now for the technical bit:

First we'll deal with applying delays to the lower priority calls.

The order in which calls are processed is almost independent of the selection of agents for calls. The only influence that the selection of agents has is that if none are available for a particular call, the call will stay queued (or do whatever the call flow configuration says to do with it). But that does not itself change the order in which the calls are processed.

The main thing to be aware of is that all the timings are specific to EACH call, i.e. time of entry into queue, start of selection of agents, start of attempt to reach an agent, end of attempt to reach an agent, time it left the queue, etc. are all completely dependent on the specific call and have no knowledge of other calls. This means that at any time, and for every individual call, the system is working away trying to get the particular call through to the agents based on the selections.

Here is a configuration of a call flow that will favor the earlier processing of high priority calls:



The main mechanism is the delay built into the queuing of low priority calls. The call flow removes low priority calls from the queue while high priority calls remain in the queue. By adjusting the length of the audio played in the Prompt Player at the bottom, you can adjust the extent to which higher priority calls are favoured.

The second part is to ensure that agents are more readily available for handling higher priority calls.

It is very important to be aware that your agent selections for high priority calls must tend to find available agents at least as readily as for low priority calls, otherwise clearly the prioritization delay will not have the desired impact.

In babelforce manager app, go to Routing & Queuing, click on Queues, select the queue in which you want to define your prioritization and click on edit.

Here is an example pair of selections in a queue that select different sets of agents for high and low priority calls.

Note that in this case, the selections use agent tags, agent groups would also work fine - that is a matter of design choice. The important thing is to ensure that there are sufficient agents to deal with high priority calls. It can also make sense to have the low priority agent set be a subset or at least overlap with the high priority agent set.

To learn more about creating and managing queues, you can read this article for more details.


Have more questions? Submit a request