Integrations
Salesforce Marketing Cloud messaging

Salesforce Marketing Cloud messaging

The integration between Salesforce Marketing Cloud and Infobip lets you use SMS, LMS, MMS, WhatsApp, Viber, RCS, Kakao Alim, and Kakao ChinguTalk in your customer journeys.

Installation

To install Salesforce Marketing Cloud, Infobip provides a package containing up to six data extensions:

Data extensionPurpose
SMS Delivery ReportsDelivery notifications on SMS and LMS
Omni ReportsDelivery & Seen notifications on MMS, Viber, WhatsApp, Kakao Alim and Kakao ChinguTalk
Unified URL TrackingClick notifications on SMS, LMS, MMS, Viber and WhatsApp
Inbound MessagesStoring inbound message replies on SMS and WhatsApp
SampleAudienceAudience sample

To deploy the package provided by Infobip:

  1. Log into your Salesforce Marketing Cloud account.
  2. From the home page, go to Platform > Package Manager.
  3. Click the Deployment tab and then click Upload from File.
  4. Select the package file shared by Infobip and click Upload.
  5. Click Next and then click Deploy.

Once the package is deployed, the data extensions listed above are configured automatically. Their purpose is to allow message data, such as delivery reports, to be sent from Infobip to your Salesforce Marketing Cloud instance. This in turn allows your system to take action based on the data. For example, if an SMS delivery report indicates that a message failed, then your system can use that status information to retry sending the message.

Important

If you plan to use multiple business units in Marketing Cloud separately for sending messages, deploy this package in every business unit separately.

App configuration

This section explains how to add components inside the installed package for configuring the connector and sending messages.

Add installed package for integration (Admin)

Important

You must have Admin permissions to do these steps.

  1. From your Salesforce Marketing Cloud account, go to Setup.
  2. Select Platform Tools > Apps > Installed Packages.
  3. Click New, and then enter the package details.
  4. Click Save.

The next steps are for creating components inside this installed package.

API integration component

To add the API integration component:

  1. Add Component button.
  2. Select API integration and click Next.
  3. Choose Server-to-Server Integration type and click Next.
  4. Select the Server-to-Server properties:
    1. Enable Automation Journeys properties:
      • Read
      • Write
      • Execute
      • Activate/Stop/Pause/Resume/Send/Schedule
      • Delete
    2. Enable all Data properties:
      • Data Extensions Read and Write
      • File Locationsread and Write
      • Tracking Events Read and Write
Note

Before creating Marketing Cloud and Journey Builder components, contact your account manager to get the required endpoints.

Marketing Cloud component

To add the Marketing Cloud App component:

  1. Click Add Component.
  2. Select Marketing Cloud Appand click Next.
  3. For a convenient configuration, when adding the names of components, consider using Infobip Configuration.
  4. Enter the same endpoint shared by the Infobip team in both the Login and Logout textbox.

Journey Builder components

Add two different components, for sending messages and receiving delivery reports:

  1. Click Add Component.
  2. Select Journey Builder Activity and click Next.
  3. For a convenient configuration, when adding the names of components, consider using Infobip Messaging for messaging component and Infobip Reports for delivery reports component.
  4. From the Category drop-down, select the Custom property.
  5. Enter the endpoint shared by the Infobip team and save.

Once the components are complete, give access to any user who wants to use application inside the Journey Builder. Without these permissions, the application is hidden.

Note

The setup must be done for every business unit separately.

Configure Infobip configuration app

Authorize the Infobip App to access your Salesforce Marketing Cloud data:

  1. MID – Enter the ID of your business unit, which can be found in top right corner of the SFMC screen.
  2. Client Id - Copy and paste the tenant-specific Client Id, which can be found in the setup of the installed package.
  3. Client Secret - Copy and paste the tenant-specific Client Secret, which can be found in the setup of the installed package.
  4. SOAP Origin – Copy and paste the tenant-specific SOAP Base URI, which can be found in the setup of the installed package.
  5. Auth Origin – Copy and paste the tenant-specific Authentication Base URI, which can be found in the setup of the installed package.

Once you click Next, the authorization is done and you have to connect the Infobip account to the Salesforce Marketing Cloud account.

