Pailot

Intercom

Manage contacts, companies, conversations, tickets, and messages in Intercom

Supercharge your customer communications and relationship management with Intercom – the all-in-one messaging platform for engaging, supporting, and retaining your customers. Integrate Intercom into your workflows to centralize conversations, contacts, support tickets, and more, all seamlessly accessible via automation.

With the Intercom tool, you can:

  • Create and manage contacts: Easily add, update, search, list, and delete contacts to maintain a clean, actionable customer database.
  • Organize companies: Create, get, and list companies to understand and support your customer organizations at scale.
  • Centralize customer conversations: Retrieve, list, reply to, and search customer conversations to ensure no message slips through the cracks and support responses are always timely.
  • Manage tickets and messages: Create and fetch tickets, as well as compose outbound messages, to deliver proactive, high-quality support experiences.
  • Automate and extend workflows: Connect Intercom operations with your automations to trigger follow-ups, orchestrate customer journeys, and sync data with your stack.

Intercom empowers sales, support, and success teams to deliver personalized, efficient, and scalable customer experiences—whether you need to onboard new users, troubleshoot issues, or engage your customer base in real time.

Drive deeper relationships, faster response times, and smarter workflows by integrating Intercom with your automated processes today.

Usage Instructions

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.

Tools

intercom_create_contact

Create a new contact in Intercom with email, external_id, or role. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
rolestringNoThe role of the contact. Accepts 'user' or 'lead'. Defaults to 'lead' if not specified.
emailstringNoThe contact's email address
external_idstringNoA unique identifier for the contact provided by the client
phonestringNoThe contact's phone number
namestringNoThe contact's name
avatarstringNoAn avatar image URL for the contact
signed_up_atnumberNoThe time the user signed up as a Unix timestamp
last_seen_atnumberNoThe time the user was last seen as a Unix timestamp
owner_idstringNoThe id of an admin that has been assigned account ownership of the contact
unsubscribed_from_emailsbooleanNoWhether the contact is unsubscribed from emails
custom_attributesstringNoCustom attributes as JSON object (e.g., {"attribute_name": "value"})
company_idstringNoCompany ID to associate the contact with during creation

Output

ParameterTypeDescription
contactobjectCreated contact object
↳ idstringUnique identifier for the contact
↳ typestringList type
↳ rolestringRole of the contact (user or lead)
↳ emailstringEmail address of the contact
↳ phonestringPhone number of the contact
↳ namestringName of the contact
↳ avatarstringAvatar URL of the contact
↳ owner_idstringID of the admin assigned to this contact
↳ external_idstringExternal identifier for the contact
↳ created_atnumberUnix timestamp when contact was created
↳ updated_atnumberUnix timestamp when contact was last updated
↳ signed_up_atnumberUnix timestamp when user signed up
↳ last_seen_atnumberUnix timestamp when user was last seen
↳ workspace_idstringWorkspace ID the contact belongs to
↳ custom_attributesobjectCustom attributes set on the contact
↳ tagsobjectTags associated with the contact
↳ typestringList type
↳ urlstringURL to fetch tags
↳ dataarrayArray of tag objects
↳ has_morebooleanWhether there are more tags
↳ total_countnumberTotal number of tags
↳ urlstringURL to fetch companies
↳ dataarrayArray of social profile objects
↳ has_morebooleanWhether there are more companies
↳ total_countnumberTotal number of companies
↳ notesobjectNotes associated with the contact
↳ typestringList type
↳ urlstringURL to fetch notes
↳ dataarrayArray of note objects
↳ has_morebooleanWhether there are more notes
↳ total_countnumberTotal number of notes
↳ companiesobjectCompanies associated with the contact
↳ typestringList type
↳ urlstringURL to fetch companies
↳ dataarrayArray of company objects
↳ has_morebooleanWhether there are more companies
↳ total_countnumberTotal number of companies
↳ locationobjectLocation information for the contact
↳ typestringLocation type
↳ citystringCity
↳ regionstringRegion/State
↳ countrystringCountry
↳ country_codestringCountry code
↳ continent_codestringContinent code
↳ citystringCity
↳ regionstringRegion/State
↳ countrystringCountry
↳ country_codestringCountry code
↳ continent_codestringContinent code
↳ social_profilesobjectSocial profiles of the contact
↳ typestringList type
↳ dataarrayArray of social profile objects
↳ unsubscribed_from_emailsbooleanWhether contact is unsubscribed from emails
contactIdstringID of the created contact

