Forwarding a call to another queue if agents are available

Do you have a specialized service queue with very few agents or agents that are engaged in long and extensive calls? For this reason, do your customers sometimes have to wait before another agent is free?

Another possibility is to enable call-overflow. In the scenario we want to discuss today, you would like to be able to forward a customer to another department. But you want to offer this option only if a representative in the other department is actually available and only after a certain wait time (let's say the customer should wait for at least 5 minutes before this option can be offered).

This is how the process could look:

Before you get started with this call flow, make sure you are familiar with input readers, local events and the different application module types in general. This article is already more advanced and won't explain everything step-by-step.

What you need in the babelforce manager app:

Prompts

2 Queues

2 Triggers

2 ACD Application modules

1 Input Reader Application module

1 Switch Application module

2 Prompt Player Application module

2 Local actions

Step 1: Audio Prompts

Make sure you have uploaded the prompts for your call flow. 1 prompt should offer the option to switch to the other queue, and you also need waiting music for when customers are in the queue.

Step 2: Queues

Create two queues (Queue 1 = the first queue a caller reaches, Queue 2 = the overflow queue, for instance English Support) and add groups of agents that do not overlap too much (you need at least a few more agents in queue 2, otherwise there won't really be an overflow).

Now create application modules for the waiting music. Create 2 Prompt Players and add the waiting music prompt (the after flow setting of these apps should be set to loop to themselves). You will need to go back to the Waiting Music module for Queue 1 later. Just to keep that in mind.

Create an Input Reader for the customer which offers the option to be forwarded to Queue 2. If you want you can rename the variable (e.g. QueueForwardingOption). For more details on input readers, see also this article.

Now, create 2 Automatic Call Distribution modules: the first links to Queue 1, the second to Queue 2. The first should link to Waiting Music module 1, the second to the Wait Music 2. The one ACD linked to Queue 1 should have the Input Reader as after flow.

We are not quite done with the application modules, yet, however. Before we can proceed, we need two triggers.

Step 4: Triggers

Trigger 1: In the example below, the customer must wait for at least 5 minutes AND an agent must be available in the queue that's called ENG Support queue (Queue 2 in the process map). Both of these conditions have to be satisfied before this trigger will fire.

Trigger 2: The Input Reader you created above automatically stores a variable in the system (you can only create this trigger if the Input Reader module already exists, see also this article). The example below selects the variable EnglishQueueOption. In this case, if the system receives a 1, the trigger will fire.

Step 5: Complete Call flow with Application modules

Now create a Switch Node. This little module needs to read out the answer from your customer (1 would be a yes - "I want to be forwarded to the other queue"). This could look something like the screenshot below. You add a Trigger to the Switch (which needs to be enabled). In this trigger, you use the one you created above (Trigger: forwarding wanted). If the trigger applies, the customer is forwarded to your 2nd queue (Automatic Call Distribution module 2). However, if the customer does not choose to be forwarded, the call goes to the After Flow which leads right back to your 1st queue (Automatic Call Distribution module 1).

Make sure, the Input Reader module's after flow is linked to the Switch Node above! Otherwise, the customer's answer will get lost and the call ends.

Now you are almost finished! But one crucial part is missing: how does the call leave the first Automatic Call Distribution module and enter the Input Reader? Quite simple: you go back to the waiting music prompt player used in your first Automatic Call Distribution module for Queue 1. Go to Actions and add a local event with the trigger you created above.

What does this do? Every time the waiting audio finishes playing, this local event checks first whether the call is older than 300 seconds. And also whether an agent is available in Queue 2. If both of these questions can be answered with "Yes", the call will leave Queue 1 (your action is "Leave queue") and go to the next application which is the input reader which offers the option to switch to the other queue.