Connect multiple Infobip accounts to the same Salesforce Marketing Cloud business unit.

Fill out the next section with the following information. If you don’t have an Infobip account, you can create one (opens in a new tab).

  1. Add API Key – Connect one or multiple Infobip accounts to your SFMC account by entering the API key (opens in a new tab). The following API Scopes need to be enabled for the Salesforce Marketing Cloud API key:

    ChannelScopes
    General (all channels)account-management:manage
    numbers:manage
    WhatsAppwhatsapp:logs:read
    whatsapp:manage
    whatsapp:message:send
    Viberviber-bm:logs:read
    viber-bm:manage
    viber-bm:message:send
    SMS/LMSsms:logs:read
    sms:manage
    sms:message:send
    MMSmms:logs:read
    mms:manage
    mms:message:send
    Kakaokakao:logs:read
    kakao:manage
    kakao:message:send
    RCSrcs:manage
    rcs:message:send
    Subscriptions (Required)application-entity:manage
    subscriptions:manage
  2. Add API Base URL – Add your Infobip Base URL and connect your account to the Salesforce. You can find it on the Homepage in the upper right section:

  3. To connect to another Infobip account, click CONNECT ANOTHER ACCOUNT and repeat the steps.

  4. When you have connected all the Infobip account/s, go to the next step.

  5. Configure the channels to be used within Salesforce. See Configure channels.

Configure channels

To configure the channels to be used in Salesforce:

  1. Add the custom domain you want to use when sending URLs in Custom Domain. To use a Custom domain for URL shortening, start by registering and verifying the domain through the Infobip web interface (opens in a new tab). It is recommended that you create a subdomain for shortening, following the format test.sample.com. The custom domain is then accessible for use within messaging activities.

  2. Choose a messages delivery tracking option - Select between the native and external ways of storing delivery notifications:

    NativeExternal
    SMS delivery reports - Select from the dropdown list where to save SMS, LMS and MMS delivery reports. Default data extension would be SMS Delivery Reports.SMS Notification URL - Add webhook resource URL which will be used for storing SMS reports.
    Omni delivery reports - Select from the dropdown list where to save MMS, WhatsApp, Viber, RCS, Kakao Alim, and Kakao Chingu delivery reports. Default data extension would be Omni Reports.OMNI Notification URL - Add webhook resource URL which will be used for storing Omni reports.
    Url click reports - Select from the dropdown list where to save click reports for all channels. We suggest using Unified URL Tracking data extension. 
    Important

    If you select the Native method of storing report data, it is not recommended that you add custom fields in the report's data extensions, unless those custom fields are designated as optional. Custom fields are not populated automatically. Be aware that you need to populate them after reports are saved.

    If you intend to add custom data fields in report data extensions, it is advisable that you select an External method and use cloud pages for the storage.

  3. Add your custom Alphanumeric senders:

    • SMS Sender Name – * your sender name for SMS channel
    • Viber Sender Name – * your sender name for Viber channel
    • Kakao Sender name – * your sender name for Kakao channel
    • RCS Sender name - * your sender name for RCS channel

    * Custom domain, SMS Sender Name, Viber Sender Name, RCS Sender Name, and WhatsApp Sender Name fields are optional. When adding Alphanumeric sender names or custom domain, after typing the name, press Enter to create a token similar to that in the following screenshot.

  4. Create Subscriptions by clicking Create. Subscriptions allow users to selectively receive, secure, and reliably manage notifications, making it a more robust solution for handling event-driven data.

    • If you’ve added a new account with the subscriptions scope selected in the API key, subscriptions will be automatically created for that account configuration.
    • If you’ve already added an account and want to enable the subscriptions feature, enable the required API scopes to your API Key and follow the configuration steps. At the step for connecting to another Infobip account, click Create.

    The subscription action creates a new application in your Infobip web interface under the Applications and Entities section. You can view all subscription details in the Subscriptions Management section.

Important

Data is saved securely in the Infobip Configuration data extension using encryption methods and the next section is enabled.

Sender names are mandatory in case you are using senders that are not configured for 2-way communication.

When all fields are added, click Save and then save changes for the connected account. When you save changes for every connected account go to the next step and finish configuration. If everything is successful, you receive confirmation that the application has been successfully configured.

Journey Audience Builder

To prepare the Journey Audience and create Audience data extension, consider the following:

  • Enable the Is Sendable? feature
  • Adding Mobile phone is mandatory - add it with Phone attribute type
  • Setting Subscriber key is mandatory - set unique relationship for Subscriber key (for example, ContactKey)
Note

Attribute names must not include any spaces because Infobip Message will not be able to process it.

For reconfiguring the Subscriber key relationship and Sending feature, enter the data extension Audience you want to reconfigure and click Edit on the left side of the screen, then check Used for Sending and map your ContactKey field to relate to the Subscriber key. Click Save.

Your data extension is now ready for use in the Journey Builder. You can add your custom attributes to data extension. The next step is to map the Journey data extension to system data and message reports.

Note

Infobip connector also works with Salesforce Data entry source (Salesforce Campaign and Salesforce Data are supported).

Important

If there are multiple fields with Phone type in the audience data extension, messages are sent to the first populated phone-type field encountered.

Whitelist Infobip IP address

If you have enabled the Log Violations & Deny Access option in the Restrict Logins by IP Address (IP Allowlisting) feature, add the following IP addresses:

20.126.166.5520.126.166.7420.126.166.9020.126.167.11320.126.167.16820.126.167.3920.23.163.14720.23.32.1320.23.33.1120.23.33.13320.23.33.920.23.34.10820.23.34.1620.23.34.4320.23.35.2120.23.35.23020.23.38.2720.23.38.3120.23.38.5820.31.80.11420.31.80.1720.31.80.4520.31.81.17320.4.153.24120.4.153.25020.4.153.25520.4.154.14020.4.154.18120.4.154.19020.4.154.20320.4.154.2220.4.154.22720.4.154.4120.4.154.4620.4.154.5220.4.155.12220.4.155.12420.4.155.13320.4.155.13820.4.155.18220.4.155.1920.4.155.19320.4.156.1620.4.156.18520.4.156.22820.4.156.7420.4.157.10920.4.157.12820.4.157.18520.4.157.21720.4.157.5320.4.158.12620.50.2.9252.137.60.18952.137.60.23452.137.61.8752.137.63.14452.137.63.21652.137.63.6352.157.237.21452.157.238.052.157.238.11052.157.238.13752.157.238.22652.157.238.3852.157.238.6652.157.239.12652.157.239.14952.157.239.24252.236.144.4952.236.144.93

How to create a Journey using Infobip channels

This section gives an example of how to create a journey that includes an SMS, Viber, WhatsApp, or Kakao message. To get started:

  1. Log into Salesforce Marketing Cloud and go to Journey Builder.
  2. Create the new journey.
  3. Select whether to build a multi-step journey with the Data Extension or Salesforce Data entry point.
  4. Select the data extension that was created for this journey.

Include a Message in a Journey

Important

Make sure that you have Administrator role or you allow the Manage Data (Email/Subscribers/Data Extension) and WebService API (Email/Admin/API Access) permissions in your user settings.

Select Infobip Message Custom Activity and enter the MID and Communication channel you would like to use. Then, click Next.

Important

You must define the data extension before configuring the Infobip Message element. If you include the data extension after already defining the Infobip Message element, you may experience issues with the Journey, for example, not being able to pull records from the data extension when messages are being sent.

By default, Bulk Id in reports is defined for SMS, LMS, MMS, Viber, Kakao, and WhatsApp as Infobip SMS, Infobip LMS, Infobip MMS, Infobip Viber, Infobip Kakao, and Infobip WhatsApp, respectively. To change Bulk Id to a different value, provide a different activity name before the activity is configured.

Sending speed limit

The sending speed limit is an optional feature that allows you to determine the rate at which Infobip dispatches messages to recipients. The sending speed limit can be configured on all channels.

Once enabled, two values must be configured:

  • message count of messages
  • time unit

Message count is a number between 1 and 100.000, and the time unit can be defined as a minute, hour, or day. This setup defines the maximum number of messages that can be sent within the specified time unit.

Messages will be evenly distributed throughout the chosen time unit. For instance, if the configuration instructs the system to send 500 messages per hour, it will dispatch a message approximately every 7.2 seconds.

The following limitations affect the use of the send speed limit feature.

Systems throughput limitation

Both Salesforce and Infobip systems have inherited limitations on how fast messages can be processed for a single activity, so if the configuration would require to send more than couple hundred messages per second, for example 30.000 per minute, it would be better to just turn this option off.

Journey configuration limitation

Sending speed limit is set per journey version and activity! When a new version of the journey is created and executed, it does not consider the messages sent in the previous version. If journey is configured with two messaging activities sending speed limit is applied separately.

Reports activity limitation

Using Reports activity for Messaging activities with Sending speed limit should be done with a lot of thought. In this context, Salesforce Marketing Cloud moves contacts to the activity based solely on the wait time specified within the journey.

In the screenshot above, the messaging activity is configured with a sending speed limit of 50.000 messages per day, and there is only a one-hour delay between the messaging and reports activities. Considering a total contact count of 100.000, the delivery of all messages will span two days. However, as all contacts reach the reports activity after just one hour, a substantial number will be categorized as undelivered.

Journey stopping/pausing limitation

If you pause or stop the journey after all messages have been queued for sending, it won't affect the delivery process. For instance, if there are 100.000 contacts in the audience with a sending speed limit of 50.000 messages per day, it may take only a couple of minutes for all contacts to pass through the messaging activity. Even if youpause or stop the journey after 10 minutes, the queued messages will continue to be delivered as scheduled over the next 2 days.

Receive inbound messages

Note

With the two-way communication feature, once a journey is activated, the end-user will receive a message. They can respond directly to this message, and their reply text will be captured in the Inbound Messages data extension.

Installation and configuration

To set up the app to receive inbound messages for two-way communication:

  1. Update the installed package to obtain the Inbound Messages data extension where received messages will be stored. To update the installed package, follow instructions for deployment from the beginning.
  2. In App permissions update, enable List and Subscribers permissions to trigger API Events.
  3. Update the number configuration you want to use in the Infobip Numbers app for receiving inbound messages.
    • Insert the following link: https://infobip-reports.ibintegrations.com/infobip/webhooks/inboundMessage
    • Select MO_MESSAGES_API_JSON for Renderer type.

Enable two-way communication

To enable two-way communication in the journey:

  1. Add and configure the Wait Until Event activity in your journey:
    • Click Create New.
    • Select Inbound Messages data extension from the webhooks.
    • Set Maximum Wait Duration time. If an event doesn't occur during the specified time period, the contact continues on the No Event path of this split. This setting prevents the contact from remaining in the wait step indefinitely.
    • Rename the Wait Until Event (SMS Response in the example below) activity.
  2. Configure the Infobip Messaging Activity and enable Trigger Event on Response.
  3. Add the Infobip Reports activity after the Wait Until Event to fetch the response, enabling decision-making within the journey.
  4. Add a decision split to handle all end-user responses and route contacts to the appropriate paths.
  5. Check the end-user replies in the Inbound Messages data extension.
Important

During the renaming process, be cautious as this activity must be added first for every messaging activity that requires two-way communication. Ensure that you do not use the same name for this activity more than once.

Note

For inbound WhatsApp messages, we currently support text replies only. Any responses that are not text will not be stored.

Two-way communication is supported for SMS, MMS, and WhatsApp channels. Viber will be supported in the next release.

Enabling custom callback data

Custom callback data is an optional feature that allows you to add custom fields to your callback data.

To add custom callback data, enable the toggle button in the Message Activity configuration and click + Add custom callback data.

You then see the Field name and Field value inputs. Insert free-form values or select and personalize callback data with merge fields from a drop-down.

The following table shows the limitations and recommendations for keywords and file names.

Restricted keywords for field name:Field name restrictions:
ActivityId
BulkId
From
Message
JourneyName
ContactKey
MID
VersionId
VersionNumber
TemplateName
  • Cannot contain double quotation marks (U+0022)
  • Cannot contain reverse solidus or backslash characters (U+005C)
  • Cannot contain control characters or non-printable characters (U+0000 to U+001F) such as tabs, line feeds, and shifts
Important

The callbackData parameter is limited to 4000 characters both on the Infobip API and data extensions. Salesforce Marketing Cloud currently uses 250-600 characters for callback data, depending on message length, so it is important to stay within the limits. The message fails if the limit is reached.

The following image shows custom callback data saved in the Delivery reports data extension.

Multiple phone fields

The Multiple phone fields feature is applicable only when a data extension contains more than one field of the type phone. This feature is particularly useful in scenarios where different customer phone numbers need to be stored across various columns within the same Data Extension. For example, if a business needs to store separate phone numbers for home, work, and mobile contacts, each can be saved in different columns (for example, "Home Phone," "Work Phone," "Mobile Phone") in the same data extension. This allows for greater flexibility in targeting communications, ensuring the right message reaches the right phone number based on the intended use case.

Important

This feature is automatically activated if the data extension contains more than one phone type field. The feature will not be visible if data extension contains only one field of type "Phone".

SMS

Set up the message according to the form and click Next. For SMS, you can add a link to the message for URL tracking. When an end user clicks the link, a report is sent to the SMS URL Tracking data extension. You can send a test message if you want to, but the journey must be activated and you cannot use placeholders in test messages.

To add tracking and URL shortening for URLs in the SMS body, select URL Shortening & Tracking.

You can use the default domain or choose the domain from the list that was added in the Infobip Config.

To remove https:// from the URL, select Remove https:// from domain.

For India local traffic only

To define the DLT (Distributed Ledger Technology) template, select DLT Template (India local traffic only) and update the following fields:

  • Principal Entity ID (mandatory) - Your assigned DLT principal entity ID
  • Content Template ID (optional) - The registered DLT content template ID that matches the message you are sending
Salesforce Marketing Cloud SMS India Traffic

LMS

LMS stands for Long SMS. Give your message a title and personalize it so every end-user in the journey gets personalized message. Please keep in mind that the Reseller code is mandatory field and you need to enter one to send SMS messages to phone numbers registered in South Korea.

To add tracking and URL shortening for URLs in the LMS body, enable URL Shortening & Tracking.

To include the sending speed limit in this activity, enable the Sending speed limit toggle button. Then, input the amount of the messages that will be sent to recipients within the selected time unit.

MMS

Send interactive MMS messages and get delivery reports. Add MMS segment type and create interactive messages. Text and Media files (image, video, audio, documents, and so on) are supported. Personalize the message by adding merge fields from the dropdown list.

Note

All operators handle messages of up to 300KB of data. Most of the US and Canadian carriers can handle up to 1MB of data. It’s recommended to send a test message before saving.

To include the sending speed limit in this activity, enable the Sending speed limit toggle button. Then, input the amount of the messages that will be sent to recipients within the selected time unit.

Viber

To send more interactive messages, you can send text message and include an image URL, a button name, and a button URL in a Viber message. Choose your message type from the dropdown list.

Salesforce Marketing Cloud Message Type

You can personalize the message by adding merge fields from the dropdown list.

Salesforce Marketing Cloud Personalize Message

To include the sending speed limit in this activity, enable the Sending speed limit toggle button. Then, input the amount of the messages that will be sent to recipients within the selected time unit.

Viber (deprecated)

Important

Do not use this deprecated activity. Use the new Viber activity instead.

WhatsApp

To send journey messages by using the WhatsApp channel, you must create and register your message templates (opens in a new tab) and then submit the templates to WhatsApp for approval. Select a template from the Template drop-down list.

Supported templates are:

  • Text Templates
  • Media Templates

Personalize templates by adding placeholder values. To add tracking and URL shortening for URLs in the WhatsApp body, enable URL Shortening & Tracking.

Important

URL Shortening & Tracking are exclusively applied to URLs within the template body parameter. If a URL is placed in the template header, it is shortened but not tracked. Similarly, URLs within the template-defined button are not tracked.

KakaoChinguTalk

This channel lets you include these elements in a message:

  • Text
  • Image URL
  • Image link
  • Up to 5 buttons (supported types are web link and app link)
Salesforce Marketing Cloud - KakaoChinguTalk connection

In addition to supporting text, you can include an image UR, a button name, and a button URL in a Viber message, you can also personalize these elements.

After you click Next, then click Verify Scenario Key to finish the configuration.