intercom_get_contact

Get a single contact by ID from Intercom. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
contactIdstringYesContact ID to retrieve

Output

ParameterTypeDescription
contactobjectContact object
↳ idstringUnique identifier for the contact
↳ typestringObject type (contact)
↳ rolestringRole of the contact (user or lead)
↳ emailstringEmail address of the contact
↳ phonestringPhone number of the contact
↳ namestringName of the contact
↳ avatarstringAvatar URL of the contact
↳ owner_idstringID of the admin assigned to this contact
↳ external_idstringExternal identifier for the contact
↳ created_atnumberUnix timestamp when contact was created
↳ updated_atnumberUnix timestamp when contact was last updated
↳ workspace_idstringWorkspace ID the contact belongs to
↳ custom_attributesobjectCustom attributes set on the contact
↳ tagsobjectTags associated with the contact
↳ notesobjectNotes associated with the contact
↳ companiesobjectCompanies associated with the contact
↳ locationobjectLocation information for the contact
↳ social_profilesobjectSocial profiles of the contact
↳ unsubscribed_from_emailsbooleanWhether contact is unsubscribed from emails

intercom_update_contact

Update an existing contact in Intercom. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
contactIdstringYesContact ID to update
rolestringNoThe role of the contact. Accepts 'user' or 'lead'.
external_idstringNoA unique identifier for the contact provided by the client
emailstringNoThe contact's email address
phonestringNoThe contact's phone number
namestringNoThe contact's name
avatarstringNoAn avatar image URL for the contact
signed_up_atnumberNoThe time the user signed up as a Unix timestamp
last_seen_atnumberNoThe time the user was last seen as a Unix timestamp
owner_idstringNoThe id of an admin that has been assigned account ownership of the contact
unsubscribed_from_emailsbooleanNoWhether the contact is unsubscribed from emails
custom_attributesstringNoCustom attributes as JSON object (e.g., {"attribute_name": "value"})
company_idstringNoCompany ID to associate the contact with

Output

ParameterTypeDescription
contactobjectUpdated contact object
↳ idstringUnique identifier for the contact
↳ typestringObject type (contact)
↳ rolestringRole of the contact (user or lead)
↳ emailstringEmail address of the contact
↳ phonestringPhone number of the contact
↳ namestringName of the contact
↳ avatarstringAvatar URL of the contact
↳ owner_idstringID of the admin assigned to this contact
↳ external_idstringExternal identifier for the contact
↳ created_atnumberUnix timestamp when contact was created
↳ updated_atnumberUnix timestamp when contact was last updated
↳ workspace_idstringWorkspace ID the contact belongs to
↳ custom_attributesobjectCustom attributes set on the contact
↳ tagsobjectTags associated with the contact
↳ notesobjectNotes associated with the contact
↳ companiesobjectCompanies associated with the contact
↳ locationobjectLocation information for the contact
↳ social_profilesobjectSocial profiles of the contact
↳ unsubscribed_from_emailsbooleanWhether contact is unsubscribed from emails
contactIdstringID of the updated contact

intercom_list_contacts

List all contacts from Intercom with pagination support

Input

ParameterTypeRequiredDescription
per_pagenumberNoNumber of results per page (max: 150)
starting_afterstringNoCursor for pagination - ID to start after

Output

