Flow elements
Communication elements

Communication elements


All channels available in Moments have to be configured before adding them to the communication that you are building. For more information, check out the individual channel pages.

Besides all their specific features, channels also share a number of the same options:

To check communication traffic reports, visit Analyze and explore the channel statistics. Another possibility is to generate a report with more detailed information.

Apple Messages for Business

With Apple Messages for Business you can send Apple Messages as part of a Flow.

When you start creating a communication with this channel included, select an entry point that best matches your needs. Once you add the Send Apple Message for Businesselement to the communication flow, fill in the sender field and select what kind of message you want to send in the side panel: Text, Attachment, Video, Audio, Files, Quick Reply, or Rich Link(to create content with rich messages containing images or videos to enable customers to preview products or services within the Messages app).

The Design Editor will open where you can construct your message with text, buttons, and an image depending on the level of customization you need for your message. You can even include an optional quick reply text and/or button in the Design Editor too.

Apple Messages for Business is also supported in the Evaluate Inbound Message element so you can branch your Flow based on the message that the user sends to you.



With email, you can design a simple two-way messaging campaign via Flow, or use it for a multichannel communication strategy.

To add a message to the Email element, do one of the following:

  • Create the message from within the Email element.
  • Create the message from the Messages section and then select it within the Email element. Doing so enables you to reuse messages across communications. This feature is in the Early access phase.
  • In the Email element, select an existing message from the Messages section. This feature is in the Early access phase.

Besides the basics: sender name, sender email, reply-to address, subject, and the preheader that will be displayed next to the subject, you can use the placeholders next to the subject and preheader. They will add to the personalization. Supported placeholders are, for instance, the first name, address, subscription, and any other custom values.

The Email Editor is where you create custom content for customers and provides an easy-to-use way of working with HTML versions of your emails.

email side panel

If it suits your communication scenario, add an attachment. This could be any document, image, or audio/video file.

You can also track who opened and clicked your email. These events are logged for the reporting purposes. Tracking is set by default, but you can exclude it.

email opens clicks


With LINE you can send customized LINE messages as part of a Flow.

When you start creating a communication including this channel, select an entry point that best matches your needs. Once you add the Send LINE Message element to the communication flow, fill in the sender field and select what kind of message you want to send in the side panel: Text, Image, or Rich Card(to create content rich messages containing images, titles, content, and buttons).

The Design Editor will open where you can construct your LINE message with text, buttons, and an image depending on the level of customization you need for your LINE message. You can even include an optional quick reply text and/or button in the Design Editor too.

LINE is also a supported channel with the Evaluate Inbound Message element so you can branch your Flow based on the LINE message that the user sends to you.

Flow send Line message


Use Messenger inside the Flow to converse with the customers regardless of their location, and provide support or a response to their inquiries.

