IVR in Flow

IVR in Flow

The automated voice call process -IVR (Interactive Voice Response) is a two-way channel for inbound and outbound calls with customers who will be able to respond using the phone keypads. Be it for valuable feedback, appointment reminders, or some other purpose, IVR brings to the table a quicker interaction and more efficient issue resolution.

On our web interface, you will be able to plan how to branch calls based on customer responses. IVR can be combined with any other channel available in Flow, depending on your communication scenario. The following paragraphs are summary of the IVR main features and the situations where they might be put to good use.

Answering Machine Detection

Detect quickly who is on the other end of the line and don`t spend time on machine engagement. The answering machine detection (AMD) feature determines whether the call has been answered by a human or voicemail. AMD can be applied to all automated outbound calls.

Answering Machine Detection is activated either in Flow or Broadcast on the Infobip web interface or via API (opens in a new tab).

Voice Recording

Outbound calls sent using IVR over Flow can be recorded. Add the Start Call element to enable recording and visit theVoice Recording article for more details.


For text-to-speech conversion, we offer more than 100 languages and accents.

Integration With Conversations

To users who have bothMoments and our contact center solution Conversations, we suggest a native integration that will allow them to connect agents to the call directly from Flow or even use IVR as the communication trigger to provide helpful information before the conversation with an agent starts.

Build an IVR Flow

The Flow tool is where you can use different IVR features and building blocks depending on your desired scenario: whether you want the end users to hear your message and respond via the keypad, call and leave a message, or maybe collect their feedback, forward their call to an agent, or something else.

To see what an IVR journey might look like, browse through the example case below where we will show how to collect the responses from the callers and then steer the communication in the right direction(s). These callers could be inquiring about different services that you offer, asking for customer care support, looking for some specific piece of information, or something else. While reading the tutorial below, think about how you could modify this flow for your business purposes.

  1. Go to Moments > Start From Scratch > Start Inbound Call and select the phone number.


    Keep in mind that there will be no numbers available in the drop-down menu unless you have already purchased one from Infobip - check out the numbers section on our web interface to get your Voice number. For inbound IVRs, you will always need a phone number.

  2. Add thePlay element, and select a message source: Text-to-Speech(TTS). Instead of the text-to-speech synthesized audio file, you can go for a pre-recorded audio file from your device, or a recording from the list of previous IVR recordings if there are any. Click Audio Preview to make sure the message is exactly what you want it to be. Populate all other fields in the element`s side panel: the language and the voice type you want to use (for TTS only), reproduction speed, and the duration of silence before the message is played.

  3. Another element we need for this flow is Collect because we want to get the callers responses. In the elements side panel, enter *Answer,*a variable that will help you direct the flow based on different reactions to your message. For example, if the customer selects “1”, they will be directed to Support. If they select “2”, they will be prompted to leave a message.

    Add Meaning, an optional parameter that explains the variable.

    This is how you set conditions in the Collect element`s side panel:

    Condition 1

    Variable Name is “Answer” and its value is “1”.

    Variable_Meaning is “support”.

    Condition 2

    Variable Name is “Answer” and its value is “2”.

    Variable_Meaning is “leave a message”.

    Condition 3

    Select Hang Up for scenarios where there are no responses.

    In addition, use the Response Code options in the Collect element`s side panel to choose whether you want to see the response code in Voice reports and logs.

  4. Now keep planning the flow having in mind the possible responses:

    a) If the “Answer” was  “1”, include the Forward Call element and select the senders and recipients number. Foward Callis the last element in this branch: whether the call has been established or not, there can`t be another IVR element after this one.

    b) If the “Answer” was “2”, add another Play block, but this time use it to let the customer know how to leave the message.

    c) If the caller hung up, send an SMS message and include a link that the customer can use to get back on the call that was interrupted. The prerequisite for this step is to have an SMS  number configured.

    At this point, the flow should look like this:

  5. Once you have sorted out how to react to your callers responses, lets continue to branch this communication.

    a) After you informed the caller, with the Play element, that they can leave a message, add Record Voicemail. In the side panel, type in the recording`s name so that you can later find it on the Recordings page in the Analyze module.


    • Decide what the maximum duration of the recorded message should be, and the duration of the silence period after which the recording will stop.
    • Set the digit that the caller can use to stop the recording.

    b) You want to make sure that those who click on the SMS link receive the call: add Wait for an Event element and “SMS link clicked happened.” Define the time that you want to wait for this to occur. For example, 1 day.

  6. Add Start Callto call those customers who clicked the SMS link.

  7. Reconnect Start Callto the first Play element so that your recipients can hear the original message again. This is what the final flow will look like:

  8. Validate and Launch your flow! Note that each open branch will have an Exit element automatically added to it.

More Building Blocks

Learn about all the IVR building blocks available in Moments, starting with the IVR`s own elements, and then check out non-IVR blocks that can be used to design your ideal communication scenario.

Finish the Call

The call should always end with the Hang Upelement. Make sure to finish the call and not leave your customers on the line. Once you validate the Flow, the Exit element will appear automatically after each unconnected element in the Flow. When it comes to IVR flows, the exit element will also finish an active call.

Need assistance

Explore Infobip tutorials

Encountering issues

Contact our support

What's new? Check out

Release notes

Unsure about a term? See


Research panel

Help shape the future of our products
Service Terms & ConditionsPrivacy policyTerms of use