ParameterTypeDescription
contactsarrayArray of contact objects
↳ idstringUnique identifier for the contact
↳ typestringObject type (contact)
↳ rolestringRole of the contact (user or lead)
↳ emailstringEmail address of the contact
↳ phonestringPhone number of the contact
↳ namestringName of the contact
↳ external_idstringExternal identifier for the contact
↳ created_atnumberUnix timestamp when contact was created
↳ updated_atnumberUnix timestamp when contact was last updated
↳ workspace_idstringWorkspace ID the contact belongs to
↳ custom_attributesobjectCustom attributes set on the contact
↳ tagsobjectTags associated with the contact
↳ companiesobjectCompanies associated with the contact
pagesobjectPagination information
↳ typestringPages type identifier
↳ pagenumberCurrent page number
↳ per_pagenumberNumber of results per page
↳ total_pagesnumberTotal number of pages
total_countnumberTotal number of contacts

intercom_search_contacts

Search for contacts in Intercom using a query

Input

ParameterTypeRequiredDescription
querystringYesSearch query (e.g., {"field":"email","operator":"=","value":"user@example.com"})
per_pagenumberNoNumber of results per page (max: 150)
starting_afterstringNoCursor for pagination
sort_fieldstringNoField to sort by (e.g., "name", "created_at", "last_seen_at")
sort_orderstringNoSort order: "ascending" or "descending"

Output

ParameterTypeDescription
contactsarrayArray of matching contact objects
↳ idstringUnique identifier for the contact
↳ typestringObject type (contact)
↳ rolestringRole of the contact (user or lead)
↳ emailstringEmail address of the contact
↳ phonestringPhone number of the contact
↳ namestringName of the contact
↳ avatarstringAvatar URL of the contact
↳ owner_idstringID of the admin assigned to this contact
↳ external_idstringExternal identifier for the contact
↳ created_atnumberUnix timestamp when contact was created
↳ updated_atnumberUnix timestamp when contact was last updated
↳ signed_up_atnumberUnix timestamp when user signed up
↳ last_seen_atnumberUnix timestamp when user was last seen
↳ workspace_idstringWorkspace ID the contact belongs to
↳ custom_attributesobjectCustom attributes set on the contact
↳ tagsobjectTags associated with the contact
↳ notesobjectNotes associated with the contact
↳ companiesobjectCompanies associated with the contact
↳ locationobjectLocation information for the contact
↳ social_profilesobjectSocial profiles of the contact
↳ unsubscribed_from_emailsbooleanWhether contact is unsubscribed from emails
pagesobjectPagination information
↳ typestringPages type identifier
↳ pagenumberCurrent page number
↳ per_pagenumberNumber of results per page
↳ total_pagesnumberTotal number of pages
total_countnumberTotal number of matching contacts

intercom_delete_contact

Delete a contact from Intercom by ID. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
contactIdstringYesContact ID to delete

Output

ParameterTypeDescription
idstringID of deleted contact
deletedbooleanWhether the contact was deleted

intercom_create_company

Create or update a company in Intercom

Input

ParameterTypeRequiredDescription
company_idstringYesYour unique identifier for the company
namestringNoThe name of the company
websitestringNoThe company website
planstringNoThe company plan name
sizenumberNoThe number of employees in the company
industrystringNoThe industry the company operates in
monthly_spendnumberNoHow much revenue the company generates for your business. Note: This field truncates floats to whole integers (e.g., 155.98 becomes 155)
custom_attributesstringNoCustom attributes as JSON object
remote_created_atnumberNoThe time the company was created by you as a Unix timestamp

Output

ParameterTypeDescription
companyobjectCreated or updated company object
↳ idstringUnique identifier for the company
↳ typestringSegment list type
↳ app_idstringIntercom app ID
↳ company_idstringYour unique identifier for the company
↳ namestringName of the company
↳ websitestringCompany website URL
↳ planobjectCompany plan information
↳ sizenumberNumber of employees
↳ industrystringIndustry the company operates in
↳ monthly_spendnumberMonthly revenue from this company
↳ session_countnumberNumber of sessions
↳ user_countnumberNumber of users in the company
↳ created_atnumberUnix timestamp when company was created
↳ updated_atnumberUnix timestamp when company was last updated
↳ remote_created_atnumberUnix timestamp when company was created by you
↳ custom_attributesobjectCustom attributes set on the company
↳ tagsarrayArray of tag objects
↳ segmentsarrayArray of segment objects
companyIdstringID of the created/updated company