When you start creating communication that includes this channel, select an entry point that is the best match for your scenario. Once you add the Messenger element to the communication flow, fill in the required fields and, in the element`s side panel, add the content types: Text, Buttons (so customers can quickly select the options offered in the message), and/or Image.

messenger in moments

Check out our Getting Started guide for Messenger.


Create engaging multimedia messages with MMS and add them to your flow. Add the sender information and then provide your rich media content in the side panel. Use multiple media formats including audio, video, image, text, application, and vCard files in your message, just ensure that the message file size is within the recommended limit for your mobile network operator.

See MMS message types to learn more.

Moments Flow Add MMS Channel

Mobile Push

User behavior inside a mobile app and an automated communication based on that behavior, are key to customer engagement. With mobile push in Flow, you will be able to build a variety of very specific customer journeys.

The panel that opens when you click the Send Push element that you are adding to the communication flow will prompt you to define whether your use case requires notifications for the users who are inside or outside of the app. Or, you can send both message types.


If you would like to notify internal business units as part of your communication flow i.e. notify a store manager or staff member when a customer has responded then see Notify Internal Recipients.

Push and In-App Notification Features

For both Push Notification and In-App types, include the title and message. Go for richer and more intuitive content by adding an image and custom payload.


The Push Notification has an on-tap action where you can set what happens when the user taps the screen:


Just below the On-Tap Action field, you will be offered the possibility to include the in-app message type together with the push notification.

If using In-App, these are the actions available to you:

Primary Button

  • Button text -Open.
  • Action - select between the app home screen, open URL within a web view, page in the mobile app, or open URL.

Dismiss Button

  • Button text - Cancel.

Finally, delivery options for both notification types are similar to those of other channels, except that in MaM you can also select geographic areas



Deliver important notifications, engage customers with promo offers, or provide support using rich and interactive communication designed in our visual builder.

To add a message to the RCS element, do one of the following:

  • Create the message from within the RCS element.
  • Create the message from the Messages section and then select it within the RCS element. Doing so enables you to reuse messages across communications. This feature is in the Early access phase.
  • In the RCS element, select an existing message from the Messages section. This feature is in the Early access phase.

With RCS, you can send the following message types:

  • Text
  • File
  • Card
  • Carousel

Each type has its set of mandatory fields and other features:

ContentURLOrientationCard Width
(Title, Description, Media, Suggestions)
  Card Content
(Title, Media, Suggestions)

Suggestions that are present inside every message type allow for interaction with end users, and they involve these actions: reply, open URL, request location, or dial phone.

The postback data field in suggestions helps collect the information from customers and save it for future use.

rcs suggestions flow


If you would like to reach out to customers via SMS, first add the sender, think about the content for the message, and make use of the placeholders (curly brackets icon) to further personalize the message. Also, define the special characters.

For an even better-tailored communication, set the following advanced possibilities:

  • Track URL Clicks – if you want to discover which campaign links were clicked on, how many times, and by whom.
  • Shorten URLs – to convert your long URLs to short and attractive ones that your customers will be more likely to click on.
sms basic flow

The DLT toggle available at the top of the side panel is applicable to the India region only.

In Flow, you can also receive an SMS message from your customers and evaluate their response to continue informed communication. Additionally, if you wish to notify internal business units as part of your communication, say if you would like to notify a store manager or staff member when a customer has responded then see Notify Internal Recipients.


Send important notifications or create engaging offers that include buttons and pictures. After selecting the sender and entering your content in the element`s side panel, check out the rich content possibilities.

If the message is promotional, select the matching check box in the side panel.

viber basic flow

WhenViberis your channel of choice, maybe consider adding a failover to another channel from the Infobip portfolio to ensure that your message gets delivered.


Use WhatsApp Business solution over Flow to communicate with your audience using one of the following ways:

  • Use a predefined message template that has been approved by WhatsApp.
  • Send a free-form message within 24 hours from the time the end user sends a message to your business. You can use this option only for user-initiated communication.

Free-Form Messages

To send a free-form text message, choose type: Text, Image, Audio, Document, Location, Video.  Fill in the required fields and consider personalizing each message with previously defined variables.

whatsapp free form message

Check out which advanced options you might need for your selected message type.

Message Templates

Message templates are the message formats that have been registered and approved by the service provider. WhatsApp requires businesses to use message templates in business communication to avoid inappropriate usage and ensure message quality for their customers.

Template example:

