Storing an IVR input can be a very useful thing. The babelforce platform allows you to save a caller's DTMF input as a variable, which can then be used later in the call flow for a variety of purposes. It is stored by a special type of application module - the Input Reader.
This article will briefly explain how to set up an Input Reader to store the variable, and show you where to find it afterwards! It will also explain how you can use the input and test it in a switch node to define your next action in your call flow.
Below is the setup for an Input Reader which is being used as a standard IVR menu. The prompt it plays would go something like: "Press 1 for A, 2 for B and 3 for C". Note that the settings are specific to this use case, and changing them will be necessary for your use case.
- Min/max length: both set to "1", as we only want the app to read one character for the input.
- Termination: "None" - we don't require the caller to press anything in order to signal the end of the input; just the option number will do
- Read timeout: "10" tells the app to wait 10 seconds for the input before doing something else
- Barge-in delay: setting this as "0" allows the caller to butt in and enter their input after 0 seconds, i.e. as soon as the audio prompt starts
- Max retries: this has a max value of 3, as it decides how many attempts the user will be allowed. The Input Reader can be set to play 2 'no-input' and 2 'no-match' prompts in the case of the caller not pressing anything in time or entering an input with the wrong format. It's inclusive of the first attempt, so here we are just allowing the caller a second go.
- Ignore no-input: this is set to "off" (red cross) to ensure that the app takes into account no-input cases.
Now for the important part - the 'Variable name'. This is where you name the variable something memorable and/or appropriate to the use case. This is to ensure that you can find it easily in the future and see that it corresponds to its real-life use.
Using the input variable in other parts of the call flow will usually involve a trigger, and so here is where to find it again when you want to use it as a condition:
As you can see, it is found quite far down the 'Expression' drop-down menu under 'Voice Application'. With this variable now available in trigger conditions, you can now do all sorts of things with it: route calls to different applications, fire off events to other web apps, etc.
To test the input and forward the customer to the right flow, you need another application, a Switch Node. Let's take an example: you asked the customer to choose a language, German or French. In the Switch Node, build two triggers testing the variable. In the example, if the customer pressed 1, the matching trigger (CH Input German) will fire and forward the customer to the German IVR. If the customer selected 2, she is forwarded to the French flow.
Feel free to watch this video on the topic: