Integrations
SAP Emarsys messaging

SAP Emarsys Automation messaging

Copy as markdown

|

View as Markdown

EARLY ACCESS



SMS WhatsApp RCS

The SAP Emarsys Automation messaging integration lets you connect SAP Emarsys with Infobip using SMS, WhatsApp and RCS as communication channels.

What you will need

To use this integration, you need:

  • SAP Emarsys instance and account
  • Infobip account and API keys with senders for WhatsApp or RCS

See Create an Account for more information on Infobip accounts.

API key scopes

When creating your API key, ensure you have the following API key scopes enabled:

  • message:send
  • whatsapp:manage (if WhatsApp channel is used)

Using SMS in SAP Emarsys

Emarsys provides a native user interface, and a choice of providers it is integrated with.

You need a contract with Infobip to start using SMS in Emarsys.

Follow the Self-Service SMS Onboarding guide (opens in a new tab) to connect your Infobip account to Emarsys.

For the full guide for building use cases with SMS sending, refer to the SAP Emarsys SMS use case guide (opens in a new tab).

Using WhatsApp and RCS in Automation Programs

For this integration, there is no installation required and no marketplace.

The available integration points inside SAP Emarsys are limited and so this integration uses Automation Programs by setting up and using a Webhook Node Preset and Block.

Automation Programs can be either:

  • Audience-focused (executed on a contact segment)
  • Behavior-focused (triggered by events)

The simplest program includes a target segment and a webhook node. Both elements are selectors for a predefined segment and preset.

The following section describes how to configure the Webhook Node Preset.

Webhook node presets

Configure Webhook Node Presets

To configure the presets:

  1. Go to Automations > Webhook Node Presets. You need to define the authentication, endpoint, and preset data attributes. Create webhook node presets
  2. Click Create Preset to define the attributes.

The following sections show the required configuration sections.

Configure preset appearance

It is recommended that you give your preset a name and you can choose an icon so that it is more recognizable.

  1. Add a name in the preset name. For example, use a unique and recognizable name, such as ib_whatsapp_my_test_template.
  2. Select a preferred icon from Node icon so it is easily spotted in the Automation program.
Webhook node presets appearance

Configure preset authentication

Specify the authentication method and credentials used to authenticate with Infobip.

  1. Add the relevant URL in API endpoint URL. The endpoint is channel-specific and defined as:
    https://ib-emarsys-prod.azurewebsites.net/api/message/<channelType>.
    • WhatsApp: https://ib-emarsys-prod.azurewebsites.net/api/message/whatsapp.
    • RCS: https://ib-emarsys-prod.azurewebsites.net/api/message/rcs.
  2. Select your chosen authentication method. For example, use HTTP basic authentication.
  3. For the Username, use ib and for the Password, copy your Infobip API key. The required scopes for API key are channel-specific. See API key scopes.
Webhook node presets connection

Preset data definition

It is possible to define two types of data:

  • Contact data is dynamic data taken from a contact
  • Additional data are key-value pairs that can contain static value in the form of predefined value(s) or, if left empty, the value has to be entered during automation program setup

Some generic key-value pairs must be defined. Depending on the data source, it must be defined in its respective section.

When building the preset, always consider whether the required data is static or taken from a contact. It is extremely important to follow the naming schema for fields. All fields not recognized by the application will be dropped, which might lead to your messages being rejected due to missing parameters.

The naming schema consists of a prefix (ib_) followed by either an attribute name or, for template parameters, the section identifier (header, body, btn) and the word param with a number indicating the index of that param (starts at 1) or required attribute. An example for a text header placeholder would be ib_header_param1 or for a media header, it would be ib_header_mediaUrl.

Webhook node presets data

Preset data reference

This reference describes the preset data names.

Generic data

NameValueRecommendation
ib_toCan be one of: mobile phone, phone (office), any contact field where the contact number is storedContact data as it is always dynamic
ib_fromPredefined value (or you can leave empty to define during program building)Additional data as this value is most likely static.

WhatsApp-specific data

NameValueRecommended section
Ib_templateNamePredefined value with template name.Additional Data
Ib_templateLanguagePredefined value with template language. If not defined, it falls back to English (en).Additional Data

