This is the full reference documentation for the Intercom agent connector.
Supported entities and actions
The Intercom connector supports the following entities and actions.
| Entity | Actions |
|---|
| Contacts | List, Create, Get, Update, Delete, Context Store Search, Context Store SQL Query |
| Conversations | List, Create, Get, Update, Delete, Context Store Search, Context Store SQL Query, Semantic Search |
| Companies | List, Create, Get, Update, Delete, Context Store Search, Context Store SQL Query |
| Teams | List, Get, Context Store Search, Context Store SQL Query |
| Admins | List, Get |
| Tags | List, Create, Get, Delete |
| Notes | Create |
| Segments | List, Get |
| Internal Articles | Create, Update, Delete |
Returns a paginated list of contacts in the workspace
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "contacts",
"action": "list"
}'
Python SDK
await intercom.contacts.list()
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "list"
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
per_page | integer | No | Number of contacts to return per page |
starting_after | string | No | Cursor for pagination - get contacts after this ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
workspace_id | string | null | |
external_id | string | null | |
role | string | null | |
email | string | null | |
phone | string | null | |
name | string | null | |
avatar | string | null | |
owner_id | integer | null | |
social_profiles | object | any | |
has_hard_bounced | boolean | null | |
marked_email_as_spam | boolean | null | |
unsubscribed_from_emails | boolean | null | |
created_at | integer | null | |
updated_at | integer | null | |
signed_up_at | integer | null | |
last_seen_at | integer | null | |
last_replied_at | integer | null | |
last_contacted_at | integer | null | |
last_email_opened_at | integer | null | |
last_email_clicked_at | integer | null | |
language_override | string | null | |
browser | string | null | |
browser_version | string | null | |
browser_language | string | null | |
os | string | null | |
location | object | any | |
android_app_name | string | null | |
android_app_version | string | null | |
android_device | string | null | |
android_os_version | string | null | |
android_sdk_version | string | null | |
android_last_seen_at | integer | null | |
ios_app_name | string | null | |
ios_app_version | string | null | |
ios_device | string | null | |
ios_os_version | string | null | |
ios_sdk_version | string | null | |
ios_last_seen_at | integer | null | |
custom_attributes | object | null | |
tags | object | any | |
notes | object | any | |
companies | object | any | |
| Field Name | Type | Description |
|---|
next_page | string | null | |
Create a new contact (user or lead)
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "contacts",
"action": "create",
"params": {
"role": "<str>",
"external_id": "<str>",
"email": "<str>",
"phone": "<str>",
"name": "<str>",
"avatar": "<str>",
"signed_up_at": 0,
"last_seen_at": 0,
"owner_id": 0,
"unsubscribed_from_emails": true,
"custom_attributes": {}
}
}'
Python SDK
await intercom.contacts.create(
role="<str>",
external_id="<str>",
email="<str>",
phone="<str>",
name="<str>",
avatar="<str>",
signed_up_at=0,
last_seen_at=0,
owner_id=0,
unsubscribed_from_emails=True,
custom_attributes={}
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "create",
"params": {
"role": "<str>",
"external_id": "<str>",
"email": "<str>",
"phone": "<str>",
"name": "<str>",
"avatar": "<str>",
"signed_up_at": 0,
"last_seen_at": 0,
"owner_id": 0,
"unsubscribed_from_emails": True,
"custom_attributes": {}
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
role | string | Yes | The role of the contact (user or lead) |
external_id | string | No | A unique identifier for the contact from your system |
email | string | No | The contact's email address |
phone | string | No | The contact's phone number |
name | string | No | The contact's full name |
avatar | string | No | An image URL for the contact's avatar |
signed_up_at | integer | No | Sign up timestamp (Unix) |
last_seen_at | integer | No | Last seen timestamp (Unix) |
owner_id | integer | No | The ID of the admin assigned as owner |
unsubscribed_from_emails | boolean | No | Whether the contact is unsubscribed from emails |
custom_attributes | object | No | Custom attributes for the contact |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
workspace_id | string | null | |
external_id | string | null | |
role | string | null | |
email | string | null | |
phone | string | null | |
name | string | null | |
avatar | string | null | |
owner_id | integer | null | |
social_profiles | object | any | |
has_hard_bounced | boolean | null | |
marked_email_as_spam | boolean | null | |
unsubscribed_from_emails | boolean | null | |
created_at | integer | null | |
updated_at | integer | null | |
signed_up_at | integer | null | |
last_seen_at | integer | null | |
last_replied_at | integer | null | |
last_contacted_at | integer | null | |
last_email_opened_at | integer | null | |
last_email_clicked_at | integer | null | |
language_override | string | null | |
browser | string | null | |
browser_version | string | null | |
browser_language | string | null | |
os | string | null | |
location | object | any | |
android_app_name | string | null | |
android_app_version | string | null | |
android_device | string | null | |
android_os_version | string | null | |
android_sdk_version | string | null | |
android_last_seen_at | integer | null | |
ios_app_name | string | null | |
ios_app_version | string | null | |
ios_device | string | null | |
ios_os_version | string | null | |
ios_sdk_version | string | null | |
ios_last_seen_at | integer | null | |
custom_attributes | object | null | |
tags | object | any | |
notes | object | any | |
companies | object | any | |
Get a single contact by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "contacts",
"action": "get",
"params": {
"id": "<str>"
}
}'
Python SDK
await intercom.contacts.get(
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "get",
"params": {
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
id | string | Yes | Contact ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
workspace_id | string | null | |
external_id | string | null | |
role | string | null | |
email | string | null | |
phone | string | null | |
name | string | null | |
avatar | string | null | |
owner_id | integer | null | |
social_profiles | object | any | |
has_hard_bounced | boolean | null | |
marked_email_as_spam | boolean | null | |
unsubscribed_from_emails | boolean | null | |
created_at | integer | null | |
updated_at | integer | null | |
signed_up_at | integer | null | |
last_seen_at | integer | null | |
last_replied_at | integer | null | |
last_contacted_at | integer | null | |
last_email_opened_at | integer | null | |
last_email_clicked_at | integer | null | |
language_override | string | null | |
browser | string | null | |
browser_version | string | null | |
browser_language | string | null | |
os | string | null | |
location | object | any | |
android_app_name | string | null | |
android_app_version | string | null | |
android_device | string | null | |
android_os_version | string | null | |
android_sdk_version | string | null | |
android_last_seen_at | integer | null | |
ios_app_name | string | null | |
ios_app_version | string | null | |
ios_device | string | null | |
ios_os_version | string | null | |
ios_sdk_version | string | null | |
ios_last_seen_at | integer | null | |
custom_attributes | object | null | |
tags | object | any | |
notes | object | any | |
companies | object | any | |
Update an existing contact by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "contacts",
"action": "update",
"params": {
"role": "<str>",
"external_id": "<str>",
"email": "<str>",
"phone": "<str>",
"name": "<str>",
"avatar": "<str>",
"signed_up_at": 0,
"last_seen_at": 0,
"owner_id": 0,
"unsubscribed_from_emails": true,
"custom_attributes": {},
"id": "<str>"
}
}'
Python SDK
await intercom.contacts.update(
role="<str>",
external_id="<str>",
email="<str>",
phone="<str>",
name="<str>",
avatar="<str>",
signed_up_at=0,
last_seen_at=0,
owner_id=0,
unsubscribed_from_emails=True,
custom_attributes={},
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "update",
"params": {
"role": "<str>",
"external_id": "<str>",
"email": "<str>",
"phone": "<str>",
"name": "<str>",
"avatar": "<str>",
"signed_up_at": 0,
"last_seen_at": 0,
"owner_id": 0,
"unsubscribed_from_emails": True,
"custom_attributes": {},
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
role | string | No | The role of the contact (user or lead) |
external_id | string | No | A unique identifier for the contact from your system |
email | string | No | The contact's email address |
phone | string | No | The contact's phone number |
name | string | No | The contact's full name |
avatar | string | No | An image URL for the contact's avatar |
signed_up_at | integer | No | Sign up timestamp (Unix) |
last_seen_at | integer | No | Last seen timestamp (Unix) |
owner_id | integer | No | The ID of the admin assigned as owner |
unsubscribed_from_emails | boolean | No | Whether the contact is unsubscribed from emails |
custom_attributes | object | No | Custom attributes for the contact |
id | string | Yes | Contact ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
workspace_id | string | null | |
external_id | string | null | |
role | string | null | |
email | string | null | |
phone | string | null | |
name | string | null | |
avatar | string | null | |
owner_id | integer | null | |
social_profiles | object | any | |
has_hard_bounced | boolean | null | |
marked_email_as_spam | boolean | null | |
unsubscribed_from_emails | boolean | null | |
created_at | integer | null | |
updated_at | integer | null | |
signed_up_at | integer | null | |
last_seen_at | integer | null | |
last_replied_at | integer | null | |
last_contacted_at | integer | null | |
last_email_opened_at | integer | null | |
last_email_clicked_at | integer | null | |
language_override | string | null | |
browser | string | null | |
browser_version | string | null | |
browser_language | string | null | |
os | string | null | |
location | object | any | |
android_app_name | string | null | |
android_app_version | string | null | |
android_device | string | null | |
android_os_version | string | null | |
android_sdk_version | string | null | |
android_last_seen_at | integer | null | |
ios_app_name | string | null | |
ios_app_version | string | null | |
ios_device | string | null | |
ios_os_version | string | null | |
ios_sdk_version | string | null | |
ios_last_seen_at | integer | null | |
custom_attributes | object | null | |
tags | object | any | |
notes | object | any | |
companies | object | any | |
Permanently delete a contact by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "contacts",
"action": "delete",
"params": {
"id": "<str>"
}
}'
Python SDK
await intercom.contacts.delete(
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "delete",
"params": {
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
id | string | Yes | The unique identifier of the contact to delete |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | |
id | string | |
external_id | string | null | |
deleted | boolean | |
Contacts Context Store Search
Search and filter contacts records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "contacts",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"android_app_name": "<str>"
}
}
}
}
}'
Python SDK
await intercom.contacts.context_store_search(
query={"filter": {"eq": {"android_app_name": "<str>"}}}
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"android_app_name": "<str>"}}}
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
query | object | Yes | Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or |
query.filter | object | No | Filter conditions |
query.sort | array | No | Sort conditions |
limit | integer | No | Maximum results to return (default 1000) |
cursor | string | No | Pagination cursor from previous response's meta.cursor |
fields | array | No | Field paths to include in results |
Searchable Fields
| Field Name | Type | Description |
|---|
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 | string | 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 | object | Companies associated with the contact. |
created_at | integer | The date and time when the contact was created. |
custom_attributes | object | Custom attributes defined for the contact. |
email | string | The email address of the contact. |
external_id | string | External identifier for the contact. |
has_hard_bounced | boolean | 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 | integer | 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 | integer | The date and time when the contact was last contacted. |
last_email_clicked_at | integer | The date and time when the contact last clicked an email. |
last_email_opened_at | integer | The date and time when the contact last opened an email. |
last_replied_at | integer | The date and time when the contact last replied. |
last_seen_at | integer | The date and time when the contact was last seen overall. |
location | object | Location details of the contact. |
marked_email_as_spam | boolean | Flag indicating if the contact's email was marked as spam. |
name | string | The name of the contact. |
notes | object | Notes associated with the contact. |
opted_in_subscription_types | object | Subscription types the contact opted into. |
opted_out_subscription_types | object | Subscription types the contact opted out from. |
os | string | Operating system of the contact's device. |
owner_id | integer | 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 | integer | The date and time when the contact signed up. |
sms_consent | boolean | Consent status for SMS communication. |
social_profiles | object | Social profiles associated with the contact. |
tags | object | Tags associated with the contact. |
type | string | Type of contact. |
unsubscribed_from_emails | boolean | Flag indicating if the contact unsubscribed from emails. |
unsubscribed_from_sms | boolean | Flag indicating if the contact unsubscribed from SMS. |
updated_at | integer | 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. |
Response Schema
| Field Name | Type | Description |
|---|
data | array | List of matching records |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
data[].android_app_name | string | The name of the Android app associated with the contact. |
data[].android_app_version | string | The version of the Android app associated with the contact. |
data[].android_device | string | The device used by the contact for Android. |
data[].android_last_seen_at | string | The date and time when the contact was last seen on Android. |
data[].android_os_version | string | The operating system version of the Android device. |
data[].android_sdk_version | string | The SDK version of the Android device. |
data[].avatar | string | URL pointing to the contact's avatar image. |
data[].browser | string | The browser used by the contact. |
data[].browser_language | string | The language preference set in the contact's browser. |
data[].browser_version | string | The version of the browser used by the contact. |
data[].companies | object | Companies associated with the contact. |
data[].created_at | integer | The date and time when the contact was created. |
data[].custom_attributes | object | Custom attributes defined for the contact. |
data[].email | string | The email address of the contact. |
data[].external_id | string | External identifier for the contact. |
data[].has_hard_bounced | boolean | Flag indicating if the contact has hard bounced. |
data[].id | string | The unique identifier of the contact. |
data[].ios_app_name | string | The name of the iOS app associated with the contact. |
data[].ios_app_version | string | The version of the iOS app associated with the contact. |
data[].ios_device | string | The device used by the contact for iOS. |
data[].ios_last_seen_at | integer | The date and time when the contact was last seen on iOS. |
data[].ios_os_version | string | The operating system version of the iOS device. |
data[].ios_sdk_version | string | The SDK version of the iOS device. |
data[].language_override | string | Language override set for the contact. |
data[].last_contacted_at | integer | The date and time when the contact was last contacted. |
data[].last_email_clicked_at | integer | The date and time when the contact last clicked an email. |
data[].last_email_opened_at | integer | The date and time when the contact last opened an email. |
data[].last_replied_at | integer | The date and time when the contact last replied. |
data[].last_seen_at | integer | The date and time when the contact was last seen overall. |
data[].location | object | Location details of the contact. |
data[].marked_email_as_spam | boolean | Flag indicating if the contact's email was marked as spam. |
data[].name | string | The name of the contact. |
data[].notes | object | Notes associated with the contact. |
data[].opted_in_subscription_types | object | Subscription types the contact opted into. |
data[].opted_out_subscription_types | object | Subscription types the contact opted out from. |
data[].os | string | Operating system of the contact's device. |
data[].owner_id | integer | The unique identifier of the contact's owner. |
data[].phone | string | The phone number of the contact. |
data[].referrer | string | Referrer information related to the contact. |
data[].role | string | Role or position of the contact. |
data[].signed_up_at | integer | The date and time when the contact signed up. |
data[].sms_consent | boolean | Consent status for SMS communication. |
data[].social_profiles | object | Social profiles associated with the contact. |
data[].tags | object | Tags associated with the contact. |
data[].type | string | Type of contact. |
data[].unsubscribed_from_emails | boolean | Flag indicating if the contact unsubscribed from emails. |
data[].unsubscribed_from_sms | boolean | Flag indicating if the contact unsubscribed from SMS. |
data[].updated_at | integer | The date and time when the contact was last updated. |
data[].utm_campaign | string | Campaign data from UTM parameters. |
data[].utm_content | string | Content data from UTM parameters. |
data[].utm_medium | string | Medium data from UTM parameters. |
data[].utm_source | string | Source data from UTM parameters. |
data[].utm_term | string | Term data from UTM parameters. |
data[].workspace_id | string | The unique identifier of the workspace associated with the contact. |
Contacts Context Store SQL Query
Run a SQL query against contacts records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.
Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "contacts",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'
Python SDK
await intercom.contacts.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
sql | string | Yes | SQL query to execute against this entity's Context Store data |
limit | integer | No | Maximum results to return |
Response Schema
| Field Name | Type | Description |
|---|
data | array | Projected rows, with dictionary keys matching the selected columns |
meta | object | Query metadata |
meta.has_more | boolean | Whether the result was limited and more rows are available |
meta.cursor | null | SQL query results do not use cursor pagination |
meta.took_ms | number | null | Query execution time in milliseconds |
Conversations
Conversations List
Returns a paginated list of conversations
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "conversations",
"action": "list"
}'
Python SDK
await intercom.conversations.list()
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "conversations",
"action": "list"
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
per_page | integer | No | Number of conversations to return per page |
starting_after | string | No | Cursor for pagination |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
title | string | null | |
created_at | integer | null | |
updated_at | integer | null | |
waiting_since | integer | null | |
snoozed_until | integer | null | |
open | boolean | null | |
state | string | null | |
read | boolean | null | |
priority | string | null | |
admin_assignee_id | integer | null | |
team_assignee_id | string | null | |
tags | object | any | |
conversation_rating | object | any | |
source | object | any | |
contacts | object | any | |
teammates | object | any | |
first_contact_reply | object | any | |
sla_applied | object | any | |
statistics | object | any | |
conversation_parts | object | any | |
custom_attributes | object | null | |
| Field Name | Type | Description |
|---|
next_page | string | null | |
Conversations Create
Create a new conversation initiated by a contact (user or lead)
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "conversations",
"action": "create",
"params": {
"from": {
"type": "<str>",
"id": "<str>"
},
"body": "<str>",
"subject": "<str>",
"attachment_urls": [],
"created_at": 0
}
}'
Python SDK
await intercom.conversations.create(
from_={
"type": "<str>",
"id": "<str>"
},
body="<str>",
subject="<str>",
attachment_urls=[],
created_at=0
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "conversations",
"action": "create",
"params": {
"from": {
"type": "<str>",
"id": "<str>"
},
"body": "<str>",
"subject": "<str>",
"attachment_urls": [],
"created_at": 0
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
from | object | Yes | The contact (user or lead) initiating the conversation |
from.type | "lead" | "user" | "contact" | Yes | The type of the contact (lead, user, or contact) |
from.id | string | Yes | The identifier for the contact as given by Intercom (a 24 character UUID) |
body | string | Yes | The content of the initial message in the conversation |
subject | string | No | The subject line of the conversation (optional) |
attachment_urls | array<string> | No | A list of URLs of attached files (max 10) |
created_at | integer | No | Optional timestamp for the conversation creation (Unix) |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
created_at | integer | null | |
subject | string | null | |
body | string | null | |
message_type | string | null | |
conversation_id | string | null | |
Conversations Get
Get a single conversation by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "conversations",
"action": "get",
"params": {
"id": "<str>"
}
}'
Python SDK
await intercom.conversations.get(
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "conversations",
"action": "get",
"params": {
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
id | string | Yes | Conversation ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
title | string | null | |
created_at | integer | null | |
updated_at | integer | null | |
waiting_since | integer | null | |
snoozed_until | integer | null | |
open | boolean | null | |
state | string | null | |
read | boolean | null | |
priority | string | null | |
admin_assignee_id | integer | null | |
team_assignee_id | string | null | |
tags | object | any | |
conversation_rating | object | any | |
source | object | any | |
contacts | object | any | |
teammates | object | any | |
first_contact_reply | object | any | |
sla_applied | object | any | |
statistics | object | any | |
conversation_parts | object | any | |
custom_attributes | object | null | |
Conversations Update
Update conversation attributes such as custom_attributes or read status
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "conversations",
"action": "update",
"params": {
"read": true,
"custom_attributes": {},
"id": "<str>"
}
}'
Python SDK
await intercom.conversations.update(
read=True,
custom_attributes={},
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "conversations",
"action": "update",
"params": {
"read": True,
"custom_attributes": {},
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
read | boolean | No | Mark the conversation as read or unread |
custom_attributes | object | No | Custom attributes to set on the conversation |
id | string | Yes | Conversation ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
title | string | null | |
created_at | integer | null | |
updated_at | integer | null | |
waiting_since | integer | null | |
snoozed_until | integer | null | |
open | boolean | null | |
state | string | null | |
read | boolean | null | |
priority | string | null | |
admin_assignee_id | integer | null | |
team_assignee_id | string | null | |
tags | object | any | |
conversation_rating | object | any | |
source | object | any | |
contacts | object | any | |
teammates | object | any | |
first_contact_reply | object | any | |
sla_applied | object | any | |
statistics | object | any | |
conversation_parts | object | any | |
custom_attributes | object | null | |
Conversations Delete
Permanently delete a conversation by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "conversations",
"action": "delete",
"params": {
"id": "<str>"
}
}'
Python SDK
await intercom.conversations.delete(
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "conversations",
"action": "delete",
"params": {
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
id | string | Yes | Conversation ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
id | string | |
object | string | |
deleted | boolean | |
Conversations Context Store Search
Search and filter conversations records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "conversations",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"admin_assignee_id": 0
}
}
}
}
}'
Python SDK
await intercom.conversations.context_store_search(
query={"filter": {"eq": {"admin_assignee_id": 0}}}
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "conversations",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"admin_assignee_id": 0}}}
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
query | object | Yes | Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or |
query.filter | object | No | Filter conditions |
query.sort | array | No | Sort conditions |
limit | integer | No | Maximum results to return (default 1000) |
cursor | string | No | Pagination cursor from previous response's meta.cursor |
fields | array | No | Field paths to include in results |
Searchable Fields
| Field Name | Type | Description |
|---|
admin_assignee_id | integer | The ID of the administrator assigned to the conversation |
ai_agent | object | Data related to AI Agent involvement in the conversation |
ai_agent_participated | boolean | Indicates whether AI Agent participated in the conversation |
assignee | object | The assigned user responsible for the conversation. |
contacts | object | List of contacts involved in the conversation. |
conversation_message | object | The main message content of the conversation. |
conversation_rating | object | Ratings given to the conversation by the customer and teammate. |
created_at | integer | The timestamp when the conversation was created |
custom_attributes | object | Custom attributes associated with the conversation |
customer_first_reply | object | Timestamp indicating when the customer first replied. |
customers | array | List of customers involved in the conversation |
first_contact_reply | object | Timestamp indicating when the first contact replied. |
id | string | The unique ID of the conversation |
linked_objects | object | Linked objects associated with the conversation |
open | boolean | Indicates if the conversation is open or closed |
priority | string | The priority level of the conversation |
read | boolean | Indicates if the conversation has been read |
redacted | boolean | Indicates if the conversation is redacted |
sent_at | integer | The timestamp when the conversation was sent |
sla_applied | object | Service Level Agreement details applied to the conversation. |
snoozed_until | integer | Timestamp until the conversation is snoozed |
source | object | Source details of the conversation, including the opening message body. |
state | string | The state of the conversation: open, closed, or snoozed |
statistics | object | Statistics related to the conversation. |
tags | object | Tags applied to the conversation. |
team_assignee_id | integer | The ID of the team assigned to the conversation |
teammates | object | List of teammates involved in the conversation. |
title | string | The title of the conversation |
topics | object | Topics associated with the conversation. |
type | string | The type of the conversation |
updated_at | integer | The timestamp when the conversation was last updated |
user | object | The user related to the conversation. |
waiting_since | integer | Timestamp since waiting for a response |
Response Schema
| Field Name | Type | Description |
|---|
data | array | List of matching records |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
data[].admin_assignee_id | integer | The ID of the administrator assigned to the conversation |
data[].ai_agent | object | Data related to AI Agent involvement in the conversation |
data[].ai_agent_participated | boolean | Indicates whether AI Agent participated in the conversation |
data[].assignee | object | The assigned user responsible for the conversation. |
data[].contacts | object | List of contacts involved in the conversation. |
data[].conversation_message | object | The main message content of the conversation. |
data[].conversation_rating | object | Ratings given to the conversation by the customer and teammate. |
data[].created_at | integer | The timestamp when the conversation was created |
data[].custom_attributes | object | Custom attributes associated with the conversation |
data[].customer_first_reply | object | Timestamp indicating when the customer first replied. |
data[].customers | array | List of customers involved in the conversation |
data[].first_contact_reply | object | Timestamp indicating when the first contact replied. |
data[].id | string | The unique ID of the conversation |
data[].linked_objects | object | Linked objects associated with the conversation |
data[].open | boolean | Indicates if the conversation is open or closed |
data[].priority | string | The priority level of the conversation |
data[].read | boolean | Indicates if the conversation has been read |
data[].redacted | boolean | Indicates if the conversation is redacted |
data[].sent_at | integer | The timestamp when the conversation was sent |
data[].sla_applied | object | Service Level Agreement details applied to the conversation. |
data[].snoozed_until | integer | Timestamp until the conversation is snoozed |
data[].source | object | Source details of the conversation, including the opening message body. |
data[].state | string | The state of the conversation: open, closed, or snoozed |
data[].statistics | object | Statistics related to the conversation. |
data[].tags | object | Tags applied to the conversation. |
data[].team_assignee_id | integer | The ID of the team assigned to the conversation |
data[].teammates | object | List of teammates involved in the conversation. |
data[].title | string | The title of the conversation |
data[].topics | object | Topics associated with the conversation. |
data[].type | string | The type of the conversation |
data[].updated_at | integer | The timestamp when the conversation was last updated |
data[].user | object | The user related to the conversation. |
data[].waiting_since | integer | Timestamp since waiting for a response |
Conversations Context Store SQL Query
Run a SQL query against conversations records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.
Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "conversations",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'
Python SDK
await intercom.conversations.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "conversations",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
sql | string | Yes | SQL query to execute against this entity's Context Store data |
limit | integer | No | Maximum results to return |
Response Schema
| Field Name | Type | Description |
|---|
data | array | Projected rows, with dictionary keys matching the selected columns |
meta | object | Query metadata |
meta.has_more | boolean | Whether the result was limited and more rows are available |
meta.cursor | null | SQL query results do not use cursor pagination |
meta.took_ms | number | null | Query execution time in milliseconds |
Conversations Semantic Search
Search conversations records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "conversations",
"action": "context_store_search",
"params": {
"semantic": {"field": "source", "prompt": "<your natural-language query>"}
}
}'
Python SDK
Semantic search is passed through the generic execute method — the typed conversations.context_store_search helper only accepts query.
await intercom.execute(
"conversations",
"context_store_search",
{"semantic": {"field": "source", "prompt": "<your natural-language query>"}},
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "conversations",
"action": "context_store_search",
"params": {
"semantic": {"field": "source", "prompt": "<your natural-language query>"}
}
}'
Semantic Parameters
| Parameter Name | Type | Required | Description |
|---|
semantic.field | string | Yes | Field to search semantically. Mutually exclusive with query. |
semantic.prompt | string | Yes | Natural-language query that is embedded and compared against stored passages. |
semantic.filter | object | No | Filter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity. |
semantic.context_size | integer | No | Characters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window. |
semantic.min_similarity | number | No | Minimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff. |
semantic.dedup | string | No | max (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit. |
fields | array | No | Field paths to include in results (dot notation for nested fields). Applied to each hit's entity. |
limit | integer | No | Maximum results to return (default 10, maximum 100). |
Semantically Searchable Fields
| Field Name | Max Context (chars) | Description |
|---|
source | 2048 | Source details of the conversation, including the opening message body. |
Response Schema
| Field Name | Type | Description |
|---|
data | array | List of matching passages |
data[].entity | object | The matched source record |
data[].entity.id | string | Source record field |
data[].entity.updated_at | string | Source record field |
data[].entity.created_at | string | Source record field |
data[].entity.state | string | Source record field |
data[].entity.priority | string | Source record field |
data[].entity.title | string | Source record field |
data[].entity.author_name | string | Source record field |
data[].entity.delivered_as | string | Source record field |
data[].metadata | object | Match metadata |
data[].metadata.score | number | Similarity score |
data[].metadata.context | string | The matched passage text |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
Companies
Companies List
Returns a paginated list of companies
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "companies",
"action": "list"
}'
Python SDK
await intercom.companies.list()
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "list"
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
per_page | integer | No | Number of companies to return per page |
starting_after | string | No | Cursor for pagination |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
app_id | string | null | |
name | string | null | |
company_id | string | null | |
plan | object | any | |
size | integer | null | |
industry | string | null | |
website | string | null | |
remote_created_at | integer | null | |
created_at | integer | null | |
updated_at | integer | null | |
last_request_at | integer | null | |
session_count | integer | null | |
monthly_spend | number | null | |
user_count | integer | null | |
tags | object | any | |
segments | object | any | |
custom_attributes | object | null | |
| Field Name | Type | Description |
|---|
next_page | string | null | |
Companies Create
Create a new company or update an existing one by company_id
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "companies",
"action": "create",
"params": {
"company_id": "<str>",
"name": "<str>",
"plan": "<str>",
"monthly_spend": 0.0,
"size": 0,
"website": "<str>",
"industry": "<str>",
"custom_attributes": {}
}
}'
Python SDK
await intercom.companies.create(
company_id="<str>",
name="<str>",
plan="<str>",
monthly_spend=0.0,
size=0,
website="<str>",
industry="<str>",
custom_attributes={}
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "create",
"params": {
"company_id": "<str>",
"name": "<str>",
"plan": "<str>",
"monthly_spend": 0.0,
"size": 0,
"website": "<str>",
"industry": "<str>",
"custom_attributes": {}
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
company_id | string | Yes | A unique identifier for the company from your system |
name | string | No | The name of the company |
plan | string | No | The name of the plan the company is on |
monthly_spend | number | No | The monthly spend of the company |
size | integer | No | The number of employees in the company |
website | string | No | The URL of the company website |
industry | string | No | The industry the company operates in |
custom_attributes | object | No | Custom attributes for the company |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
app_id | string | null | |
name | string | null | |
company_id | string | null | |
plan | object | any | |
size | integer | null | |
industry | string | null | |
website | string | null | |
remote_created_at | integer | null | |
created_at | integer | null | |
updated_at | integer | null | |
last_request_at | integer | null | |
session_count | integer | null | |
monthly_spend | number | null | |
user_count | integer | null | |
tags | object | any | |
segments | object | any | |
custom_attributes | object | null | |
Companies Get
Get a single company by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "companies",
"action": "get",
"params": {
"id": "<str>"
}
}'
Python SDK
await intercom.companies.get(
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "get",
"params": {
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
id | string | Yes | Company ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
app_id | string | null | |
name | string | null | |
company_id | string | null | |
plan | object | any | |
size | integer | null | |
industry | string | null | |
website | string | null | |
remote_created_at | integer | null | |
created_at | integer | null | |
updated_at | integer | null | |
last_request_at | integer | null | |
session_count | integer | null | |
monthly_spend | number | null | |
user_count | integer | null | |
tags | object | any | |
segments | object | any | |
custom_attributes | object | null | |
Companies Update
Update an existing company by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "companies",
"action": "update",
"params": {
"name": "<str>",
"plan": "<str>",
"monthly_spend": 0.0,
"size": 0,
"website": "<str>",
"industry": "<str>",
"custom_attributes": {},
"id": "<str>"
}
}'
Python SDK
await intercom.companies.update(
name="<str>",
plan="<str>",
monthly_spend=0.0,
size=0,
website="<str>",
industry="<str>",
custom_attributes={},
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "update",
"params": {
"name": "<str>",
"plan": "<str>",
"monthly_spend": 0.0,
"size": 0,
"website": "<str>",
"industry": "<str>",
"custom_attributes": {},
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
name | string | No | The name of the company |
plan | string | No | The name of the plan the company is on |
monthly_spend | number | No | The monthly spend of the company |
size | integer | No | The number of employees in the company |
website | string | No | The URL of the company website |
industry | string | No | The industry the company operates in |
custom_attributes | object | No | Custom attributes for the company |
id | string | Yes | Company ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
app_id | string | null | |
name | string | null | |
company_id | string | null | |
plan | object | any | |
size | integer | null | |
industry | string | null | |
website | string | null | |
remote_created_at | integer | null | |
created_at | integer | null | |
updated_at | integer | null | |
last_request_at | integer | null | |
session_count | integer | null | |
monthly_spend | number | null | |
user_count | integer | null | |
tags | object | any | |
segments | object | any | |
custom_attributes | object | null | |
Companies Delete
Permanently delete a company by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "companies",
"action": "delete",
"params": {
"id": "<str>"
}
}'
Python SDK
await intercom.companies.delete(
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "delete",
"params": {
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
id | string | Yes | The unique identifier of the company to delete |
Response Schema
Records
| Field Name | Type | Description |
|---|
id | string | |
object | string | |
deleted | boolean | |
Companies Context Store Search
Search and filter companies records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "companies",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"app_id": "<str>"
}
}
}
}
}'
Python SDK
await intercom.companies.context_store_search(
query={"filter": {"eq": {"app_id": "<str>"}}}
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"app_id": "<str>"}}}
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
query | object | Yes | Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or |
query.filter | object | No | Filter conditions |
query.sort | array | No | Sort conditions |
limit | integer | No | Maximum results to return (default 1000) |
cursor | string | No | Pagination cursor from previous response's meta.cursor |
fields | array | No | Field paths to include in results |
Searchable Fields
| Field Name | Type | Description |
|---|
app_id | string | The ID of the application associated with the company |
company_id | string | The unique identifier of the company |
created_at | integer | The date and time when the company was created |
custom_attributes | object | Custom attributes specific to the company |
id | string | The ID of the company |
industry | string | The industry in which the company operates |
monthly_spend | number | The monthly spend of the company |
name | string | The name of the company |
plan | object | Details of the company's subscription plan |
remote_created_at | integer | The remote date and time when the company was created |
segments | object | Segments associated with the company |
session_count | integer | The number of sessions related to the company |
size | integer | The size of the company |
tags | object | Tags associated with the company |
type | string | The type of the company |
updated_at | integer | The date and time when the company was last updated |
user_count | integer | The number of users associated with the company |
website | string | The website of the company |
Response Schema
| Field Name | Type | Description |
|---|
data | array | List of matching records |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
data[].app_id | string | The ID of the application associated with the company |
data[].company_id | string | The unique identifier of the company |
data[].created_at | integer | The date and time when the company was created |
data[].custom_attributes | object | Custom attributes specific to the company |
data[].id | string | The ID of the company |
data[].industry | string | The industry in which the company operates |
data[].monthly_spend | number | The monthly spend of the company |
data[].name | string | The name of the company |
data[].plan | object | Details of the company's subscription plan |
data[].remote_created_at | integer | The remote date and time when the company was created |
data[].segments | object | Segments associated with the company |
data[].session_count | integer | The number of sessions related to the company |
data[].size | integer | The size of the company |
data[].tags | object | Tags associated with the company |
data[].type | string | The type of the company |
data[].updated_at | integer | The date and time when the company was last updated |
data[].user_count | integer | The number of users associated with the company |
data[].website | string | The website of the company |
Companies Context Store SQL Query
Run a SQL query against companies records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.
Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "companies",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'
Python SDK
await intercom.companies.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "companies",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
sql | string | Yes | SQL query to execute against this entity's Context Store data |
limit | integer | No | Maximum results to return |
Response Schema
| Field Name | Type | Description |
|---|
data | array | Projected rows, with dictionary keys matching the selected columns |
meta | object | Query metadata |
meta.has_more | boolean | Whether the result was limited and more rows are available |
meta.cursor | null | SQL query results do not use cursor pagination |
meta.took_ms | number | null | Query execution time in milliseconds |
Teams
Teams List
Returns a list of all teams in the workspace
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "teams",
"action": "list"
}'
Python SDK
await intercom.teams.list()
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "list"
}'
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
name | string | null | |
admin_ids | array<integer> | |
admin_priority_level | object | any | |
Teams Get
Get a single team by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "teams",
"action": "get",
"params": {
"id": "<str>"
}
}'
Python SDK
await intercom.teams.get(
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "get",
"params": {
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
id | string | Yes | Team ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
name | string | null | |
admin_ids | array<integer> | |
admin_priority_level | object | any | |
Teams Context Store Search
Search and filter teams records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "teams",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"admin_ids": []
}
}
}
}
}'
Python SDK
await intercom.teams.context_store_search(
query={"filter": {"eq": {"admin_ids": []}}}
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"admin_ids": []}}}
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
query | object | Yes | Filter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or |
query.filter | object | No | Filter conditions |
query.sort | array | No | Sort conditions |
limit | integer | No | Maximum results to return (default 1000) |
cursor | string | No | Pagination cursor from previous response's meta.cursor |
fields | array | No | Field paths to include in results |
Searchable Fields
| Field Name | Type | Description |
|---|
admin_ids | array | Array of user IDs representing the admins of the team. |
id | string | Unique identifier for the team. |
name | string | Name of the team. |
type | string | Type of team (e.g., 'internal', 'external'). |
Response Schema
| Field Name | Type | Description |
|---|
data | array | List of matching records |
meta | object | Pagination metadata |
meta.has_more | boolean | Whether additional pages are available |
meta.cursor | string | null | Cursor for next page of results |
meta.took_ms | number | null | Query execution time in milliseconds |
data[].admin_ids | array | Array of user IDs representing the admins of the team. |
data[].id | string | Unique identifier for the team. |
data[].name | string | Name of the team. |
data[].type | string | Type of team (e.g., 'internal', 'external'). |
Teams Context Store SQL Query
Run a SQL query against teams records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.
Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "teams",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'
Python SDK
await intercom.teams.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "teams",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
sql | string | Yes | SQL query to execute against this entity's Context Store data |
limit | integer | No | Maximum results to return |
Response Schema
| Field Name | Type | Description |
|---|
data | array | Projected rows, with dictionary keys matching the selected columns |
meta | object | Query metadata |
meta.has_more | boolean | Whether the result was limited and more rows are available |
meta.cursor | null | SQL query results do not use cursor pagination |
meta.took_ms | number | null | Query execution time in milliseconds |
Admins
Admins List
Returns a list of all admins in the workspace
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "admins",
"action": "list"
}'
Python SDK
await intercom.admins.list()
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "admins",
"action": "list"
}'
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
name | string | null | |
email | string | null | |
email_verified | boolean | null | |
job_title | string | null | |
away_mode_enabled | boolean | null | |
away_mode_reassign | boolean | null | |
has_inbox_seat | boolean | null | |
team_ids | array<integer> | |
avatar | object | any | |
Admins Get
Get a single admin by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "admins",
"action": "get",
"params": {
"id": "<str>"
}
}'
Python SDK
await intercom.admins.get(
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "admins",
"action": "get",
"params": {
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
id | string | Yes | Admin ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
name | string | null | |
email | string | null | |
email_verified | boolean | null | |
job_title | string | null | |
away_mode_enabled | boolean | null | |
away_mode_reassign | boolean | null | |
has_inbox_seat | boolean | null | |
team_ids | array<integer> | |
avatar | object | any | |
Returns a list of all tags in the workspace
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "tags",
"action": "list"
}'
Python SDK
await intercom.tags.list()
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tags",
"action": "list"
}'
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
name | string | null | |
applied_at | integer | null | |
applied_by | object | any | |
Create a new tag or update an existing one
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "tags",
"action": "create",
"params": {
"name": "<str>"
}
}'
Python SDK
await intercom.tags.create(
name="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tags",
"action": "create",
"params": {
"name": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
name | string | Yes | The name of the tag |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
name | string | null | |
applied_at | integer | null | |
applied_by | object | any | |
Get a single tag by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "tags",
"action": "get",
"params": {
"id": "<str>"
}
}'
Python SDK
await intercom.tags.get(
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tags",
"action": "get",
"params": {
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
id | string | Yes | Tag ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
name | string | null | |
applied_at | integer | null | |
applied_by | object | any | |
Permanently delete a tag by ID. This removes the tag from all contacts, companies, and conversations.
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "tags",
"action": "delete",
"params": {
"id": "<str>"
}
}'
Python SDK
await intercom.tags.delete(
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tags",
"action": "delete",
"params": {
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
id | string | Yes | The unique identifier of the tag to delete |
Notes
Notes Create
Create a note on an existing contact
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "notes",
"action": "create",
"params": {
"body": "<str>",
"admin_id": "<str>",
"contact_id": "<str>"
}
}'
Python SDK
await intercom.notes.create(
body="<str>",
admin_id="<str>",
contact_id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "notes",
"action": "create",
"params": {
"body": "<str>",
"admin_id": "<str>",
"contact_id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
body | string | Yes | The body of the note in HTML format |
admin_id | string | No | The ID of the admin creating the note |
contact_id | string | Yes | Contact ID to add note to |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
created_at | integer | null | |
contact | object | any | |
author | object | any | |
body | string | null | |
Segments
Segments List
Returns a list of all segments in the workspace
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "segments",
"action": "list"
}'
Python SDK
await intercom.segments.list()
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "segments",
"action": "list"
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
include_count | boolean | No | Include count of contacts in each segment |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
name | string | null | |
created_at | integer | null | |
updated_at | integer | null | |
person_type | string | null | |
count | integer | null | |
Segments Get
Get a single segment by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "segments",
"action": "get",
"params": {
"id": "<str>"
}
}'
Python SDK
await intercom.segments.get(
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "segments",
"action": "get",
"params": {
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
id | string | Yes | Segment ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
type | string | null | |
id | string | |
name | string | null | |
created_at | integer | null | |
updated_at | integer | null | |
person_type | string | null | |
count | integer | null | |
Internal Articles
Internal Articles Create
Create a new internal article in the workspace
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "internal_articles",
"action": "create",
"params": {
"title": "<str>",
"body": "<str>",
"owner_id": 0,
"author_id": 0
}
}'
Python SDK
await intercom.internal_articles.create(
title="<str>",
body="<str>",
owner_id=0,
author_id=0
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "internal_articles",
"action": "create",
"params": {
"title": "<str>",
"body": "<str>",
"owner_id": 0,
"author_id": 0
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
title | string | Yes | The title of the article |
body | string | No | The content of the article in HTML |
owner_id | integer | Yes | The ID of the owner of the article |
author_id | integer | Yes | The ID of the author of the article |
Response Schema
Records
| Field Name | Type | Description |
|---|
id | integer | string | |
title | string | null | |
body | string | null | |
owner_id | integer | null | |
author_id | integer | null | |
created_at | integer | null | |
updated_at | integer | null | |
locale | string | null | |
Internal Articles Update
Update an existing internal article by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "internal_articles",
"action": "update",
"params": {
"title": "<str>",
"body": "<str>",
"author_id": 0,
"owner_id": 0,
"id": "<str>"
}
}'
Python SDK
await intercom.internal_articles.update(
title="<str>",
body="<str>",
author_id=0,
owner_id=0,
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "internal_articles",
"action": "update",
"params": {
"title": "<str>",
"body": "<str>",
"author_id": 0,
"owner_id": 0,
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
title | string | No | The title of the article |
body | string | No | The content of the article in HTML |
author_id | integer | No | The ID of the author of the article |
owner_id | integer | No | The ID of the owner of the article |
id | string | Yes | Internal article ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
id | integer | string | |
title | string | null | |
body | string | null | |
owner_id | integer | null | |
author_id | integer | null | |
created_at | integer | null | |
updated_at | integer | null | |
locale | string | null | |
Internal Articles Delete
Permanently delete an internal article by ID
CLI
airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "intercom",
"entity": "internal_articles",
"action": "delete",
"params": {
"id": "<str>"
}
}'
Python SDK
await intercom.internal_articles.delete(
id="<str>"
)
API
curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "internal_articles",
"action": "delete",
"params": {
"id": "<str>"
}
}'
Parameters
| Parameter Name | Type | Required | Description |
|---|
id | string | Yes | Internal article ID |
Response Schema
Records
| Field Name | Type | Description |
|---|
id | string | |
object | string | |
deleted | boolean | |