Advanced Call Flow Features

In the previous Call Flow Steps article, we discussed the functions available within the call flow builder.

This article expands on some of those concepts and showcases more advanced functionality that can be achieved with the call flow builder.

Queue Announcements

The greeting step can be used to announce “Queue Hold Time” and “Queue Size” to the caller for any dial step to a queue that follows immediately after.

Announcing Inbound Queue Hold Time

The greeting step can be used to announce the inbound queue hold time on the proceeding dial step.

To set this up, place a greeting step after dial step to a queue. No other step can be situated between the greeting and the dial step.

The greeting must be set to Text to Speech in order to insert the queue announcement.

1.png

Insert {{queue_average_wait_time}} into the announcement as seen in the screenshot above. You can include any other text in the greeting step that you choose.

The text in this example is “Your wait time is approximately {{queue_average_wait_time}} minutes.”

Calculating Queue Average Wait Time

Average Wait Time is calculated based on the current number of calls into the queue multiplied by the average call duration for calls in this queue over the last seven days all divided by the current number of agents available in the queue.

(current number of calls) x (average call duration over time (past 7 days)) / (number of Agents available in queue)

Announcing Queue Size

The greeting step can also be used to announce the current queue size on the proceeding dial step.

To set this up, place a greeting step after a dial step to a queue. No other step can be situated between the greeting and the dial to the queue.

The greeting must be set to Text to Speech in order to insert the queue announcement.

2.png

Insert {{queue_size}} into the announcement as seen in the screenshot above. You can include any other text in the greeting step that you choose.

The text in this example is “There are {{queue_size}} people on hold currently”

Combined Queue Announcements

It's possible to combine both of these dynamic merge fields into a greeting step, as seen below.

3.png

Greeting:

Your wait time is approximately {{queue_average_wait_time}} And there are {{queue_size}} callers currently on hold.

Routing Based on CallerID

Have you ever wanted to automatically route calls into your call flows based on where the caller is located? Well, you can!

The Branch Step allows for routing of the call based on the Area Code of US Callers or on the Country Code for all callers.

Routing Based on US Area Code

To accomplish this, the Branch Step is used to evaluate based on the area code of the caller using the {{call.fromAreaCode}} variable.

5.png

The branch step evaluates the area code of the caller and sends the call to the appropriate branch based on the area codes listed in each branch.

6.png

In the example above, all current area codes in California were inserted into the “Branch Assignment" evaluation field.

This example is routing calls from California area codes to the CA Sales Queue.

Values must be comma separated only without any spaces.

What is the “Any Value” Branch used for?

In this use case, “Any Value” would be used for any area code that is not explicitly defined in any of the other branches.

7.png

In the example call flow above, we have only defined routing for calls from California, New York and Massachusetts explicitly.

Calls from ANY other area code will be routed to the “Any Value” branch.

What is the “No Value” Branch used for?

In this use case, “No Value” would be used for any caller where the callerID does not actually contain an area code.

8.png

This would account for callers that are blocking their callerID, calling from an anonymous number, calling from a non-US / CAN based number, etc.

Routing Based on Country Code

If your company is multinational and you need call flows to service callers from multiple countries, you can potentially just use one call flow and take advantage of the Branch Step to route these calls appropriately. You could also configure a Call Flow to only accept calls from certain country codes and play a customized message to callers from outside these countries.

We accomplish this by inserting the Branch Step into a call flow and setting it to evaluate based on the country code of the caller through the {{call.fromCountryCode}} variable.

9.png

The branch step evaluates the country code of the caller and sends the call to the appropriate branch based on the country codes we tell it to evaluate against.

10.png

In the example above, the country code for the United Kingdom and Ireland are included in the "Branch Assignment" evaluation field.

This example is routing calls to the UK & IE Sales Queue.

Values must be comma separated only without any spaces.

What is the “Any Value” Branch used for?

In this use case, “Any Value” would be used for any country code that is not explicitly defined in any of the other branches.

11.png

In the example call flow above, we have only defined routing for calls from the US & Canada, France, and UK & Ireland.

Calls from ANY other country code will be routed to the “Any Value” branch.

What is the “No Value” Branch used for?

In this use case, “No Value” would be used for any caller where the callerID does not actually contain an area code.

12.png

This would account for callers that are blocking their callerID, calling from an anonymous number.

Was this article helpful?

/