Important

Custom domain URL shortening is currently only supported for SMS.

To include the sending speed limit in this activity, enable the Sending speed limit toggle button. Then, input the amount of the messages that will be sent to recipients within the selected time unit.

Kakao Alim

Note

This channel is currently in a test version and uses templates to send messages. To register a template, contact Kakao Alim support.

To create a template, there are some mandatory fields you need to fill in. Please make sure you enter the correct data for the template you are trying to use, as currently there are no validations. Templates are built of Mandatory fields: Template name and Message Body, and Optional fields: Template title, Image URL, and Buttons.

Kakao Alim supports seven different button types:

  1. App Link
  2. Delivery Tracking
  3. Web Link
  4. Chatbot Switch
  5. Bot Keyword
  6. Message Delivery
  7. Add Channel

You can personalize the message by adding merge fields from the dropdown list in the Message Body.

To include the sending speed limit in this activity, enable the Sending speed limit toggle button. Then, input the amount of the messages that will be sent to recipients within the selected time unit.

RCS

To send messages using the RCS channel, you must have a registered sender on your Infobip account.

Send messages to one of the following supported types:

  • text
  • file
  • card
  • carousel

You can also add suggestions as clickable actions on the entire message as well as a single suggestion on individual card or cards inside carousel. The possible combinations include:

  • Reply
  • Open URL
  • Dial phone
  • Show location

In addition, the RCS channel supports adding custom callback data, enforcing a sending speed limit, and URL shortening and tracking.

Error handling for Infobip message custom activity

In situations where a user makes an error or if Marketing Cloud doesn't send all of the details for a successful request, the app returns messageStatus as outArgument in the Journey Data, rather than a hard error. A hard error would cause the record to become stuck on this activity and not continue with the journey.

So, if something is wrong with the request, the app returns success but with an additional payload that describes the error. You can use this payload to evaluate whether you wish to re-engage the record with another message.

This type of error handling is useful for validating and creating a decision split when the request record is re-engaged. For example, the following scenario describes decision split checking where the phone field is empty. In this example, you can see a data extension where one record has phone and the other record is empty.

Salesforce Marketing Cloud Sample Audience

To set up the decision split, add the data extension to a journey as an entry source and configure Infobip message activity.

Create the decision split and choose messageStatus from Custom Activity (Infobip SMS).

You can see in this example that messageStatus is: Error: Missing phone number in request.

The result of the sample send is similar to the following:

The record with an empty phone number is injected to the NO PHONE NUMBER path.The record with a phone number follows the WITH PHONEpath.

In the custom activity details, you see a Success status.

In the status detail for the record with the empty phone, you see the BadRequest status.

See the following table for the full list of possible responses for messageStatus and the channels available for that response.

Message statusChannels
SuccessSMS, LMS, MMS, Viber, WhatsApp, Kakao ChinguTalk, Kakao Alim
Error: Missing phone number in requestSMS, LMS, MMS, Viber, WhatsApp, Kakao ChinguTalk, Kakao Alim
Error: Invalid text lengthSMS, WhatsApp, Viber
Error: Invalid template nameWhatsApp
Error: Invalid scenario keyViber
Error: Invalid promotional flagViber
Error: Invalid image url lengthViber, Kakao
Error: Invalid from fieldWhatsApp, Kakao, Viber
Error: Invalid buttons field lengthKakao
Error: Invalid button url lengthViber
Error: Invalid button text lengthViber, Kakao
Error: Invalid button text lengthKakao
Error: Invalid androidScheme and iosScheme lengthKakao

Get message report

After you add the Infobip Message element, you can add the Infobip Get Reports element to retrieve a report from the message that was sent.

You can select the message that was configured inside the journey under Select message activity and the data extension where the report has been saved under the Select data extension drop-down list.

The available data extensions for reports are:

  • Delivery Reports - fetching information if the message was delivered, rejected, or seen.
  • URL Tracking Reports - fetching information if the URL link inside the message, for that proper channel, was clicked.

Message status is saved under Journey Data and it is available in the decision split.

Important

In the cases where Infobip is trying to deliver a message on a device for some time, no report is created in the data extension. For this, you see Journey Data NOT_AVAILABLE for delivery reports and NOT_CLICKED for click reports.

