Intercom integration summary

Stitch’s Intercom integration replicates data using the Intercom REST API (V1.0). Refer to the Schema section for a list of objects available for replication.

Intercom feature snapshot

A high-level look at Stitch's Intercom (v02-02-2016) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Sunset on January 31, 2021

Supported by

Stitch

Stitch plan

Standard

API availability

Not available

Singer GitHub repository

Not applicable

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Unsupported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Unsupported

Column selection

Unsupported

Select all

Unsupported

TRANSPARENCY
Extraction Logs

Unsupported

Loading Reports

Supported

Intercom replication

Intercom Replication and Attribution Windows

Every time Stitch runs a replication job for Intercom, the last 30 days’ worth of data will be replicated.

This is applicable to all tables in the integration.

Stitch replicates data in this way to account for updates made to existing records within the default attribution window of 30 days, thus ensuring you won’t make decisions based on stale (or false) data. As a result, you may see a higher number of replicated rows than what’s being generated in Intercom.

Setting the Replication Frequency to a higher frequency - like 30 minutes - can result in re-replicating recent data and contribute to greater row usage. Selecting a lower frequency can help keep your row count low.


Intercom table reference

admins

The admins table contains info about the admins and teams in your Intercom account.

Replication Method

Full Table

Primary Key

id

Useful links

Intercom documentation

Intercom API method

Join admins with on
conversations
admins.id = conversations.conversation_parts.assigned_to
admins.id = conversations.assignee.id
admins.id = conversations.conversation_parts.author.id
contacts
admins.id = contacts.id
users
admins.id = users.id

away_mode_enabled

BOOLEAN

away_mode_reassign

BOOLEAN

email

STRING

id

STRING

name

STRING

team_ids

ARRAY

value

INTEGER

type

STRING

companies

The companies table contains info about the companies (or commercial organizations) that use your Intercom product.

Custom Attributes

If applicable, Stitch will replicate custom fields related to companies in Intercom.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

Intercom documentation

Intercom API method

Join companies with on
contacts
companies.id = contacts.companies.id
companies.segments.segments.id = contacts.segments.segments.id
companies.tags.tags.id = contacts.tags.tags.id
users
companies.id = users.companies.id
companies.segments.segments.id = users.segments.segments.id
companies.tags.tags.id = users.tags.tags.id
segments
companies.segments.segments.id = segments.id
conversations
companies.tags.tags.id = conversations.tags.tags.id
tags
companies.tags.tags.id = tags.id

company_id

STRING

created_at

DATE-TIME

custom_attributes

OBJECT

id

STRING

monthly_spend

NUMBER

name

STRING

plan

STRING

remote_created_at

DATE-TIME

segments

ARRAY

segments

ARRAY

id

STRING

type

STRING

session_count

INTEGER

tags

ARRAY

tags

ARRAY

id

STRING

type

STRING

type

STRING

updated_at

DATE-TIME

user_count

NUMBER

company_segments

The company_segments table contains info about company segments. A segment is a group of users that are defined by a set of rules.

Replication Method

Full Table

Primary Key

id

Useful links

Intercom documentation

Intercom API method

Join company_segments with on
contacts
company_segments.id = contacts.segments.id

created_at

DATE-TIME

id

STRING

name

STRING

person_type

STRING

type

STRING

updated_at

DATE-TIME

contacts

The contacts table contains info about the logged-out users, or leads, of your Intercom app.

Note: contacts is equivalent to the leads object in Intercom’s API. See Intercom’s documentation for more info.

Custom Attributes

If applicable, Stitch will replicate custom fields related to contacts (leads) in Intercom.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

Intercom documentation

Intercom API method

Join contacts with on
admins
contacts.id = admins.id
users
contacts.id = users.id
contacts.companies.id = users.companies.id
contacts.segments.segments.id = users.segments.segments.id
contacts.tags.tags.id = users.tags.tags.id
conversations
contacts.id = conversations.conversation_parts.author.id
contacts.id = conversations.user.id
contacts.tags.tags.id = conversations.tags.tags.id
contacts.id = conversations.customers.id
companies
contacts.companies.id = companies.id
contacts.segments.segments.id = companies.segments.segments.id
contacts.tags.tags.id = companies.tags.tags.id
company_segments
contacts.segments.id = company_segments.id
segments
contacts.segments.segments.id = segments.id
tags
contacts.tags.tags.id = tags.id

avatar

OBJECT

image_url

STRING

type

STRING

companies

ARRAY

companies

ARRAY

company_id

STRING

id

STRING

name

STRING

type

STRING

created_at

DATE-TIME

email

STRING

id

STRING

last_request_at

DATE-TIME

last_seen_ip

STRING

location_data

OBJECT

city_name

STRING

continent_code

STRING

country_code

STRING

country_name

STRING

latitude

INTEGER

longitude

INTEGER

postal_code

STRING

region_name

STRING

timezone

STRING

type

STRING

name

STRING

phone

STRING

segments

ARRAY

segments

ARRAY

id

STRING

type

STRING

social_profiles

ARRAY

social_profiles

ARRAY

id

STRING

name

STRING

type

STRING

url

STRING

username

STRING

tags

ARRAY

tags

ARRAY

id

STRING

