How to configure an IVR Input Reader to store an input variable (V2)

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 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 in a switch node to influence the 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 say 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.
  • Read timeout: "3" tells the app to wait 3 seconds for the input before doing something else.
  • Max retries: this has a max value of 2, as it decides often the user is allowed to retry if they entered a wrong input. The Input Reader can be set to play 2 'no-input' and 2 'no-match' prompts in case the caller did not press anything in time or entered an input with the wrong format. As the first attempt is counted, we only allow one further attempt.
  • Ignore no-input: the switch is turned on, so in this case the app deoes not take into account no-input cases.

Now let's continue to the important part - the 'Variable name'. Give the variable some memorable and use case related name to find it easily in future.



Using this input variable in other parts of the call flow usually involves a Trigger. Therefore, head over to the Triggers section and use your variable as an expression within a condition. The variable can be found in the dropdown menu in the section "app". (Note that you can search for it by typing its name.)

With this variable set in the conditions, you can now do all sorts of things with it: route calls to different modules, initiate Automations and Actions, etc.

To evaluate the input and forward the customer to the right flow, you need another module, a Switch Node. Let's look at an example: you asked the customer to choose a language, German or French. In the Switch Node, build two Routing rules to evaluate the content stored on the variable. In the example, if the customer pressed 1, the matching Trigger ("Caller chooses German") will fire and forward the customer to the German IVR. If the customer selected 2, they are forwarded to the French flow.



Feel free to watch this video on the topic:


Also, note that our Input Reader allows to barge-in. Hence, a customer does not have to wait until the end of an audio to enter their input.

Have more questions? Submit a request