Intercom
Intercom ETL connector for data replication

Integrate Intercom with Daton

  1. 1.
    Sign in to Daton
  2. 2.
    Select Intercom from Integrations page
  3. 3.
    Provide Integration Name, Replication Frequency, and History. Integration name would be used in creating tables for the integration and cannot be changed later
  4. 4.
    You will be redirected to Intercom login for authorizing Daton to extract data periodically. Login using Intercom credentials.
5. Post successful authentication, you will be asked to authorize the scopes required by Daton.
6. Post authorization, you will be redirected to Daton to select the tables and columns required.
7. Submit the integration

Snapshot

Features
Details
Release Status
Released
Source API Version
v2.4
Table Selection
Yes
Column Selection
Yes
Edit Integration
Yes
Replication Type Selection
No
Authentication Parameters
Intercom account email Intercom account password
Replication Type
Full Replication Key Based Incremental
Replication Key
Date
Suggested Replication Frequency
24 hrs

List of Tables/APIs Supported

Leads
conversationCount
Segments
Users
userSegmentCount
Teams
Conversations
userTagCount
Articles
Companies
adminConversationCount
SubscriptionTypes
Tags
companySegmentCount
ConversationDataAttributes
Counts
companyTagCount
CustomerDataAttributes
Admins
companyUserCount
ContactDataAttributes

Workflow

  1. 1.
    Integrations would be in Pending state initially and will be moved to Active state as soon as the first job loads data successfully on to the configured warehouse
  2. 2.
    Users would be able to edit/pause/re-activate/delete integration anytime
  3. 3.
    Users can view job status and process logs from the integration details page by clicking on the integration name from the active list

Intercom Data

