Automation Studio
Journeys
Journey elements
Channels

Channels

EARLY ACCESS

Use channel elements in a journey to send messages to end users through communication channels such as WhatsApp, Viber, SMS, or Email.

Each channel supports different features and message types. See the documentation for the specific channel to understand its capabilities and any country-specific requirements.

In Journeys, each channel is represented by a channel element. Example: To send an SMS message, use the Send SMS message element.

You can include multiple channels in the same journey.


Use a channel element in your journey

Use channel elements together with other journey elements to build your communication campaign.

Prerequisites

Before you use a channel element, ensure the channel is enabled in your Infobip account. For information about enabling channels, see the documentation for that channel.

For a list of channels supported in Journeys, see Supported channels.

Add and configure the channel element

  1. Add the required channel element to the journey canvas.
  2. Select the element to open the configuration panel.
  3. Configure the message content by either: Selecting an existing message Creating a new message.
  4. (Optional) Configure channel options. Available options depend on the channel and may include:
    • Tracking and reporting options: If your message contains links (URLs), you can do the following:
      • Shorten URLs: Shorten the length of the URLs.
      • Track URL clicks: Identify the number of times end users clicked the URL, which end user clicked the URL, and the campaign from which the clicks originated.
    • Delivery time window: Set the time and time zone for your communication.
    • Message sending speed: Enter the number of messages that you want to send within a specified period.
    • Send-time optimization: Enable the journey to determine the best time to send messages to end users.
    • Validity period: Set the maximum period during which the journey tries to deliver the message to the end user.
    • Data payload: Select one or more data that you want to add from stored or imported contacts to your messages. Example: first name and country.
    • Status tracking: Ensure the end user goes to the next step in the journey only if the message has either been sent or delivered successfully.

Next steps

After configuring the channel element, you can extend the journey with additional elements.

Optional actions include:

  • Use the Evaluate Inbound Message element to process replies from end users and branch the journey accordingly.

    This feature is available only for channels supported by the Evaluate Inbound Message element.

  • Use the Notify internal recipients function to send notifications to internal teams.

After launching the journey, you can monitor message traffic and performance through Analyze dashboards or by generating a report.


Select an existing message in the channel element

For supported channels, you can create a message in Messages and then select it in the channel element in the journey.

To select a message in LINE, see the Select a message in LINE section. For all other channels, see the Select a message in other journey elements section.

Select a message in LINE

You can send multiple messages in a single LINE element. All selected messages are sent as parts of a single multi‑part message and counted as one message. You can add a maximum of 5 message parts.

  1. In the LINE element in the journey, select the Sender.

    NOTE

    In multi-part messages, this sender is used for all message parts. The senders in individual messages are ignored.

  2. In the Choose an existing message field, select a message.

  3. (Optional) To send multiple messages as part of a single message, select Add another message and select the next message.

    You can add a maximum of 5 messages.

  4. If the message contains variables (placeholders), they are listed in the Variables section in the journey element.

    For multi-part messages, variables are listed for each message part.

    To add values to these placeholders, map each message variable to a journey variable of the same data type. If a message variable and journey variable have the same name and type, these variables are mapped automatically.

    For more information about journey variables, see the Journeys documentation.

The message is added to the journey.

Select a message in other journey elements

This section is applicable for all channels, except LINE.

  1. In the channel element in the journey, enable Use messages.

  2. In the Choose an existing message field, select the message.

    Example: The following image shows how to select an existing message for the Email channel.

  3. If the message contains variables (placeholders), they are listed in the Variables section in the journey element.

    To add values to these placeholders, map each message variable to a journey variable of the same data type. If a message variable and journey variable have the same name and type, these variables are mapped automatically.

    For more information about journey variables, see the Journeys documentation.

The message is added to the journey.


Create a new message

Depending on the channel, you can create messages in one of the following ways:

Messages created in Messages can be reused across multiple journeys. Messages created inside a channel element are stored only within that journey.

NOTE

For channels in which there is a limit on the message size, ensure the message is within the limit.

Differences between the message creation methods

Use the following table to decide which message creation method you want to use.

In MessagesIn the channel element
Create the message in Content > Messages.Create the message in the channel element.
The message is stored in Content > Messages.The message is stored in the journey.
You can edit the message content at any time, even after the journey is launched.To edit the message content, you must create a new version of the journey.
You can reuse the message in other journeys.The message is specific to the journey.

Supported message creation methods for a channel

