Intercom Source
Source Info
The Intercom Source is an Object Cloud source. This means that it sends information (traits) about a thing that exists and persists over time, such as a person or company, and which can be updated over time. Data from this source can only be exported directly to a warehouse, but it can then be used for further analysis. Learn more about cloud sources.
Intercom is a customer platform with a suite of products for live chat, marketing, feedback, and support. With Intercom you will be able to send targeted messages to the right people at the right time, manage conversations with leads and customers at scale and create, organize, and publish articles to help people get answers to their questions and get started with your app.
Take your company’s email analysis to the next level by adding Intercom as a Source to Segment. Segment automatically collects objects like Users
and Conversations
and load them into your data warehouse.
Getting Started
-
From your workspace’s
/sources
page, clickadd source
. -
Choose Intercom and press connect.
-
OAuth into Intercom
-
Segment verifies the required permissions
-
Configure the name for the Intercom schema in your warehouse
-
Add a warehouse or connect Intercom to an already existing warehouse in your workspace
Segment begins to sync your Intercom data into Segment, and writes it to your warehouse at your next Warehouse run.
Components
Sync
The Intercom source has a sync component, which means Segment make requests to their API on your behalf on a 3 hour interval to pull all historical data into Segment. In the initial sync, Segment grabs all the Intercom objects (and their corresponding properties) according to the collections table below. The objects will be written into a designated schema corresponding to the source instance’s schema name you designated upon creation. For example, if you went with intercom_prod
, the users
collection will be accessible at intercom_prod.users
in SQL.
The sync component uses an upsert API, so the data in your warehouse loaded using sync will reflect the latest state of the corresponding resource in Intercom. For example, if the users.last_seen_ip
will be the latest value upon each sync.
The source syncs and warehouse syncs are independent processes. Source runs pull your data into the Segment Hub, and warehouse runs flush that data to your warehouse. Sources will sync with Segment every 3 hours. Depending on your Warehouses plan, Segment pushes the Source data to your warehouse on the interval associated with your billing plan.
Collections
Collections are the groupings of resources Segment pulls from your source. In your warehouse, each collection gets its own table.
Collection | Type | Description |
---|---|---|
users |
Object | The Users resource is the primary way of interacting with Intercom. You can create, update and delete your users, and add custom attributes describing them. Users can be viewed individually or as a list, and can queried using tags or segments. For more info, check out the Intercom docs |
companies |
Object | Companies allow you to represent commercial organizations using your product. For more info, check out the Intercom docs |
contacts |
Object | Leads (previously known as Contacts) are useful for representing logged-out users of your application For more info, check out the Intercom docs |
segments |
Object | A segment is a group of your users defined by rules that you set For more info, check out the Intercom docs |
tags |
Object | A tag allows you to label your users and companies and list them using that tag. For more info, check out the Intercom docs |
conversations |
Object | Conversation are how you can communicate with users in Intercom. For more info, check out the Intercom docs |
admins |
Object | Admins are how you can view your teams and team members. For more info, check out the Intercom docs |
social_profiles |
Object | Social data about the user For more info, check out the Intercom docs |
conversation_parts |
Object | A conversation part describes an element of the conversation. For more info, check out the Intercom docs |
Collection Properties
Users
Property Name | Description |
---|---|
id | The Intercom defined id representing the user |
user_id | The user id you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces) |
anonymous | Whether or not this is a Lead. Always false (read only) |
avatar | An avatar object for the user |
companies | A list of companies for the user |
The email you have defined for the user (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces) | |
phone | The phone number of the user |
created_at | The time (in seconds) the user was added to Intercom |
remote_created_at | The time the user was created by you |
updated_at | The last time the user was updated |
signed_up_at | The time (in seconds) the user signed up |
last_request_at | The time the user last recorded making a request |
session_count | How many sessions the user has recorded (read only) |
unsubscribed_from_emails | Whether the user is unsubscribed from emails |
location_data | A Location Object relating to the user. To update location data send in a value for last_seen_ip and the IP will be used to populate location data |
name | The full name of the user |
segments | A list of segments associated with the user |
tags | A list of tags associated with the user |
last_seen_ip | An ip address (e.g. “1.2.3.4”) representing the last ip address the user visited your application from. (Used for updating location_data) |
user_agent_data | Data about the last user agent the user was seen using. To update this value use last\_seen\_user\_agent |
custom_attributes | The custom attributes you have set on the user (case sensitive) |
Companies
Property Name | Description |
---|---|
id | The Intercom defined id representing the company |
company_id | The company id you have defined for the company |
created_at | The time the company was added to Intercom |
remote_created_at | The time the company was created by you |
updated_at | The last time the company was updated |
last_request_at | The time the company last recorded making a request |
name | The name of the company |
custom_attributes | The custom attributes you have set on the company |
session_count | How many sessions the company has recorded |
monthly_spend | How much revenue the company generates for your business |
user_count | The number of users in the company |
plan | The name of the plan you have associated with the company |
Contacts
Property Name | Description |
---|---|
id | The Intercom defined id representing the Lead |
created_at | The time the Lead was added to Intercom |
updated_at | The last time the Lead was updated |
user_id | The user id you have defined for the user. (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces) |
last_request_at | The time the Lead last recorded making a request |
name | The name of the Lead |
The email you have defined for the user (Max limit of 255 UTF-8 characters, and should not have trailing or leading spaces) | |
phone | The phone number of the user |
custom_attributes | The custom attributes you have set on the Lead |
unsuscribed_from_emails | Whether the Lead is unsubscribed from emails |
location_data | A Location Object relating to the Lead. To update location_data use last_seen_ip which will be translated to the appropriate location_data |
last_seen_ip | An ip address (e.g. “1.2.3.4”) representing the last ip address the user visited your application from. (Used for updating location_data) |
user_agent_data | Data about the last user agent the user was seen using. To update this value use last\_seen\_user\_agent |
companies | A list of companies for the user |
avatar | An avatar object for the Lead |
Segments
Property Name | Description |
---|---|
id | The Intercom defined id representing the segment |
name | The name of the segment |
created_at | The time the segment was created |
updated_at | The time the segment was updated |
person_type | Type of the record: user or lead |
count | The number of items in the user segment. It’s returned when include_count=true is included in the request |
Tags
Property Name | Description |
---|---|
id | The id of the tag |
name | The name of the tag |
Conversations
Property Name | Description |
---|---|
id | The id representing the conversation |
created_at | The time the conversation was created |
updated_at | The last time the conversation was updated |
message | The message that started the conversation rendered for presentation |
assignee | The admin the conversation is currently assigned to. Note nobody_admin indicates the conversation is assigned to Nobody |
open | Indicates whether a conversation is open (true) or closed (false) |
read | Indicates whether a conversation has been read |
total_count | The number of conversation parts in this conversation |
tags | A list of tags associated with the conversation |
Admins
Property Name | Description |
---|---|
id | The id of the admin or team |
name | The name of the admin or team |
The email address of the admin. This attribute is null for teams. | |
type | A string that represents the object’s type. Has the value Admin |
Social Profiles
Property Name | Description |
---|---|
id | Optional. User ID on the service |
name | The name of the service (for example, twitter, facebook) |
url | The user homepage on the service |
username | User name or handle on the service |
Conversation Parts
Property Name | Description |
---|---|
id | The id representing the conversation part |
assigned_to | The id of the admin that the conversation is assigned to (not null only when part_type: assignment ) |
author | The user or admin that created the part |
body | The html encoded body of the comment |
created_at | The time the conversation part was created |
notified_at | The time the user was notified with the conversation part |
part_type | The type of conversation part |
updated_at | The last time the conversation part was updated |
Adding Destinations
Currently, Warehouses are the only supported destination for object-cloud sources.
This page was last modified: 27 Oct 2023
Need support?
Questions? Problems? Need more info? Contact Segment Support for assistance!