Intercom integration not loading new data
Incident Report for Chameleon
Postmortem

Intercom is a marketing automation tool that lets you send emails and notifications, offer web chat, host help documentation and handle support tickets. Chameleon is a product success platform that lets you show native in-product experiences, including product tours (walkthroughs), announcements, surveys, tooltips, etc.

How the integration used to work

Chameleon believes in the importance of a connected product stack, and for the past few years have offered deep integrations to other commonly used tools, such as Mixpanel, Intercom, and Hubspot.

The Chameleon Intercom integration had multiple facets:

  • Send Chameleon data to Intercom
  • Pull Intercom segments and tags into Chameleon
  • Launch Intercom Messenger from a Chameleon Experience
  • Display Chameleon Tours inside Intercom Messenger

In pulling Intercom segments and data to Chameleon, we used an Intercom API that let Chameleon get a list of users and check which segments and tags were associated with those. To balance immediacy with performance, Chameleon polled for any changes to users every two minutes.

This was a unique integration that wasn’t endorsed or promoted by Intercom, but let Chameleon offer a deeper connection compared to other providers. For example, even the Intercom Zapier integration does not offer matching based on segments.

How the integration will work in future

Recently, we learned that Intercom will no longer be offering the API that we leveraged to enable the polling integration that checked for segment membership. The segment field within the Intercom user record has been deprecated, as of over a week ago.

This was changed without prior notification or suitable alternative solutions, and so, unfortunately, we will no longer be able to support this aspect of our integration.

We will continue to offer the other aspects of our Intercom integration; sending Chameleon data to Intercom; launching the Intercom Messenger from a Chameleon Experience (e.g. a Tour Step button or a Launcher item) and the Intercom Messenger app to display Chameleon Tours.

We will keep abreast of further changes to the Intercom API, and look to improve our integration in the future if there is support for webhooks or any other real-time syncing of data from Intercom into other applications.

Immediate next steps

If you have been affected by this, we truly apologize for the sudden change; we have been scrambling to uncover the issue and found it after re-analyzing Intercom’s API documentation.

Any Experiences that target a user within an Intercom segment or tag will no longer match for that user and the Experience will not display for them. You can continue to let these operate until you update the data syncing, knowing some users will not see relevant Experiences.

Any Experiences that use the reverse match (e.g. user is not in the segment or tag) then that Experience is liable to show out of turn. You should turn off these Experiences until you resolve how to target those users through data sent directly to Chameleon or in another manner. This will prevent users from seeing the wrong Experience or something out of turn.

You will also need to decide which data to send directly to Chameleon to allow you to continue to target users without relying on Intercom segments.

Other options for sending data to Chameleon

If you have been using Intercom segments or tags to target Chameleon Experiences, these will no longer work. However, this is an opportunity to improve the real-time triggering of your Experiences and remove the delay associated with polling data from Intercom.

We recommend sending user data (such as properties and events) directly to Chameleon, in the same way, you might be sending to Intercom. This will be a one-time change and will enable you to construct target audiences within Chameleon and trigger Experiences in real-time based on that data. To learn more please review the following articles:

We continue to recommend using a Customer Data Platform, such as Segment or mParticle, to consolidate all your user data in a single place and synchronize with all your tooling in a consistent manner. That remains the best approach for enabling real-time sync between Chameleon data and your user data in other systems.

Help with transitioning

If you have any questions on this topic or would like to discuss the best options for sending data to Chameleon or targeting Chameleon Experiences, please message us here.

Posted Apr 10, 2020 - 11:36 PDT

Resolved
Intercom has deprecated the API we used to match users to Intercom segments. This means any Experiences using Intercom data will not target users correctly.

For Experiences where the target audience contains a filter requiring the user to be a part of an Intercom segment, this Experience will not match any users and not show.

For Experiences where the target audience contains a filter requiring a user NOT be part of an Intercom segment, this Experience will match more users than intended and will show more widely. These Experiences should be deactivated until you are able to send the data directly to Chameleon and create the segment within the Chameleon interface.

Please review the Post Mortem for more details.
Posted Apr 10, 2020 - 11:32 PDT
Identified
We noticed that the segment field within the Intercom user record is no longer available. Upon investigation and communication with Intercom, we learned that Intercom has deprecated its API that was used to enable Chameleon's polling integration that checked for segment membership.

This was changed without prior notification or suitable alternative solutions, and so, unfortunately, we will no longer be able to support the use of Intercom segments or tags for targeting Chameleon Experiences.

We'll be publishing a fuller update with alternatives/workarounds shortly.
Posted Apr 10, 2020 - 11:30 PDT
Investigating
We have received reports of data from the Chameleon Intercom not loading recent data into Chameleon's database.
We are currently investigating why this is happening.
Posted Apr 01, 2020 - 16:07 PDT
This incident affected: Data API.