Skip to main content

Introduction

This integration is part of the Salesforce CRM paid add-on. Contact your dedicated MoEngage Customer Success Manager (CSM) to enable it for your account.
Integration stepUse case
Install MoEngage appRequired for both Salesforce-to-MoEngage and MoEngage-to-Salesforce integrations.
Create a connected appRequired only for MoEngage-to-Salesforce integration. Not needed for Salesforce-to-MoEngage data flow.

Install MoEngage app

1

Access Salesforce AppExchange

Open your web browser and go to the Salesforce AppExchange website.
2

Log in

If you haven’t already logged in, click Log In and enter your Salesforce credentials.
3

Search for MoEngage

In the search bar, type MoEngage and press Enter. Click the MoEngage app to open its details page.
4

Initiate the installation

Click Get It Now on the MoEngage app page.
5

Select Salesforce organization

Choose the appropriate Salesforce org (for example, Production). Then click Install in Production to proceed.
6

Confirm installation details

  • Review the installation details provided.
  • Agree to the terms and conditions by selecting the appropriate checkbox.
7

Complete the installation

Click Confirm and Install to begin the installation process.
8

Install in your organization

Select whether to install MoEngage for Admins only, All Users, or Specific Profiles. Depending on your option, you may need to grant your users the relevant MoEngage app permissions. Click Install.After clicking Install, approve remote site settings by selecting the checkboxes for the four API endpoints corresponding to the MoEngage data centers.
If you do not see MoEngage in the listed apps, contact your dedicated Customer Success Manager. They will share the app build separately.

Permission sets required for the MoEngage app

The MoEngage app comes with the following permission sets.
Permission setPermissions
MoEngage Admin PermissionAssign to users who will create and manage the syncs. No additional permissions are required for admin users.
This permission provides access to:
  • Manage MoEngage Connections within Salesforce
  • Manage syncs and mappings
  • Access the Sync Queue and Use Manual Retry
  • Manage the Delete Processed Sync Scheduler
MoEngage User PermissionAssign to users who will interact with the synced objects (for example, Leads, Contacts) by creating or updating them.
This permission provides access to:
  • Package custom objects and fields
  • Custom settings and metadata
  • Apex class access
Depending on the type of installation:

Installing for admin users only

  • Assign the MoEngage User Permission permission set to all non-admin users who create or update mapped object records.
  • Admin users do not require additional permission sets for basic use.

Installing for all users

  • Custom profile users: No need to assign any permission set.
  • Standard profile users: Assign the MoEngage User Permission permission set to users who create or update mapped object records.
  • Admin users: No permissions are needed for general access. Assign the MoEngage Admin Permission set to specific admins who require access to configuration settings.
We recommend creating a list view to manage permissions easily. From your Salesforce dashboard:
1

Open Setup

Click the gear icon in the top right corner and select Setup.
2

Find Users

In the Quick Find box, type Users and select Users.
3

Create a new view (optional)

Click Create New View only if no relevant list view exists; otherwise, use an existing view.
4

Configure the view

  • Enter a Label for the new list view.
  • (Optional) Adjust the Filter Criteria to target specific users.
  • Select the Available Fields to display in the list view.
  • Choose your preferred Validity option, then click Save to create the list view.
Next, to assign MoEngage app permissions:
1

Open Setup

Click the gear icon in the top right corner and select Setup.
2

Open Permission Sets

In the Quick Find box, type Permission Sets and select Permission Sets.
3

Choose the permission set

Click MoEngage Admin Permission or MoEngage User Permission.
4

Manage assignments

Click Manage Assignments, then Add Assignments.
5

Choose the list view

Choose the list view you created earlier to display relevant users.
6

Assign permissions

Select the checkbox at the start of each row for users to assign the permission set, then click Next. Review your selection and click Assign to complete the process.

Important notes

After installation, the package automatically:
  1. Creates (or verifies) the required configuration custom-setting records.
  2. Schedules the Delete Processed Syncs job.
If created during install, the job is owned by the package installer. Reschedule it under an admin user (with the MoEngage Admin Permission set assigned) by going to Setup > Scheduled Jobs > Delete Processed Syncs > Manage > Reschedule Job.
If a job with the same name already exists, the system does not duplicate it.

Creating sandboxes with the MoEngage app enabled

By following these steps, you can control whether the sync remains active or inactive in the sandbox environment, depending on your requirements.

Full and partial copy sandboxes

  • When a full or partial copy sandbox is created from a production environment with an active MoEngage sync, the MoEngage package is automatically installed and the sync is enabled by default.
  • To prevent syncing in the sandbox environment, deactivate all connections associated with the MoEngage package.
  • If a sandbox template is used and MoEngage package objects are deselected for sync during creation:
    • The package connections are not copied to the sandbox.
    • In this case, no deactivation step is required.

Developer and Developer Pro sandboxes

  • In Developer and Developer Pro sandboxes, no data of standard or custom objects is copied over, so no sync data is copied to the sandbox.
  • Only custom settings data (connections and authentication information) is copied. You will see connections in these sandboxes, but no mapping records are present.
  • These sandbox types do not require deactivation. We still recommend deactivating connections before creating them.

Configuring custom settings

When the app is installed, a public configuration custom setting is created with the following default values. Administrators can adjust these values at any time. To access the custom settings:
1

Open Setup

