Connect Reverse ETL Source to Intercom v2 Beta

Configure a Reverse ETL source with your Intercom v2 destination.

This guide takes you through the steps to connect a Reverse ETL source to the Intercom v2 destination.

The below steps assume that you have already set up a Reverse ETL source and configured the connection settings for the connected Intercom v2 destination.

You can connect multiple Reverse ETL sources to the LinkedIn Audience destination.

Setup

SettingDescription
Choose objectSelect the Intercom object from the dropdown.

Note: RudderStack currently supports only the User object.
Sync modeRudderStack supports only Mirror mode for this integration.

Mapping settings

Use this section to map your warehouse columns to specific Intercom fields:

Intercom v2 mapping settings
RudderStack does not support specifying multiple identifiers for the Intercom User object.

RudderStack supports the below Intercom Contact fields to which you can map your warehouse columns:

FieldData typeDescription
Email
Required, if User ID is not specified
StringUser’s email address.
User ID
Required, if Email is not specified
String or NullUnique identifier for the contact.
Contact roleStringContact’s role.
Last seenInteger or NullUNIX timestamp representing the time the contact was last seen.
NameString or NullContact’s name.
OwnerInteger or NullID of the admin that has been assigned the ownership of the contact’s account.
PhoneString or NullContact’s phone number.
Signed upInteger or NullUNIX timestamp representing the time when the contact signed up.
Unsubscribed from EmailsBooleanDetermines whether the contact is unsubscribed from emails.
Avatar image URLString or NullImage URL containing the contact’s avatar.

When you select User ID as the identifier and also provide Email in the mapping, RudderStack performs the lookup using Email, not User ID.

To use User ID for the lookup, include only User ID as the identifier without specifying Email in the mapping.

Schedule settings

RudderStack determines how and when to run a sync based on the sync schedule you set for your Reverse ETL connection.

Schedule typeDescription
BasicRun syncs at a set interval, optionally starting from a specified time (UTC).

If a start time is set, syncs run from that time until the end of that day.
CRONRun syncs based on a specified CRON expression (in UTC).
ManualRun syncs manually.

Sync observability settings

SettingDescription
Retain sync logsThis setting is toggled on by default and instructs RudderStack to store the sync logs in your warehouse. You can also configure the below settings:

SettingDescription
Sync log retentionSpecify the retention period of the sync logs in your warehouse.

If you set it to 1, then RudderStack deletes any sync log older than a day (in UTC time).
Snapshot table retentionSpecify the number of snapshot tables to retain.
Retry failed recordsThis setting is toggled on by default and causes RudderStack to continually retry sending the failed records.
Retain and show failuresThis setting is toggled off by default. Turn it on to have RudderStack write the error recorded for every failed record to a failed records table in your warehouse and show it in the sync’s failed records view. It applies from the next sync and can take up to a minute to reach your data plane.

SettingDescription
Failure retentionNumber of days RudderStack keeps each sync’s failed records in your warehouse. The default is 30 and the minimum is 7.
Storing sync logs, snapshot tables, and failed records may incur additional warehouse costs.

record event structure

The Intercom v2 destination supports only record events.

A sample record event that RudderStack sends to Intercom is shown:

json
{
  "action": "insert",
  "channel": "sources",
  "context": {
    "sources": {
      "job_id": "<job_id>",
      "job_run_id": "<job_run_id>",
      "task_run_id": "<task_run_id>",
      "version": "v1.56.1"
    }
  },
  "fields": {
    "name": "RudderStack"
  },
  "identifiers": {
    "external_id": "<external_id>"
  },
  "messageId": "a0ddf08f-9a3f-45ff-80b8-d5007aac29c2",
  "receivedAt": "2024-11-19T11:12:39.917Z",
  "recordId": "1",
  "request_ip": "1.2.3.4",
  "rudderId": "853ae90f-0351-424b-973e-a615e6487517",
  "type": "record"
}

FAQ

Why can’t I add a Reverse ETL source from the destination page?

The Reverse ETL feature supports only source-driven pipeline configuration. It means that you must configure a Reverse ETL source in RudderStack and then connect it to a new or existing destination. Note that this destination should not be connected to any other source.

See Reverse ETL FAQ for more information.

Questions? Let's figure it out together.

Join the RudderStack Slack community to connect with other users, customers, and the RudderStack team — or reach out for direct support.