Intercom holds your customer conversations, the contacts and companies behind them, and the teammates who respond. Connecting it as a data source through the Connectors library syncs those tables into your Alta workspace, where they become training data for Alta and a foundation for your metrics, dashboards, and Luna analysis. Once it's flowing, you can measure support volume, response times, and which accounts need attention — and ask Luna questions in plain English. Intercom connects with credentials (an API key).
Who this is for: Support, CX, and RevOps teams who want Intercom conversation data measured alongside the rest of their customer data in Alta.
Before you start
Generate an Intercom access token from your Intercom Developer Hub (or app settings) with read access to conversations and contacts.
Connect a source only once per workspace. If Intercom already shows Connected, edit the existing connection.
Connect Intercom
Open Connectors from the sidebar.
Find Intercom via the CRM tab or the Search data sources box.
Click the Intercom card to open the Create connector screen.
Fill in the connection fields shown (such as your access token), then click Create.
Alta runs a connect test. If it fails you'll see The connect test has failed with Intercom's error — fix the field and retry.
The card then shows Connected and Data is syncing until the first sync finishes.
Choose which tables sync
Open the connection. Intercom defaults to the
conversationstable, alongside contacts, companies, and admins.Use the Synced toggle in the Intercom tables section to control what's pulled in.
Turn off Show only synced tables to see everything available.
Key tables and fields synced
conversations —
id,created_at,updated_at,state(open/closed),read,waiting_since,statistics(first response time, time to close), assignee and contact associationscontacts —
id,email,name,role(user/lead),created_at,companycompanies —
id,name,plan,monthly_spend,user_countadmins — teammates:
id,name,emailtags / conversation_parts — labels and message-level detail for deeper analysis
What you can ask this data
Once it's syncing, build it into metrics and dashboards or just ask Luna / Ask AI. For example:
"How many conversations did we open and close last week?" — counts
conversationsbystateandcreated_at."What's our median first response time?" — reads the
statisticsonconversations."Which companies create the most support volume?" — joins
conversationstocompanies."How is conversation volume trending month over month?" — trends
conversationsbycreated_at."Which teammates handle the most conversations?" — groups by assignee
admins.
Build your first metric (worked example)
Confirm
conversationsshows Last sync — Succeeded on the connection page.Go to Metrics and create a new metric on the
conversationstable.Set the measure to count of rows and the date field to
created_at.Group by
stateto split open vs. closed, and set the period to weekly.Save it, then add it to a dashboard — or ask Luna "how many conversations did we open last week?" to verify the number matches Intercom.
Example use cases
Support performance dashboard. Volume, first response time, and time-to-close trended over time and by teammate.
Account health. Join conversation volume and tags to
companiesto flag accounts generating heavy or negative support load — a churn signal for CS.Staffing & SLAs. Conversation volume by day/hour to plan coverage and track SLA attainment.
Support + revenue. Combine with CRM/billing data to see whether high-value accounts get the response they need.
Keep it in sync
Sync status shows Last sync (Succeeded/Failed) and the Sync frequency.
Click Sync now to refresh immediately; it's disabled while a sync runs.
Use the overflow menu (⋯) to Disable, Enable, or Delete.
Tips and common pitfalls
Response/close times live in
statistics. Make sure that nested data is synced if you report on SLAs.Tags power topic analysis. Sync
tagsto break conversations down by reason.A failed connect test is usually the token or its scopes. Re-issue with read access and retry.
Deleting is permanent. Disable instead to pause.
Related
