Intercom
Manage contacts, companies, conversations, tickets, and messages in Intercom
Integrate Intercom into the workflow. Can create, get, update, list, search, and delete contacts; create, get, and list companies; get, list, reply, and search conversations; create and get tickets; and create messages.
Create a new contact in Intercom with email, external_id, or role. Returns API-aligned fields only.
| Parameter | Type | Required | Description |
|---|
role | string | No | The role of the contact. Accepts 'user' or 'lead'. Defaults to 'lead' if not specified. |
email | string | No | The contact's email address |
external_id | string | No | No description |
phone | string | No | The contact's phone number |
name | string | No | The contact's name |
avatar | string | No | No description |
signed_up_at | number | No | No description |
last_seen_at | number | No | No description |
owner_id | string | No | No description |
unsubscribed_from_emails | boolean | No | No description |
custom_attributes | string | No | Custom attributes as JSON object (e.g., {"attribute_name": "value"}) |
company_id | string | No | No description |
| Parameter | Type | Description |
|---|
contact | object | Created contact object |
↳ id | string | Unique identifier for the contact |
↳ type | string | Object type (contact) |
↳ role | string | Role of the contact (user or lead) |
↳ email | string | Email address of the contact |
↳ phone | string | Phone number of the contact |
↳ name | string | Name of the contact |
↳ avatar | string | Avatar URL of the contact |
↳ owner_id | string | ID of the admin assigned to this contact |
↳ external_id | string | External identifier for the contact |
↳ created_at | number | Unix timestamp when contact was created |
↳ updated_at | number | Unix timestamp when contact was last updated |
↳ signed_up_at | number | Unix timestamp when user signed up |
↳ last_seen_at | number | Unix timestamp when user was last seen |
↳ workspace_id | string | Workspace ID the contact belongs to |
↳ custom_attributes | object | Custom attributes set on the contact |
↳ tags | object | Tags associated with the contact |
↳ type | string | List type |
↳ url | string | URL to fetch tags |
↳ data | array | Array of tag objects |
↳ has_more | boolean | Whether there are more tags |
↳ total_count | number | Total number of tags |
↳ notes | object | Notes associated with the contact |
↳ type | string | List type |
↳ url | string | URL to fetch notes |
↳ data | array | Array of note objects |
↳ has_more | boolean | Whether there are more notes |
↳ total_count | number | Total number of notes |
↳ companies | object | Companies associated with the contact |
↳ type | string | List type |
↳ url | string | URL to fetch companies |
↳ data | array | Array of company objects |
↳ has_more | boolean | Whether there are more companies |
↳ total_count | number | Total number of companies |
↳ location | object | Location information for the contact |
↳ type | string | Location type |
↳ city | string | City |
↳ region | string | Region/State |
↳ country | string | Country |
↳ country_code | string | Country code |
↳ continent_code | string | Continent code |
↳ social_profiles | object | Social profiles of the contact |
↳ type | string | List type |
↳ data | array | Array of social profile objects |
↳ unsubscribed_from_emails | boolean | Whether contact is unsubscribed from emails |
contactId | string | ID of the created contact |
Get a single contact by ID from Intercom. Returns API-aligned fields only.
| Parameter | Type | Required | Description |
|---|
contactId | string | Yes | No description |
| Parameter | Type | Description |
|---|
contact | object | Contact object |
↳ id | string | Unique identifier for the contact |
↳ type | string | Object type (contact) |
↳ role | string | Role of the contact (user or lead) |
↳ email | string | Email address of the contact |
↳ email_domain | string | Email domain of the contact |
↳ phone | string | Phone number of the contact |
↳ name | string | Name of the contact |
↳ avatar | string | Avatar URL of the contact |
↳ owner_id | string | ID of the admin assigned account ownership |
↳ external_id | string | External identifier provided by the client |
↳ workspace_id | string | Workspace ID the contact belongs to |
↳ created_at | number | Unix timestamp when contact was created |
↳ updated_at | number | Unix timestamp when contact was last updated |
↳ signed_up_at | number | Unix timestamp when user signed up |
↳ last_seen_at | number | Unix timestamp when user was last seen |
↳ last_contacted_at | number | Unix timestamp when contact was last contacted |
↳ last_replied_at | number | Unix timestamp when contact last replied |
↳ last_email_opened_at | number | Unix timestamp when contact last opened an email |
↳ last_email_clicked_at | number | Unix timestamp when contact last clicked an email link |
↳ has_hard_bounced | boolean | Whether email to this contact has hard bounced |
↳ marked_email_as_spam | boolean | Whether contact marked email as spam |
↳ unsubscribed_from_emails | boolean | Whether contact is unsubscribed from emails |
↳ browser | string | Browser used by contact |
↳ browser_version | string | Browser version |
↳ browser_language | string | Browser language setting |
↳ os | string | Operating system |
↳ language_override | string | Language override setting |
↳ custom_attributes | object | Custom attributes set on the contact |
↳ tags | object | Tags associated with the contact (up to 10 displayed) |
↳ type | string | List type identifier |
↳ url | string | URL to fetch full list |
↳ data | array | Array of objects (up to 10) |
↳ has_more | boolean | Whether there are more items beyond this list |
↳ total_count | number | Total number of items |
↳ notes | object | Notes associated with the contact (up to 10 displayed) |
↳ type | string | List type identifier |
↳ url | string | URL to fetch full list |
↳ data | array | Array of objects (up to 10) |
↳ has_more | boolean | Whether there are more items beyond this list |
↳ total_count | number | Total number of items |
↳ companies | object | Companies associated with the contact (up to 10 displayed) |
↳ type | string | List type identifier |
↳ url | string | URL to fetch full list |
↳ data | array | Array of objects (up to 10) |
↳ has_more | boolean | Whether there are more items beyond this list |
↳ total_count | number | Total number of items |
↳ location | object | Location information for the contact |
↳ type | string | Object type (location) |
↳ city | string | City name |
↳ region | string | Region or state name |
↳ country | string | Country name |
↳ country_code | string | ISO country code |
↳ continent_code | string | Continent code |
↳ social_profiles | object | Social profiles of the contact |
↳ type | string | Social network type (e.g., twitter, facebook) |
↳ name | string | Social network name |
↳ url | string | Profile URL |
↳ username | string | Username on the social network |
↳ id | string | User ID on the social network |
Update an existing contact in Intercom. Returns API-aligned fields only.
| Parameter | Type | Required | Description |
|---|
contactId | string | Yes | No description |
role | string | No | The role of the contact. Accepts 'user' or 'lead'. |
external_id | string | No | No description |
email | string | No | The contact's email address |
phone | string | No | The contact's phone number |
name | string | No | The contact's name |
avatar | string | No | No description |
signed_up_at | number | No | No description |
last_seen_at | number | No | No description |
owner_id | string | No | No description |
unsubscribed_from_emails | boolean | No | No description |
custom_attributes | string | No | Custom attributes as JSON object (e.g., {"attribute_name": "value"}) |
company_id | string | No | No description |
| Parameter | Type | Description |
|---|
contact | object | Updated contact object |
↳ id | string | Unique identifier for the contact |
↳ type | string | Object type (contact) |
↳ role | string | Role of the contact (user or lead) |
↳ email | string | Email address of the contact |
↳ phone | string | Phone number of the contact |
↳ name | string | Name of the contact |
↳ avatar | string | Avatar URL of the contact |
↳ owner_id | string | ID of the admin assigned to this contact |
↳ external_id | string | External identifier for the contact |
↳ created_at | number | Unix timestamp when contact was created |
↳ updated_at | number | Unix timestamp when contact was last updated |
↳ workspace_id | string | Workspace ID the contact belongs to |
↳ custom_attributes | object | Custom attributes set on the contact |
↳ tags | object | Tags associated with the contact |
↳ notes | object | Notes associated with the contact |
↳ companies | object | Companies associated with the contact |
↳ location | object | Location information for the contact |
↳ social_profiles | object | Social profiles of the contact |
↳ unsubscribed_from_emails | boolean | Whether contact is unsubscribed from emails |
contactId | string | ID of the updated contact |
List all contacts from Intercom with pagination support
| Parameter | Type | Required | Description |
|---|
per_page | number | No | No description |
starting_after | string | No | No description |
| Parameter | Type | Description |
|---|
contacts | array | Array of contact objects |
↳ id | string | Unique identifier for the contact |
↳ type | string | Object type (contact) |
↳ role | string | Role of the contact (user or lead) |
↳ email | string | Email address of the contact |
↳ phone | string | Phone number of the contact |
↳ name | string | Name of the contact |
↳ external_id | string | External identifier for the contact |
↳ created_at | number | Unix timestamp when contact was created |
↳ updated_at | number | Unix timestamp when contact was last updated |
↳ workspace_id | string | Workspace ID the contact belongs to |
↳ custom_attributes | object | Custom attributes set on the contact |
↳ tags | object | Tags associated with the contact |
↳ companies | object | Companies associated with the contact |
pages | object | Pagination information |
↳ type | string | Pages type identifier |
↳ page | number | Current page number |
↳ per_page | number | Number of results per page |
↳ total_pages | number | Total number of pages |
total_count | number | Total number of contacts |
Search for contacts in Intercom using a query
| Parameter | Type | Required | Description |
|---|
query | string | Yes | Search query (e.g., {"field":"email","operator":"=","value":"user@example.com"}) |
per_page | number | No | No description |
starting_after | string | No | No description |
sort_field | string | No | Field to sort by (e.g., "name", "created_at", "last_seen_at") |
sort_order | string | No | Sort order: "ascending" or "descending" |
| Parameter | Type | Description |
|---|
contacts | array | Array of matching contact objects |
↳ id | string | Unique identifier for the contact |
↳ type | string | Object type (contact) |
↳ role | string | Role of the contact (user or lead) |
↳ email | string | Email address of the contact |
↳ phone | string | Phone number of the contact |
↳ name | string | Name of the contact |
↳ avatar | string | Avatar URL of the contact |
↳ owner_id | string | ID of the admin assigned to this contact |
↳ external_id | string | External identifier for the contact |
↳ created_at | number | Unix timestamp when contact was created |
↳ updated_at | number | Unix timestamp when contact was last updated |
↳ signed_up_at | number | Unix timestamp when user signed up |
↳ last_seen_at | number | Unix timestamp when user was last seen |
↳ workspace_id | string | Workspace ID the contact belongs to |
↳ custom_attributes | object | Custom attributes set on the contact |
↳ tags | object | Tags associated with the contact |
↳ notes | object | Notes associated with the contact |
↳ companies | object | Companies associated with the contact |
↳ location | object | Location information for the contact |
↳ social_profiles | object | Social profiles of the contact |
↳ unsubscribed_from_emails | boolean | Whether contact is unsubscribed from emails |
pages | object | Pagination information |
↳ type | string | Pages type identifier |
↳ page | number | Current page number |
↳ per_page | number | Number of results per page |
↳ total_pages | number | Total number of pages |
total_count | number | Total number of matching contacts |
Delete a contact from Intercom by ID. Returns API-aligned fields only.
| Parameter | Type | Required | Description |
|---|
contactId | string | Yes | No description |
| Parameter | Type | Description |
|---|
id | string | ID of deleted contact |
deleted | boolean | Whether the contact was deleted |
Create or update a company in Intercom
| Parameter | Type | Required | Description |
|---|
company_id | string | Yes | No description |
name | string | No | No description |
website | string | No | No description |
plan | string | No | No description |
size | number | No | No description |
industry | string | No | No description |
monthly_spend | number | No | How much revenue the company generates for your business. Note: This field truncates floats to whole integers (e.g., 155.98 becomes 155) |
custom_attributes | string | No | No description |
remote_created_at | number | No | No description |
| Parameter | Type | Description |
|---|
company | object | Created or updated company object |
↳ id | string | Unique identifier for the company |
↳ type | string | Object type (company) |
↳ app_id | string | Intercom app ID |
↳ company_id | string | company_id output from the tool |
↳ name | string | Name of the company |
↳ website | string | Company website URL |
↳ plan | object | Company plan information |
↳ size | number | Number of employees |
↳ industry | string | Industry the company operates in |
↳ monthly_spend | number | Monthly revenue from this company |
↳ session_count | number | Number of sessions |
↳ user_count | number | Number of users in the company |
↳ created_at | number | Unix timestamp when company was created |
↳ updated_at | number | Unix timestamp when company was last updated |
↳ remote_created_at | number | Unix timestamp when company was created by you |
↳ custom_attributes | object | Custom attributes set on the company |
↳ tags | object | Tags associated with the company |
↳ type | string | Tag list type |
↳ tags | array | Array of tag objects |
↳ segments | object | Segments the company belongs to |
↳ type | string | Segment list type |
↳ segments | array | Array of segment objects |
companyId | string | ID of the created/updated company |
Retrieve a single company by ID from Intercom
| Parameter | Type | Required | Description |
|---|
companyId | string | Yes | No description |
| Parameter | Type | Description |
|---|
company | object | Company object |
↳ id | string | Unique identifier for the company |
↳ type | string | Object type (company) |
↳ app_id | string | Intercom app ID |
↳ company_id | string | Your unique identifier for the company |
↳ name | string | Name of the company |
↳ website | string | Company website URL |
↳ plan | object | Company plan information |
↳ size | number | Number of employees |
↳ industry | string | Industry the company operates in |
↳ monthly_spend | number | Monthly revenue from this company |
↳ session_count | number | Number of sessions |
↳ user_count | number | Number of users in the company |
↳ created_at | number | Unix timestamp when company was created |
↳ updated_at | number | Unix timestamp when company was last updated |
↳ custom_attributes | object | Custom attributes set on the company |
↳ tags | object | Tags associated with the company |
↳ segments | object | Segments the company belongs to |
List all companies from Intercom with pagination support. Note: This endpoint has a limit of 10,000 companies that can be returned using pagination. For datasets larger than 10,000 companies, use the Scroll API instead.
| Parameter | Type | Required | Description |
|---|
per_page | number | No | No description |
page | number | No | No description |
starting_after | string | No | No description |
| Parameter | Type | Description |
|---|
companies | array | Array of company objects |
↳ id | string | Unique identifier for the company |
↳ type | string | Object type (company) |
↳ app_id | string | Intercom app ID |
↳ company_id | string | Your unique identifier for the company |
↳ name | string | Name of the company |
↳ website | string | Company website URL |
↳ plan | object | Company plan information |
↳ monthly_spend | number | Monthly revenue from this company |
↳ session_count | number | Number of sessions |
↳ user_count | number | Number of users in the company |
↳ created_at | number | Unix timestamp when company was created |
↳ updated_at | number | Unix timestamp when company was last updated |
↳ custom_attributes | object | Custom attributes set on the company |
↳ tags | object | Tags associated with the company |
↳ segments | object | Segments the company belongs to |
pages | object | Pagination information |
↳ type | string | Pages type identifier |
↳ page | number | Current page number |
↳ per_page | number | per_page output from the tool |
↳ total_pages | number | Total number of pages |
total_count | number | Total number of companies |
success | boolean | Operation success status |
Retrieve a single conversation by ID from Intercom
| Parameter | Type | Required | Description |
|---|
conversationId | string | Yes | No description |
display_as | string | No | Set to "plaintext" to retrieve messages in plain text |
include_translations | boolean | No | When true, conversation parts will be translated to the detected language of the conversation |
| Parameter | Type | Description |
|---|
conversation | object | Conversation object |
↳ id | string | Unique identifier for the conversation |
↳ type | string | Object type (conversation) |
↳ title | string | Title of the conversation |
↳ created_at | number | Unix timestamp when conversation was created |
↳ updated_at | number | Unix timestamp when conversation was last updated |
↳ waiting_since | number | Unix timestamp when waiting for reply |
↳ snoozed_until | number | Unix timestamp when snooze ends |
↳ open | boolean | Whether the conversation is open |
↳ state | string | State of the conversation |
↳ read | boolean | Whether the conversation has been read |
↳ priority | string | Priority of the conversation |
↳ admin_assignee_id | number | ID of assigned admin |
↳ team_assignee_id | string | ID of assigned team |
↳ tags | object | Tags on the conversation |
↳ source | object | Source of the conversation |
↳ contacts | object | Contacts in the conversation |
↳ teammates | object | Teammates in the conversation |
↳ conversation_parts | object | Parts of the conversation |
↳ statistics | object | Conversation statistics |
success | boolean | Operation success status |
List all conversations from Intercom with pagination support
| Parameter | Type | Required | Description |
|---|
per_page | number | No | No description |
starting_after | string | No | No description |
sort | string | No | Field to sort by (e.g., "waiting_since", "updated_at", "created_at") |
order | string | No | Sort order: "asc" (ascending) or "desc" (descending) |
| Parameter | Type | Description |
|---|
conversations | array | Array of conversation objects |
↳ id | string | Unique identifier for the conversation |
↳ type | string | Object type (conversation) |
↳ title | string | Title of the conversation |
↳ created_at | number | Unix timestamp when conversation was created |
↳ updated_at | number | Unix timestamp when conversation was last updated |
↳ waiting_since | number | Unix timestamp when waiting for reply |
↳ open | boolean | Whether the conversation is open |
↳ state | string | State of the conversation |
↳ read | boolean | Whether the conversation has been read |
↳ priority | string | Priority of the conversation |
↳ admin_assignee_id | number | ID of assigned admin |
↳ team_assignee_id | string | ID of assigned team |
↳ tags | object | Tags on the conversation |
↳ source | object | Source of the conversation |
↳ contacts | object | Contacts in the conversation |
pages | object | Pagination information |
↳ type | string | Pages type identifier |
↳ page | number | Current page number |
↳ per_page | number | Number of results per page |
↳ total_pages | number | Total number of pages |
total_count | number | Total number of conversations |
success | boolean | Operation success status |
Reply to a conversation as an admin in Intercom
| Parameter | Type | Required | Description |
|---|
conversationId | string | Yes | No description |
message_type | string | Yes | Message type: "comment" or "note" |
body | string | Yes | No description |
admin_id | string | No | The ID of the admin authoring the reply. If not provided, a default admin (Operator/Fin) will be used. |
attachment_urls | string | No | No description |
created_at | number | No | Unix timestamp for when the reply was created. If not provided, current time is used. |
| Parameter | Type | Description |
|---|
conversation | object | Updated conversation object |
↳ id | string | Unique identifier for the conversation |
↳ type | string | Object type (conversation) |
↳ title | string | Title of the conversation |
↳ created_at | number | Unix timestamp when conversation was created |
↳ updated_at | number | Unix timestamp when conversation was last updated |
↳ waiting_since | number | Unix timestamp when waiting for reply |
↳ open | boolean | Whether the conversation is open |
↳ state | string | State of the conversation |
↳ read | boolean | Whether the conversation has been read |
↳ priority | string | Priority of the conversation |
↳ admin_assignee_id | number | ID of assigned admin |
↳ team_assignee_id | string | ID of assigned team |
↳ tags | object | Tags on the conversation |
↳ source | object | Source of the conversation |
↳ contacts | object | Contacts in the conversation |
↳ conversation_parts | object | Parts of the conversation |
conversationId | string | ID of the conversation |
success | boolean | Operation success status |
Search for conversations in Intercom using a query. Returns API-aligned fields only.
| Parameter | Type | Required | Description |
|---|
query | string | Yes | No description |
per_page | number | No | No description |
starting_after | string | No | No description |
sort_field | string | No | Field to sort by (e.g., "created_at", "updated_at") |
sort_order | string | No | Sort order: "ascending" or "descending" |
| Parameter | Type | Description |
|---|
conversations | array | Array of matching conversation objects |
↳ id | string | Unique identifier for the conversation |
↳ type | string | Object type (conversation) |
↳ title | string | Title of the conversation |
↳ created_at | number | Unix timestamp when conversation was created |
↳ updated_at | number | Unix timestamp when conversation was last updated |
↳ waiting_since | number | Unix timestamp when waiting for reply |
↳ open | boolean | Whether the conversation is open |
↳ state | string | State of the conversation |
↳ read | boolean | Whether the conversation has been read |
↳ priority | string | Priority of the conversation |
↳ admin_assignee_id | number | ID of assigned admin |
↳ team_assignee_id | string | ID of assigned team |
↳ tags | object | Tags on the conversation |
↳ source | object | Source of the conversation |
↳ contacts | object | Contacts in the conversation |
pages | object | Pagination information |
↳ type | string | Pages type identifier |
↳ page | number | Current page number |
↳ per_page | number | Number of results per page |
↳ total_pages | number | Total number of pages |
total_count | number | Total number of matching conversations |
success | boolean | Operation success status |
Create a new ticket in Intercom. Returns API-aligned fields only.
| Parameter | Type | Required | Description |
|---|
ticket_type_id | string | Yes | No description |
contacts | string | Yes | JSON array of contact identifiers (e.g., [{"id": "contact_id"}]) |
ticket_attributes | string | Yes | JSON object with ticket attributes including default_title and default_description |
company_id | string | No | No description |
created_at | number | No | Unix timestamp for when the ticket was created. If not provided, current time is used. |
conversation_to_link_id | string | No | No description |
disable_notifications | boolean | No | No description |
| Parameter | Type | Description |
|---|
ticket | object | Created ticket object |
↳ id | string | Unique identifier for the ticket |
↳ type | string | Object type (ticket) |
↳ ticket_id | string | Ticket ID |
↳ ticket_type | object | Type of the ticket |
↳ ticket_attributes | object | Attributes of the ticket |
↳ ticket_state | string | State of the ticket |
↳ ticket_state_internal_label | string | Internal label for ticket state |
↳ ticket_state_external_label | string | External label for ticket state |
↳ created_at | number | Unix timestamp when ticket was created |
↳ updated_at | number | Unix timestamp when ticket was last updated |
↳ contacts | object | Contacts associated with the ticket |
↳ admin_assignee_id | string | ID of assigned admin |
↳ team_assignee_id | string | ID of assigned team |
↳ is_shared | boolean | Whether the ticket is shared |
↳ open | boolean | Whether the ticket is open |
ticketId | string | ID of the created ticket |
success | boolean | Operation success status |
Retrieve a single ticket by ID from Intercom. Returns API-aligned fields only.
| Parameter | Type | Required | Description |
|---|
ticketId | string | Yes | No description |
| Parameter | Type | Description |
|---|
ticket | object | Ticket object |
↳ id | string | Unique identifier for the ticket |
↳ type | string | Object type (ticket) |
↳ ticket_id | string | Ticket ID |
↳ ticket_type | object | Type of the ticket |
↳ ticket_attributes | object | Attributes of the ticket |
↳ ticket_state | string | State of the ticket |
↳ ticket_state_internal_label | string | Internal label for ticket state |
↳ ticket_state_external_label | string | External label for ticket state |
↳ created_at | number | Unix timestamp when ticket was created |
↳ updated_at | number | Unix timestamp when ticket was last updated |
↳ contacts | object | Contacts associated with the ticket |
↳ admin_assignee_id | string | ID of assigned admin |
↳ team_assignee_id | string | ID of assigned team |
↳ is_shared | boolean | Whether the ticket is shared |
↳ open | boolean | Whether the ticket is open |
ticketId | string | ID of the retrieved ticket |
success | boolean | Operation success status |
Update a ticket in Intercom (change state, assignment, attributes)
| Parameter | Type | Required | Description |
|---|
ticketId | string | Yes | No description |
ticket_attributes | string | No | JSON object with ticket attributes (e.g., {"default_title":"New Title","default_description":"Updated description"}) |
open | boolean | No | No description |
is_shared | boolean | No | No description |
snoozed_until | number | No | No description |
admin_id | string | No | The ID of the admin performing the update (needed for workflows and attribution) |
assignee_id | string | No | The ID of the admin or team to assign the ticket to. Set to "0" to unassign. |
| Parameter | Type | Description |
|---|
ticket | object | The updated ticket object |
↳ id | string | Unique identifier for the ticket |
↳ type | string | Object type (ticket) |
↳ ticket_id | string | Ticket ID shown in Intercom UI |
↳ ticket_state | string | State of the ticket |
↳ ticket_attributes | object | Attributes of the ticket |
↳ open | boolean | Whether the ticket is open |
↳ is_shared | boolean | is_shared output from the tool |
↳ snoozed_until | number | Unix timestamp when ticket will reopen |
↳ admin_assignee_id | string | ID of assigned admin |
↳ team_assignee_id | string | ID of assigned team |
↳ created_at | number | Unix timestamp when ticket was created |
↳ updated_at | number | Unix timestamp when ticket was last updated |
ticketId | string | ID of the updated ticket |
ticket_state | string | Current state of the ticket |
Create and send a new admin-initiated message in Intercom. Returns API-aligned fields only.
| Parameter | Type | Required | Description |
|---|
message_type | string | Yes | Message type: "inapp" for in-app messages or "email" for email messages |
template | string | Yes | Message template style: "plain" for plain text or "personal" for personalized style |
subject | string | No | No description |
body | string | Yes | No description |
from_type | string | Yes | Sender type: "admin" |
from_id | string | Yes | No description |
to_type | string | Yes | Recipient type: "contact" |
to_id | string | Yes | No description |
created_at | number | No | Unix timestamp for when the message was created. If not provided, current time is used. |
| Parameter | Type | Description |
|---|
message | object | Created message object |
↳ id | string | Unique identifier for the message |
↳ type | string | Object type (message) |
↳ created_at | number | Unix timestamp when message was created |
↳ body | string | Body of the message |
↳ message_type | string | Type of the message (in_app or email) |
↳ conversation_id | string | ID of the conversation created |
↳ owner | object | Owner of the message |
messageId | string | ID of the created message |
success | boolean | Operation success status |
Fetch a list of all admins for the workspace
| Parameter | Type | Required | Description |
|---|
| Parameter | Type | Description |
|---|
admins | array | Array of admin objects |
↳ id | string | Unique identifier for the admin |
↳ type | string | Object type (admin) |
↳ name | string | Name of the admin |
↳ email | string | Email of the admin |
↳ job_title | string | Job title of the admin |
↳ away_mode_enabled | boolean | Whether admin is in away mode |
↳ away_mode_reassign | boolean | Whether to reassign conversations when away |
↳ has_inbox_seat | boolean | Whether admin has a paid inbox seat |
↳ team_ids | array | List of team IDs the admin belongs to |
↳ avatar | object | Avatar information |
↳ email_verified | boolean | Whether email is verified |
type | string | Object type (admin.list) |
Close a conversation in Intercom
| Parameter | Type | Required | Description |
|---|
conversationId | string | Yes | No description |
admin_id | string | Yes | No description |
body | string | No | No description |
| Parameter | Type | Description |
|---|
conversation | object | The closed conversation object |
↳ id | string | Unique identifier for the conversation |
↳ type | string | Object type (conversation) |
↳ state | string | State of the conversation (closed) |
↳ open | boolean | Whether the conversation is open (false) |
↳ read | boolean | Whether the conversation has been read |
↳ created_at | number | Unix timestamp when conversation was created |
↳ updated_at | number | Unix timestamp when conversation was last updated |
conversationId | string | ID of the closed conversation |
state | string | State of the conversation (closed) |
Open a closed or snoozed conversation in Intercom
| Parameter | Type | Required | Description |
|---|
conversationId | string | Yes | No description |
admin_id | string | Yes | No description |
| Parameter | Type | Description |
|---|
conversation | object | The opened conversation object |
↳ id | string | Unique identifier for the conversation |
↳ type | string | Object type (conversation) |
↳ state | string | State of the conversation (open) |
↳ open | boolean | Whether the conversation is open (true) |
↳ read | boolean | Whether the conversation has been read |
↳ created_at | number | Unix timestamp when conversation was created |
↳ updated_at | number | Unix timestamp when conversation was last updated |
conversationId | string | ID of the opened conversation |
state | string | State of the conversation (open) |
Snooze a conversation to reopen at a future time
| Parameter | Type | Required | Description |
|---|
conversationId | string | Yes | No description |
admin_id | string | Yes | No description |
snoozed_until | number | Yes | No description |
| Parameter | Type | Description |
|---|
conversation | object | The snoozed conversation object |
↳ id | string | Unique identifier for the conversation |
↳ type | string | Object type (conversation) |
↳ state | string | State of the conversation (snoozed) |
↳ open | boolean | Whether the conversation is open |
↳ snoozed_until | number | Unix timestamp when conversation will reopen |
↳ created_at | number | Unix timestamp when conversation was created |
↳ updated_at | number | Unix timestamp when conversation was last updated |
conversationId | string | ID of the snoozed conversation |
state | string | State of the conversation (snoozed) |
snoozed_until | number | Unix timestamp when conversation will reopen |
Assign a conversation to an admin or team in Intercom
| Parameter | Type | Required | Description |
|---|
conversationId | string | Yes | No description |
admin_id | string | Yes | No description |
assignee_id | string | Yes | The ID of the admin or team to assign the conversation to. Set to "0" to unassign. |
body | string | No | Optional message to add when assigning (e.g., "Passing to the support team") |
| Parameter | Type | Description |
|---|
conversation | object | The assigned conversation object |
↳ id | string | Unique identifier for the conversation |
↳ type | string | Object type (conversation) |
↳ state | string | State of the conversation |
↳ open | boolean | Whether the conversation is open |
↳ admin_assignee_id | number | ID of the assigned admin |
↳ team_assignee_id | string | ID of the assigned team |
↳ created_at | number | Unix timestamp when conversation was created |
↳ updated_at | number | Unix timestamp when conversation was last updated |
conversationId | string | ID of the assigned conversation |
admin_assignee_id | number | ID of the assigned admin |
team_assignee_id | string | ID of the assigned team |
Fetch a list of all tags in the workspace
| Parameter | Type | Required | Description |
|---|
| Parameter | Type | Description |
|---|
tags | array | Array of tag objects |
↳ id | string | Unique identifier for the tag |
↳ type | string | Object type (tag) |
↳ name | string | Name of the tag |
type | string | Object type (list) |
Create a new tag or update an existing tag name
| Parameter | Type | Required | Description |
|---|
name | string | Yes | The name of the tag. Will create a new tag if not found, or update the name if id is provided. |
id | string | No | No description |
| Parameter | Type | Description |
|---|
id | string | Unique identifier for the tag |
name | string | Name of the tag |
type | string | Object type (tag) |
Add a tag to a specific contact
| Parameter | Type | Required | Description |
|---|
contactId | string | Yes | No description |
tagId | string | Yes | No description |
| Parameter | Type | Description |
|---|
id | string | Unique identifier for the tag |
name | string | Name of the tag |
type | string | Object type (tag) |
Remove a tag from a specific contact
| Parameter | Type | Required | Description |
|---|
contactId | string | Yes | No description |
tagId | string | Yes | No description |
| Parameter | Type | Description |
|---|
id | string | Unique identifier for the tag that was removed |
name | string | Name of the tag that was removed |
type | string | Object type (tag) |
Add a tag to a specific conversation
| Parameter | Type | Required | Description |
|---|
conversationId | string | Yes | No description |
tagId | string | Yes | No description |
admin_id | string | Yes | No description |
| Parameter | Type | Description |
|---|
id | string | Unique identifier for the tag |
name | string | Name of the tag |
type | string | Object type (tag) |
Add a note to a specific contact
| Parameter | Type | Required | Description |
|---|
contactId | string | Yes | No description |
body | string | Yes | No description |
admin_id | string | No | No description |
| Parameter | Type | Description |
|---|
id | string | Unique identifier for the note |
body | string | body output from the tool |
created_at | number | Unix timestamp when the note was created |
type | string | Object type (note) |
author | object | The admin who created the note |
↳ type | string | Author type (admin) |
↳ id | string | Author ID |
↳ name | string | Author name |
↳ email | string | Author email |
contact | object | The contact the note was created for |
↳ type | string | Contact type |
↳ id | string | Contact ID |
Track a custom event for a contact in Intercom
| Parameter | Type | Required | Description |
|---|
event_name | string | Yes | The name of the event (e.g., "order-completed"). Use past-tense verb-noun format for readability. |
created_at | number | No | Unix timestamp for when the event occurred. Strongly recommended for uniqueness. |
user_id | string | No | No description |
email | string | No | Email address of the user. Use only if your app uses email to uniquely identify users. |
id | string | No | No description |
metadata | string | No | JSON object with up to 10 metadata key-value pairs about the event (e.g., {"order_value": 99.99}) |
| Parameter | Type | Description |
|---|
accepted | boolean | Whether the event was accepted (202 Accepted) |
Attach a contact to a company in Intercom
| Parameter | Type | Required | Description |
|---|
contactId | string | Yes | No description |
companyId | string | Yes | No description |
| Parameter | Type | Description |
|---|
company | object | The company object the contact was attached to |
↳ id | string | Unique identifier for the company |
↳ type | string | Object type (company) |
↳ company_id | string | The company_id you defined |
↳ name | string | Name of the company |
↳ created_at | number | Unix timestamp when company was created |
↳ updated_at | number | Unix timestamp when company was updated |
↳ user_count | number | Number of users in the company |
↳ session_count | number | Number of sessions |
↳ monthly_spend | number | Monthly spend amount |
↳ plan | object | Company plan details |
companyId | string | ID of the company |
name | string | Name of the company |
Remove a contact from a company in Intercom
| Parameter | Type | Required | Description |
|---|
contactId | string | Yes | No description |
companyId | string | Yes | No description |
| Parameter | Type | Description |
|---|
company | object | The company object the contact was detached from |
↳ id | string | Unique identifier for the company |
↳ type | string | Object type (company) |
↳ company_id | string | The company_id you defined |
↳ name | string | Name of the company |
companyId | string | ID of the company |
name | string | Name of the company |