Intercom connector
Set up the Intercom connector in Kaivo: authentication, configuration, the 13 BigQuery tables it syncs, and answers to common questions.
Intercom connector pricing, tier and credits on kaivo.ioKaivo is a fully managed data platform that syncs your Intercom data into a Google BigQuery warehouse and keeps it up to date automatically. There is no pipeline to build and no infrastructure to run, so you can spend your time analysing your customer support data instead of moving it.
What is the Intercom connector
Section titled “What is the Intercom connector”Sync your Intercom conversations, contacts, and tickets into BigQuery with Kaivo to measure support volume and response quality over time.
| Category | Customer Service, Marketing & Sales |
|---|---|
| Authentication | OAuth |
| Setup | On request, contact us to enable it |
Getting started with the Intercom connector
Section titled “Getting started with the Intercom connector”- Sign up for Kaivo and create a workspace.
- Ask us to enable the Intercom connector for your workspace. You can reach our team from the chat in the app.
- Choose which tables to sync.
- Wait for the initial sync to finish.
- Query your data in BigQuery or your favourite AI or BI tool.
Authenticating Intercom
Section titled “Authenticating Intercom”Connect by signing in to your Intercom account. Kaivo runs the connection for you, so you never share a password.
Configuring the Intercom connector
Section titled “Configuring the Intercom connector”When you set up the connector, you provide:
| Field | Description |
|---|---|
| Start date | |
| Any data before this date will not be fetched. |
|
Tables and columns synced from Intercom
Section titled “Tables and columns synced from Intercom”Kaivo syncs 13 tables from Intercom into a dedicated dataset in your BigQuery warehouse. Click any table to see its columns and types.
activity_logs (10 columns), https://developers.intercom.com/docs/references/2.11/rest-api/api.intercom.io/admins/listactivitylogs
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
activity_description |
STRING |
A description of the activity that took place |
activity_type |
STRING |
The type or category of the activity |
created_at |
INT64 |
The timestamp when the activity occurred |
id |
STRING |
Unique identifier for the activity log entry |
performed_by__type |
STRING |
Type of the user who performed the activity (e.g., admin, user) |
performed_by__email |
STRING |
Email of the user who performed the activity |
performed_by__id |
STRING |
Unique identifier of the user who performed the activity |
performed_by__ip |
STRING |
IP address from where the activity was performed |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
admins (13 columns), https://developers.intercom.com/docs/references/2.11/rest-api/api.intercom.io/admins/listadmins
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Type of the admin (e.g., full-time, part-time) |
admin_ids |
JSON |
Array of unique identifiers for admins |
avatar__image_url |
STRING |
URL of the admin’s avatar image |
away_mode_enabled |
BOOL |
Flag indicating if away mode is enabled for the admin |
away_mode_reassign |
BOOL |
Flag indicating if away mode reassignment is enabled for the admin |
email |
STRING |
Email address of the admin |
has_inbox_seat |
BOOL |
Flag indicating if the admin has a seat in the inbox |
id |
STRING |
Unique identifier for the admin |
job_title |
STRING |
Job title of the admin |
name |
STRING |
Name of the admin |
team_ids |
JSON |
Array of team identifiers the admin belongs to |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: admins__team_priority_level__primary_team_ids
Section titled “Subtable: admins__team_priority_level__primary_team_ids”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
value |
INT64 |
|
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: admins__team_priority_level__secondary_team_ids
Section titled “Subtable: admins__team_priority_level__secondary_team_ids”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
value |
INT64 |
|
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
companies (21 columns)
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The type of the company |
app_id |
STRING |
The ID of the application associated with the company |
company_id |
STRING |
The unique identifier of the company |
created_at |
INT64 |
The date and time when the company was created |
id |
STRING |
The ID of the company |
industry |
STRING |
The industry in which the company operates |
monthly_spend |
FLOAT64 |
The monthly spend of the company |
name |
STRING |
The name of the company |
plan__type |
STRING |
The type of the subscription plan |
plan__id |
STRING |
The ID of the subscription plan |
plan__name |
STRING |
The name of the subscription plan |
remote_created_at |
INT64 |
The remote date and time when the company was created |
segments__type |
STRING |
The type of segments associated with the company |
session_count |
INT64 |
The number of sessions related to the company |
size |
INT64 |
The size of the company |
tags__type |
STRING |
The type of tags associated with the company |
updated_at |
INT64 |
The date and time when the company was last updated |
user_count |
INT64 |
The number of users associated with the company |
website |
STRING |
The website of the company |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: companies__segments__segments
Section titled “Subtable: companies__segments__segments”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The type of the segment |
id |
STRING |
The ID of the segment |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: companies__tags__tags
Section titled “Subtable: companies__tags__tags”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The type of the tag |
id |
JSON |
The ID of the tag |
name |
STRING |
The name of the tag |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
company_attributes (19 columns), https://developers.intercom.com/docs/references/2.11/rest-api/api.intercom.io/data-attributes/listdataattributes
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Type of data structure for the company attribute. |
description |
STRING |
Description or details about the company attribute. |
admin_id |
STRING |
The ID of the admin user associated with the company. |
api_writable |
BOOL |
Indicates whether the field is writable through the API. |
archived |
BOOL |
Flag to indicate if the company data is archived. |
created_at |
INT64 |
Timestamp when the company data was created. |
custom |
BOOL |
Custom attribute specific to the company. |
data_type |
STRING |
Type of data stored in the attribute field. |
full_name |
STRING |
Full name associated with the company. |
id |
INT64 |
Unique ID assigned to the company attribute. |
label |
STRING |
Label or display name for the company attribute. |
messenger_writable |
BOOL |
Indicates whether the field is writable through the messenger. |
model |
STRING |
Model or schema used for storing the company attribute. |
name |
STRING |
Name of the company attribute. |
options |
JSON |
Available options or values for the company attribute. |
ui_writable |
BOOL |
Indicates whether the field is writable through the UI. |
updated_at |
INT64 |
Timestamp when the company data was last updated. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
company_segments (9 columns), https://developers.intercom.com/docs/references/2.11/rest-api/api.intercom.io/companies/listattachedsegmentsforcompanies
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The category or type of the company segment. |
count |
INT64 |
The count of company segments returned in the response. |
created_at |
INT64 |
The timestamp when the company segment was created. |
id |
STRING |
The unique identifier associated with the company segment. |
name |
STRING |
The name of the company segment. |
person_type |
STRING |
The type of person associated with the company segment. |
updated_at |
INT64 |
The timestamp when the company segment was last updated. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
contact_attributes (18 columns), https://developers.intercom.com/docs/references/2.11/rest-api/api.intercom.io/data-attributes
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The type of contact attribute (e.g., text, number, boolean). |
description |
STRING |
Description of the contact attribute for better understanding. |
admin_id |
STRING |
Unique identifier for the admin associated with the contact attribute. |
api_writable |
BOOL |
Indicates whether the attribute is writable via API. |
archived |
BOOL |
Flag to signify if the contact attribute is archived. |
created_at |
INT64 |
Timestamp of when the contact attribute was created. |
custom |
BOOL |
Indicates if the attribute is a custom user-defined field. |
data_type |
STRING |
The data type of the contact attribute value. |
full_name |
STRING |
The full name associated with the contact attribute. |
id |
INT64 |
Unique identifier for the contact attribute. |
label |
STRING |
Label representing the attribute in user interfaces. |
messenger_writable |
BOOL |
Indicates whether the attribute is writable via messenger. |
model |
STRING |
Model to which the contact attribute is associated. |
name |
STRING |
The name of the contact attribute. |
ui_writable |
BOOL |
Indicates whether the attribute is writable via user interface. |
updated_at |
INT64 |
Timestamp of when the contact attribute was last updated. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: contact_attributes__options
Section titled “Subtable: contact_attributes__options”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
value |
STRING |
|
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
contacts (75 columns), https://developers.intercom.com/docs/references/2.11/rest-api/api.intercom.io/contacts/searchcontacts
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Type of contact. |
android_app_name |
STRING |
The name of the Android app associated with the contact. |
android_app_version |
STRING |
The version of the Android app associated with the contact. |
android_device |
STRING |
The device used by the contact for Android. |
android_last_seen_at |
TIMESTAMP |
The date and time when the contact was last seen on Android. |
android_os_version |
STRING |
The operating system version of the Android device. |
android_sdk_version |
STRING |
The SDK version of the Android device. |
avatar |
STRING |
URL pointing to the contact’s avatar image. |
browser |
STRING |
The browser used by the contact. |
browser_language |
STRING |
The language preference set in the contact’s browser. |
browser_version |
STRING |
The version of the browser used by the contact. |
companies__type |
STRING |
Type of connection with the companies. |
companies__has_more |
BOOL |
Flag indicating if there are more companies to load. |
companies__total_count |
INT64 |
Total count of companies associated with the contact. |
companies__url |
STRING |
URL to access more company information. |
created_at |
INT64 |
The date and time when the contact was created. |
email |
STRING |
The email address of the contact. |
external_id |
STRING |
External identifier for the contact. |
has_hard_bounced |
BOOL |
Flag indicating if the contact has hard bounced. |
id |
STRING |
The unique identifier of the contact. |
ios_app_name |
STRING |
The name of the iOS app associated with the contact. |
ios_app_version |
STRING |
The version of the iOS app associated with the contact. |
ios_device |
STRING |
The device used by the contact for iOS. |
ios_last_seen_at |
INT64 |
The date and time when the contact was last seen on iOS. |
ios_os_version |
STRING |
The operating system version of the iOS device. |
ios_sdk_version |
STRING |
The SDK version of the iOS device. |
language_override |
STRING |
Language override set for the contact. |
last_contacted_at |
INT64 |
The date and time when the contact was last contacted. |
last_email_clicked_at |
INT64 |
The date and time when the contact last clicked an email. |
last_email_opened_at |
INT64 |
The date and time when the contact last opened an email. |
last_replied_at |
INT64 |
The date and time when the contact last replied. |
last_seen_at |
INT64 |
The date and time when the contact was last seen overall. |
location__type |
STRING |
Type of location. |
location__city |
STRING |
City of the contact’s location. |
location__continent_code |
STRING |
Continent code of the contact’s location. |
location__country |
STRING |
Country of the contact’s location. |
location__country_code |
STRING |
Country code of the contact’s location. |
location__region |
STRING |
Region of the contact’s location. |
marked_email_as_spam |
BOOL |
Flag indicating if the contact’s email was marked as spam. |
name |
STRING |
The name of the contact. |
notes__type |
STRING |
Type of connection with the notes. |
notes__has_more |
BOOL |
Flag indicating if there are more notes to load. |
notes__total_count |
INT64 |
Total count of notes associated with the contact. |
notes__url |
STRING |
URL to access more note information. |
opted_in_subscription_types__type |
STRING |
Type of connection with the subscription types. |
opted_in_subscription_types__has_more |
BOOL |
Flag indicating if there are more subscription types to load. |
opted_in_subscription_types__total_count |
INT64 |
Total count of subscription types the contact opted into. |
opted_in_subscription_types__url |
STRING |
URL to access more subscription type information. |
opted_out_subscription_types__type |
STRING |
Type of connection with the subscription types. |
opted_out_subscription_types__has_more |
BOOL |
Flag indicating if there are more subscription types to load. |
opted_out_subscription_types__total_count |
INT64 |
Total count of subscription types the contact opted out from. |
opted_out_subscription_types__url |
STRING |
URL to access more subscription type information. |
os |
STRING |
Operating system of the contact’s device. |
owner_id |
INT64 |
The unique identifier of the contact’s owner. |
phone |
STRING |
The phone number of the contact. |
referrer |
STRING |
Referrer information related to the contact. |
role |
STRING |
Role or position of the contact. |
signed_up_at |
INT64 |
The date and time when the contact signed up. |
sms_consent |
BOOL |
Consent status for SMS communication. |
social_profiles__type |
STRING |
Type of social profile connection. |
tags__type |
STRING |
Type of connection with the tags. |
tags__has_more |
BOOL |
Flag indicating if there are more tags to load. |
tags__total_count |
INT64 |
Total count of tags associated with the contact. |
tags__url |
STRING |
URL to access more tag information. |
unsubscribed_from_emails |
BOOL |
Flag indicating if the contact unsubscribed from emails. |
unsubscribed_from_sms |
BOOL |
Flag indicating if the contact unsubscribed from SMS. |
updated_at |
INT64 |
The date and time when the contact was last updated. |
utm_campaign |
STRING |
Campaign data from UTM parameters. |
utm_content |
STRING |
Content data from UTM parameters. |
utm_medium |
STRING |
Medium data from UTM parameters. |
utm_source |
STRING |
Source data from UTM parameters. |
utm_term |
STRING |
Term data from UTM parameters. |
workspace_id |
STRING |
The unique identifier of the workspace associated with the contact. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: contacts__companies__data
Section titled “Subtable: contacts__companies__data”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Type of company. |
id |
STRING |
The unique identifier of the company. |
url |
STRING |
URL of the company. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: contacts__notes__data
Section titled “Subtable: contacts__notes__data”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Type of note. |
id |
STRING |
The unique identifier of the note. |
url |
STRING |
URL of the note. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: contacts__opted_in_subscription_types__data
Section titled “Subtable: contacts__opted_in_subscription_types__data”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Type of subscription. |
id |
STRING |
The unique identifier of the subscription type. |
url |
STRING |
URL of the subscription type. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: contacts__opted_out_subscription_types__data
Section titled “Subtable: contacts__opted_out_subscription_types__data”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Type of subscription. |
id |
STRING |
The unique identifier of the subscription type. |
url |
STRING |
URL of the subscription type. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: contacts__social_profiles__data
Section titled “Subtable: contacts__social_profiles__data”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Type of social profile. |
name |
STRING |
Name of the social profile. |
url |
STRING |
URL of the social profile. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: contacts__tags__data
Section titled “Subtable: contacts__tags__data”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Type of tag. |
id |
STRING |
The unique identifier of the tag. |
url |
STRING |
URL of the tag. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
conversation_parts (20 columns), https://developers.intercom.com/docs/references/2.11/rest-api/api.intercom.io/conversations/retrieveconversation
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The type of conversation part, such as message or note. |
assigned_to |
JSON |
The user or team member who is assigned to handle this conversation part. |
author__type |
STRING |
The type of author, such as customer or agent. |
author__email |
STRING |
The email address of the conversation author. |
author__id |
STRING |
The unique identifier of the conversation author. |
author__name |
STRING |
The name of the conversation author. |
body |
STRING |
The main content or message body of the conversation part. |
conversation_created_at |
INT64 |
The date and time when the conversation was created. |
conversation_id |
INT64 |
The unique identifier of the conversation. |
conversation_total_parts |
INT64 |
The total number of parts in the conversation. |
conversation_updated_at |
INT64 |
The date and time when the conversation was last updated. |
created_at |
INT64 |
The date and time when the conversation part was created. |
external_id |
STRING |
An external identifier associated with the conversation part. |
id |
STRING |
The unique identifier of the conversation part. |
notified_at |
INT64 |
The date and time when the conversation part was last notified. |
part_type |
STRING |
The type or category of the conversation part. |
redacted |
BOOL |
Indicates if the conversation part has been redacted or censored. |
updated_at |
INT64 |
The date and time when the conversation part was last updated. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: conversation_parts__attachments
Section titled “Subtable: conversation_parts__attachments”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The type or category of the attachment. |
content_type |
STRING |
The MIME type of the attachment content. |
filesize |
INT64 |
The size of the attachment file in bytes. |
height |
INT64 |
The height dimension of the attachment in pixels. |
name |
STRING |
The filename or name of the attachment. |
url |
STRING |
The URL or location where the attachment can be accessed. |
width |
INT64 |
The width dimension of the attachment in pixels. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
conversations (98 columns), https://developers.intercom.com/docs/references/2.11/rest-api/api.intercom.io/conversations/searchconversations
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The type of the conversation |
admin_assignee_id |
INT64 |
The ID of the administrator assigned to the conversation |
assignee__type |
STRING |
The type of the assignee (e.g., admin, agent) |
assignee__email |
STRING |
The email of the assignee |
assignee__id |
STRING |
The ID of the assignee |
assignee__name |
STRING |
The name of the assignee |
conversation_message__type |
STRING |
The type of the conversation message |
conversation_message__attachments |
JSON |
Attachments in the conversation message |
conversation_message__author__type |
STRING |
The type of the author (e.g., admin, customer) |
conversation_message__author__email |
STRING |
The email of the author of the message |
conversation_message__author__id |
STRING |
The ID of the author of the message |
conversation_message__author__name |
STRING |
The name of the author of the message |
conversation_message__body |
STRING |
The body/content of the conversation message |
conversation_message__delivered_as |
STRING |
The delivery status of the message |
conversation_message__id |
STRING |
The ID of the conversation message |
conversation_message__subject |
STRING |
The subject of the conversation message |
conversation_message__url |
STRING |
The URL of the conversation message |
conversation_rating__created_at |
INT64 |
The timestamp when the rating was created |
conversation_rating__customer__type |
STRING |
The type of the customer providing the rating |
conversation_rating__customer__id |
STRING |
The ID of the customer who provided the rating |
conversation_rating__rating |
INT64 |
The rating given to the conversation |
conversation_rating__remark |
STRING |
Any remarks provided with the rating |
conversation_rating__teammate__type |
STRING |
The type of the teammate being rated |
conversation_rating__teammate__id |
INT64 |
The ID of the teammate being rated |
created_at |
INT64 |
The timestamp when the conversation was created |
customer_first_reply__type |
STRING |
The type of the first customer reply |
customer_first_reply__created_at |
INT64 |
The timestamp of the customer’s first reply |
customer_first_reply__url |
STRING |
The URL of the first customer reply |
customers |
JSON |
List of customers involved in the conversation |
first_contact_reply__type |
STRING |
The type of the first contact reply |
first_contact_reply__created_at |
INT64 |
The timestamp of the first contact’s reply |
first_contact_reply__url |
STRING |
The URL of the first contact reply |
id |
STRING |
The unique ID of the conversation |
open |
BOOL |
Indicates if the conversation is open or closed |
priority |
STRING |
The priority level of the conversation |
read |
BOOL |
Indicates if the conversation has been read |
redacted |
BOOL |
Indicates if the conversation is redacted |
sent_at |
INT64 |
The timestamp when the conversation was sent |
sla_applied__sla_name |
STRING |
The name of the SLA applied |
sla_applied__sla_status |
STRING |
The status of the SLA applied |
snoozed_until |
INT64 |
Timestamp until the conversation is snoozed |
source__type |
STRING |
The type of the source |
source__author__type |
STRING |
The type of the source author (e.g., admin, customer) |
source__author__email |
STRING |
The email of the source author |
source__author__id |
STRING |
The ID of the source author |
source__author__name |
STRING |
The name of the source author |
source__body |
STRING |
The body/content of the source |
source__delivered_as |
STRING |
The delivery status of the source |
source__id |
STRING |
The ID of the source |
source__redacted |
BOOL |
Indicates if the source is redacted |
source__subject |
STRING |
The subject of the source |
source__url |
STRING |
The URL of the source |
state |
STRING |
The state of the conversation (e.g., new, in progress) |
statistics__type |
STRING |
The type of conversation statistics |
statistics__count_assignments |
INT64 |
The total count of assignments for the conversation |
statistics__count_conversation_parts |
INT64 |
The total count of conversation parts |
statistics__count_reopens |
INT64 |
The total count of conversation reopens |
statistics__first_admin_reply_at |
INT64 |
Timestamp of the first admin reply |
statistics__first_assignment_at |
INT64 |
Timestamp of the first assignment |
statistics__first_close_at |
INT64 |
Timestamp of the first conversation close |
statistics__first_contact_reply_at |
INT64 |
Timestamp of the first contact reply |
statistics__last_admin_reply_at |
INT64 |
Timestamp of the last admin reply |
statistics__last_assignment_admin_reply_at |
INT64 |
Timestamp of the last assignment admin reply |
statistics__last_assignment_at |
INT64 |
Timestamp of the last assignment |
statistics__last_close_at |
INT64 |
Timestamp of the last conversation close |
statistics__last_closed_by_id |
INT64 |
The ID of the last user who closed the conversation |
statistics__last_contact_reply_at |
INT64 |
Timestamp of the last contact reply |
statistics__median_time_to_reply |
INT64 |
The median time taken to reply to the conversation |
statistics__time_to_admin_reply |
INT64 |
Time taken to reply by admin |
statistics__time_to_assignment |
INT64 |
Time taken for assignment |
statistics__time_to_first_close |
INT64 |
Time taken to first close the conversation |
statistics__time_to_last_close |
INT64 |
Time taken to last close the conversation |
team_assignee_id |
INT64 |
The ID of the team assigned to the conversation |
teammates__type |
STRING |
The type of teammates |
title |
STRING |
The title of the conversation |
topics__type |
STRING |
The type of topics |
topics__total_count |
INT64 |
The total count of topics |
updated_at |
INT64 |
The timestamp when the conversation was last updated |
user__type |
STRING |
The type of the user |
user__id |
STRING |
The ID of the user associated with the conversation |
waiting_since |
INT64 |
Timestamp since waiting for a response |
ai_agent__source_type |
STRING |
The type of the source that triggered AI Agent involvement |
ai_agent__source_id |
STRING |
The ID of the source that triggered AI Agent involvement |
ai_agent__triggered_at |
INT64 |
The timestamp when AI Agent was triggered, represented as a Unix timestamp |
ai_agent__source_title |
STRING |
The title of the source that triggered AI Agent involvement. Returns null if the source_type is ‘essentials_plan_setup’. |
ai_agent__last_answer_type |
STRING |
The type of the last answer delivered by AI Agent. Returns null if no answer has been delivered. |
ai_agent__resolution_state |
STRING |
The resolution state of AI Agent. Returns null if no AI or custom answer has been delivered. |
ai_agent__rating |
INT64 |
The customer satisfaction rating given to AI Agent, on a scale from 1 to 5 |
ai_agent__rating_remark |
STRING |
The customer satisfaction rating remark provided for AI Agent |
ai_agent__content_sources__type |
STRING |
The type of the content source list |
ai_agent__content_sources__total_count |
INT64 |
The total number of content sources used by AI Agent in the conversation |
linked_objects__type |
STRING |
The type of linked objects list |
linked_objects__has_more |
BOOL |
Indicates whether there are additional linked objects beyond those returned |
linked_objects__total_count |
INT64 |
The total number of linked objects associated with the conversation |
linked_objects__url |
STRING |
The URL to access additional linked objects, if applicable |
ai_agent_participated |
BOOL |
Indicates whether AI Agent participated in the conversation |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: conversations__source__attachments
Section titled “Subtable: conversations__source__attachments”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: conversations__teammates__admins
Section titled “Subtable: conversations__teammates__admins”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The type of the teammate (admin) |
id |
STRING |
The ID of the teammate admin |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: conversations__topics__topics
Section titled “Subtable: conversations__topics__topics”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The type of the topic |
id |
INT64 |
The ID of the topic |
name |
STRING |
The name of the topic |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: conversations__ai_agent__content_sources__content_sources
Section titled “Subtable: conversations__ai_agent__content_sources__content_sources”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
content_type |
STRING |
The type of the content source |
url |
STRING |
The internal URL linking to the content source, accessible to teammates |
title |
STRING |
The title of the content source |
locale |
STRING |
The ISO 639 language code of the content source |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: conversations__linked_objects__data
Section titled “Subtable: conversations__linked_objects__data”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The type of the linked object |
id |
STRING |
The ID of the linked object |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
segments (9 columns), https://developers.intercom.com/docs/references/2.11/rest-api/api.intercom.io/segments/listsegments
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The type or category of the segment |
count |
INT64 |
The number of items in the segment |
created_at |
INT64 |
The date and time when the segment was created |
id |
STRING |
Unique identifier for the segment |
name |
STRING |
The name or title of the segment |
person_type |
STRING |
Type of persons included in the segment |
updated_at |
INT64 |
The date and time when the segment was last updated |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
tags (5 columns), https://developers.intercom.com/docs/references/2.11/rest-api/api.intercom.io/tags/listtags
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Type of the tag indicating its purpose or category. |
id |
STRING |
Unique identifier for the tag. |
name |
STRING |
Name of the tag used for identification. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
teams (6 columns), https://developers.intercom.com/docs/references/2.11/rest-api/api.intercom.io/teams/listteams
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Type of team (e.g., ‘internal’, ‘external’). |
admin_ids |
JSON |
Array of user IDs representing the admins of the team. |
id |
STRING |
Unique identifier for the team. |
name |
STRING |
Name of the team. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
tickets (33 columns), https://developers.intercom.com/docs/references/2.11/rest-api/api.intercom.io/tickets/searchtickets
| Column | Type | Description |
|---|---|---|
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Always ticket. |
admin_assignee_id |
STRING |
The id representing the admin assigned to the ticket. |
category |
STRING |
Category of the Ticket. |
contacts__type |
STRING |
Always contact.list. |
created_at |
INT64 |
The time the ticket was created as a UTC Unix timestamp. |
id |
STRING |
The unique identifier for the ticket which is given by Intercom. |
is_shared |
BOOL |
Whether or not the ticket is shared with the customer. |
linked_objects__type |
STRING |
Always list. |
linked_objects__has_more |
BOOL |
Whether or not there are more linked objects than returned. |
linked_objects__total_count |
INT64 |
The total number of linked objects. |
open |
BOOL |
Whether or not the ticket is open. If false, the ticket is closed. |
snoozed_until |
INT64 |
The time the ticket will be snoozed until as a UTC Unix timestamp. If null, the ticket is not currently snoozed. |
team_assignee_id |
STRING |
The id representing the team assigned to the ticket. |
ticket_id |
STRING |
The ID of the Ticket used in the Intercom Inbox and Messenger. Do not use ticket_id for API queries. |
ticket_parts__type |
STRING |
Value ticket_part.list. |
ticket_parts__total_count |
INT64 |
Total count of ticket parts. |
ticket_state |
STRING |
The state the ticket is currently in. |
ticket_state_external_label |
STRING |
The state the ticket is currently in, in a human readable form - visible to customers, in the messenger, email and tickets portal. |
ticket_state_internal_label |
STRING |
The state the ticket is currently in, in a human readable form - visible in Intercom. |
ticket_type__type |
STRING |
String representing the object’s type. Always has the value ticket_type. |
ticket_type__description |
STRING |
The description of the ticket type. |
ticket_type__archived |
BOOL |
Whether the ticket type is archived or not. |
ticket_type__category |
STRING |
Category of the Ticket Type. |
ticket_type__created_at |
INT64 |
The date and time the ticket type was created. |
ticket_type__icon |
STRING |
The icon of the ticket type. |
ticket_type__id |
STRING |
The id representing the ticket type. |
ticket_type__name |
STRING |
The name of the ticket type. |
ticket_type__ticket_type_attributes__type |
STRING |
String representing the object’s type. Always has the value ticket_type_attributes.list. |
ticket_type__updated_at |
INT64 |
The date and time the ticket type was last updated. |
ticket_type__workspace_id |
STRING |
The id of the workspace that the ticket type belongs to. |
updated_at |
INT64 |
The last time the ticket was updated as a UTC Unix timestamp. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: tickets__contacts__contacts
Section titled “Subtable: tickets__contacts__contacts”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Always contact. |
external_id |
STRING |
The unique identifier for the contact which is provided by the Client. |
id |
STRING |
The unique identifier for the contact which is given by Intercom. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: tickets__linked_objects__data
Section titled “Subtable: tickets__linked_objects__data”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Ticket or conversation. |
category |
STRING |
Category of the Linked Ticket Object.. |
id |
STRING |
The ID of the linked object. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: tickets__ticket_parts__ticket_parts
Section titled “Subtable: tickets__ticket_parts__ticket_parts”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
Always ticket_part. |
assigned_to__type |
STRING |
Example - contact. |
assigned_to__id |
STRING |
Example - 1a2b3c. |
author__type |
STRING |
The type of the author. |
author__email |
STRING |
The email of the author. |
author__id |
STRING |
The id of the author. |
author__name |
STRING |
The name of the author. |
body |
STRING |
The message body, which may contain HTML. |
created_at |
INT64 |
The time the ticket part was created. |
external_id |
STRING |
The external id of the ticket part. |
id |
STRING |
The id representing the ticket part. |
part_type |
STRING |
The type of ticket part. |
previous_ticket_state |
STRING |
The previous state of the ticket. |
redacted |
BOOL |
Whether or not the ticket part has been redacted. |
ticket_state |
STRING |
The state of the ticket. |
updated_at |
INT64 |
The last time the ticket part was updated. |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
Subtable: tickets__ticket_parts__ticket_parts__attachments
Section titled “Subtable: tickets__ticket_parts__ticket_parts__attachments”| Column | Type | Description |
|---|---|---|
_kaivo_parent_id |
STRING |
Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo. |
_kaivo_id |
STRING |
Primary key that uniquely identifies the row. Auto-generated by Kaivo. |
type |
STRING |
The type of attachment |
content_type |
STRING |
The content type of attachment |
filesize |
INT64 |
The file size of attachment |
height |
INT64 |
The height of attachment |
name |
STRING |
The name of attachment |
url |
STRING |
The url of attachment |
width |
INT64 |
The width of attachment |
_kaivo_extracted_at |
TIMESTAMP |
Timestamp that shows when the row was extracted. Auto-generated by Kaivo. |
How the Intercom sync works
Section titled “How the Intercom sync works”After the first load, Kaivo keeps your BigQuery warehouse up to date for you. Where Intercom supports it, each sync pulls only new and changed records so it stays fast; otherwise it refreshes the whole table. Every record keeps its original ID, so you won’t get duplicate rows.
Frequently asked questions
Section titled “Frequently asked questions”How long does the initial sync take for Intercom?
Section titled “How long does the initial sync take for Intercom?”It depends on how much history is in your Intercom account. Most initial syncs finish within minutes, while large accounts can take a few hours. After that, syncs only fetch new and changed records, so they’re much faster.
Can I sync only some tables or columns?
Section titled “Can I sync only some tables or columns?”Yes. You pick which tables to sync when you set up the connection and can change the selection later. Tables you don’t select are never copied to your warehouse.
What happens when Intercom’s schema changes?
Section titled “What happens when Intercom’s schema changes?”New fields are never added automatically. You choose which fields to sync, so data you haven’t selected (sensitive personal data, for example) never lands in your warehouse. When a new field appears, it becomes available for you to add. What happens to removed or renamed fields depends on a table’s sync mode: full-refresh tables always match what’s currently in Intercom, so dropped fields disappear, while incremental tables keep their existing columns and history, so an old field stays and newly added fields fill in over time.
How do I handle GDPR or data deletion requests?
Section titled “How do I handle GDPR or data deletion requests?”Your data lives in your own Kaivo-managed BigQuery warehouse, so the most direct option is to delete or anonymise specific records right in BigQuery. If you delete data in Intercom instead, full-refresh tables drop it on the next sync, while incremental tables keep it, so you would remove the row in BigQuery or ask us to run a full refresh. To remove everything, delete the Intercom connector in Kaivo and all of its synced data is deleted with it.
Common use cases for Intercom data
Section titled “Common use cases for Intercom data”Support volume
Section titled “Support volume”Use conversations and conversation_parts to track volume, first response, and resolution time.
Team performance
Section titled “Team performance”Join tickets to teams and admins to compare workload and resolution across the team.
Customer view
Section titled “Customer view”Use contacts, companies, and segments to see which accounts raise the most conversations.
Combine with product data
Section titled “Combine with product data”Join Intercom activity with product usage in BigQuery to see what drives support load.
Use Intercom data in your AI and BI tools
Section titled “Use Intercom data in your AI and BI tools”Once Intercom data lands in your Kaivo-managed BigQuery warehouse, you can explore it with AI tools or any BI tool that connects to BigQuery. Here’s how the most common destinations work with Intercom data.
Claude
Section titled “Claude”Use Kaivo’s MCP server to give Claude secure, workspace-scoped access to your data. Setup guide →
Power BI
Section titled “Power BI”Microsoft’s BI tool with a native BigQuery connector. Supports direct query and scheduled refresh. Setup guide →
Data Studio
Section titled “Data Studio”Free Google BI tool with native BigQuery support. One-click connection to your Kaivo warehouse; great for SMB teams on Google Workspace. Setup guide →
Tableau
Section titled “Tableau”The premium analytics standard, with native BigQuery integration. Setup guide →
Google Sheets
Section titled “Google Sheets”Use Connected Sheets to query BigQuery directly from a spreadsheet, with no SQL. Setup guide →
Connect via Power Query’s BigQuery connector. Setup guide →
Metabase
Section titled “Metabase”Open-source BI tool with strong BigQuery support. Setup guide →
See our pricing page for Intercom connector pricing and plan details.
Related connectors
Section titled “Related connectors”- Google Ads: Sync Google Ads to BigQuery.
- Custobar: Sync Custobar to BigQuery.
- Google Search Console: Sync Google Search Console to BigQuery.
- HubSpot: Sync HubSpot to BigQuery.
- Adform: Sync Adform to BigQuery.
- Amplitude: Sync Amplitude to BigQuery.