Intercom
Intercom is a customer messaging platform that helps businesses connect with customers through targeted, behavior-driven messages.
ingestr supports Intercom as a source.
URI format
The URI format for Intercom is as follows:
intercom://?access_token=<access_token>®ion=<region>URI parameters:
access_token: The access token is used for authentication with the Intercom API.region: The data region where your Intercom workspace is hosted. Valid values areus,eu, orau. Defaults tous.
The URI is used to connect to the Intercom API for extracting data.
Setting up an Intercom Integration
To connect to Intercom, you need to create an app and obtain an access token.
Step 1: Create a Private App
- Log in to your Intercom Developer Hub
- Click Your apps in the top right
- Click New app
- Enter an app name and select your workspace
- Choose Internal integration as the app type
- Click Create app
Step 2: Configure Permissions
- In your app settings, go to Authentication
- Under Access Token, click Edit next to the workspace
- Enable the permissions you need:
- Read users and companies - For contacts and companies
- Read conversations - For conversations
- Read content data - For articles and help center content
- Read and list admins - For admin users
- Click Save
Step 3: Get the Access Token
- In Authentication, find the Access Token section
- Copy the access token (it starts with
dG9rwhen base64 encoded) - Store this token securely
Determine Your Region
Intercom has different data regions. Check your Intercom URL:
app.intercom.com→usregionapp.eu.intercom.com→euregionapp.au.intercom.com→auregion
Once you have your access token, let's say your access token is dG9rOjE... and your workspace is in the US region, here's a sample command that will copy the data from Intercom into a DuckDB database:
ingestr ingest \
--source-uri 'intercom://?access_token=dG9rOjE...®ion=us' \
--source-table 'contacts' \
--dest-uri duckdb:///intercom.duckdb \
--dest-table 'intercom.contacts'The result of this command will be a table in the intercom.duckdb database.
Tables
Intercom source allows ingesting the following sources into separate tables:
| Table | PK | Inc Key | Inc Strategy | Details |
|---|---|---|---|---|
| contacts | id | updated_at | merge | Retrieves information about contacts (visitors, users, and leads) |
| companies | id | updated_at | merge | Retrieves information about companies |
| conversations | id | updated_at | merge | Retrieves conversation data |
| articles | id | updated_at | merge | Retrieves help center articles |
| tags | id | - | replace | Retrieves tags used to organize contacts and companies |
| segments | id | - | replace | Retrieves segments for filtering contacts and companies |
| admins | id | - | replace | Retrieves admin user information |
| teams | id | - | replace | Retrieves team information |
| data_attributes | name | - | replace | Retrieves data attributes (both built-in and custom attributes) |
Use these as --source-table parameter in the ingestr ingest command.
TIP
Resources marked with "merge" Inc Strategy support incremental loading based on the updated_at timestamp, which means subsequent runs will only fetch new or updated records.