Skip to content
Components

Intercom

This data source connector fetches data from Intercom.

Before you start, have a working Intercom account with a plan (a trial will work as well). Create a new configuration of the Intercom connector. Then click Authorize Account to authorize the configuration.

Choose one of the configuration templates available: Basic or Conversations and Save the configuration. You can also switch to the JSON editor.

Screenshot - Intercom configuration

The basic template downloads all

  • users (tables users, users_tags, users_segments, users_companies and users_social_profiles)
  • notes (table notes)
  • summary of events for each user (table events_summary)
  • leads (tables leads, leads_tags, leads_segments, leads_companies and leads_social_profiles)
  • companies (table companies)
  • admins (table admins)
  • tags (table tags)
  • segments (table segments)

The conversations template downloads all

  • conversations (tables conversations, conversations_attachments, conversations_tags and conversations_customers)
  • conversation parts (tables conversation_parts and conversation_parts_attachments)

All custom_attributes and metadata properties are stored as a serialized JSON string. Due to the customized structure of this object we are unable to prepare a fixed structure. To parse the serialized JSON, use, for example, a Snowflake transformation that can easily parse JSON objects.

The table users lists all Users and has the following columns:

ColumnDescription
typeValue is user
idThe Intercom defined id representing the user
created_atThe time the user was added to Intercom
signed_up_atThe time the user signed up
updated_atThe last time the user was updated
emailThe email you have defined for the user
phoneThe phone number of the user
user_idThe user id you have defined for the user
last_request_atThe time the user last recorded making a request
session_countHow many sessions the user has recorded
unsubscribed_from_emailsWhether the user is unsubscribed from emails
marked_email_as_spamUndocumented
has_hard_bouncedUndocumented
user_agent_dataData about the last user agent the user was seen using
last_seen_ipAn ip address (e.g. “1.2.3.4”) representing the last ip address the user visited your application from. (Used for updating location_data)
pseudonymThe pseudonym used if this user was previously a Lead
anonymousWhether or not this is a Lead. Always false
nameThe full name of the user
location_data_city_nameA city name
location_data_continent_codeA continent code
location_data_country_codeAn ISO 3166 country code
location_data_country_nameThe country name
location_data_latitudeThe latitude
location_data_longitudeThe longitude
location_data_postal_codeA postal code
location_data_region_nameA region name
location_data_timezoneAn ISO 8601 timezone
avatar_image_urlAn avatar image URL
custom_attributesSerialized JSON of all custom attributes for the user object

This table records relations between users and tags.

ColumnDescription
typeValue is tag
id [FK]Tag identifier (tags.id)
users_pk [FK]User identifier (users.id)

This table records relations between users and segments.

ColumnDescription
typeValue is segment
id [FK]Segment identifier (segments.id)
users_pk [FK]User identifier (users.id)

This table records relations between users and companies.

ColumnDescription
typeValue is company
id [FK]Company identifier (companies.id)
users_pk [FK]User identifier (users.id)

This table lists social profiles attached to the user.

ColumnDescription
typeValue is social_profile
idUser ID on the service
nameThe name of the service (e.g., twitter, facebook)
usernameUser name or handle on the service
urlThe user homepage on the service
users_pk [FK]User identifier (users.id)

This table lists all Notes.

ColumnDescription
typeValue is note
id [PK]The id representing the note
created_atThe time the note was created
bodyThe body text of the note
user_typeThe user type the note was created about, usually user
user_id [FK]The user id the note was created about
author_typeRepresents the Admin type that created the note, usually admin
author_id [FK]Represents the Admin id that created the note

This table lists Event Summaries for each user.

ColumnDescription
user_id [FK]The user id
nameEvent name
countEvent count
firstTime of first event
lastTime of last event
descriptionEvent description

This table lists Leads.

ColumnDescription
typeValue is contact
idThe Intercom defined id representing the Lead
created_atThe time the Lead was added to Intercom
updated_atThe last time the Lead was updated
user_idAutomatically generated identifier for the Lead
emailThe email you have defined for the Lead
nameThe name of the Lead
phoneThe phone number you have defined for the lead
anonymousUndocumented
pseudonymUndocumented
last_request_atThe time the Lead last recorded making a request
unsubscribed_from_emailsWhether the Lead is unsubscribed from emails
location_data_city_nameA city name
location_data_continent_codeA continent code
location_data_country_codeAn ISO 3166 country code
location_data_country_nameThe country name
location_data_latitudeThe latitude
location_data_longitudeThe longitude
location_data_postal_codeA postal code
location_data_region_nameA region name
location_data_timezoneAn ISO 8601 timezone
avatar_image_urlAn avatar image URL
user_agent_dataData about the last user agent the Lead was seen using
last_seen_ipAn ip address (e.g. “1.2.3.4”) representing the last ip address the Lead visited your application from
remote_created_atUndocumented
signed_up_atUndocumented
session_countUndocumented
marked_email_as_spamUndocumented
has_hard_bouncedUndocumented
custom_attributesSerialized JSON of all custom attributes for the Leads object

