Skip to main content

Integration

Prerequisites
  • Follow the steps in Set up MoEngage app on Salesforce to set up the MoEngage Streams Connected App on Salesforce.
  • This is part of the Streams add-on. Contact your dedicated MoEngage Customer Success Manager (CSM) to get it enabled for your account.

Scope

ContextSupport status
Sync MoEngage campaign interaction events to Salesforce as ActivitiesSupported
Sync MoEngage campaign interaction events to Salesforce as a standard or custom Salesforce objectSupported
Support for all standard Salesforce field types (string, datetime, numeric, formula)Supported

Steps

Step 1: Set up streams on MoEngage

1

Open the MoEngage App Marketplace

Navigate to MoEngage App Marketplace > Salesforce CRM.
2

Click Integrate

Click Integrate.
MoEngage App Marketplace listing for Salesforce CRM with the Integrate button
3

Add Salesforce account details

Enter your Salesforce account details (Secret ID, Secret Key).
4

Choose user attributes and events

Add the user attributes and events that you want to send to Salesforce.
5

Connect

Click Connect.
No Integrate tab on the App Marketplace?If you don’t see the Integrate option on your dashboard, Streams is not enabled for your workspace. Contact the MoEngage Support team or your dedicated Customer Success Manager to get it enabled, providing the following details:
  • Salesforce domain
  • Salesforce Secret ID
  • Salesforce Secret Key
  • User attributes to be synced
  • Events to be sent to Salesforce

Step 2: Set up the sync on the MoEngage app in Salesforce

The sync consists of the following steps:
  1. Connections: A Connection is the authorization to your MoEngage workspace. You can connect multiple MoEngage workspaces to a single Salesforce instance.
  2. Syncs: A Sync is a job that runs in real time to send specific data between the two systems. It includes the sync type (MoEngage to Salesforce or Salesforce to MoEngage), entities to sync, and data mapping.
Other minor sections include Error logs and Exceptions — useful for debugging when the data sync is not working.

Launch the MoEngage app

Click App Launcher, enter MoEngage, and select MoEngage App.
Salesforce App Launcher with the MoEngage App selected

Set up a connection

1

Add a new connection

Click Connections > Add New Connection.
MoEngage Connections tab with the Add New Connection button
2

Enter your MoEngage workspace details

Provide the following details:
MoEngage Connection form with workspace credentials
Field nameValue
Connection NameAny name for your connection (for example, MoEngage Prod or MoEngage Workspace).
Workspace IDThe Workspace ID of your MoEngage account, available at Settings > Account > APIs > Workspace ID.
Data KeyThe Data API Key of your MoEngage account, available at Settings > Account > APIs > Data Key.
MoEngage Data CenterYour MoEngage data center. Read more.
3

Save the connection

Click Save.

Set up a sync

For this guide, we use the example of syncing MoEngage campaign interaction events to Salesforce as Activities. You can follow a similar process for other Salesforce objects.
Sync MoEngage campaign interaction events to Salesforce as Activities
1

Open Map Fields

Click Map Fields.
MoEngage Connections list with the Map Fields action highlighted
2

Add a new sync

Click Add new sync.
MoEngage app Syncs tab with the Add new sync button
3

Enter basic sync details

Provide the sync name, source event, and target object.
Basic sync details form for a new MoEngage-to-Salesforce sync
4

Continue

Click Next.
5

Configure data mapping

Configure the data mapping between the two systems:
  1. Define the identifier between the two systems. For MoEngage, the identifier name is Customer ID — it can be mapped to any field on the Activity object.
  2. Set up mappings for other fields. Enter the MoEngage attribute (these are passed in MoEngage Streams data) and select the Salesforce field that the MoEngage attribute should be mapped to.
    Field mapping table with MoEngage attributes mapped to Salesforce Activity fields
    Some mandatory fields associated with an Activity in Salesforce do not appear on the mapping page under the mapping section. You need to manually add these. Refer to the FAQs for more details.
  3. Click Save.
Mapping user attributes to Salesforce fields
When enabling Streams on the MoEngage App Marketplace, you can select the user attributes that need to be synced to Salesforce. These attributes can be accessed within the mapping using:
user_attributes.{user_attribute_name}
This can then be mapped to any field in Salesforce.
Mapping page in the MoEngage Salesforce app with a user_attributes path mapped to a Salesforce field

Step 3: View activities in Salesforce

Open a contact to see all the activities sent through MoEngage.
Salesforce Contact record showing MoEngage activities in the activity timeline

Frequently asked questions

Some Salesforce fields are not writable, such as MailingAddress, BillingAddress, or location-type fields. Instead, map to the individual components of these fields — for example, mailing country, city, billing country, street, latitude, and longitude.
In certain situations, mandatory fields for standard objects may not appear in the visible Mandatory section. If the fields do not appear, ensure that the respective fields are marked in the Others section of the mapping page.The following sections list the fields you must add in the Others section for each Salesforce standard entity.Activity / Event
When these fields are not availableNecessary fields to add in the Others section
Start and end dateAssignedTo (or NameID), Subject, ActivityDate, Duration
Activity Date DurationAssignedTo (or NameID), Subject, Start Date, End Date
DurationAssignedTo (or NameID), Subject, ActivityDate, AllDayEvent (to mark the event as an all-day event)
Task
When these fields are not availableNecessary fields to add in the Others section
SubjectSubject
AssignedToAssignedTo
Account
When these fields are not availableNecessary fields to add in the Others section
Account Name (only applicable if Person Accounts is enabled for your Salesforce instance)Account Name