Linking Intercom as a source
The Intercom connector syncs your Intercom workspace data into PostHog, including contacts, conversations, companies, tickets, activity logs, and more.
Adding a data source
- Go to the Data pipeline page and the Sources tab in PostHog.
- Click + New source and select Intercom.
- Select the Intercom workspace you want to link and click Connect.
- Optional: Add a prefix to your table names.
- Select the tables you want to import.
- Click Import.
The data warehouse then starts syncing your Intercom data. You can see details, progress, and rows synced in the data pipeline sources tab.
Available tables
| Table | Sync mode | Description |
|---|---|---|
| admins | Full refresh | Workspace admins |
| teams | Full refresh | Teams |
| tags | Full refresh | Tags |
| segments | Full refresh | Customer segments |
| companies | Full refresh | Companies |
| company_segments | Full refresh | Segments associated with each company |
| articles | Full refresh | Help center articles |
| company_attributes | Full refresh | Custom company-level data attributes |
| contact_attributes | Full refresh | Custom contact-level data attributes |
| contacts | Incremental (updated_at) | Contacts and leads |
| conversations | Incremental (updated_at) | Customer conversations |
| tickets | Incremental (updated_at) | Support tickets |
| activity_logs | Incremental (created_at) | Admin activity logs |
| conversation_parts | Incremental (updated_at via parent) | Individual messages within conversations |
Sync modes
Intercom tables support both full refresh and incremental syncing depending on the table:
Full refresh – Re-imports all records from Intercom on every sync. Used for tables where Intercom's API doesn't support server-side filtering by timestamp (admins, teams, tags, segments, companies, company_segments, articles, company_attributes, contact_attributes).
Incremental – Only imports records modified since the last sync. Available for contacts, conversations, tickets, activity_logs, and conversation_parts. These tables use a server-side
updated_atorcreated_atfilter, so only changed data is fetched.
When you enable incremental sync for a supported table:
- The first sync performs a full import to establish a baseline.
- Subsequent syncs only fetch records modified since the last sync.
Configuration
| Option | Type | Required |
|---|---|---|
Intercom workspace | oauth | Yes |
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
admins | A teammate (admin) in the Intercom workspace who can reply to and manage conversations. | Full refresh | — | — |
teams | A team of admins in the Intercom workspace. | Full refresh | — | — |
tags | A tag used to label conversations, contacts, and companies in Intercom. | Full refresh | — | — |
segments | A segment grouping contacts that match a set of conditions in Intercom. | Full refresh | — | — |
companies | A company (account) in Intercom that contacts can be associated with. | Full refresh | — | — |
contacts | A contact in Intercom — a user or lead you communicate with. | Incremental, Full refresh | updated_at | — |
conversations | A conversation between a contact and your team in Intercom. | Incremental, Full refresh | updated_at | — |
tickets | A ticket in Intercom tracking a customer request through to resolution. | Incremental, Full refresh | updated_at | — |
articles | A help center article in Intercom. | Full refresh | — | — |
activity_logs | An entry in the admin activity log recording an action taken in the Intercom workspace. | Incremental, Full refresh | created_at | — |
company_attributes | A data attribute (built-in or custom) defined on the company model in Intercom. | Full refresh | — | — |
contact_attributes | A data attribute (built-in or custom) defined on the contact model in Intercom. | Full refresh | — | — |
conversation_parts | An individual part (message, note, or assignment) within an Intercom conversation. | Incremental, Full refresh | updated_at | — |
company_segments | The link between a company and a segment it belongs to in Intercom. | Full refresh | — | — |