Send event data from PostHog to Intercom whenever an event matches a user who has been identified by their email address.

Requirements

Using this requires either PostHog Cloud with the data pipeline add-on, or a self-hosted PostHog instance running version 1.30.0 or later.

Not running 1.30.0? Find out how to update your self-hosted PostHog deployment!

Installation

  1. In PostHog, click the "Data pipeline" tab in the left sidebar.
  2. Search for 'Intercom' and select the destination, press 'Install'.
  3. Follow the steps below to configure the destination.

Important: Only events that have an email property will be sent to Intercom. For more information on how to configure this, take a look at this section.

Configuration

After you've pressed 'Install', you need to add your Intercom API key at the configuration step, as well as add triggering events you want to send to Intercom.

  • Intercom API Key (required): you can get this one from the Intercom Developer Hub, by creating a new app and receiving an API Key
  • Triggering events (required): A comma-separated list of PostHog events you want to send to Intercom (e.g.: $identify,mycustomevent ).

Additional configuration

OptionDescription
Intercom API Key
Type: string
Required: True
Create an Intercom app, then go to Configure > Authentication to find your key.
Triggering events
Type: string
Required: True
A comma-separated list of PostHog events you want to send to Intercom (e.g.: '$identify,mycustomevent' ).
Email domains to skip
Type: string
Required: False
A comma-separated list of email domains to ignore and not send events for in Intercom (e.g. 'posthog.com,dev.posthog.com' ).
Send events to European Data Hosting
Type: choice
Required: False
Send events to api.eu.intercom.com, if you are using Intercom's European Data Hosting.

Setting up tracking

In order for your events to show up in Intercom, they need to have an email property so we know which user to connect them to. The easiest way to do this is with Super Properties, which will add an email property on every event.

Add the following code wherever you make an identify call with the current user's email address.

JavaScript
posthog.register({
email: 'hello@posthog.com'
})

This will then send this as a property on all future events, including autocaptured events.

Note: Make sure to call posthog.unregister('email') whenever a user logs out to clear this property

Currently, Super Properties are only available in the posthog-js library or when using the PostHog snippet. If you are using a different SDK, you'll need to manually the email property for every event that you want to send to Intercom.

FAQ

Who created this destination?

We'd like to thank PostHog team member Emanuele Capparelli for his work creating this destination. Thank you, Emanuele!

Who maintains this destination?

This destination is maintained by the community. If you have issues with the destination not functioning as intended, please let us know!

What if I have feedback on this destination?

We love feature requests and feedback! Please tell us what you think! to tell us what you think.

What if my question isn't answered above?

We love answering questions. Ask us anything via our community forum, or drop us a message.

Questions?

Was this page useful?

Next article

RudderStack (Export)

Send events from PostHog to RudderStack. RudderStack will recognize PostHog as a data source, so you can use RudderStack's data pipeline features to send PostHog event data to other platforms. Requirements This requires either PostHog Cloud with the data pipeline add-on , or a self-hosted PostHog instance running version 1.30.0 or later. Not running 1.30.0? Find out how to update your self-hosted PostHog deployment ! You'll also need access to the Rudderstack instance you want to export to…

Read next article