Intercom

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.

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.

Self-hosting and 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 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

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?

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.

Questions?

Was this page useful?

Next article

Laudspeaker

Send event data from PostHog to Laudspeaker, so it can be used to trigger immediate or time-delayed customer communications across multiple channels, including Slack and email. Laudspeaker is an open source customer messaging service and an alternative to tools such as Braze or Customer.io . Installation It is recommended to start by importing PostHog users into Laudspeaker via the event integration on Laudspeaker. More information on this is available in Laudspeaker's docs . After…

Read next article