Set Up a Decision Split

After you set up the activity for saving messageId, you can define a decision split in the flow:

  1. Click Edit.
  2. Under Attributes, click Journey Data.
  3. Click Custom Activity: Infobip Reports
  4. Depending on the report data extension that you selected in the previous step, you see statusName for Delivery reports and the URL for URL Tracking reports.

The available parameters for Delivery reports are:

  • statusName
  • statusGroupName*
  • errorName
  • doneAt
  • sentAt
  • seenAt (for Omni reports)**

The available parameters for URL Tracking reports are:

  • notificationType
  • url***
Note

* statusGroupName equals to DELIVERED to check delivery status

** If seenAt is not empty, add SEEN as the value in decision split. Otherwise, use NOT_SEEN.

*** For URL clicks in SMS messages, you can check the exact value of URL parameters (for example, which URL is being tracked).

For example, if https://www.infobip.com (opens in a new tab) was the URL sent in the message, the decision split branch should check if the URL is equal to https://www.infobip.com (opens in a new tab). If there is no click report saved for a specific customer, check if the URL is equal to NOT_CLICKED.To see if a Viber message was viewed, check whether the seenAt value in the Omni message report is not null.

For descriptions of the possible message statuses, see the Response Status and Error Codes documentation.

There are five statuses that are returned to Journey Data in a Decision Split:

  1. DELIVERED

    1. The message has been successfully processed and delivered.
    2. If you want to check whether the message arrived to the customer's device, DELIVERED_TO_HANDSET is returned and checked in the decision split.
  2. UNDELIVERABLE

    1. This status is returned if the message was sent to the operator but it was rejected by them or they returned UNDELIVERED status.
    2. Multiple statuses can be returned, so it's best to check if statusName begins with UNDELIVERABLE.
  3. REJECTED

    1. The message has been received but has either been rejected by Infobip or the operator has reverted REJECTED as final status.
    2. Multiple statuses can be returned, so it's best to check if statusName begins with REJECTED.
  4. EXPIRED

    1. The message has been sent and has either expired due to pending past its validity period (our platform default is 48 hours), or the delivery report from the operator has reverted the expired as a final status.
    2. Multiple statuses can be returned, so it's best to check if statusName begins with EXPIRED.
  5. NOT_AVAILABLE

    1. Delivery of the message is pending (message is not yet delivered, however it can technically be delivered), the operator keeps trying to deliver the message until its expiry.
    2. To check this status, add a new branch and check if statusName begins with or is equal to NOT_AVAILABLE.

Set Up Contact Information for the Journey

After you finish setting up the journey, you need to select a Contact Entry to use. You map the default mobile number to the data type, Phone, in your data extension. This is available from the drop-down. 

IMPORTANT

When setting up a Journey based on a copy of an already existing Journey, make sure that you've reconfigured the Infobip message activity, otherwise you receive an error message.

When activating Journeys based on automations, make sure that the data extension entry source is already defined and the automation already exists before running journeys.

Reports

This section show the full list of attributes available for each of the reports.

OMNI reports

OMNI delivery reports

OMNI delivery reports fetch the information about whether the message was delivered, rejected, or seen.

Attribute NameAttribute TypeIs nullableDefault valueLengthDescription
messageIdText  50The ID that uniquely identifies the message sent.
messageCountIntegerx1 Number of messages sent to end user. Count is always 1.
toText  50Message destination address. Addresses must be in international format
pricePerMessageDecimalx  The price per individual message.
priceCurrencyTextx 5The currency in which the price is displayed.
statusGroupIdInteger   Status group ID.
statusGroupNameText  50Group name for the status.
statusIdInteger   Status ID.
statusNameText  50Status name.
statusDescriptionText  100Human-readable description of the status.
errorGroupIdIntegerx YesError group ID.
errorGroupNameTextx 50Error group name.
errorIdIntegerx  Error ID.
errorNameTextx 50Error name.
errorDescriptionTextx 1000Human-readable description of the error.
errorPermanentBooleanx  Indicates whether the error is permanent.
callbackDataTextx 4000The callback data sent through the callbackData field in your fully featured message.
sentAtDate  50Date and time the message was sent.
doneAtDate  50