This table records relations between leads and tags.

ColumnDescription
typeValue is tag
id [FK]Tag identifier (tags.id)
leads_pk [FK]Lead identifier (leads.id)

This table records relations between leads and segments.

ColumnDescription
typeValue is segment
id [FK]Segment identifier (segments.id)
leads_pk [FK]Lead identifier (leads.id)

This table records relations between leads and companies.

ColumnDescription
typeValue is company
id [FK]Company identifier (companies.id)
leads_pk [FK]Lead identifier (leads.id)

This table lists the social profiles attached to all users.

ColumnDescription
typeValue is social_profile
idUser ID on the service
nameThe name of the service (e.g., twitter, facebook)
usernameUser name or handle on the service
urlThe user homepage on the service
leads_pk [FK]Lead identifier (leads.id)

This table lists all Companies.

ColumnDescription
typeValue is company
id [PK]The Intercom defined id representing the company
created_atThe time the company was added to Intercom
remote_created_atThe time the company was created by you
updated_atThe last time the company was updated
company_idThe company id you have defined for the company
nameThe name of the company
session_countHow many sessions the company has recorded
monthly_spendHow much revenue the company generates for your business
user_countThe number of users in the company
planThe name of the plan you have associated with the company
custom_attributesSerialized JSON of all custom attributes for the Company object

This table lists all Admins.

ColumnDescription
typeValue is admin or team
id [PK]The id of the admin or team
nameThe name of the admin or team
emailThe email address of the admin. This attribute is null for teams

This table lists all Tags.

ColumnDescription
typeValue is tag
id [PK]The id of the tag
nameThe name of the tag

This table lists all Segments.

ColumnDescription
typeValue is segment
id [PK]The id representing the segment
nameThe name of the segment
created_atThe time the segment was created
updated_atThe time the segment was updated
countThe number of items in the segment
person_typeType of the record: user or lead

This table lists all Conversations.

ColumnDescription
typeValue is conversation
id [PK]The id representing the conversation
created_atThe time the conversation was created
updated_atThe last time the conversation was updated
waiting_sinceThe last time a customer responded to an admin. In other words, the time a customer started waiting for a response.
snoozed_untilIf 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
user_typeThe user type the conversation concerns
user_idThe user id the conversation concerns
assignee_typeThe admin type the conversation is currently assigned to
assignee_idThe admin id the conversation is currently assigned to. Note nobody_admin indicates the conversation is assigned to Nobody.
conversation_message_typevalue is conversation_message
conversation_message_idThe id representing the message
conversation_message_subjectThe message subject
conversation_message_bodyThe message body (plaintext)
conversation_message_author_typeThe Admin type that created the message
conversation_message_author_idThe Admin id created the message
conversation_message_urlThe URL the User started a conversation on
openIndicates whether a conversation is open (true) or closed (false)
readIndicates whether a conversation has been read
stateCan be set to open, closed or snoozed.

This table lists all attachments for all conversations.

ColumnDescription
typeUndocumented
nameUndocumented
urlUndocumented
content_typeUndocumented
filesizeUndocumented
widthUndocumented
heightUndocumented
conversations_pk [FK]Conversation identifier (conversations.id)

This table lists all customers (users or leads) involved in each conversation.

ColumnDescription
typeuser or conversation (lead)
idUser or Lead id
conversations_pk [FK]Conversation identifier (conversations.id)

This table records relations between conversations and tags.

ColumnDescription
typeValue is tag
id [FK]Tag identifier (tags.id)
conversations_pk [FK]Conversation identifier (conversations.id)

This table lists all Conversation parts.

ColumnDescription
typeValue is conversation_part
id [PK]The id representing the conversation part
part_typeThe type of conversation part
bodyThe body of the comment
created_atThe time the conversation part was created
updated_atThe last time the conversation part was updated
notified_atThe time the user was notified with the conversation part
assigned_to_typeThe type of the admin that the conversation is assigned to
assigned_to_idThe ID of the admin that the conversation is assigned to (not null only when part_type: assignment)
author_typeThe user or admin type that created the part
author_idThe user or admin id that created the part
external_idUndocumented

This table lists all attachments for each conversation part.

ColumnDescription
typeUndocumented
nameUndocumented
urlUndocumented
content_typeUndocumented
filesizeUndocumented
widthUndocumented
heightUndocumented
conversation_parts_pk [FK]Conversation identifier (conversation_parts.id)
Ask Kai

Ask anything about Keboola — I'll search the docs and cite the pages I use.