Hello {{1}}, your access code to {{2}} is {{3}}. If you didn`t initiate this request, kindly ignore this notification. Thank you. The brackets with numbers are called parameters and they are the only parts of message templates that can be changed after approval. That gives you the possibility to use the same message template several times and adjust it according to your needs.

Once the template has been approved, create your communication and insert the following:

  • From – select your registered phone number
  • Type – select Template
  • Template – select the name of the template you want to send
  • Language code – select the language you want to send your message in (only predefined languages apply) 

Now you can preview the message.

The template contains placeholders and the preview window is used for placeholder mapping. In other words: placeholders include variables that are stored on the People data platform, such as first name, city, etc, and they can be modified, while the rest of the text remains unchanged.

If you choose Media Templates, you can add an image, document, video, or location.

Channel Options

When you add any channel available in Moments to your communication and click on it, a side panel will open with a variety of options that you can use to further customize your correspondence. These include scheduling, URL shortening, send-time optimization, message validity, and more.

Validity Period

The sent messages have a specific period during which the system will try to deliver them, regardless of the channel. For example, if you want to send a communication to your audience and some users have their cell phones turned off, the system will periodically try to deliver the message until the validity period passes.

The default and maximum validity period is 48 hours, and it does not need to be set for each communication.

If you want to set a shorter period, use the advanced section in the side panel of the channel you are using. You can choose hours or minutes.


Sending Speed and Delivery Time

Each send element (elements containing messages: SMS, Email, Viber, etc.) inside the Flow, including Start Calland Call API, can have its own Message Sending Speed. For example, if you’re sending a promo campaign and the goal is for your customers to place orders through your call center, this can cause backups and long call wait times. To avoid such a scenario, send messages at the speed that your call center can handle comfortably.

Enter the specific number of messages you want to send within minutes, hours, or days. For instance, you might want to send 1000 in one day. Once you set that limit and we receive the first message, the 24-hour count starts regardless of when the daily limit has been met - in the first few hours or later. After the 24-hour period, another 1000 messages will go out. The same rule applies to hours.

Using the Delivery time window, set the exact time and timezone for your communication.


Send-Time Optimization


The following STO content is being moved and will soon be deprecated from this article. Please see Send-Time Optimization for the full article.

Pick the best time to send out communication to customers and increase the click and open rates. This feature works based on the history of a person`s interactions with messages: whether they opened the message or clicked a URL inside it. Infobip automatically tracks the history of opens and clicks for the sent messages and optimizes the sending time based on these metrics. But keep in mind that every channel has its own specifics.

These are different options per Channel that can be used with Send-Time Optimization (STO):


  • Click Rate


  • Open Rate
  • Click Rate


  • Phone Pickup Rate


  • Open Rate


  • Open Rate

Remember to select Track Clicks when creating the messages so that this data can be used in optimization.


You can use STO only after you have sent your first 5 campaigns.

Send time optimization in Broadcast

The example below shows what Send-Time Optimization looks like inside Broadcast when sending an SMS message. Once you create a broadcast and select SMS as your preferred channel, scroll down to find STO in the Scheduling Options section.

Enable STO in Broadcast

When STO is scheduled for any of the channels available in Broadcast, this one-way communication tool will pick the best sending time within the next 24h.

However, if it's important to you to send a message during a specific timeframe, but you still want to use STO, set the Delivery Time Window too. Broadcast will try to find the best sending time. If it doesn`t find it until the beginning of the Delivery Time Window, the message will go out then.

Send time optimization in Flow

When adding a send element (SMS, Email, Voice, Push, or WhatsApp) in Flow, you can activate Send Time Optimization. Steps are similar to those in Broadcast. Add the channel you want to use, click on it, and then click Advanced Options in the side panel. Enable Send Time Optimization.

Enable STO in Flow

If you want to use the Delivery Time Window as well, go for it, and the maximum amount of time before sending a message will also be taken into account.

Campaign analytics with send time optimization

After you launch your Flow or Broadcast, the metrics will appear as soon as we start receiving the data related to the sent messages.

STO Analytics

Analytics for any communication with STO consist of three groups of data:

  • Optimized Messages - sent using STO. Both Broadcast and Flow will automatically include the customers for whom there is enough information to use STO, and the communication will be split into 2 groups: optimized messages (90%) and control messages (10%).
  • Control Messages - sent without STO at the scheduled time. The control group is automatically included at the campaign launch or within the scheduled delivery time window. The control group helps identify whether STO worked better than regular scheduling.
  • Non-Optimized Messages - regular scheduling. The rest of the recipients, for whom there is not enough data to use STO, are marked as “Non-Optimized Messages.” They are sent based on regular scheduling.
STO Analytics Dashboard The image above does not contain any actual data; it is only meant to give you an idea of what the results page in Broadcast looks like.

Get more from send time optimization

If you want to have an even more precise Send-Time Optimization, you can opt to exchange the STO data with other Infobip clients. No personal data will be shared. You will be exchanging only the information about which channels were used and when did the customer activity occur. The attained data can only be used for STO purposes. Once you opt out, all your aggregate data will be deleted from the shared pool.