intercom_get_company

Retrieve a single company by ID from Intercom

Input

ParameterTypeRequiredDescription
companyIdstringYesCompany ID to retrieve

Output

ParameterTypeDescription
companyobjectCompany object
↳ idstringUnique identifier for the company
↳ typestringObject type (company)
↳ app_idstringIntercom app ID
↳ company_idstringYour unique identifier for the company
↳ namestringName of the company
↳ websitestringCompany website URL
↳ planobjectCompany plan information
↳ sizenumberNumber of employees
↳ industrystringIndustry the company operates in
↳ monthly_spendnumberMonthly revenue from this company
↳ session_countnumberNumber of sessions
↳ user_countnumberNumber of users in the company
↳ created_atnumberUnix timestamp when company was created
↳ updated_atnumberUnix timestamp when company was last updated
↳ custom_attributesobjectCustom attributes set on the company
↳ tagsobjectTags associated with the company
↳ segmentsobjectSegments the company belongs to

intercom_list_companies

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.

Input

ParameterTypeRequiredDescription
per_pagenumberNoNumber of results per page
pagenumberNoPage number
starting_afterstringNoCursor for pagination (preferred over page-based pagination)

Output

ParameterTypeDescription
companiesarrayArray of company objects
↳ idstringUnique identifier for the company
↳ typestringObject type (company)
↳ app_idstringIntercom app ID
↳ company_idstringYour unique identifier for the company
↳ namestringName of the company
↳ websitestringCompany website URL
↳ planobjectCompany plan information
↳ monthly_spendnumberMonthly revenue from this company
↳ session_countnumberNumber of sessions
↳ user_countnumberNumber of users in the company
↳ created_atnumberUnix timestamp when company was created
↳ updated_atnumberUnix timestamp when company was last updated
↳ custom_attributesobjectCustom attributes set on the company
↳ tagsobjectTags associated with the company
↳ segmentsobjectSegments the company belongs to
pagesobjectPagination information
↳ typestringPages type identifier
↳ pagenumberCurrent page number
↳ per_pagenumberNumber of results per page
↳ total_pagesnumberTotal number of pages
total_countnumberTotal number of companies
successbooleanOperation success status

intercom_get_conversation

Retrieve a single conversation by ID from Intercom

Input

ParameterTypeRequiredDescription
conversationIdstringYesConversation ID to retrieve
display_asstringNoSet to "plaintext" to retrieve messages in plain text
include_translationsbooleanNoWhen true, conversation parts will be translated to the detected language of the conversation

Output

ParameterTypeDescription
conversationobjectConversation object
↳ idstringUnique identifier for the conversation
↳ typestringObject type (conversation)
↳ titlestringTitle of the conversation
↳ created_atnumberUnix timestamp when conversation was created
↳ updated_atnumberUnix timestamp when conversation was last updated
↳ waiting_sincenumberUnix timestamp when waiting for reply
↳ snoozed_untilnumberUnix timestamp when snooze ends
↳ openbooleanWhether the conversation is open
↳ statestringState of the conversation
↳ readbooleanWhether the conversation has been read
↳ prioritystringPriority of the conversation
↳ admin_assignee_idnumberID of assigned admin
↳ team_assignee_idstringID of assigned team
↳ tagsobjectTags on the conversation
↳ sourceobjectSource of the conversation
↳ contactsobjectContacts in the conversation
↳ teammatesobjectTeammates in the conversation
↳ conversation_partsobjectParts of the conversation
↳ statisticsobjectConversation statistics
successbooleanOperation success status

intercom_list_conversations

List all conversations from Intercom with pagination support

Input