Date and time the message was finished processing by Infobip.

This is when the final status of the message is returned (delivered, expired, rejected)

seenAtDatex 50Tells when the message was seen.
fromTextx 50 
channelTextx 50Channel which was used for sending messages

Viber URL Tracking

Viber URL Tracking (soon to be deprecated) fetches information about whether the link inside message was clicked.

Attribute NameAttribute TypeIs nullableDefault valueLengthDescription
notificationTypeTextx 50CLICKED
messageIdTextx 50The ID that uniquely identifies the message sent.
recipientTextx 50Contact who clicked on the URL
urlTextx 1000URL that was clicked in message
sendDateTimeTextx 50Date and time contact clicked on the URL in UNIX format.
deviceTypeTextx 50Phone or desktop
osTextx 50OS running on the device
deviceNameTextx 50Device manufacturer (Samsung, PC, Apple)
callbackDataTextx 4000The callback data sent through the callbackData field in your fully featured message.

SMS reports

SMS delivery reports

SMS delivery reports fetch the information about whether the message was delivered, rejected, or seen.

Attribute NameAttribute TypeIs nullableDefault valueLengthDescription
messageIdText  50The ID that uniquely identifies the message sent.
messageCountIntegerx1 

Long SMS messages have a character limit on how much can be sent over one message.

Longer messages are split up into multiple messages and sent separately.

This is the total count of messages one SMS was sent over.

toText  50Message destination address. Addresses must be in international format
pricePerMessageDecimalx  The price per individual message.
priceCurrencyTextx 5The currency in which the price is displayed.
statusGroupIdInteger   Status group ID.
statusGroupNameText  50Group name for the status.
statusIdInteger   Status ID.
statusNameText  50Status name.
statusDescriptionText  100Human-readable description of the status.
errorGroupIdIntegerx YesError group ID.
errorGroupNameTextx 50Error group name.
errorIdIntegerx  Error ID.
errorNameTextx 50Error name.
errorDescriptionTextx 1000Human-readable description of the error.
errorPermanentBooleanx  Indicates whether the error is permanent.
callbackDataTextx 4000The callback data sent through the callbackData field in your fully featured message.
sentAtDate  50Date and time the message was sent.
doneAtDate  50

Date and time the message was finished processing by Infobip.

This is when the final status of the message is returned (delivered, expired, rejected)

originalMCCTextx 50Mobile country code of the recipients number
originalMNCTextx 50Mobile network code of the recipients number
channelTextx 50Channel which was used for sending messages

SMS URL tracking

SMS URL tracking reports fetches information about whether the link inside message was clicked.

Attribute NameAttribute TypeIs nullableDefault valueLengthDescription
notificationTypeTextx 50CLICKED
messageIdTextx 50The ID that uniquely identifies the message sent.
recipientTextx 50Contact who clicked on the URL
urlTextx 1000URL that was clicked in message
sendDateTimeTextx 50Date and time contact clicked on the URL in UNIX format.
deviceTypeTextx 50Phone or desktop
osTextx 50OS running on the device
deviceNameTextx 50Device manufacturer (Samsung, PC, Apple)
callbackDataTextx 4000The callback data sent through the callbackData field in your fully featured message.

Unified URL tracking

Unified URL tracking fetches information about whether the link inside message was clicked.

Attribute NameAttribute TypeIs nullableDefault valueLengthDescription
notificationTypeTextx 50CLICKED
messageIdText  50The ID that uniquely identifies the message sent.
recipientTextx 50Contact who clicked on the URL
urlTextx 1000URL that was clicked in message
sendDateTimeDatex 50Date and time contact clicked on the URL.
deviceTypeTextx 50Phone or desktop
osTextx 50OS running on the device
deviceNameTextx 50Device manufacturer (Samsung, PC, Apple)
callbackDataTextx 4000The callback data sent through the callbackData field in your fully featured message.
channelText  50Channel used for the message (Viber, SMS, Whatsapp…)

Need assistance

Explore Infobip Tutorials

Encountering issues

Contact our support

What's new? Check out

Release Notes

Unsure about a term? See

Glossary

Research panel

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