Last updated:

|Edit this page

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


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.

Self-hosting and not running 1.30.0? Find out how to update your self-hosted PostHog deployment.


  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.


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 destination 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

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. ',' ).
Send events to European Data Hosting
Type: choice
Required: False
Send events to, 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.

email: ''

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.


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?

This is maintained by the community. If you have issues with it 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..

What if my question isn't answered above?

We love answering questions. Ask us anything via our community forum.


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. You'll also need access to the Rudderstack instance you want to export to. Installation First, create a PostHog source in your RudderStack dashboard. Need help? Check RudderStack's documentation for more information. Once you've added PostHog as a source, make a note of the write-key field and your…

Read next article