ParameterTypeRequiredDescription
per_pagenumberNoNumber of results per page (max: 150)
starting_afterstringNoCursor for pagination
sortstringNoField to sort by (e.g., "waiting_since", "updated_at", "created_at")
orderstringNoSort order: "asc" (ascending) or "desc" (descending)

Output

ParameterTypeDescription
conversationsarrayArray of conversation objects
↳ idstringUnique identifier for the conversation
↳ typestringObject type (conversation)
↳ titlestringTitle of the conversation
↳ created_atnumberUnix timestamp when conversation was created
↳ updated_atnumberUnix timestamp when conversation was last updated
↳ waiting_sincenumberUnix timestamp when waiting for reply
↳ openbooleanWhether the conversation is open
↳ statestringState of the conversation
↳ readbooleanWhether the conversation has been read
↳ prioritystringPriority of the conversation
↳ admin_assignee_idnumberID of assigned admin
↳ team_assignee_idstringID of assigned team
↳ tagsobjectTags on the conversation
↳ sourceobjectSource of the conversation
↳ contactsobjectContacts in the conversation
pagesobjectPagination information
↳ typestringPages type identifier
↳ pagenumberCurrent page number
↳ per_pagenumberNumber of results per page
↳ total_pagesnumberTotal number of pages
total_countnumberTotal number of conversations
successbooleanOperation success status

intercom_reply_conversation

Reply to a conversation as an admin in Intercom

Input

ParameterTypeRequiredDescription
conversationIdstringYesConversation ID to reply to
message_typestringYesMessage type: "comment" or "note"
bodystringYesThe text body of the reply
admin_idstringNoThe ID of the admin authoring the reply. If not provided, a default admin (Operator/Fin) will be used.
attachment_urlsstringNoComma-separated list of image URLs (max 10)
created_atnumberNoUnix timestamp for when the reply was created. If not provided, current time is used.

Output

ParameterTypeDescription
conversationobjectUpdated conversation object
↳ idstringUnique identifier for the conversation
↳ typestringObject type (conversation)
↳ titlestringTitle of the conversation
↳ created_atnumberUnix timestamp when conversation was created
↳ updated_atnumberUnix timestamp when conversation was last updated
↳ waiting_sincenumberUnix timestamp when waiting for reply
↳ openbooleanWhether the conversation is open
↳ statestringState of the conversation
↳ readbooleanWhether the conversation has been read
↳ prioritystringPriority of the conversation
↳ admin_assignee_idnumberID of assigned admin
↳ team_assignee_idstringID of assigned team
↳ tagsobjectTags on the conversation
↳ sourceobjectSource of the conversation
↳ contactsobjectContacts in the conversation
↳ conversation_partsobjectParts of the conversation
conversationIdstringID of the conversation
successbooleanOperation success status

intercom_search_conversations

Search for conversations in Intercom using a query. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
querystringYesSearch query as JSON object
per_pagenumberNoNumber of results per page (max: 150)
starting_afterstringNoCursor for pagination
sort_fieldstringNoField to sort by (e.g., "created_at", "updated_at")
sort_orderstringNoSort order: "ascending" or "descending"

Output

ParameterTypeDescription
conversationsarrayArray of matching conversation objects
↳ idstringUnique identifier for the conversation
↳ typestringObject type (conversation)
↳ titlestringTitle of the conversation
↳ created_atnumberUnix timestamp when conversation was created
↳ updated_atnumberUnix timestamp when conversation was last updated
↳ waiting_sincenumberUnix timestamp when waiting for reply
↳ openbooleanWhether the conversation is open
↳ statestringState of the conversation
↳ readbooleanWhether the conversation has been read
↳ prioritystringPriority of the conversation
↳ admin_assignee_idnumberID of assigned admin
↳ team_assignee_idstringID of assigned team
↳ tagsobjectTags on the conversation
↳ sourceobjectSource of the conversation
↳ contactsobjectContacts in the conversation
pagesobjectPagination information
↳ typestringPages type identifier
↳ pagenumberCurrent page number
↳ per_pagenumberNumber of results per page
↳ total_pagesnumberTotal number of pages
total_countnumberTotal number of matching conversations
successbooleanOperation success status