DataAttributes (Company, Contact, Conversation)
Purpose: You can fetch a list of all the company/contact/conversation data attributes. Data attributes are metadata used to describe your company, contact and conversation models.
Replication: Full Replication
Replication Key: NA
Fields
Key
Type
Description
type
string
Value is data_attribute
model
string
Value is contact for user/lead attributes, and company for company attributes.
name
string
Name of the attribute
Examples: email region_name for region_name stored in location_data object image_url for image_url stored in avatar object paid_subscriber for CDA named paid_subscriber
full_name
string
Full name of the attribute. Should match the name unless it’s a nested attribute.
Examples: email location_data.region_name avatar.image_url custom_attributes.paid_subscriber
We can split full_name on . to access nested user object values.
label
string
Readable name of the attribute (i.e. name you see in the UI)
description
string
Readable description of the attribute
data_type
string
Type of data stored in the attribute. Possible values: string integer float boolean date
options
list
List of predefined options for attribute value
api_writable
boolean
Can this attribute be updated through API
ui_writable
boolean
Can this attribute be updated in the UI
custom
boolean
Set to true if this is a CDA
archived
boolean
Only applicable to CDAs
created_at
timestamp
The time the CDA was created. Only applicable to CDAs.
updated_at
timestamp
The last time the CDA was updated. Only applicable to CDAs
admin_id
string
Teammate who created the attribute. Only applicable to CDAs
Leads, Users
Purpose: Fetch a list of all leads and users in two separate tables. Both the tables come from the 'Contacts' API which will specify whether they are a 'user' or a 'lead' through the 'role' attribute.
Replication: Key-Based Replication
Replication Key: updated_at
Fields
Key
Type
Description
type
String
The type of object - contact.
id
String
The unique identifier for the contact which is given by Intercom.
workspace_id
String
The id of the workspace which the contact belongs to.
external_id
String
A unique identifier for the contact which is given to Intercom.
role
String
The role of the contact - user or lead.
email
String
The contacts email.
phone
String
The contacts phone.
name
String
The contacts name.
avatar
String
An image URL containing the avatar of a contact.
owner_id
Integer
The id of an admin that has been assigned account ownership of the contact.
social_profiles
List
A list of social profiles associated to the contact.
has_hard_bounced
Boolean
Whether the contact has had an email sent to them hard bounce.
marked_email_as_spam
Boolean
Whether the contact has marked an email sent to them as spam.
unsubscribed_from_emails
Boolean
Whether the contact is unsubscribed from emails.
created_at
Date (UNIX timestamp)
The time when the contact was created.
updated_at
Date (UNIX timestamp)
The time when the contact was last updated.
signed_up_at
Date (UNIX timestamp)
The time specified for when a contact signed up.
last_seen_at
Date (UNIX timestamp)
The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually).
last_replied_at
Date (UNIX timestamp)
The time when the contact last messaged in.
last_contacted_at
Date (UNIX timestamp)
The time when the contact was last messaged.
Companies
Purpose: You can fetch a list of companies. Companies allow you to represent commercial organizations using your product. Each company will have its own description and be associated with users.
Replication: Key-Based Replication
Replication Key: updated_at
Fields
Key
Type
Description
type
String
Value is 'company'.
id
String
The Intercom defined id representing the company.
created_at
Date (UNIX timestamp)
The time the company was added to Intercom.
remote_created_at
Date (UNIX timestamp)
The time the company was created by you.
updated_at
Date (UNIX timestamp)
The last time the company was updated.
last_request_at
Date (UNIX timestamp)
The time the company last recorded making a request.
company_id
String
The company id you have defined for the company.
name
String
The name of the company.
custom_attributes
Object
The custom attributes you have set on the company.
session_count
Integer
How many sessions the company has recorded.
monthly_spend
Integer
How much revenue the company generates for your business.
user_count
Integer
The number of users in the company.
plan
Object
The name of the plan you have associated with the company.
size
Integer
The number of employees in the company.
website
String
The URL for the company website.
industry
String
The industry that the company operates in.
Admins
Purpose: Admins are how you can view your teammates within Intercom that have access to a workspace.
Replication: Full Replication
Replication Key: NA
Fields
Key
Type
Description
type
string
Value is admin.
id
string
The id of the admin
name
string
The name of the admin
email
string
The email address of the admin
job_title
string
The job title of the admin
away_mode_enabled
boolean
Identifies if this admin is currently set in away mode.
away_mode_reassign
boolean
Identifies if this admin is set to automatically reassign new conversations to the apps default inbox.
has_inbox_seat
boolean
Identifies if a teammate has a paid inbox seat to restrict/allow features that require them
team_ids
list
This is a list of teams id's that you are part of
avatar
url
Image for the associated team or teammate
Teams
Purpose: Teams are groups of admins within Intercom.
Replication: Full Replication
Replication Key: NA
Fields
Key
Type
Description
type
string
Value is team.
id
string
The id of the team
name
string
The name of the team
admin_ids
list
The list of admin id's that are a part of the team
Tags
Purpose: A tag allows you to label your users and companies and list them using that tag. It also describes how users and companies can be tagged or untagged individually or in bulk.
Replication: Full Replication
Replication Key: NA
Fields
Key
Type
Description
type
string
value is 'tag'
id
string
The id of the tag
name
string
The name of the tag
Segments
Purpose: A segment is a group of your contacts defined by rules that you set. Contacts are automatically added to the segment every time the user updates to match those rules. Segments are different to tags, in that contacts need to be added to tags manually and tag members are not automatically managed.
Replication: Full Replication
Replication Key: NA
Fields
Key
Type
Description
type
string
value is segment'.
id
string
The unique identifier representing the segment.
name
string
The name of the segment.
created_at
timestamp
The time the segment was created.
updated_at
timestamp
The time the segment was updated.
person_type
string
Type of the record: user or lead.
count
integer
The number of items in the user segment. It's returned when include_count=true is included in the request.
Counts
Purpose: Counts are a legacy way to periodically obtain data for the purposes of tracking rates of change in contact and company data.
Replication: Full Replication
Replication Key: NA
The total count object contains the summary of the following fields in a workspace. The count of tags and segments includes archived tags and segments.
Fields
type
string
value is 'count.hash'
company
object
Contains the number of companies in your App
segment
object
Contains the number of segments in your App
tag
object
Contains the number of tags in your App
user
object
Contains the number of users in your App
lead
object
Contains the number of leads in your App
Conversation Count
Purpose: The conversation count supplies global counts about your app's conversations
Replication: Full Replication
Replication Key: NA
Fields
Key
Type
Description
type
string
value is 'count'
conversation
object
Contains counts related to conversations
conversation.assigned
number
Contains the number of assigned conversations
conversation.closed
number
Contains the number of closed conversations
conversation.open
number
Contains the number of open conversations
conversation.unassigned
number
Contains the number of unassigned conversations
Admin Conversation Count
Purpose: The admin conversation count supplies per Admin counts
Replication: Full Replication
Replication Key: NA
Fields
type
string
value is 'count'
conversation
object
Contains counts related to admins
conversation.admin
array
Contains and array of objects detailing each Admin
conversation.admin.open
number
Contains the number of open conversations for the Admin
conversation.admin.closed
number
Contains the number of closed conversations for the Admin
conversation.admin.id
string
Contains the Admin id
conversation.admin.name
string
Contains the Admin name
User Segment/Tag Count
Purpose: The count of tags and segments including archived tags and segments.
Replication: Full Replication
Replication Key: NA
Fields
Key
Type
Description
type
string
value is 'count'
user
object
Contains a field called segment containing segment counts
user.segment
array
Contains a list of segment counts
user.tag
array
Contains a list of tag counts
Company User/Segment/Tag Count
Purpose: Company wise count of users, segments and tags including archived tags and segments.
Replication: Full Replication
Replication Key: NA
Fields
type
string
value is 'count'
company
object
Contains a field called segment containing segment counts
company.segment
array
Contains a list of segment objects their name and their number of companies tagged
company.tag
array
Contains a list of tag objects with their name and their number of companies tagged
company.user
array
Contains an array of companies with their name and their number of users
Conversations
Purpose: To fetch a list of all conversations. Conversations are how you can communicate with users in Intercom. They are created when a contact replies to an outbound message, or when one admin directly sends a message to a single contact.
Replication: Key-Based Replication
Replication Key: updated_at
Fields
type
String
Always conversation.
id
String
The id representing the conversation.
created_at
Timestamp
The time the conversation was created.
updated_at
Timestamp
The last time the conversation was updated.
source
Object
The Conversation Part that originated this conversation, which can be Contact, Admin, Campaign, Automated or Operator initiated.
contacts
List
The list of contacts (users or leads) involved in this conversation. This will only contain one customer unless more were added via the group conversation feature.
teammates
List
The list of teammates who participated in the conversation (wrote at least one conversation part).
title
String
The title given to the conversation.
admin_assignee_id
Integer
The id of the admin assigned to the conversation. If it's not assigned to an admin it will return null.
team_assignee_id
String
The id of the team assigned to the conversation. If it's not assigned to a team it will return null.
custom_attributes
Object
An object containing the different custom attributes associated to the conversation as key-value pairs.
open
Boolean
Indicates whether a conversation is open (true) or closed (false).
state
String
Can be set to "open", "closed" or "snoozed".
read
Boolean
Indicates whether a conversation has been read.
waiting_since
Timestamp
The last time a Contact responded to an Admin. In other words, the time a customer started waiting for a response. Set to null if last reply is from an Admin.
snoozed_until
Timestamp
If set this is the time in the future when this conversation will be marked as open. i.e. it will be in a snoozed state until this time.
tags
List
A list of tags objects associated with the conversation.
first_contact_reply
Object
An object containing information on the first users message. For a contact initiated message this will represent the users original message.
priority
String
If marked as priority, it will return priority or else not_priority.
sla_applied
Object
The SLA Applied object contains the details for which SLA has been applied to this conversation.
Subscription Types
Purpose: List of all subscription types. A subscription type lets customers easily opt out of non-essential communications without missing what’s important to them.
Replication: Key-Based Replication
Replication Key: updated_at
Fields
Key
Type
Description
type
String
The type of the object - subscription
id
String
The unique identifier representing the subscription type.
state
String
The state of the subscription type: live, draft, archived.
default_translation
Object
A translation object with the localised version of the subscription type in the default language for the workspace.
translations
Array
An array of translations objects with the localised version of the subscription type in each available locale within your translation settings.
consent_type
String
Describes the type of consent, this is always opt_out.
Last modified 1mo ago