Go to Setup and, in the Quick Find search bar, type Custom Settings.
2

Open Custom Settings

Click Custom Settings from the results.
3

Open Configuration

Click Configuration. You will see a list/detail view with six rows representing the settings.
Custom settings configuration page in Salesforce showing six MoEngage app configuration values
Setting nameDefaultPurposeValid values
Flex Queue Limit50New sync batches are submitted only when the org’s Flex Queue has fewer than this number of jobs.Positive whole number less than 100. No negatives or decimals.
Historic Sync Scheduler Time (minutes)5If the Flex Queue is full, Historical Sync jobs are rescheduled after this delay.Positive whole numbers. No negatives or decimals.
Record Deletion Batch Size2000Batch size used by the cleanup job.Positive whole numbers. No negatives or decimals.
Record Deletion Interval (days)7How long to keep successful Sync Queue records (and related Exceptions) before cleanup.Positive whole numbers. No negatives or decimals.
Sync Queue Batch Size20Default batch size for real-time processing.Positive whole numbers. No negatives or decimals.
Sync Queue Scheduler Time (minutes)5If the Flex Queue is full, real-time processing jobs are rescheduled after this delay.Positive whole numbers. No negatives or decimals.
These values are created automatically by post-install scripts. Admins can review and adjust them at any time to align with org-specific requirements.

Create a connected app

Skip these steps if you only want to send data from Salesforce to MoEngage. They are required only for the bi-directional integration — that is, sending event data from MoEngage back to Salesforce.

Step 1: Fetch your domain URL

1

Open Setup

Click the gear icon in the top right corner and select Setup.
Salesforce gear icon menu with Setup highlighted
2

Open My Domain

In the Quick Find box, type My Domain and select My Domain.
Salesforce Setup search showing My Domain in the results
3

Save the domain URL

Save the domain URL. You will need it when setting up the data flow from MoEngage to Salesforce.
Salesforce My Domain settings page showing the current domain URL

Step 2: Create a new connected app

1

Open Setup

Click the gear icon in the top right corner and select Setup.
Salesforce gear icon menu with Setup highlighted
2

Open App Manager

In the Quick Find box, type App Manager and select App Manager.
Salesforce Setup search showing App Manager in the results
3

Create a new connected app

Click New Connected App.
Salesforce App Manager with the New Connected App button highlighted
4

Enter app details

Enter a name and other details for your connected app.
Salesforce New Connected App form with basic information fields
5

Enable OAuth settings

Scroll down to the API (Enable OAuth Settings) section and select Enable OAuth Settings.
6

Set the callback URL

In the Callback URL field, enter https://api-0X.moengage.com (replace 0X with your data center identifier).
7

Configure OAuth scopes

Move the Manage user data via APIs (api) scope from Available OAuth Scopes to Selected OAuth Scopes.
Salesforce Connected App OAuth scopes configuration with the api scope selected
8

Enable PKCE and Client Credentials

Select both Require PKCE and Enable Client Credentials Flow.
9

Save

Click Save at the bottom of the page.
After saving, you will see a confirmation page. The app may take around 10 minutes to process. To manage your app, return to the App Manager.

Step 3: Fetch the consumer key and consumer secret

Once the app is created, you can access the Consumer Key and Consumer Secret in the API (Enable OAuth Settings) section. These are essential for setting up the data flow from MoEngage to Salesforce.
1

Return to App Manager

Open the App Manager.
2

View your app

Click the dropdown arrow next to your app and select View.
Salesforce App Manager dropdown menu with the View option for the connected app
3

Open Manage Consumer Details

Scroll down to the API (Enable OAuth Settings) section and click Manage Consumer Details.
Manage Consumer Details button in the OAuth settings section of a Salesforce connected app
4

Copy the credentials

Click Copy below the Consumer Key and Consumer Secret fields to copy each value.
Salesforce consumer details page with Copy buttons for Consumer Key and Consumer Secret

Step 4: Add the MoEngage Sync Configuration permission set

1

Open Setup

Click the gear icon in the top right corner and select Setup.
Salesforce gear icon menu with Setup highlighted
2

Find Users

In the Quick Find box, type Users and select Users.
Salesforce Setup search showing Users in the results
3

Select a user

Select the username of the user you want to assign permissions to.
Salesforce user list with a user selected for permission assignment
4

Open Permission Set Assignments

Click Permission Set Assignments.
User detail page in Salesforce with Permission Set Assignments link visible
5

Edit assignments

The page automatically scrolls down to Permission Set Assignments. Click Edit Assignments.
Permission Set Assignments section with Edit Assignments button highlighted
6

Assign the permission set

Select MoEngage Sync Configuration Permission in the Available Permission Sets column and click Add. The permission set then appears in the Enabled Permission Sets column.
Permission set picker with MoEngage Sync Configuration Permission added to enabled permissions
7

Save

Click Save.
If the correct permission set is not assigned, you will receive an error message similar to the following.
Salesforce error message indicating a missing MoEngage permission set assignment

Next steps

Now configure the data syncs:

Sync Salesforce objects to MoEngage

Sync any Salesforce object to MoEngage as users or events. Newly created or updated records sync in real time.

Sync data from MoEngage to Salesforce

Forward MoEngage events to Salesforce as Activities or any standard or custom Salesforce object through MoEngage Streams.