The following data depends on the template being used in the preset.

NameValueRecommended section
ib_header_param1Text placeholder (if exists) in text header templates. If there are no placeholders in the text, you can omit this pair.Depends on whether it is static or contact data.
ib_header_mediaUrlImage header media URL, also used in video and document headersMost likely static data, so should go to Additional data
ib_header_fileNameDocument header file name.Most likely static data, so should go to Additional data
ib_header_longitude ib_header_latitudeLatitude and longitude for WhatsApp location templates.Most likely static data, so should go to Additional data
ib_body_paramN (for example, ib_body_param1)Template body placeholders. The ending of key name defines the placeholder it replaces. Add as many as there are placeholders in template body.Depends on whether it is static or contact data.
ib_btn_paramN (for example, ib_btn_param1)Template button placeholders. Buttons that should have params defined include: Quick Reply buttons URL buttons with a placeholder if the URL button doesn’t include a placeholder, it has to be omittedDepends on whether it is static or contact data.
ib_btn_copy_codeTemplate button parameter for copy code button type.Depends on whether it is static or contact data.
ib_card_N_header_mediaUrlCarousel template placeholder. To be used for card headers in case of a media header. N designates card index (starting from 1).Depends on whether it is static or contact data.
ib_card_N_header_placeholderCarousel template placeholder. To be used for card headers in case of a text header and placeholders. N designates card index (starting from 1).Depends on whether it is static or contact data.
ib_card_N_header_latitude ib_card_N_header_longitudeCarousel template placeholder. To be used for card headers in case of location header. N designates card index (starting from 1).Depends on whether it is static or contact data.
ib_card_N_body_paramMCarousel template placeholder. To be used for card body placeholders. N designates card index and M is the index of body placeholder (starting from 1).Depends on whether it is static or contact data.
ib_card_N_btn_paramMCarousel template placeholder. To be used for card button placeholders. URL and quick reply buttons require parameters.Depends on whether it is static or contact data.

RCS specific data

NameValueRecommended section
ib_typeCan be one of: text, file, card, carouselAdditional data

Text messages

NameValueRecommended section
ib_textText you want to send to customers. Example with placeholders: Hello {{1}}, welcome to our promotion for {{2}}. Today we are giving away {{3}}% of discount on selected items.Additional data
ib_placeholder_NWhere N is index of placeholder defined in ib_textDepends whether it is static or contact data.

File messages

NameValueRecommended section
ib_fileUrlURL of the given resource. The following content types are supported: application/pdf, image/jpeg, image/jpg, image/gif, image/png, video/h263, video/m4v, video/mp4, video/mpeg, video/mpeg4, video/webm.Depends whether it is static or contact data, but most likely will be static data so into Additional data.
ib_thumbnailUrlURL of the file thumbnail.Depends whether it is static or contact data, but most likely will be static data so into Additional data.

Suggestions

NameValueRecommended section
ib_suggestion_N_typeWhere N is the index number of suggestion, starting at 1. Can be one of: reply, open_url, dial_phone, show_location, request_location, create_calendar_eventAdditional data
Reply
NameValueRecommended section
ib_suggestion_N_postbackDataValue which is going to be sent as a reply to a suggestionAdditional data
ib_suggestion_N_textSuggestion textAdditional data
Open URL
NameValueRecommended section
ib_suggestion_N_postbackDataValue which is going to be sent as a reply to a suggestionAdditional data
ib_suggestion_N_urlURL that will be opened on mobile phone when the suggestion is selectedAdditional data
ib_suggestion_N_textSuggestion textAdditional data
Dial phone
NameValueRecommended section
ib_suggestion_N_postbackDataValue which is going to be sent as a reply to a suggestionAdditional data
ib_suggestion_N_phoneNumberValid phone numberAdditional data
ib_suggestion_N_textSuggestion textAdditional data
Show location
NameValueRecommended section
ib_suggestion_N_postbackDataValue which is going to be sent as a reply to a suggestionAdditional data
ib_suggestion_N_latitudeLatitude of the location.Additional data
ib_suggestion_N_longitudeLongitude of the location.Additional data
ib_suggestion_N_textSuggestion textAdditional data
ib_suggestion_N_labelLabel of the locationOptional. Additional data
Request location
NameValueRecommended section
ib_suggestion_N_postbackDataValue that will be sent as a reply to a suggestionAdditional data
ib_suggestion_N_textSuggestion textAdditional data
Create calendar event
NameValueRecommended section
ib_suggestion_N_postbackDataValue that will be sent as a reply to a suggestionAdditional data
ib_suggestion_N_textSuggestion textAdditional data
ib_suggestion_N_startTimeEvent start timeAdditional data
ib_suggestion_N_endTimeEvent end timeAdditional data
ib_suggestion_N_titleEvent titleAdditional data
ib_suggestion_N_descriptionEvent descriptionOptional. Additional data