To enable pooling, click your account icon > Settings > My Account.

Data Payload

All the channels in Flow have this feature available as placeholders. Select multiple data that you would want to add, and this data will become a part of the message reports.

The Push channel has MSISDN (cell phone number) already set as the data payload due to the technical implementation of Mobile Push and In-App Messages.


URL shortening and tracking

URL shortening

If the links (URLs) that you include in messages to end users are long or contain other parameters, end users might consider such links untrustworthy or spam.

Also, some channels, such as SMS, might have a limit on the number of characters in a message. If a message contains long URLss, it increases the length of the message. If a message exceeds the character limit, the message might be divided into multiple messages, which could increase costs.

Long URLs also increases screen space occupied by the URL on the end user's device, and makes the URL less readable.

URL shortening enables you to shorten the length of the URLs that you share with end users.

URL shortening is available for the following channels:

URL shortening works differently depending on the settings you choose. These settings are applied to all the links in the message.

Your message might contain the following types of links.

Shorten the URL for a default domain

Use this option to shorten URLs that contain only a primary or default domain. When you select this option, the entire URL is shortened.

(Optional) You can also remove the 'http' or 'https' prefix from the URL.


Original URL../flow-elements#entry-points
Shortened URL (opens in a new tab)
The entire URL is shortened.
Shortened URL with protocol
The entire URL is shortened, and the protocol https is removed.

To enable URL shortening, do the following:

  1. In the flow, go to the channel element in which you want to enable URL shortening.
  2. In the Content field, enter the message that contains the links to send to the end user.
  3. Select Show advanced options. Show advanced options
  4. Select Shorten URLs.
  5. In the choose a domain section, select default domain. Select default domain
  6. (Optional) To remove the protocol from the URL, select Remove https:// from domain. Remove protocol
  7. Continue configuring the channel element.

Shorten the URL for a custom domain

Use this option to shorten URLs that contain a custom domain or subdomain.

When you select this option, the URL is shortened such that it retains the custom domain. Use this option to send personalized, branded links to end users.

(Optional) You can also remove the 'http' or 'https' prefix from the URL.


Original URL (opens in a new tab)
Shortened URL (opens in a new tab)

The URL content after the custom domain (opens in a new tab) is shortened.
Shortened URL with protocol removed (opens in a new tab)

The custom domain (opens in a new tab) is retained, the URL content after the custom domain (opens in a new tab) is shortened, and the protocol https is removed.

To use this option, you must register your brand domain.

To enable URL shortening, do the following:

  1. In the flow, go to the channel element in which you want to enable URL shortening.
  2. In the Content field, enter the message that contains the links to send to the end user.
  3. Select Show advanced options. Show advanced options
  4. Select Shorten URLs.
  5. If you have not registered the custom domain with Infobip, in the choose a domain field, select add domain. For more information, refer to the URL shortening documentation. Create custom domain
  6. In the choose a domain section, select the custom domain that you have registered. Select custom domain
  7. (Optional) To remove the protocol from the URL, select Remove https:// from domain. Remove protocol
  8. Continue configuring the channel element.

URL tracking

URL tracking helps you track the clicks for a link. You can identify which campaign links end users clicked, the number of times they clicked these links, and which end users clicked them.

To enable URL tracking, do the following:

  1. In the flow, go to the channel element in which you want to enable URL tracking.
  2. In the Content field, enter the message, which contains the link, to send to the end user.
  3. Select Show advanced options. Show advanced options
  4. Select Track URL clicks. Track URLs
  5. Continue configuring the channel element.

You cannot use URL shortening and tracking for certain links, such as URLs for call-to-action buttons in WhatsApp message templates.

Channel Metrics

To quickly get the message data directly from Flow, hover over the channel element to see delivery numbers, click rates, opens, and more. The metrics availability depends on the channel in question.