ChannelCreate from MessagesCreate from the channel element
Apple Messages for Business✓✓ (Deprecated)
Email✓✓ (Deprecated)
In-app message✗✓
LINE✓✓ (Deprecated)
Messenger✗✓
MMS✗✓
Mobile push✓✓ (Deprecated)
RCS✓✓ (Deprecated)
SMS✗✓
Viber business messages✓✓ (Deprecated)
Voice and Video✗✗
WhatsApp✓✓ (Deprecated)

Create a message in the channel element

In the side panel of the channel element, do the following:

  1. Disable Use messages.

  2. Select a sender in the Sender or From field.

  3. In the Content section, select to create content.

  4. In the editor, add one or more message types supported by the channel.

    Example: Depending on the channel, you can build rich messages that include text, buttons, images, or videos.

  5. Create the message.

  6. Configure the fields for the selected message type. Available fields differ by message type.

  7. (Optional) Personalize the message.

Personalize the message

Some message types support personalization.

Add variables

Insert journey variables into the message as placeholders. These variables are replaced with values from the person profile or from earlier steps in the journey.

NOTE

Make sure the final message length remains within the channel limits after variables are resolved.

Add emojis and formatting

Some channels support simple formatting using markup such as:

FormattingSymbolExamplePreview
BoldAsterisk (*)Your total is *$10.50*.Your total is $10.50.
ItalicsUnderscore (_)Welcome to _WhatsApp_!Welcome to WhatsApp!
StrikethroughTilde (~)This is ~better~ best!This is better best!
CodeThree backticks (```)```print Hello World```print Hello World

Channel elements

This section shows how to configure the channel-specific options in each channel element and the supported message types in the element.

For information about configuring advanced options, see Channel options section.

SMS

To communicate with end-users through SMS, add the Send SMS message element to the journey.

Configure the element

Select the element to open the side panel and configure the following fields.

Message

Sender: Select the sender. Message: Enter the message content.

You can add a maximum of 160 characters, including spaces, special characters, new lines, emojis, and placeholders.

Special characters (optional): If you need to use characters that are not part of the GSM alphabet, define special characters.

Distributed Ledger Technology (DLT): Enable DLT to track and verify SMS delivery. For more information, see DLT templates.

NOTE

The DLT feature applies only to India.

Enable delivery reports over API pull: Enable this option to retrieve delivery reports. Flash SMS: Display the message directly on the recipient's screen, without requiring the recipient to open the message. Ignore the Do not contact list: Send the message even if the recipient is in the Do not contact list. Use this option for transactional messaging if you do not want to enforce promotional restrictions.

In-app message

Use In-app message to send communications to app users. In-app messages appear in the mobile app when the end user opens the app or at a time defined in the journey. (Optional) Use the Demo app to test in-app messages.

Messenger

Send customized Messenger messages to end users as part of a journey. Use inside the Journey to converse with the customers regardless of their location, and provide support or a response to their inquiries.

Supported message types

The channel supports the following message types:

  • Text
  • Buttons
  • Image

Configure the fields in the element

In addition to the options listed in the channel options section, you can configure the following field.

Enable delivery reports over API pull: Select this option to identify the number of delivered messages.

MMS

Create engaging multimedia messages with MMS and add them to your journey.

Supported message types

The channel supports the following message types.

  • Audio
  • Video
  • Image
  • Text
  • Application
  • vCard

Create the message

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.


Channel options

This section shows how to configure advanced options in a channel element. The available options might be different for each channel.

Select a channel element in your journey to open the side panel and configure the following fields.

Data payload

To customize your message, you can add data from stored or imported contacts. Example: first name or country.

In the Tracking and reporting > Reporting options section, select one or more data that you want to include. You can now add this data through placeholders in the message. This data is also included in message reports.

For the Mobile push channel, the predefined data payload is phone number (MSISDN) because of the technical implementation of Mobile push and In-app messages.

Delivery time window

Set the days, time, and time zone during which the journey sends the communication to end users.

Complete the fields in the Message scheduling > Delivery time window section.

If the channel supports send-time optimization, you can enable the journey to determine the best time to send messages to end users. For more information, see the send-time optimization documentation.

Message sending speed

Configure the number of messages that you want to send within a specified period (minutes, hours, or days).

Example: You configure sending 1000 messages in 1 day. After you set the limit and Infobip receives the first message, the 24-hour period 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 are sent.

Use this setting if you want to limit the number of messages that you send. Example: Your journey is for a promo campaign that encourages end users to place orders through your call center. If you send the message to all the audience at the same time, your call center might get high call volumes, which can result in long call wait times for end users. To avoid this situation, send messages at the speed that your call center can manage.

You can configure the Message sending speed in Send elements (Elements such as SMS, Email, and Viber, which send messages) and Call API integration.

Configure the fields in the Advanced settings > Message sending speed section.

Validity period

Validity period is the period during which the journey tries to deliver the message to the end user's device. Use validity period to set the expiration period for the message.

Example: You want to send a communication to your audience. Some end users have switched off their mobile devices. The system is unable to deliver messages immediately to these devices. The system periodically tries to deliver the message until the end of the validity period.

If the journey is unable to send the message before the validity period ends, the following happens.

  • Unable to send for unknown technical reasons: The journey is redirected to the Failed branch.
  • For all other reasons: The journey is redirected to the relevant branch.

All messages that you send to end users through channel elements in the journey have a validity period. The default and maximum validity periods are 48 hours.

To set a shorter period, use the Advanced settings > Validity period section in the side panel of the channel element. Specify the Period and select the unit as Hours or Minutes.

Status tracking

You can make sure that the end user goes to the next step in the journey only if the message has either been sent or delivered successfully. To do this, use the message sending and delivery statuses sent by the operator.

You can also assign additional logic to redirect the end user based on the reason the message was not delivered within the specified waiting period.

To wait for the status, do the following:

  1. Enable Wait for message status.

  2. In the Waiting period field, set the time limit that the journey waits for a delivery or sending status. You can set the time in either Minutes or Hours.

    If the journey does not receive the message status within the waiting period, the end user is redirected to the Not delivered branch.

  3. In the Branching tab > Wait for status type field, select whether you want to wait for a successful Sending status or Delivery status.

    Sending status indicates whether the message has been processed and sent to the next instance. Example: A mobile operator.

    NOTE

    The sending status does not mean the message has been delivered to the handset. For delivery information, use Delivery status instead.

  4. If you select Delivery status, the following branches are automatically added to the SMS element:

    • Delivered: Message was delivered successfully.

    • Not delivered (all cases): Includes all delivery failures, including exceeding the time limit to wait for the status. Example: Invalid end user phone number, carrier restrictions, issues with the end user's device, and message filtering.

    • To route the journey based on the cause of delivery failure, add one or more of the following branches:

      • Expired: The message was not delivered within the allowed time because of recipient unavailability or network issues.
      • Rejected: The message was refused by the recipient's carrier or device. The reason could be that your sender was blocked, SMS filtering options, or other restrictions.
      • Undeliverable: The message could not be delivered because of an invalid phone number, network issues, or settings on the end user's device.

      For more information about the delivery statuses, see Response status (opens in a new tab) documentation.

  5. If you select Sending status, the following branches are automatically added to the SMS element:

    • Sent: Message was sent successfully.
    • Not sent (all cases): Includes all sending failures.
  6. If you want to build the journey logic based on unsuccessful delivery reasons, save the error code or reason in a journey variable and use it to segment.

    Example: Knowing the error code for bounced emails is helpful. A Soft bounce (6011) indicates a temporary delivery issue that may be solved with a retry, while a Hard bounce (6012) is permanent, so it is not recommended to send messages to that recipient again.

    To store the tracking status reason or error code in a variable, do the following:

    1. In the Variables tab, select Add variable.

    2. Configure the fields in this section.

    3. Either select an existing variable or create a new variable.

      You can use the variable later in the journey.


Channel Metrics

View logs and reports

After configuring and activating the journey, you can view traffic reports for the channel. Go to Analyze and view the channel statistics. You can also generate a report that contains detailed information.

View metrics within the channel element

To get the message data directly from Journey, 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 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.
EmailSMSRCSMobile pushIn-app messageLINEMMS
TRAFFIC DELIVERY METRICS
Message SendYESYESYESYESYESYESYES
Total DeliveredYESYESNOYESYESNOYES
Delivery RateYESYESNOYESYESNOYES
OPENS
Total OpensYESYESNOYES
(Total seen)
YES
(Total seen)
NOYES
Open RateYESNONOYES
(Seen rate)
YES
(Seen rate)
NONO
Unique OpensYESNONOYES
(Unique seen)
YES
(Unique seen)
NONO
CLICKS
Total clicksYESYESNONOYESYESNO
Click-through rate (CTR)YESYESNONOYESNONO
Unique clicksYESYESNONOYESYESNO

Failover

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.

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 journey you are designing and set up the channels.


Evaluate Inbound Message

Use this element to branch the journey based on specific words sent by the end user. Example: If the end user replies products, send them a list of all products. If the end user replies promotions, send them a list of only products that have promotions.

The default output of the element is If no response in 2 days.

Supported channels

  • Email
  • Mobile push
  • SMS
  • Viber
  • WhatsApp

Configure the element

Follow these steps to configure the element.

  1. Select the channel for which you want to evaluate the message.
  2. Select the recipient.
  3. Define conditions to compare the end user's message with the value that you specify. If the condition is fulfilled, the next step in the journey is triggered.
  4. (Optional) Save the inbound message information in variables.
  5. Specify the time to wait for a response from the end user.

For more information, see the detailed instructions below.

Select the channel

In the Channels and conditions section, select the channel for which you want to evaluate the end user's message.

The default channel is SMS. To use a different channel, delete the existing channel and select the required one.

Select the recipient

Select the channel name to open the card. In the To recipient section, select the recipient.

Define conditions for the inbound message

Define conditions to compare the end user's message with the value that you specify. Configure the action that the journey needs to take if the condition is fulfilled.

You can specify multiple conditions within the element.

You can set conditions for the following:

  • Message body: Compares the body of the message against the condition value.

  • Anything: Use this option so that end users can continue the journey even if their message contains something that is not included in the conditions.

    Exact matches have a higher priority over Anything. Example: You have two journeys that are waiting for a message from the same end user. In one journey, the condition is to match the exact word yes. In the other journey, the condition is Anything. The end user responds yes. In this case, the end user continues in the journey that matches the exact word.

  • Button text (WhatsApp only): When the end user selects a button to respond, this condition compares the button text against the condition value.

  • Button Payload (WhatsApp only): When the end user selects a button to respond, this condition compares the button payload against the condition value.

Use the following operators in the conditions.

  • Is equal to person attribute - checks whether the message body contains the person attribute that you select.

    The case is ignored when comparing the value.

  • Matches text - checks whether the end user's response matches the condition value exactly. The condition is fulfilled if the end user's response contains only the condition value and nothing else. You can specify multiple condition values.

    Example: Condition value: time End user's response: time. The condition is fulfilled. End user's response: timezone, time!!, what is the time? The condition is not fulfilled because the response contains additional characters that are not part of the condition value.

    The case is ignored when comparing the value.

  • Matches RegEx - checks whether the message body contains a regular expression pattern that you define.

    Ignore case (Optional): Specify whether to ignore the case when evaluating the condition.

    Multiline (Optional): Use this option when you want to match the input against multiple lines of text. The validation is successful if any of the lines matches.

  • Contains text - checks whether the message body contains the keyword that you specify in the condition value. You can specify a group of characters, such as a symbol or keyword, in the condition value. You can specify multiple condition values.

    Example: Condition value: time End user's response: time, timeframe, 3times, time!!, what is the time? The condition is fulfilled because the message contains the keyword.

    The case is ignored when comparing the value.

  • Contains word - checks whether the message body contains the exact word that you specify in the condition value. The word in the message body can have symbols or spaces before or after the word, but must not contain digits or other letters.

    Example: Condition value: time End user's response: time. The condition is fulfilled because the message contains the exact word. End user's response: time!!, what is the time? The condition is fulfilled because the message contains the exact word with either symbols or spaces before or after the word. End user's response: times, timeframe, timezone, 3times. The condition is not fulfilled because the word in the message contains additional characters that are not part of the condition value.

    The case is ignored when comparing the value.

You can specify multiple condition values.

The system follows the above order to process inbound messages. So, if a condition that has a higher priority is fulfilled, the journey takes the action for that condition and ignores the other conditions.

NOTE

You can reuse keywords across multiple active journeys. Example: Use common keywords such as Yes or No in multiple journeys. In cases where 2 or more journeys 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 journeys randomly.

Save inbound message information in variables

You can also define variables to capture and store inbound message information.

Define the data that you want to capture from the inbound message. You can capture the following information.

  • Message body
  • Recipient
  • Sender
  • Message ID
  • Gateway ID

You can save either the whole or part of the information.

  • Whole text: Save the whole of the information.
  • RegExp parse variable: Use a regular expression to capture a specific keyword in the message content.

For more information, see Journey Variables.

Specify the time to wait for a response

In the Response waiting time section, define how long the journey needs to wait for a response from the end user.







Need assistance

Explore Infobip Tutorials

Encountering issues

Contact our support

What's new? Check out

Release Notes

Unsure about a term? See

Glossary
Service status

Copyright @ 2006-2026 Infobip ltd.

Service Terms & ConditionsPrivacy policyTerms of use