Intercom is a user messaging platform that helps businesses build better user relationships through personalized, messenger-based experiences. It combines live chat, marketing automation, user support, and user engagement tools in one platform to help companies connect with their users at every stage of the user lifecycle.
MoEngage <> Intercom
The integration of MoEngage and Intercom empowers businesses to enhance their user engagement and support initiatives through seamless data synchronization. With this integration, you can:
- Synchronize leads, users, and associated company data from Intercom to MoEngage.
- Import support activities, like ticket state updates and conversation attributes, as behavioral events in MoEngage.
- Capture custom attributes and tags for comprehensive user profiling.
- Trigger campaigns based on support interactions and user lifecycle events.
Use Cases
Integrating Intercom with MoEngage helps you solve the following use case:
- Sync leads and user data: Automatically sync newly created leads and users from Intercom to MoEngage for targeted marketing campaigns.
- Trigger support-driven engagement: Push lead or user data to MoEngage to trigger contextual follow-up campaigns the moment a ticket is created in Intercom.
- Automate ticket state-based campaigns: Send timely satisfaction surveys, upsell offers, or re-engagement messages by pushing data to MoEngage whenever a ticket's state is updated (for example, resolved, closed, escalated).
Sync Modules
The following table outlines the default sync type for each module:
| Module | MoEngage Sync Type |
|---|---|
| Users | Users |
| Leads | Users |
| Ticket Attributes | Events |
| Companies | Users (Synced with Users and Leads) |
| Custom Tracked Attributes | Custom Event Properties |
| info |
Note Company Information - The Companies module is also supported. To ensure your data is always current, the associated company information is synced with your Users and Leads records, respectively. |
Integration
| library_add_check |
Prerequisites Before you begin, ensure you have the following requirements:
|
Method 1: Use Intercom Workflows
Workflows are ideal for syncing data in real-time based on triggers like Conversation Created or Ticket Resolved. You can choose between a simple approach for basic data sync or an advanced approach for data enrichment, as outlined below:
Approach A: Simple Workflows (Basic Sync)
Use this for a simple, direct sync of standard data. To set up this simple Workflow, perform the following steps :
- Step 1: Create the MoEngage Webhook Data Connector
- Step 2: Request Body Structure
- Step 3: Create a Workflow to Trigger the Data Connector
Step 1: Create the MoEngage Webhook Data Connector
To create the MoEngage Webhook data connector, perform the following steps:
- In the left navigation bar of your Intercom dashboard, click the Settings icon
in the the lower-left navigation bar.
- In the Settings menu, click Integrations to expand the section, and then click Data connectors.
- On the Data connectors page, click + New data connector in the upper-right corner to begin the setup process.
The Data connectors page appears. - On the About tab, provide the following details for your connector:
- In the Name box, type the name for your connector.
- In the Description box (optional), add a description to explain the connector's purpose.
- By default, the Enable Fin to use this connector directly check box is selected (optional).
- Click Next step to proceed.
- On the API connection tab, provide the following details:
Intercom Section
Description Method POST URL Enter the dedicated URL provided by MoEngage in the following format:
https://api-0X.moengage.com/v1/partner/intercom/{events/user}/?configName={config_name}.Custom Headers Header(s) Value Content-Type application/json Authorization Generate a Basic Authentication Token using an online Basic Auth Header Generator tool. You must enter your Workspace ID as username and Data API Key as password. To find your credentials, perform the following steps:
- On the MoEngage UI, navigate to Settings > Account > APIs.
- Copy the ID under Workspace ID (earlier app id).
- Copy the Data under API keys.
Your Basic Authentication Token is a combination of Workspace ID and Data. For example, paste the following value as your Basic Authentication Token:Basic Qk5CR1NNNUR4eHh4eHhWQ1hSRFJEWTdSOlFsWHVoTHVaeHh4eHh4QWQrQnBYUEotNw==Note: Ensure the token is copied completely without extra space.
-
Click Next step to proceed to the Test response tab to test the connection by providing sample values for your payload.
Note: Ensure Intercom is successfully connected to MoEngage before you use the connector in a live workflow.
Step 2: Request Body Structure
| info |
Information Intercom Series relies on built-in attribute inserters. To prevent integration errors, it is recommended to share your specific setup and requirements with your MoEngage customer success manager (CSM). |
To configure the request body section, you must use Intercom's attribute inserter to map the following values dynamically and you can add your desired key-values as needed.
| Key | Description |
|---|---|
type |
This identifies the type of record being sent, for example, user. |
u_fn |
This is the user's first name. |
u_ln |
This is the user's last name. |
u_mb |
This is the user's mobile number. |
customer_id |
This is the unique identifier for the user. |
intercom_id |
This is the user's unique ID from Intercom. |
createdate |
The timestamp for when the user record was originally created. This value does not change. |
modified_at |
The timestamp for when the user record was last modified or updated. This value changes every time the record is updated. |
Step 3: Create a Workflow to Trigger the Data Connector
To create a workflow to trigger the data connection, perform the following steps:
- In the left navigation bar of your Intercom dashboard, click Fin AI Agent.
- On the Fin AI Agent menu, click Workflows.
- On the Workflows page, click + New workflow in the upper-right corner.
- In the + New workflow list, click Create from scratch.
The Create from scratch using the following triggers dialog box appears. - Now, select your desired workflow trigger (for example, click Ticket-only category on the left, and then click When a ticket is created trigger).
Now, you must configure the trigger. - In the When a ticket is created panel on the workflow canvas, set the following:
- Channels: Specify which channels the trigger will apply to (for example, Web, iOS and so on).
- Filters: Select the workflow to run for Users, Leads, or both.
- Click + Add step to add the data connector action.
- From the Choose what's next menu, search or select Data connector.
- Select the specific connector you created earlier.
- Click Set live in the upper-right corner to save and enable your workflow.
info Information
- You can only use simple attributes available in the attribute inserter (for example, a user's name, email, or subscription plan).
- The workflow sends the data without providing any options for transformation.
Approach B: Advanced Workflows (Enhanced Sync)
Use this when you want to enrich or transform data before sending it to MoEngage. To set up this advanced workflow, perform the following steps:
- Step 1: Create Custom Conversation Objects
- Step 2: Get Your Intercom API Token
- Step 3: Create the Intercom API Data Enrichment Connector
- Step 4: Create the MoEngage Webhook Data Connector
- Step 5: Request Body Structure
- Step 6: Create a Workflow to Trigger the Data Connector
Step 1: Create Custom Conversation Objects
To create custom conversation objects, perform the following steps:
- In the left navigation bar of your Intercom dashboard, click the Settings icon
in the lower-left navigation bar.
- On the Settings menu, click Data to expand the section, and then click Conversations .
- On the Conversations page, click + Create attribute in the upper-right corner to begin the setup process.
The Create a new attribute dialog box appears. - On the General tab, provide the following details:
- In the Format list, select the data type for your attribute (for example, Text, Number and so on).
- In the Name box, type the name for the attribute (for example, session_count).
- In the Description box (optional), add a description to explain what the attribute is for (for example, User session count).
- Configure the optional visibility and requirement settings as needed.
- Click Save.
Step 2: Get Your Intercom API Token
To get your Intercom API token, perform the following steps:
- In the left navigation bar of your Intercom dashboard, click the Settings icon
in the lower-left navigation bar.
- On the Home page, under the Integrations section, click Developer Hub.
The INTERCOM | Developer Hubwindow appears. Now, you must decide whether to create a new app or use an existing one.
- To create a new app:
- On the Your apps page, click New app. The New app dialog box appears.
- In the App name box, type a name for your app.
- In the Workspace list, select the workspace for your app.
- Click Create app.
- To use an existing app:
- Find and select your app from the list.
- Click Edit in the upper- right corner.
- In the left navigation menu for your app, select Authentication.
-
On the Authentication page, in the Access token section, copy the token.
This will be used as your Bearer Token. -
Scroll to the Permissions section and ensure the permissions are enabled for your app.
Step 3: Create the Intercom API Data Enrichment Connector
| info |
Information Use the Intercom Contact Search API to get additional data, as shown in the following steps. For other tasks, you can use any of the APIs listed in the Intercom API reference. |
To create the Intercom Contact Search API, perform the following steps:
- Create the MoEngage Webhook Data Connector. To do this, follow the steps through point 6 as detailed in the section Step 1: Create the MoEngage Webhook Data Connector.
- In the Request Body section, paste the following JSON.
This will search for a contact using their email or external ID.{
"query": {
"operator": "OR",
"value": [
{
"field": "email",
"operator": "=",
"value": "{{ insert email id }}"
},
{
"field": "external_id",
"operator": "=",
"value": "{{ insert external_id }}"
}
]
}
} -
Click Next step to proceed to the Test response tab to test the connection by providing sample values for your payload.
Note: Ensure Intercom is successfully connected to MoEngage before you use the connector in a live workflow. - Click Next step to proceed to the Data transformation tab.
-
Paste the following code into the code editor to extract the first contact from the API response.
def transform(api_response): """Extract first contact from search results array Args: api_response: The raw response data from the API call Returns: dict: First contact data or empty dict if no contacts found """ # Extract first contact from the data array if isinstance(api_response, dict) and 'data' in api_response and api_response['data']: return api_response['data'][0] else: return {} return transform(inputs['data']) - Click Next step to proceed to the Object mapping tab.
- Configure the mappings for each attribute you need to sync.
- Click Save and set live.
Step 4: Create the MoEngage Webhook Data Connector
First, create the MoEngage Webhook Data Connector. To do this, follow the steps through point 6 as detailed in the section Step 1: Create the MoEngage Webhook Data Connector and test the response to verify the connection.
Step 5: Request Body Structure
Build the payload by following the instructions in the section, Step 2: Request Body Structure and add the custom objects you created to include the additional enriched data in the payload.
Step 6: Create a Workflow to Trigger the Data Connector
To create a workflow to trigger the data connection, perform the following steps:
- Create the MoEngage Webhook Data Connector. To do this, follow the steps through point 7 as detailed in the section, Step 3: Create a Workflow to Trigger the Data Connector.
- Select the custom Data Connector that you created to fetch the additional data.
- Add the Webhook Data Connector that you created to push the enriched data.
- Activate the Workflow.
- Click the Save and Set.
Method 2: Use Series Workflows with Webhooks
This approach uses a Webhook within an Intercom Series to send User or Lead data to MoEngage. It is best for syncing standard user and conversation fields as part of an outbound messaging sequence without needing complex API calls.
| info |
Information Intercom Series relies on built-in attribute inserters. To prevent integration errors, it is recommended to share your specific setup and requirements with your MoEngage customer success manager (CSM). |
To set up the Series workflow, perform the following steps:
- Step 1: Navigate to Series
- Step 2: Set the Trigger
- Step 3: Add the Webhook Action
- Step 4: Request Body Structure
- Step 5: Test and Activate
Step 1: Navigate to Series
To navigate to series, perform the following steps:
- In the left navigation bar of your Intercom dashboard, click Outbound.
- Onthe Outbound menu, click Series.
- On the Series page, click + New Series in the upper-right corner.
The Choose a template dialog box appears. - Click Start from scratch.
Now, you must set the entry rules. - On the Enter a title page, in the Audience to target sidebar on the right, click Rules to define the criteria for users who will enter this series.
-
Scroll to the end, in the Actions to take, click WEBHOOK.
Step 2: Set the Trigger
To set the trigger, perform the following steps:
- On the Enter a title page, click the Entry Rules tile.
The Enter a title dialog box appears. - Click the Visitors and Users filter button to open the menu and select Visitors, Leads, or Users.
- Select the check boxes for the specific audience you want to target.
- Click Save rules to apply your configuration.
Step 3: Add the Webhook Action
To add the Webhook action, perform the following actions:
- On the Enter a title page, click the WEBHOOK tile.
The Enter a title dialog box appears. - Provide the following details:
Webhook Section Description Method POST URL Enter the dedicated Webhook URL provided by MoEngage in the following format:
https://api-0X.moengage.com/v1/partner/intercom/{events/users}/?configName={config_name}
Webhook Headers Header(s) Value Content-Type application/json Authorization Generate a Basic Authentication Token using an online Basic Auth Header Generator tool. You must enter your Workspace ID as username and Data API Key as password. To find your credentials, perform the following steps:
- On the MoEngage UI, navigate to Settings > Account > APIs.
- Copy the ID under Workspace ID (earlier app id).
- Copy the Data under API keys.
Your Basic Authentication Token is a combination of Workspace ID and Data. For example, paste the following value as your Basic Authentication Token:
Basic Qk5CR1NNNUR4eHh4eHhWQ1hSRFJEWTdSOlFsWHVoTHVaeHh4eHh4QWQrQnBYUEotNw==Note: Ensure the token is copied completely without extra spaces.
Step 4: Request Body Structure
Build the payload by following the instructions in the section, Step 2: Request Body Structure and add the custom objects you created to include the additional enriched data in the payload.
Step 5: Test and Activate
Ensure you test the Webhook to ensure data reaches MoEngage. After you confirm the data is received correctly, Click series live.