The following delivery and click rate metrics are available:

  • Message send - Number of messages sent by this element

  • Total delivered - Number of engagements delivered by this element. A single person can receive multiple engagements.

  • Delivery rate -  Percent of sent messages that were actually delivered.

  • Total opens - Number of engagements that were opened for this element

  • Open rate - Percent of delivered engagements that were actively opened by recipients

  • Unique opens - Number of unique people who opened the engagement at least once.

  • Click through rate (CTR) - Percent of delivered messages that resulted in a clicked link.

  • Total clicks - Number of links clicked.

  • Unique clicks - Total number of unique people who clicked a link at least once.

(Mobile App

IVR elements

Your IVR (Interactive Voice Response) channel can consist of an endless number of different IVR (and non-IVR) actions. IVR actions available over Flow are the following:

  • Start Call
  • Play
  • Collect
  • Forward Call
  • Record Voicemail
  • Hang Up

Your outbound IVR should always start with the Start Call action. For inbound calls, Start Call action will not be used.

Start Call

When adding the Start Call element to your IVR flow, the first step is to select the sender/caller ID (your business Voice number).

If you include the Machine Answered condition in this step of the communication and don`t want to continue the call if that happens, add the Hang Up element.

ivr machine answered moments

Use the advanced options to set the Record Callaction and the following options:

  • Validity Period
  • Retry Period
  • Data Payload
  • Callback URL

(The Callback URL is your platform URL where the delivery reports will be pushed.
Check out our Developers Hub for the delivery reports format (opens in a new tab).)

voice advanced options flow


Add the Play element, fill out all the necessary fields, and choose the audio source: text-to-speech message or audio file. These two come with their specific functionalities, but, for both, you can set up the duration of pause to add additional silence before the audio file has been played, and conditionsthat will help you further branch your flow.

Text to Speech

Text content can be up to 1400 characters long. Once you enter the message text, the language is automatically detected. You can also select the voice that will be used for the message.

To hear your message before sending it, click the audio preview button.


Audio File

For the audio file, select the source:

  • File upload - prerecorded file from your computer
  • File URL - publicly accessible URL location of your audio file
  • Voicemail - select it from the list of the files created using the record action


The Collect element is added to the flow to get the response from your customers who will be communicating using the digits on their phones.

Define the following:

  • Variable name - this is where the Flow will keep your customer inputs.
  • Maximum input length - defines the number of inputs the customer is expected to enter when interacting with the IVR menu.
  • Input waiting time - the number of seconds the IVR will wait for the customer to press the first key.

The # key cannot be collected; it is reserved for the user input termination. The IVR platform automatically stops reading the end user`s input after receiving*#*, and it does not store it.

If you want response codes to show in the IVR (Voice) reports, these are the options:

  • Always show (default): Response codes will always appear in the reports and logs.
  • Show masked: Response codes will show in reports and logs as a masked value (xxxx).
  • Don’t show: Response codes will not show in reports and logs.

You can use the conditions in the Collect element to branch the IVR flow based on the response code received from the user or based on the user`s hang up action.

If you use the Collect element after the Play element then you have a few options depending on how you wish to collect the choice from the user:

  • You can force the user to listen to the whole message in the Play element and only collect number choice after that. Choose the Audio played completely condition in the Play element to do this.
  • If you want allow the user to make a choice before the audio has played completely then DO NOT choose the Audio played completely option.

Forward Call

Before forwarding the call to one or more phone numbers, you will need to fill in the following fields:

  • From – Caller ID that will be used on the call-receiving side. Voice can only use numeric senders and the call delivery depends on the CLI route.
  • To – One or more phone numbers to forward the call to.

When the call is forwarded to more than one phone number, you could have parallel calls to all of them (until one gets picked up) or sequential calling.  For the sequential dialing, set up how long do you want the ringing to last before we move to another number in the sequence.

The conditions for this element that you can use to continue designing the flow are answered, no answer, busy, error.


The Forward call element must be the last IVR action in your IVR flow, no other IVR actions can follow it, but you might use other non-IVR actions after or start a new call.

Record Voicemail

This element in IVR flow records a part of the call. For example, it could serve to record a customer opinion, get customer feedback, or leave a voice message. First, you will need to take care of the following:

  • The name of the recorded file
  • Maximum recording duration measured in seconds
  • Maximum silence duration that IVR will wait for before stopping the recording
  • Define the digits that will end the recording
  • Select the beep sound check box if you want the tone played at the start of the recording

Audio files that are recorded using the Recorded Voicemail element can be retrieved on the Recordings page on our web interface.

After you add the Record Voicemailaction, the only way to branch the call is with the Hang Up condition.

Download the Voice IVR audio file (opens in a new tab).

Hang Up

The Hang Up action is used to end the call. After you add it to the flow, use non–IVR actions only or start a new call.


Non-IVR Actions

Make even more flexible flows and improve communication with your end users with other elements that you can combine with the IVR ones.

During an IVR communication, you can do practically anything – for example, you can send SMS or Push confirmations or update profiles based on customers` input. In addition, all the segmentation possibilities that the People data platform offers will help you plan and deliver relevant messages through the Voice channel.

These are actions available to use with IVR:

The “wait for” elements (Wait for an Event, Wait for Change in People Profile, Wait for a Date) and Split Audience can be used before or after the call, but as a part of a separate flow.

Personalization using placeholders

No matter which communication channel is being used, there are placeholders to help you with personalization.

Once you start creating your messages, the curly bracket (placeholder) icon will be available inside the content panel; if you are sending an email, you will find it in the subject field.

Click the icon to see the menu with the available placeholder attributes. All Infobip users have access to the following ones:


When you are working with DateTime attributes and variables the date output will be in the format '2021-12-15T14:24:00Z'. This often causes challenges when you want to use dateTime attributes in your message or Voice IVR flows.

Use the formatDateTimefunction in expression language to change the format and ensure that it is presented in a user friendly and appropriate way for your user.


You can select any number of placeholders when sending personalized messages.


Secure the message delivery by setting up backup channels. This means that if you send a message over one channel and it`s not delivered, another channel of your choice will be automatically used after a defined time. There is no limit on channels that can be used in failover.

When designing your campaign, remember that there is a validity period during which the platform will try to deliver the message over one specific channel. The default value is 48 hours. Also, make sure that all the recipients have all the required destinations set in their profiles.

To use this feature, add the Failover element to the flow you are designing and set up the channels.


Evaluate Inbound Message

Branch the flow based on the message the end user sent to you. For example, if the customer replies with “yes”, send them an SMS message; if the customer replies ”no”, don’t send them any more messages. The default output of the element is “If no response until the end of flow.”
This element is often used to create interactive flows where customers respond with the keywords that have been validated.


entry point you can define conditions to precisely evaluate inbound messages. You can set conditions on AnythingMessage body, and for WhatsApp you can set conditions against the Button text and Button Payload.

There are also 4 operators that will help you to capture the exact part of the message body you wish to search. These operators are:

  • Matches text- search for an exact match of text in the message body with one of the specified options. You can specify several options that will be checked with the OR condition.
  • Is equal to person attribute - define the person attribute you are searching for
  • Matches RegEx - search the message body text against a standard regular expression pattern
  • Contains text- search for a group of characters in the message body, such as a symbol or keyword, based on specified options. You can specify several options that will be checked with the OR conditions.

The Anythingcondition can be used to cover cases where the customer replies with something that you did not cover in your communication flow. You can have multiple flows using the same number and waiting for the end user's response to it. If such a situation occurs, and you have one flow with the exact keyword such as “yes”, and another one with "Anything" (to the same number), then the exact keyword will be paired. The exact keywords have a higher priority than “Anything.” This same logic is applied to the Inbound Message entry point.

It is also possible to create variables using the Evaluate Inbound Message function. This gives you additional control to store sender, receiver and message content if the customer replies with something that was not originally covered in the communication flow.


You can reuse keywords across multiple active flows. Example: Use common keywords such as Yes or No in multiple flows. In cases where 2 or more flows are waiting for the same inbound keyword from the end user at the same time, the end user's input is forwarded to one of these flows randomly.

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