This bi-directional integration combines Amplitude's Analytics with Intercom’s tools for in-app messaging, push notifications, and email — enabling you to sync Behavioral Cohorts from Amplitude to Intercom so that you can better engage your users based on how they’ve interacted with your product and their lifecycle timing. Leverage Amplitude’s powerful segmentation capabilities in order to personalize your campaigns by targeting the right users with the right messages along their journey.
Intercom makes it easy for you to personally communicate with your users through targeted content, behavior-driven email, in-app, and web messages. Learn more here.
The following instructions assumes that you already have an Amplitude and Intercom account. Another prerequisite is to have access to Amplitude's Behavioral Cohorts feature, which is only available to customers on paid plans.
- Configure Integration in your Amplitude Project. In Amplitude, navigate to ‘Sources and Destinations’ (bottom left corner) -> Select relevant project -> 'Destinations' -> 'Add Data Source' -> 'Intercom' -> Click "Connect to Intercom"
Note: the integration must be turned on per-project basis.
- Connect to your Intercom Account and Authorize Access. Once you click on "Intercom" a pop-up module will appear asking you to connect to Intercom. Connecting to Intercom will lead to a permissions page which asks for your permission to authorize Amplitude access to your Intercom account.
- You must grant Amplitude permission to People, Companies, and Tags in order for this integration to work.
- Map Intercom Target with Amplitude User Property. In order for this integration to connect users from your Amplitude cohort with those in Intercom, you must map an Intercom Target ("Email", "User Id") with an Amplitude User Property.
- You should match by User Id if possible as Email is not guaranteed to be unique within Intercom.
- Users in your Amplitude cohort with matching Intercom Target and Amplitude User Property values will be synced over.
- Users who failed to map with an Intercom Target will not be synced over.
Syncing Cohorts to Intercom
Once the setup completed, you can easily export a list of users from a saved Behavioral Cohort in Amplitude to your user list in Intercom.
Synced users in Intercom will have a tag prefixed with "[Amplitude]" and the name of your saved cohort. Please note that only existing users in Intercom will be tagged with the cohort name; users who exist in your cohort but not in Intercom will be omitted.
Daily Sync with Amplitude Recommend
Amplitude can keep the Cohort list up-to-date in Intercom by syncing with Amplitude Recommend on a daily or hourly basis. Select "Sync to..." --> "To set up a Scheduled Sync click here" to configure the syncing frequency and Amplitude will add or remove the corresponding cohort-membership tags on users in Intercom as those users fall in or out of the Cohort’s criteria.
Streaming Intercom Events into Amplitude
Once the setup is completed, events will start streaming into Amplitude automatically. Event names will be prepended with the prefix "[Intercom]".
Currently supported events (or topics as Intercom calls them):
- All Conversation Topics
- Contact Topics
- Contact Tag Topics
- User Topics
- User Tag Topics
- All Visitor Topics
- Event Topics
NOTE: In order for this integration to work, users in Intercom need to have a user_id. If the user_id field is empty, then the events will be dropped because we cannot match them to a user in Amplitude.
It is currently not possible to automatically set up one-way integration (only Amplitude cohorts to Intercom). If you'd like to stop ingesting these events in Amplitude, you can block them in the Amplitude Project Settings.
Disconnecting the Intercom Integration
If you would like to disconnect the Intercom integration for any reason, you can enter this link (with your Intercom app id) to disconnect the integration from the Intercom side: https://app.intercom.com/a/apps/<your Intercom app id>/appstore?app_package_code=amplitude&installed=true
That is the only way to stop the flow of events from Intercom to Amplitude as that is controlled from the Intercom side. On our side, we can only block events.