name

STRING

type

STRING

unsubscribed_from_emails

BOOLEAN

updated_at

DATE-TIME

user_agent_data

STRING

user_id

STRING

conversations

The conversations table contains info about user conversations, or conversations initiated by your end-users.

Conversation Parts

To reconstruct an entire conversation, use the conversation_parts associated with the conversation. These are the individual elements - actions, messages, and so on - that make up a conversation.

If your destination doesn’t natively support nested data structures, a subtable named conversations__conversation_parts will be created. More info on this table can be found below.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

Intercom documentation

Intercom API method

Join conversations with on
admins
conversations.conversation_parts.assigned_to = admins.id
conversations.assignee.id = admins.id
conversations.conversation_parts.author.id = admins.id
contacts
conversations.conversation_parts.author.id = contacts.id
conversations.user.id = contacts.id
conversations.tags.tags.id = contacts.tags.tags.id
conversations.customers.id = contacts.id
users
conversations.conversation_parts.author.id = users.id
conversations.tags.tags.id = users.tags.tags.id
conversations.user.id = users.id
conversations.customers.id = users.id
companies
conversations.tags.tags.id = companies.tags.tags.id
tags
conversations.tags.tags.id = tags.id

assignee

OBJECT

id

STRING

type

STRING

conversation_message

OBJECT

attachments

ARRAY

content_type

STRING

filesize

INTEGER

height

INTEGER

name

STRING

type

STRING

url

STRING

width

INTEGER

author

OBJECT

id

STRING

type

STRING

body

STRING

subject

STRING

type

STRING

conversation_parts

ARRAY

assigned_to

STRING

attachments

ARRAY

content_type

STRING

filesize

INTEGER

height

INTEGER

name

STRING

type

STRING

url

STRING

width

INTEGER

author

OBJECT

id

STRING

type

STRING

body

STRING

created_at

DATE-TIME

id

STRING

part_type

STRING

updated_at

DATE-TIME

created_at

DATE-TIME

customers

ARRAY

id

STRING

type

STRING

id

STRING

open

BOOLEAN

read

BOOLEAN

snoozed_until

DATE-TIME

state

STRING

tags

ARRAY

tags

ARRAY

id

STRING

name

STRING

type

STRING

total_count

INTEGER

type

STRING

updated_at

DATE-TIME

user

OBJECT

id

STRING

type

STRING

waiting_since

DATE-TIME

segments

The segments table contains info about the segments - or groups of users defined by a set of rules - in your Intercom account.

Replication Method

Full Table

Primary Key

id

Useful links

Intercom documentation

Intercom API method

Join segments with on
companies
segments.id = companies.segments.segments.id
contacts
segments.id = contacts.segments.segments.id
users
segments.id = users.segments.segments.id

created_at

DATE-TIME

id

STRING

name

STRING

person_type

STRING

type

STRING

updated_at

DATE-TIME

tags

The tags table contains info about the tags in your Intercom account.

Replication Method

Full Table

Primary Key

id

Useful links

Intercom documentation

Intercom API method

Join tags with on
companies
tags.id = companies.tags.tags.id
contacts
tags.id = contacts.tags.tags.id
conversations
tags.id = conversations.tags.tags.id
users
tags.id = users.tags.tags.id

id

STRING

name

STRING

type

STRING

users

The users table contains info about the users in your Intercom account.

Custom Attributes

If applicable, Stitch will replicate custom fields related to users in Intercom.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

Intercom documentation

Intercom API method

Join users with on
admins
users.id = admins.id
contacts
users.id = contacts.id
users.companies.id = contacts.companies.id
users.segments.segments.id = contacts.segments.segments.id
users.tags.tags.id = contacts.tags.tags.id
conversations
users.id = conversations.conversation_parts.author.id
users.tags.tags.id = conversations.tags.tags.id
users.id = conversations.user.id
users.id = conversations.customers.id
companies
users.companies.id = companies.id
users.segments.segments.id = companies.segments.segments.id
users.tags.tags.id = companies.tags.tags.id
segments
users.segments.segments.id = segments.id
tags
users.tags.tags.id = tags.id

anonymous

BOOLEAN

avatar

OBJECT

image_url

STRING

type

STRING

companies

ARRAY

companies

ARRAY

company_id

STRING

id

STRING

name

STRING

type

STRING

created_at

DATE-TIME

email

STRING

id

STRING

last_request_at

DATE-TIME

last_seen_ip

STRING

location_data

OBJECT

city_name

STRING

continent_code

STRING

country_code

STRING

country_name

STRING

latitude

INTEGER

longitude

INTEGER

postal_code

STRING

region_name

STRING

timezone

STRING

type

STRING

name

STRING

phone

STRING

pseudonym

STRING

segments

ARRAY

segments

ARRAY

id

STRING

type

STRING

session_count

INTEGER

signed_up_at

DATE-TIME

social_profiles

ARRAY

social_profiles

ARRAY

id

STRING

name

STRING

type

STRING

url

STRING

username

STRING

tags

ARRAY

tags

ARRAY

id

STRING

name

STRING

type

STRING

type

STRING

unsubscribed_from_emails

BOOLEAN

updated_at

DATE-TIME

user_agent_data

STRING


Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.