Integrate SAP S/4HANA Cloud with SAP Emarsys Customer Engagement
Table of Contents
In this blog post we will describe one possible approach for replicating Contact and Sales Data from SAP S/4HANA to SAP Emarsys Customer Engagement. The described content is built custom and not part of any SAP pre-packaged integration.
The described integration scenarios can be used as a template for building a custom integration with SAP S/4HANA and SAP Emarsys Customer Engagement. SAP Cloud Integration is used for the message transformation for API based data imports to Emarsys.
The following diagram describes the general setup of an exemplary integration between SAP S/4HANA and SAP Emarsys Customer Engagement using SAP Cloud Integration.
Note: This blog post does not cover importing product data to Emarsys. Refer to the Emarsys help documentation for uploading product data to Emarsys.
|
Products/Solutions/Services used:
-
- SAP S/4HANA Cloud or On-Premise
-
- SAP Cloud Integration (SAP Integration Suite)
-
- SAP Emarsys Customer Engagement
-
- SFTP Server for Product data (not covered in this blog post)
Integration Overview
In this blog post we focus on the B2C Business Partner/Contact and Sales Order replication.
As now (Q2 2022), SAP Emarsys Customer Engagement does not provide a public API for importing product data.
Before loading data, please familiarize yourself with the available data objects and their corresponding data fields and types.
-
- Emarsys Data Onboarding: https://help.emarsys.com/hc/en-us/articles/214230905-Data-onboarding-Overview
-
- Emarsys API Documentation: https://dev.emarsys.com/docs/emarsys-api
Business Partner Replication
-
- Emarsys documentation – Contact Data fields overview
https://help.emarsys.com/hc/en-us/articles/115004637605-Overview-Contact-data-fields-Overview
- Emarsys documentation – Contact Data fields overview
-
- Emarsys documentation – Uploading your contact data
https://help.emarsys.com/hc/en-us/articles/213706389-Uploading-your-contact-data
- Emarsys documentation – Uploading your contact data
-
- SAP S/4HANA Outbound Service: Business Partner Replication via SOAP Web Service
-
- Collecting and sending messages in batches is recommended
-
- Only relevant Business Partners a should be replicated to Emarsys
-
- SAP S/4HANA Outbound Service: Business Partner Replication via SOAP Web Service
-
- Emarsys API: Contact API
-
- IFlow: Contact data replication
-
- Processes the inbound SOAP Message from SAP S/4HANA
-
- Transforms the inbound SOAP Message request into a Emarsys Contact API request
-
- Message Processing errors send a notification to the defined tenant administrator via an Emarsys Broadcast event.
- Message Processing errors send a notification to the defined tenant administrator via an Emarsys Broadcast event.
-
- Failed inbound messages are written to the SAP Cloud Integration data store for reprocessing
-
- IFlow: Contact data replication
-
- IFlow: Contact data Reprocessing 1
-
- Reprocessed the failed SOAP Message and re-send the failed message to the Contact data replication IFlow.
-
- When the message fails again, the entry is deleted from the data store and moved into another data store for a second reprocessing
-
- IFlow: Contact data Reprocessing 1
-
- IFlow: Contact data Reprocessing 2
-
- Reprocessed the failed SOAP Message and re-send the failed message to the Contact data replication IFlow.
-
- When the message fails again, the entry is deleted from the data store and moved into another data store for review.
-
- Entries in the for-review data store are not reprocessed again.
-
- IFlow: Contact data Reprocessing 2
Sales Order Replication
-
- Emarsys documentation – Preparing your sales data file
https://help.emarsys.com/hc/en-us/articles/360003070654-Preparing-your-sales-data-file
- Emarsys documentation – Preparing your sales data file
-
- Emarsys documentation – Uploading your sales data
https://help.emarsys.com/hc/en-us/articles/213706429-Uploading-your-sales-data
- Emarsys documentation – Uploading your sales data
-
- SAP S/4HANA Outbound Service: Sales Order Replication via SOAP Web Service
-
- Collecting and sending messages in batches is recommended
-
- Only relevant Sales Orders a should be replicated to SAP Emarsys Customer Engagement.
Custom filters can be configured on SAP S/4HANA to control the Sales Orders replicated to receiving systems.
- Only relevant Sales Orders a should be replicated to SAP Emarsys Customer Engagement.
-
- SAP S/4HANA Outbound Service: Sales Order Replication via SOAP Web Service
-
- IFlow: Sales Order data Replication
-
- Processes the inbound SOAP Message from SAP S/4HANA
-
- Transforms the inbound SOAP Message request into a Emarsys Sales Data API request
-
- Message Processing errors send a notification to the defined tenant administrator via an Emarsys Broadcast event
-
- IFlow: Sales Order data Replication
Product Data Replication
-
- A files-based approach is used
-
- Product replication is not covered in this blog post.
-
- Preparing your product data file
https://help.emarsys.com/hc/en-us/articles/214245045-Preparing-your-product-data-file
- Preparing your product data file
-
- Uploading your product data
https://help.emarsys.com/hc/en-us/articles/214245085-Uploading-your-product-data
- Uploading your product data
SAP S/4HANA Cloud and On-Premise Configuration
A secure connection between SAP S/4HANA and SAP Cloud Integration is established.
Follow the SAP S/4HANA configuration guide for the SAP S/4HANA Integration with SAP Marketing Cloud since the same outbound services are used for this integration.
It is recommended to apply custom filters on SAP S/4HANA to only replicate the relevant data, this is especially important for the Sales Data replication.
Further, you should consider replicating data in batches for better performance.
SAP S/4HANA Integration configuration guides
-
- SAP S/4HANA Integration with SAP Marketing Cloud:https://api.sap.com/package/SAPS4HANAEnterpriseManagementOnPremiseIntegrationwithSAPHybrisMarketingC…
-
- SAP S/4HANA Cloud Integration with SAP Marketing Cloud:https://api.sap.com/package/SAPHybrisMarketingCloudSAPS4HANAEnterpriseCloudIntegration/integrationfl…
SAP S4/4HANA Configuration Summary
Summary of configuration steps.
-
- Set up Secure Connection between Systems
-
- Configuration in SAP Cloud Integration
-
- The created endpoint and communication used is to be maintained in SAP S/4HANA
-
- Configuration in SAP Cloud Integration
-
- Configuration in SAP S4/4HANA
-
- To be configured scenarios:
-
-
-
- Business Partner Replication
-
- No End of Purpose (EOP) for Business Partner
-
- No Business Partner Relationship
-
- Business Partner Replication
-
- Sales Order Replication
-
- No Product replication directly from S4HANA. The SOAP WS send partial product catalog updates and not the full catalog as a full extract
-
-
-
- Initial Data load from SAP S/4HANA
-
- Initial Data Load for Business Partners
-
- Initial Load for Sales Orders
-
- Initial Data load from SAP S/4HANA
SAP Cloud Integration
SAP Cloud Integration helps you to connect cloud and on-premise applications with other SAP and non-SAP cloud and on-premise applications. This service has the capabilities to process messages in real-time scenarios spanning different companies, organizations, or departments within one organization.
SAP Integration Suite combines the integration capabilities Process Integration, API Management, Integration Advisor, and Open Connectors into a cohesive and simplified toolkit for enterprise integrations. To provide a comprehensive integration experience, these services are not available separately, but only as part of the Integration Suite service plan. To learn more on different service plans, see Integration Suite service catalog.
|
Integration Package
SAP Cloud Integration allows you to assemble integration contents into packages and publish them, so that integration developers can use these packages in their integration scenarios.
As an integration developer, you can create integration packages for your specific domain or organization. You can also view different packages published by other integration developers and consume them for your integration purposes. You can modify these packages based on your requirements and upload them through the web application.
-
- Packaging Integration Content in SAP Cloud Integration:https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/LATEST/en-US/89da0a21aa244dd0b861c7ab62…
Integration Flows
An integration flow allows you to specify how a message is processed on a tenant.
You can use integration flows to specify specific integration patterns like mapping or routing.
A graphical editor allows you, the integration developer, to model the message processing steps and specify in detail what happens to the message during processing.
-
- Developing Integration Content with SAP Cloud Integration:https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/LATEST/en-US/e6b43b4c5a5042fda30a9dfdab…
-
- Elements of an Integration Flow: https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/LATEST/en-US/e49dbee00fa549f78b863b9f0a…
Security Artifacts
User Credentials and Secure Parameters
Required user credentials and parameters are created ad stored in the Manage Security Material component on SAP CPI.
-
- Managing Security Material:https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/LATEST/en-US/b8ccb53b9ec44652b885476f02…
-
- Deploying a User Credentials Artifact:https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/LATEST/en-US/6912d63bbbc64aee8bbd4ff103…
-
- Deploying a Secure Parameter Artifact:https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/LATEST/en-US/4641d6c531d34cf7aef94ba5a8…
Keystore
All keys, key pairs, and certificates for communication with SAP CPI are stored in the SAP CPI Keystore.
To enable a successful SSL Handshake, the Root certificates of the connected systems need to be added to the SAP CPI Keystore.
-
- Managing Keystore Entries:https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/LATEST/en-US/2dc8942e02de4be59bd2afaa3b…
SAP Emarsys Customer Engagement Value Mapping
You create a value mapping artifact to act as a bi-directional look up table. Value mapping offers the distinct advantage of giving you bi-directional look up capabilities which are used quite often in productive mapping scenarios.
The value mapping can be accessed from the Message Mapping using the mapValue function.
-
- Configuring Value Mappings:https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/LATEST/en-US/6c8847fe8dcc459580a63194fc…
IFlow Configuration
When building custom integration, it is best practice to define externalized parameter for easier configuration. External parameters allow to configure the IFlow without having to edit the IFlow.
Editing the IFlow is only required when the message transformation and processing itself needs to be changed, for example when adding and mapping a new custom field.
More information on defining and configuration of external parameters, refer to the SAP Help documentation.
-
- Externalize Parameters of an Integration Flow: https://help.sap.com/viewer/368c481cd6954bdfa5d0435479fd4eaf/LATEST/en-US/45b2a0772db94bd9b0e57bc82d…
To configure the IFlow, open the integration package and select the “Configure” option in the drop-down.
-
- Sender: Configure the receiver adapter for inbound messages.
-
- Receiver: Configure the sender adapter for outbound messages.
-
- If multiple sender adapters are configured, you can change the sender adapter in the drop-down list.
-
- Receiver: Configure the sender adapter for outbound messages.
-
- More: All external properties of the IFlow. The default view views. To view externalized properties for a specific step in the message transformation, select the step in the drop-down list.
IFlow: Business Partner Replication from SAP S4 HANA to SAP Emarsys Customer Engagement
This IFlow is receiving inbound messages from SAP S/4HANA and transforms the inbound message into a well-formatted Emarsys Contact API request.
Step |
Description |
Sender: S4OnPrem Type: SOAP |
SOAP Sender is configured
|
Content Modifier define properties and headers |
Message headers and properties are defined. Exchange Properties:
|
Groovy Script Log Inbound Message |
|
XSLT Mapping Filter Address Info |
|
Message Mapping Emarsys Contact Mapping |
To change the message schema, e.g. when adding new custom Fields, change the schema file in the IFlow resources. The Message Mapping schema is updated with the message schema and the additional field can be mapped.
Use the graphical message mapping to adjust the message transformation logic. Emarsys XML Schema example with Emarsys Field ID: When using the field id of the Emarsys fields, the XML element names can’t be numeric. Add a prefix to all field names and delete the prefix later. The XML format does not allow element definitions such as <1>value</1>. <?xml version=”1.0″ encoding=”UTF-8″?> <xs:schema attributeFormDefault=”unqualified” elementFormDefault=”qualified” xmlns:xs=”http://www.w3.org/2001/XMLSchema“> <xs:element name=”root”> <xs:complexType> <xs:sequence> <xs:element type=”xs:string” name=”contact_list_id”/> <xs:element type=”xs:string” name=”key_id”/> <xs:element name=”contacts” maxOccurs=”unbounded” minOccurs=”0″> <xs:complexType> <xs:sequence> <xs:element type=”xs:string” name=”tmp_1″ maxOccurs=”1″ minOccurs=”0″/> <xs:element type=”xs:string” name=”tmp_2″ maxOccurs=”1″ minOccurs=”0″/> <xs:element type=”xs:string” name=”tmp_3″ maxOccurs=”1″ minOccurs=”0″/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> Emarsys XML Schema example with Emarsys String Field ID: <?xml version=”1.0″ encoding=”UTF-8″?> <xs:schema attributeFormDefault=”unqualified” elementFormDefault=”qualified” xmlns:xs=”http://www.w3.org/2001/XMLSchema“> <xs:element name=”root”> <xs:complexType> <xs:sequence> <xs:element type=”xs:byte” name=”key_id”/> <xs:element name=”contacts” maxOccurs=”unbounded” minOccurs=”0″> <xs:complexType> <xs:sequence> <xs:element type=”xs:string” name=”first_name” maxOccurs=”1″ minOccurs=”0″/> <xs:element type=”xs:string” name=”last_name” maxOccurs=”1″ minOccurs=”0″/> <xs:element type=”xs:string” name=”email” maxOccurs=”1″ minOccurs=”0″/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> |
Router BP validate |
|
Router Remove Empty |
When empty elements are deleted, a delta update is sent to Emarsys, not overwriting existing values. |
XSLT Mapping Remove empty nodes |
This process step is only executed when the remove empty branch is enabled. |
Groovy Script Create WSSE Header |
For more information on ow to generate the WSSE Header, review the Emarsys developer documentation. |
General Splitter XML Splitter |
The XML Splitter splits the inbound message payload into smaller packages. The package size can be configured in the Grouping parameter of the General Splitter. The package can also be controlled SAP S4HANA.
|
XML to JSON Converter | Converts the XML Message into a JSON message |
Groovy Script remove tmp_ |
Called custom function: replaceTmp Replaces all tmp_ values for the field ids to match the Emarsys field ids. |
Groovy Script Log Outbound Message |
See Groovy Script “Log Inbound Message” |
Content Modifier delete uri header |
|
Request Reply Submit Contact |
|
Groovy Script validate response |
|
Router |
|
Local Sub-process Error Handling |
|
Local Sub-process Error Handling Groovy Script logError |
|
Local Sub-process Error Handling Router 1 |
|
Local Sub-process Error Handling Content Modifier Reset Message payload |
|
Local Sub-process Error Handling Data Store Write save Message for reprocessing |
|
Local Sub-process Error Handling Router |
|
Local Sub-process Error Handling Groovy Script define tmn host |
|
Local Sub-process Error Handling Content Modifier define external event |
The following external event message body is send to Emarsys. { “email”: “${property.adminEmail}”, “data”: { “global”: { “adminEmail”: “${property.adminEmail}”, “timestamp”: “${property.CamelCreatedTimestamp}”, “CPIHost”: “${header.CPITmnHost}”, “CPIPath”: “${header.CamelHttpUri}”, “caughtException”: “${property.CamelExceptionCaught}”, “expectionMessage”: “${exception.message}”, “messageProcessingLogID”: “${property.SAP_MessageProcessingLogID}” } } } |
Local Sub-process Error Handling Content Modifier |
|
Local Sub-process Error Handling Groovy Script Create WSSE Header |
|
Local Sub-process Error Handling HTTP Receiver |
|
IFlow: Business Partner Replication from SAP S4 HANA to SAP Emarsys Customer Engagement Data Reprocessing
This IFlow reprocesses failed messages of the Business Processing IFlow (IFlow: Business Partner Replication from SAP S4 HANA to SAP Emarsys Customer Engagement). Failed Business Partners are stored on the SAP CPI and reprocessed once a day. A time frame for reprocessing during off-business times is chosen.
Most errors are failed authentication requests when too many requests reach Emarsys at the same time. Resending the same request should resolve this issue.
Every failed message can be reprocessed up to two times before it’s stored for review.
Step |
Description |
Start Timer |
|
Data Store Select Select Contacts |
|
Splitter Split single message |
|
Filter |
|
Content Modifier |
|
Exception process Reset message body |
|
Data Store Write Write to Data Review Data Store |
|
IFlow: Business Partner Replication from SAP S4 HANA to SAP Emarsys Customer Engagement Data Reprocessing 2
This IFlow is a copy of the first reprocessing IFlow with the difference being that the Data Store Write operation writes in a data store for data review where the data is not encoded.
IFlow: Sales Order Replication from SAP S4 HANA to SAP Emarsys Customer Engagement
This IFlow is receiving inbound messages from SAP S/4HANA and transforms the inbound message into a well-formatted Emarsys Sales API request.
To avoid the creation of duplicate Sales Order data, the sales order items are only created when certain conditions are true.
The conditions related to when a Sales Order is considered as completed can be different depending on the how Sales Orders are processed on SAP S/4HANA.
Note that sales order imports incremental and always add to the existing sales data.
Uploading your sales data: https://help.emarsys.com/hc/en-us/articles/213706429-Uploading-your-sales-data
It is recommended to control the release of Sales Data to Emarsys on SAP S/4HANA defining specific conditions on SAP S/4HANA. Additional conditions can be defined on SAP Cloud Integration if needed.
Data fields for building conditions on SAP Cloud Integration can be on the order header and/or line item level.
-
- Order is completed and shipped
-
- Order is cancelled
-
- Order is in Processing
-
- Item is completed and shipped
-
- Item is cancelled
-
- Item is in processing
This is an example on how to define conditions to be implemented on SAP Cloud Integration.
Order is completed and shipped |
Order is cancelled |
Order is in Processing |
|
Item is completed and shipped |
Order is created Item is created |
Order is created Item is removed |
Order is ignored |
Item is cancelled |
Order is created Item is removed |
Order is created Item is created with negative values |
Order is ignored |
Item is in processing |
Item is ignored | Item is ignored | Order is ignored |
Step |
Description |
Sender: S4OnPrem Type: SOAP |
|
Content Modifier define properties and headers |
|
Groovy Script Log Inbound Payload |
|
General Splitter XML Splitter |
|
Message Mapping Emarsys Contact Mapping |
To change the message schema, e.g. when adding new custom Fields, change the schema file in the IFlow resources. The Message Mapping schema is updated with the message schema and the additional field can be mapped.
Use the graphical message mapping to adjust the message transformation logic. Emarsys Sales Data XML Schema example <?xml version=”1.0″ encoding=”UTF-8″?> <xs:schema attributeFormDefault=”unqualified” elementFormDefault=”qualified” xmlns:xs=”http://www.w3.org/2001/XMLSchema“> <!– Documentation: https://help.emarsys.com/hc/en-us/articles/360003070654-Preparing-your-sales-data-file#required-fiel…–> <xs:element name=”data”> <xs:complexType> <xs:sequence> <xs:element name=”salesorders” minOccurs=”0″ maxOccurs=”unbounded”> <xs:complexType> <xs:sequence> <xs:element name=”salesorder” minOccurs=”0″ maxOccurs=”unbounded”> <xs:complexType> <xs:sequence> <xs:element type=”xs:string” minOccurs=”0″ name=”item”/> <xs:element type=”xs:string” minOccurs=”0″ name=”price”/> <xs:element type=”xs:string” minOccurs=”0″ name=”order”/> <xs:element type=”xs:string” minOccurs=”0″ name=”timestamp”/> <xs:element type=”xs:string” minOccurs=”0″ name=”customer”/> <xs:element type=”xs:string” minOccurs=”0″ name=”email”/> <xs:element type=”xs:string” minOccurs=”0″ name=”quantity”/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> |
XSLT Mapping Remove ítems |
|
Gather |
|
Router Check empty |
|
Filter |
|
Content Modifier Add root |
|
XML To CSV Converter |
|
Groovy Script Log Outbound Payload |
|
Content Modifier Emarsys Sales API |
|
Groovy Script Set Authorization |
|
HTTP Receiver Submit Sales Data |
|
Router |
|
Groovy Script logHTTPError |
|
Local Sub-process Error Handling |
|
IFlow Error Notification
SAP Cloud Integration provides an SMTP adapter for sending Email directly from SAP Cloud Integration Email but does not provide an Email editor or other functionality to easily define and design an email. Since we are already building an integration with SAP Emarsys Customer Engagement, the Triggered Email capabilities of the solution can be leveraged to send Email notifications to a receiver.
For this specific use case using Broadcast Events to trigger an Email might be more suitable that External Events since Broadcast Event emails do not require the contact to be in your contact database and Broadcast Event email streams are not tracked. Broadcast emails are still counted as external event emails for billing purposes.
Once created and activated, you can trigger the sending of error notification from different IFlows using the same process.
In this example we have defined the receiver to receive the error notification in the IFlow. Additional attributes are defined and passed in the request body which can then be used for email personalization on Emarsys. Changes in the Email can be done without having to change the IFlow.
Please review the Emarsys documentation for Triggered Emails for more information.
Triggered Email – End-user guide: https://help.emarsys.com/hc/en-us/articles/360016376278-End-user-guides-Triggered-Email-End-user-gui…
SAP CPI Configuration
-
- Enable Email notification by setting the exchange property MailNotification to “true”.
-
- We added this so the CPI Admin can decide if error notifications should be enabled or not.
-
- Enable Email notification by setting the exchange property MailNotification to “true”.
-
- Add and Email address for the SAP CPI Admin.
-
- In our example we have defined the email notification receiver in the IFlow as an externalized property.
The receiver could also be passed from the inbound request and defined dynamically on CPI.
- In our example we have defined the email notification receiver in the IFlow as an externalized property.
-
- Add and Email address for the SAP CPI Admin.
-
- In the HTTP Receiver channel for the Email Notification, add the Broadcast Event ID generated on Emarsys.
Emarsys Configuration
-
- Create a new Triggered Email
-
- Select Broadcast Event as a trigger.
A Broadcast Event ID is provided.
- Select Broadcast Event as a trigger.
-
- Define an Email Template.
-
- Activate the triggered email stream
Example Broadcast Event defines on SAP CPI.
{ “email”: “${property.adminEmail}”, “data”: { “global”: { “adminEmail”: “${property.adminEmail}”, “timestamp”: “${property.CamelCreatedTimestamp}”, “CPIHost”: “${header.CPITmnHost}”, “CPIPath”: “${header.CamelHttpUri}”, “caughtException”: “${property.CamelExceptionCaught}”, “expectionMessage”: “${exception.message}”, “messageProcessingLogID”: “${property.SAP_MessageProcessingLogID}” } } } |
Step |
Description |
|
Groovy Script Log Error |
|
|
Router 1 |
|
|
Message reprocessing branch |
|
|
Router |
|
|
Groovy Script Define tmn host |
|
|
Content Modifier Define external event |
|
|
Content Modifier delete uri header |
|
|
Groovy Script Create WSSE Header |
|
|
Request-Reply Send error notification |
|
SAP Emarsys Customer Engagement Configuration
API User
Create an API User on SAP Emarsys Customer Engagement and create a Security Artifact with the Emarsys API User credentials on SAP Cloud Integration. The Security Artifact can be accessed from the IFlow.
On Emarsys, add the required permissions to the API User for the Contact and External Event API.
Sales Data API
The Sales Data API endpoint and token can be retrieved from Emarsys.
Open the Predict Data Sources and go to Manage your Sales Data to find the Sales Data API upload details.
-
- Sales Data API Specifications: https://help.emarsys.com/hc/en-us/articles/213706429-Uploading-your-sales-data#endpoint
Triggered Email for SAP Cloud Integration Error Notifications
A Triggered Email is created with trigger Broadcast Event.
More information on Triggered Emails can be found in the Emarsys help documentation.
-
- End-user-guide Triggered Emails: https://help.emarsys.com/hc/en-us/articles/360016376278-End-user-guides-Triggered-Email-End-user-gui…
-
- Launch an Email Campaign to Virtual Contacts (Broadcast): https://dev.emarsys.com/docs/emarsys-api/b3A6MjQ4OTk4MzY-launch-an-email-campaign-to-virtual-contact…
Step | Description |
---|---|
Emarsys Triggered Email | Channels > Triggered Emails > Create Mail Stream |
Email Settings |
Complete the Email settings and select “Broadcast Event” in the Trigger Settings Note the Broadcast Event ID |
Content Creation | Define Email Basics and define the Error message email to be send out. |
Disclaimer: Original version of this article was written in SAP CX Works.