intercom_create_ticket

Create a new ticket in Intercom. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
ticket_type_idstringYesThe ID of the ticket type
contactsstringYesJSON array of contact identifiers (e.g., [{"id": "contact_id"}])
ticket_attributesstringYesJSON object with ticket attributes including default_title and default_description
company_idstringNoCompany ID to associate the ticket with
created_atnumberNoUnix timestamp for when the ticket was created. If not provided, current time is used.
conversation_to_link_idstringNoID of an existing conversation to link to this ticket
disable_notificationsbooleanNoWhen true, suppresses notifications when the ticket is created

Output

ParameterTypeDescription
ticketobjectCreated ticket object
↳ idstringUnique identifier for the ticket
↳ typestringObject type (ticket)
↳ ticket_idstringTicket ID
↳ ticket_typeobjectType of the ticket
↳ ticket_attributesobjectAttributes of the ticket
↳ ticket_statestringState of the ticket
↳ ticket_state_internal_labelstringInternal label for ticket state
↳ ticket_state_external_labelstringExternal label for ticket state
↳ created_atnumberUnix timestamp when ticket was created
↳ updated_atnumberUnix timestamp when ticket was last updated
↳ contactsobjectContacts associated with the ticket
↳ admin_assignee_idstringID of assigned admin
↳ team_assignee_idstringID of assigned team
↳ is_sharedbooleanWhether the ticket is shared
↳ openbooleanWhether the ticket is open
ticketIdstringID of the created ticket
successbooleanOperation success status

intercom_get_ticket

Retrieve a single ticket by ID from Intercom. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
ticketIdstringYesTicket ID to retrieve

Output

ParameterTypeDescription
ticketobjectTicket object
↳ idstringUnique identifier for the ticket
↳ typestringObject type (ticket)
↳ ticket_idstringTicket ID
↳ ticket_typeobjectType of the ticket
↳ ticket_attributesobjectAttributes of the ticket
↳ ticket_statestringState of the ticket
↳ ticket_state_internal_labelstringInternal label for ticket state
↳ ticket_state_external_labelstringExternal label for ticket state
↳ created_atnumberUnix timestamp when ticket was created
↳ updated_atnumberUnix timestamp when ticket was last updated
↳ contactsobjectContacts associated with the ticket
↳ admin_assignee_idstringID of assigned admin
↳ team_assignee_idstringID of assigned team
↳ is_sharedbooleanWhether the ticket is shared
↳ openbooleanWhether the ticket is open
ticketIdstringID of the retrieved ticket
successbooleanOperation success status

intercom_create_message

Create and send a new admin-initiated message in Intercom. Returns API-aligned fields only.

Input

ParameterTypeRequiredDescription
message_typestringYesMessage type: "inapp" for in-app messages or "email" for email messages
templatestringYesMessage template style: "plain" for plain text or "personal" for personalized style
subjectstringNoThe subject of the message (for email type)
bodystringYesThe body of the message
from_typestringYesSender type: "admin"
from_idstringYesThe ID of the admin sending the message
to_typestringYesRecipient type: "contact"
to_idstringYesThe ID of the contact receiving the message
created_atnumberNoUnix timestamp for when the message was created. If not provided, current time is used.

Output

ParameterTypeDescription
messageobjectCreated message object
↳ idstringUnique identifier for the message
↳ typestringObject type (message)
↳ created_atnumberUnix timestamp when message was created
↳ bodystringBody of the message
↳ message_typestringType of the message (in_app or email)
↳ conversation_idstringID of the conversation created
↳ ownerobjectOwner of the message
messageIdstringID of the created message
successbooleanOperation success status
On this page

On this page

Get access
Copilot assembles the process. A manager can run it. You can install it in the company contour.
Get access