How to create an IVR menu or choice flow with a Simple Menu

Many call-flows require that a user makes a choice between several options. For example, you might prompt users to select "Press 1 for Sales ..." or you might offer "Press 1 for English, 2 for Spanish ...".

Another common requirement is to drive what happens in the user journey and process with choices. For example, if no one is available, or if there are not many agents free, then you might offer a caller a call-back option. Similarly, in some countries it is necessary for compliance reasons to offer callers the ability to opt-in or opt-out of having their call recorded.

All of these call-flows can be done with a babelforce Simple Menu combined with some other call-flow apps. 

Beware: If you use a simple menu, customers will not be able to make their selection before the audio recording (prompt) has played to the end. This feature we call "barge-in" only comes with an input readers.

To show you how to do it, here's a recipe for creating a call-back selection:

When we're done, we'll have 4 apps like this:

The first app does most of the work - here you define that pressing 1 means "Yes, I want a call back" and it moves the call-flow to a Prompt Player to play out the "Ok, we'll call you back ..." prompt. Similarly, pressing 2 goes to "ok, ... sorry we couldn't take your call now ..." prompt: 

You also enter the name of a "variable" where you can store the value of the caller's input - we've called ours "pcbchoice", i.e. pcb for Phone call-back:

You can also change settings to control input handling and re-prompting.

Then within the "Prompts" tab, you can select from the audio files that you have uploaded. It will look like this:

The first one labelled "prompt" plays the first audio to the caller, e.g. "... we can call you back. Press 1 if you would like us to call you back, or press 2 if you do not want a call back." The other audio files are for re-prompting the caller, e.g. if there is no input for a while or if the caller accidentally presses a different key.

Local Events on "Phone call-back Acknowledged Yes"

Then depending on the input of the caller, you just need to prepare each branch of the dialogue. For example, if the caller enters "1" then they will go to the Prompt Player app "Phone call-back Acknowledge Yes". It plays an audio file, but more interestingly it also can be used to fire off a load of local events, add them in the tab "Actions":

So in this example, we send an SMS confirmation to the user, we create a transaction in babelforce to mark this event and we update a Zendesk ticket so that the contact center agents can follow up on the call-back request.

Here's how each of these actions as set up:

Send SMS

If you don't have the trigger "Caller number is mobile" in your starter package, you have to create it. The condition is

Mark Transaction:

Update Zendesk ticket:

Using the variables

What about the variable "pcbchoice" that stored the user choice? That's where it starts to get really interesting :-) That variable created a new expression that is available for use in your triggers.

So you can now control any other part of call-flow based on the value stored in that variable. For instance, you could play different prompts to each group, conduct different surveys and rout them, if you want, to different queues.

Have fun building your own call flows with user choices!





Have more questions? Submit a request