RCS card message

NameValueRecommended section
ib_card_titleTitle of the card, displayed as bolded text.Additional data
ib_card_descriptionDescription of the card, displayed as regular text.Additional data
ib_card_orientationOrientation type defines orientation in Card message. Values can be HORIZONTAL or VERTICAL.Additional data
ib_card_alignmentImage preview alignment for Card message with horizontal layout.Additional data
ib_card_mediaUrlSpecifies the URL of the media resource.Additional data
ib_card_mediaHeightHeight of the card media. Can be SHORT, MEDIUM, TALLAdditional data
ib_card_button_N_typeCard button type where N is button index (starting from 1). Can be one of: REPLY, OPEN_URL, DIAL_PHONE, SHOW_LOCATION, REQUEST_LOCATION, CREATE_CALENDAR_EVENTAdditional data
ib_card_button_N_textCard button text.Additional data
ib_card_button_N_postbackDataCard button postback value.Additional data
ib_card_button_N_urlCard button URL in case of URL buttons.Additional data
ib_card_button_N_phoneNumberCard button phone number in case of DIAL_PHONEAdditional data
ib_card_button_N_latitudeCard button latitude in case of SHOW_LOCATIONAdditional data
ib_card_button_N_longitudeCard button longitude in case of SHOW_LOCATIONAdditional data
ib_card_button_N_labelCard button location label in case of SHOW_LOCATIONAdditional data
ib_card_button_N_startTimeCard button start time in case of CREATE_CALENDAR_EVENTAdditional data
ib_card_button_N_endTimeCard button end time in case of CREATE_CALENDAR_EVENTAdditional data
ib_card_button_N_titleCard button title in case of CREATE_CALENDAR_EVENTAdditional data
ib_card_button_N_descriptionOptional card button description in case of CREATE_CALENDAR_EVENTAdditional data

RCS carousel parameters

NameValueRecommended section
ib_card_widthWidth of cards contained within the carousel. Can be SMALL or MEDIUMAdditional data
ib_card_N_titleTitle of the card, displayed as bolded text.Optional. Additional data
ib_card_N_descriptionDescription of the card, displayed as regular text.Optional. Additional data
ib_card_N_mediaUrlSpecifies the URL of the media resource.Additional data
ib_card_N_mediaHeightHeight of the card media. Can be SHORT, MEDIUM, TALLAdditional data
ib_card_N_button_M_typeCard button type where N is card (starting from 1) and M is button index (also starting from 1). Can be one of: REPLY, OPEN_URL, DIAL_PHONE, SHOW_LOCATION, REQUEST_LOCATION, CREATE_CALENDAR_EVENTAdditional data
ib_card_N_button_M_textButton textAdditional data
ib_card_N_button_M_postbackDataButton postback valueAdditional data
ib_card_N_button_M_urlButton URL in case of OPEN_URLAdditional data
ib_card_N_button_M_phoneNumberButton phone number in case of DIAL_PHONEAdditional data
ib_card_N_button_M_latitudeButton latitude in case of SHOW_LOCATIONAdditional data
ib_card_N_button_M_longitudeButton longitude in case of SHOW_LOCATIONAdditional data

Campaign tracking

Currently, there is no way to track campaigns other than through the Infobip web interface. For RCS, additional parameters are available for improved filtering options. To use them, include any of the following in the data section inside the Webhook Node Presets:

  • ib_campaign_reference_id (also works with ib_campaignReferenceId or campaign_id)
  • ib_campaign_name
  • Emarsys default data:
    • deduplication_id
    • ems_program_id

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