Intercom

Intercom is a customer communications platform, which offers a suite of products for live chat, marketing, feedback, and support. Intercom also allows grouping customers (users and companies), and conversations between customers and support teams by applying tags. Tagging enables support teams to track different types of conversations, for example, messages from VIP customers, feature requests, bugs, and so on. Read Tags in Intercom.

You can configure Intercom as a Target in Activate to synchronize and transform data from your data warehouse to enable different teams to provide targeted content, behavior-driven messages, and conversational support.


Prerequisites


Scopes

Activate uses OAuth to access your Intercom account’s data. OAuth requires certain scopes, or permissions, to be provided to Activate for accessing the different Intercom API endpoints. Activate requests for these scopes when you configure Intercom as a Target. Read OAuth Scopes and API endpoints.

The following table lists the scopes that Activate needs and the resources these provide access to:

Scope Description Resources
Read one user and one company Allows Hevo to view and list a single user and company. - Companies
- Contacts
Read and list users and companies Allows Hevo to view and list all segments, users, and companies. - Companies
- Contacts
- Tags
Read and write users Allows Hevo to list all users and perform operations like insert, update, and delete in bulk. Contacts
Write users and companies Allows Hevo to create and update users and companies. - Companies
- Contacts
- Tags
Read counts Allows Hevo to count users and companies matching the specified criteria. Counts
Read one admin Allows Hevo to view the admin of the Intercom account. - Admins
- Teams

Configuring Intercom as a Target

Perform the following steps to configure Intercom as the Target in your Activation:

  1. Click Activate in the Asset Palette.

  2. Do one of the following:

    • Select the TARGETS tab in the Targets List View, and click + CREATE TARGET.

      Create Target

    • Select the ACTIVATIONS tab in the Activations List View, and click + CREATE ACTIVATION.

      Create Activation

      1. In the Select Warehouse page, select your Activate Warehouse or click + ADD WAREHOUSE to add a new warehouse. Read Activate Warehouses to configure the selected Warehouse type.

      2. In the Select a Target page, click + ADD TARGET.

        Select a Target

  3. In the Select a Target Type page, click on Intercom.

    Select a Target Type

  4. In the Add the Intercom Target page, click + ADD INTERCOM ACCOUNT.

    Add Intercom Account

  5. Log in to your Intercom account and click Authorize access to allow Hevo to access your data.

    Authorize Hevo

  6. In the Add the Intercom Target page, specify a unique Target Name.

    Specify a Target Name

  7. Click CONTINUE.

    You can view the new Target in the Targets List View. If you are creating an Activation, you return to the Select Data to Synchronize page.

    New Target List


Data Replication

Activate supports the following synchronization behaviors for Intercom:

Synchronization Behaviors Object Type
- Insert New and Update Existing Records (Upsert).
- Update Existing Records (Update).
- Add New Records (Insert).
- Delete Existing Records (Delete).
- contact
- company
- Archive Existing Records (Archive). contact

Read Synchronization Behaviors. Also read the Data Replication section of Tags in Intercom to know the synchronization behaviors that Activate supports for tags.

Activate synchronizes data from the Warehouse with the supported Intercom objects using these unique identifiers:

Unique Identifier Description
id A unique value that Intercom automatically assigns to the id field of the object record when it is created. This value is unique relative to the object type.

For example, if we consider two objects of the types, contact and company, then the id field value of each of these objects can be the same.
external_id A unique identifier used to associate the Intercom contact object records with records from another system.

For example, a Messenger application may send username as the external_id to uniquely identify the connecting user.
email The email address of the contact.
company_id A unique identifier that you have defined for the company.

In the Upsert mode, the synchronization that is applied varies based on the value of the unique identifier, id. If the id field value is NULL or an empty string, new records are inserted into the Target object; if the id field value matches an existing value in the Target object records, then those records are updated. In all other scenarios, the synchronization is failed. Therefore, Hevo recommends using the fields external_id or email for the contact object and company_id for the company object to synchronize data in the Upsert mode. For the Update mode, you can use any one of the specified unique identifiers to synchronize data. To synchronize data in the Insert mode, you do not need to specify an identifier. New records, as identified by the Activation SQL query from the Warehouse, are inserted and synchronized with the Target object. For the Delete mode, Hevo only allows using the unique identifier, id to delete records from the Target object.

Note: Activate also supports synchronizing data with custom attributes in the supported Intercom objects. The Intercom objects contact and company allow users to set custom-defined data about an object through their custom_attributes field.

For example, suppose a music-sharing app wishes to track the highest rated song shared by its users. The administrator of the app can track this through a custom attribute, rating in the contact object. Now, to synchronize data with this custom attribute, the rating field of the song from the music-sharing app must be mapped to the custom_attributes.rating field of the contact object.


Data Model

The following table lists the objects supported by Activate and their unique identifiers:

Object Unique Identifier Description
Contact - id
- external_id
- email
Provides details of the contacts within Intercom and uses the role attribute to specify whether they are a user or a lead.
Company - id
- company_id
Provides details of the companies associated with the contacts. Companies appear on Intercom only after users have been added or associated with them.

Activate also supports applying or removing tags on the contact, company, and conversation objects types. Read Tags in Intercom.


Target Considerations

  • Intercom imposes API rate limits on the connecting applications to prevent API traffic spikes. Since Activate uses Intercom’s public APIs for synchronizing data, it is subject to the rate limits imposed by Intercom. Read Rate Limiting.

  • Intercom allows retrieving deleted contacts and companies within seven days. Thereafter, it permanently deletes the data. Since Activate cannot synchronize the deleted records with Intercom, it marks them as Failed.

  • Intercom allows archived contacts to be unarchived and retrieved at any point in time. Activate marks the archived contacts as Failed as it cannot synchronize them with Intercom.


Revision History

Refer to the following table for the list of key updates made to this page:

Date Release Description of Change
Jan-24-2022 NA - Updated section, See Also to link the page Tags in Intercom.
- Styling and formatting changes.
Jan-03-2022 NA Reorganized the content for clarity and coherence.
Nov-22-2021 1.76 New document.
Last updated on 27 Jun 2022

Tell us what went wrong