Intercom

App · Help Desk · 20 actions

Manage Intercom contacts, companies and tags, send messages, create tickets, and reply to, assign and close conversations.

Actions

ActionWhat it does
Add a note to an Intercom contactAdd an internal note to a contact's profile.
Attach an Intercom contact to a companyLink a contact to a company.
Close, snooze, reopen or assign an Intercom conversationChange a conversation's state or assignee.
Create an Intercom contactCreate a user or lead.
Create an Intercom tagCreate a tag, or return the existing one with that name (names are not case-sensitive).
Create an Intercom ticketCreate a ticket for one contact.
Create or update an Intercom companyCreate a company, or update the one with the same Company ID.
Delete an Intercom contactPermanently delete a contact.
Get an Intercom contactFetch one contact by id.
Get an Intercom conversationFetch a conversation with up to its 500 most recent parts.
Get the connected Intercom teammateReturn the teammate the access token belongs to, with the workspace's name, region and timezone.
List Intercom tagsList every tag in the workspace.
List Intercom ticket typesList the workspace's ticket types, leaving out archived ones.
Reply to an Intercom conversationReply as a teammate, add an internal note, or reply as the contact.
Search Intercom contactsFind contacts by one field, or by a full Intercom query.
Search Intercom conversationsFind conversations by state, contact, assignee and created date.
Send an Intercom messageSend an in-app message or an email from a teammate to a contact.
Start an Intercom conversationStart an in-app conversation as if the contact wrote in.
Tag an Intercom contactApply an existing tag to a contact.
Update an Intercom contactChange a contact.

Add a note to an Intercom contact

Add an internal note to a contact's profile.

Inputs

Contact IDcontact_idtextRequired
The contact's Intercom id (such as 6657ab1c2d3e4f5a6b7c8d9e), or the contact's page URL from Intercom.
NotebodytextRequired
The note text. Basic HTML is allowed.
Authoradmin_idtext
The teammate shown as the note's author.

Outputs

authorobject
bodytext
contactobject
created_atnumber
idtext
typetext
Example output
{
  "author": {
    "email": "jordan@example.com",
    "id": "991267645",
    "name": "Jordan Avery",
    "type": "admin"
  },
  "body": "<p>Called about renewal.</p>",
  "contact": {
    "id": "6657ab1c2d3e4f5a6b7c8d9e",
    "type": "contact"
  },
  "created_at": 1734537243,
  "id": "34",
  "type": "note"
}

Attach an Intercom contact to a company

Link a contact to a company.

Inputs

Contact IDcontact_idtextRequired
The contact's Intercom id (such as 6657ab1c2d3e4f5a6b7c8d9e), or the contact's page URL from Intercom.
Company (Intercom id)intercom_company_idtextRequired
The company's Intercom id (the 'id' returned by Create or update company), not your own Company ID.

Outputs

app_idtext
company_idtext
created_atnumber
custom_attributesobject
idtext
industrytext
last_request_atnumber
monthly_spendnumber
nametext
planobject
remote_created_atnumber
session_countnumber
sizenumber
tagsobject
typetext
updated_atnumber
user_countnumber
websitetext
Example output
{
  "app_id": "abc123de",
  "company_id": "acme-001",
  "created_at": 1734537243,
  "custom_attributes": {},
  "id": "6762f0761bb69f9f2193bbd1",
  "industry": "Software",
  "monthly_spend": 1200,
  "name": "Acme Inc",
  "plan": {
    "id": "269315",
    "name": "Pro",
    "type": "plan"
  },
  "remote_created_at": 1734537243,
  "session_count": 0,
  "size": 50,
  "tags": {
    "tags": [],
    "type": "tag.list"
  },
  "type": "company",
  "updated_at": 1734537243,
  "user_count": 1,
  "website": "https://acme.example.com"
}

Close, snooze, reopen or assign an Intercom conversation

Change a conversation's state or assignee. Needs an active Intercom subscription or a development workspace.

Inputs

Conversation IDconversation_idtextRequired
The conversation's id (all digits), or its URL from the Intercom inbox.
ActionoperationtextRequired
What to do with the conversation.One of: close, snooze, open (Reopen), assign.
Teammateadmin_idtextRequired
The teammate performing this action.
Snooze untilsnoozed_untildate and time
Snooze only: when the conversation reopens.
Assign to teammateassign_to_admin_idtext
Assign only: the teammate to assign. Or pick a team.
Assign to teamassign_to_team_idtext
Assign only: the team to assign. Or pick a teammate.
Messagebodytext
Close or assign only: an optional message to post.

Outputs

admin_assignee_idnumber
contactsobject
conversation_partsobject
created_atnumber
custom_attributesobject
idtext
opentrue/false
prioritytext
readtrue/false
sla_appliedobject
snoozed_untilnumber
sourceobject
statetext
tagsobject
team_assignee_idnumber
teammatesobject
titletext
typetext
updated_atnumber
waiting_sincenumber
Example output
{
  "admin_assignee_id": 0,
  "contacts": {
    "contacts": [
      {
        "external_id": "customer-1042",
        "id": "6657ab1c2d3e4f5a6b7c8d9e",
        "type": "contact"
      }
    ],
    "type": "contact.list"
  },
  "conversation_parts": {
    "conversation_parts": [],
    "total_count": 0,
    "type": "conversation_part.list"
  },
  "created_at": 1734537243,
  "id": "215469619658613",
  "open": false,
  "priority": "none",
  "read": false,
  "snoozed_until": null,
  "source": {
    "author": {
      "email": "sam.lee@example.com",
      "id": "6657ab1c2d3e4f5a6b7c8d9e",
      "name": "Sam Lee",
      "type": "user"
    },
    "body": "<p>Hi, I need help with my order.</p>",
    "delivered_as": "customer_initiated",
    "id": "403918330",
    "subject": "",
    "type": "conversation"
  },
  "state": "closed",
  "tags": {
    "tags": [],
    "type": "tag.list"
  },
  "team_assignee_id": 0,
  "title": null,
  "type": "conversation",
  "updated_at": 1734537300,
  "waiting_since": 1734537243
}

Create an Intercom contact

Create a user or lead. A user needs an email or an external id.

Inputs

Roleroletext
A user (a known customer) or a lead.One of: user, lead. Default: user.
Emailemailtext
The contact's email address.
External IDexternal_idtext
Your own id for this person, unique in the workspace.
Namenametext
The contact's full name.
Phonephonetext
The contact's phone number.
Avatar URLavatartext
A public image URL for the contact's avatar.
Signed up atsigned_up_atdate and time
When the person signed up for your product.
Last seen atlast_seen_atdate and time
When the person was last seen using your product.
Ownerowner_idtext
The teammate who owns this contact.
Unsubscribed from emailsunsubscribed_from_emailstrue/false
Whether the contact has opted out of email.
Email verifiedemail_verifiedtrue/false
Mark the email as verified. Needs Email filled in in this step.
Custom attributescustom_attributesobject
Custom data attributes to set, as keys and values. Each key must already exist as a data attribute in Intercom Settings.

Outputs

avatarobject
browsertext
companiesobject
created_atnumber
custom_attributesobject
emailtext
email_domaintext
external_idtext
has_hard_bouncedtrue/false
idtext
language_overridetext
last_contacted_atnumber
last_email_clicked_atnumber
last_email_opened_atnumber
last_replied_atnumber
last_seen_atnumber
locationobject
marked_email_as_spamtrue/false
merge_historylist
nametext
notesobject
ostext
owner_idtext
phonetext
roletext
signed_up_atnumber
social_profilesobject
tagsobject
typetext
unsubscribed_from_emailstrue/false
updated_atnumber
workspace_idtext
Example output
{
  "companies": {
    "data": [],
    "has_more": false,
    "total_count": 0,
    "url": ""
  },
  "created_at": 1734537243,
  "custom_attributes": {},
  "email": "sam.lee@example.com",
  "email_domain": "example.com",
  "external_id": "customer-1042",
  "has_hard_bounced": false,
  "id": "6657ab1c2d3e4f5a6b7c8d9e",
  "last_seen_at": null,
  "location": {
    "city": null,
    "country": null,
    "region": null,
    "type": "location"
  },
  "marked_email_as_spam": false,
  "name": "Sam Lee",
  "notes": {
    "data": [],
    "has_more": false,
    "total_count": 0,
    "url": ""
  },
  "owner_id": null,
  "phone": null,
  "role": "user",
  "signed_up_at": null,
  "tags": {
    "data": [],
    "has_more": false,
    "total_count": 0,
    "url": ""
  },
  "type": "contact",
  "unsubscribed_from_emails": false,
  "updated_at": 1734537243,
  "workspace_id": "abc123de"
}

Create an Intercom tag

Create a tag, or return the existing one with that name (names are not case-sensitive). Pick a tag to rename it instead.

Inputs

NamenametextRequired
The tag's name.
Tag to renametag_idtext
Optional. Choose a tag to rename it to Name.

Outputs

applied_atnumber
applied_byobject
idtext
nametext
typetext
Example output
{
  "id": "81",
  "name": "VIP",
  "type": "tag"
}

Create an Intercom ticket

Create a ticket for one contact. Any other attributes the ticket type requires go in Other attributes.

Inputs

Ticket typeticket_type_idtextRequired
The kind of ticket to create.
TitletitletextRequired
The ticket's title.
Descriptiondescriptiontext
The ticket's description.
Contact IDcontact_idtext
The contact's Intercom id. Fill in this or Contact email.
Contact emailcontact_emailtext
The contact's email. Fill in this or Contact ID.
Other attributesticket_attributesobject
Other ticket attributes, keyed by attribute name. For a list attribute, use the list option's id.
Company (Intercom id)intercom_company_idtext
Optional. The company this ticket is for.
Link to conversationconversation_to_link_idtext
Optional. A conversation id to link the ticket to.
Assign to teammateadmin_assignee_idtext
Optional.
Assign to teamteam_assignee_idtext
Optional.
Skip notificationsskip_notificationstrue/false
Do not notify the contact or teammates.

Outputs

admin_assignee_idnumber
categorytext
contactsobject
created_atnumber
idtext
is_sharedtrue/false
opentrue/false
snoozed_untilnumber
team_assignee_idnumber
ticket_attributesobject
ticket_idtext
ticket_stateobject
ticket_typeobject
typetext
updated_atnumber
Example output
{
  "admin_assignee_id": 0,
  "category": "Customer",
  "contacts": {
    "contacts": [
      {
        "id": "6657ab1c2d3e4f5a6b7c8d9e",
        "type": "contact"
      }
    ],
    "type": "contact.list"
  },
  "created_at": 1734537243,
  "id": "494",
  "is_shared": true,
  "open": true,
  "snoozed_until": null,
  "team_assignee_id": 0,
  "ticket_attributes": {
    "_default_description_": "Card is declined.",
    "_default_title_": "Checkout fails"
  },
  "ticket_id": "48",
  "ticket_state": {
    "category": "submitted",
    "external_label": "Submitted",
    "id": "8173",
    "internal_label": "Submitted",
    "type": "ticket_state"
  },
  "ticket_type": {
    "archived": false,
    "category": "Customer",
    "created_at": 1734537243,
    "description": "A bug a customer has reported.",
    "icon": "\ud83d\udc1e",
    "id": "1295",
    "name": "Bug report",
    "type": "ticket_type",
    "updated_at": 1734537243,
    "workspace_id": "abc123de"
  },
  "type": "ticket",
  "updated_at": 1734537243
}

Create or update an Intercom company

Create a company, or update the one with the same Company ID. Intercom only shows a company once a contact is attached.

Inputs

Company IDcompany_idtextRequired
Your own id for the company. An existing company with this id is updated.
Namenametext
The company's name.
Planplantext
The name of the plan the company is on.
Employeessizenumber
The number of employees.At least 0.
Websitewebsitetext
The company's website URL.
Industryindustrytext
The company's industry.
Monthly spendmonthly_spendnumber
How much the company pays you each month, in whole units.At least 0.
Created in your system atremote_created_atdate and time
When the company was created in your own system.
Mark as active nowupdate_last_request_attrue/false
Set the company's last-request time to now.
Custom attributescustom_attributesobject
Custom data attributes to set, as keys and values. Each key must already exist as a data attribute in Intercom Settings.

Outputs

app_idtext
company_idtext
created_atnumber
custom_attributesobject
idtext
industrytext
last_request_atnumber
monthly_spendnumber
nametext
planobject
remote_created_atnumber
session_countnumber
sizenumber
tagsobject
typetext
updated_atnumber
user_countnumber
websitetext
Example output
{
  "app_id": "abc123de",
  "company_id": "acme-001",
  "created_at": 1734537243,
  "custom_attributes": {},
  "id": "6762f0761bb69f9f2193bbd1",
  "industry": "Software",
  "monthly_spend": 1200,
  "name": "Acme Inc",
  "plan": {
    "id": "269315",
    "name": "Pro",
    "type": "plan"
  },
  "remote_created_at": 1734537243,
  "session_count": 0,
  "size": 50,
  "tags": {
    "tags": [],
    "type": "tag.list"
  },
  "type": "company",
  "updated_at": 1734537243,
  "user_count": 1,
  "website": "https://acme.example.com"
}

Delete an Intercom contact

Permanently delete a contact.

Inputs

Contact IDcontact_idtextRequired
The contact's Intercom id (such as 6657ab1c2d3e4f5a6b7c8d9e), or the contact's page URL from Intercom.

Outputs

deletedtrue/false
external_idtext
idtext
typetext
Example output
{
  "deleted": true,
  "external_id": "customer-1042",
  "id": "6657ab1c2d3e4f5a6b7c8d9e",
  "type": "contact"
}

Get an Intercom contact

Fetch one contact by id.

Inputs

Contact IDcontact_idtextRequired
The contact's Intercom id (such as 6657ab1c2d3e4f5a6b7c8d9e), or the contact's page URL from Intercom.
Include merge historyinclude_merge_historytrue/false
Also return the contacts merged into this one.

Outputs

avatarobject
browsertext
companiesobject
created_atnumber
custom_attributesobject
emailtext
email_domaintext
external_idtext
has_hard_bouncedtrue/false
idtext
language_overridetext
last_contacted_atnumber
last_email_clicked_atnumber
last_email_opened_atnumber
last_replied_atnumber
last_seen_atnumber
locationobject
marked_email_as_spamtrue/false
merge_historylist
nametext
notesobject
ostext
owner_idtext
phonetext
roletext
signed_up_atnumber
social_profilesobject
tagsobject
typetext
unsubscribed_from_emailstrue/false
updated_atnumber
workspace_idtext
Example output
{
  "companies": {
    "data": [],
    "has_more": false,
    "total_count": 0,
    "url": ""
  },
  "created_at": 1734537243,
  "custom_attributes": {},
  "email": "sam.lee@example.com",
  "email_domain": "example.com",
  "external_id": "customer-1042",
  "has_hard_bounced": false,
  "id": "6657ab1c2d3e4f5a6b7c8d9e",
  "last_seen_at": null,
  "location": {
    "city": null,
    "country": null,
    "region": null,
    "type": "location"
  },
  "marked_email_as_spam": false,
  "name": "Sam Lee",
  "notes": {
    "data": [],
    "has_more": false,
    "total_count": 0,
    "url": ""
  },
  "owner_id": null,
  "phone": null,
  "role": "user",
  "signed_up_at": null,
  "tags": {
    "data": [],
    "has_more": false,
    "total_count": 0,
    "url": ""
  },
  "type": "contact",
  "unsubscribed_from_emails": false,
  "updated_at": 1734537243,
  "workspace_id": "abc123de"
}

Get an Intercom conversation

Fetch a conversation with up to its 500 most recent parts.

Inputs

Conversation IDconversation_idtextRequired
The conversation's id (all digits), or its URL from the Intercom inbox.
Plain textplaintexttrue/false
Return message bodies as plain text instead of HTML.

Outputs

admin_assignee_idnumber
contactsobject
conversation_partsobject
created_atnumber
custom_attributesobject
idtext
opentrue/false
prioritytext
readtrue/false
sla_appliedobject
snoozed_untilnumber
sourceobject
statetext
tagsobject
team_assignee_idnumber
teammatesobject
titletext
typetext
updated_atnumber
waiting_sincenumber
Example output
{
  "admin_assignee_id": 0,
  "contacts": {
    "contacts": [
      {
        "external_id": "customer-1042",
        "id": "6657ab1c2d3e4f5a6b7c8d9e",
        "type": "contact"
      }
    ],
    "type": "contact.list"
  },
  "conversation_parts": {
    "conversation_parts": [],
    "total_count": 0,
    "type": "conversation_part.list"
  },
  "created_at": 1734537243,
  "id": "215469619658613",
  "open": true,
  "priority": "none",
  "read": false,
  "snoozed_until": null,
  "source": {
    "author": {
      "email": "sam.lee@example.com",
      "id": "6657ab1c2d3e4f5a6b7c8d9e",
      "name": "Sam Lee",
      "type": "user"
    },
    "body": "<p>Hi, I need help with my order.</p>",
    "delivered_as": "customer_initiated",
    "id": "403918330",
    "subject": "",
    "type": "conversation"
  },
  "state": "open",
  "tags": {
    "tags": [],
    "type": "tag.list"
  },
  "team_assignee_id": 0,
  "title": null,
  "type": "conversation",
  "updated_at": 1734537300,
  "waiting_since": 1734537243
}

Get the connected Intercom teammate

Return the teammate the access token belongs to, with the workspace's name, region and timezone.

Inputs

None.

Outputs

appobject
avatarobject
away_mode_enabledtrue/false
away_mode_reassigntrue/false
emailtext
email_verifiedtrue/false
has_inbox_seattrue/false
idtext
job_titletext
nametext
team_idslist
typetext
Example output
{
  "app": {
    "created_at": 1717022390,
    "id_code": "abc123de",
    "identity_verification": false,
    "name": "Example Co",
    "region": "US",
    "timezone": "America/New_York",
    "type": "app"
  },
  "away_mode_enabled": false,
  "away_mode_reassign": false,
  "email": "jordan@example.com",
  "email_verified": true,
  "has_inbox_seat": true,
  "id": "991267645",
  "job_title": "Support Lead",
  "name": "Jordan Avery",
  "team_ids": [
    814865
  ],
  "type": "admin"
}

List Intercom tags

List every tag in the workspace.

Inputs

None.

Outputs

datalist
total_countnumber
Example output
{
  "data": [
    {
      "applied_at": 1734537243,
      "applied_by": {
        "id": "991267645",
        "type": "admin"
      },
      "id": "81",
      "name": "VIP",
      "type": "tag"
    }
  ],
  "total_count": 1
}

List Intercom ticket types

List the workspace's ticket types, leaving out archived ones.

Inputs

Categorycategorytext
Only ticket types in this category.One of: Customer, Back-office, Tracker.
Include archivedinclude_archivedtrue/false
Also return archived ticket types.

Outputs

datalist
total_countnumber
Example output
{
  "data": [
    {
      "archived": false,
      "category": "Customer",
      "created_at": 1734537243,
      "description": "A bug a customer has reported.",
      "icon": "\ud83d\udc1e",
      "id": "1295",
      "name": "Bug report",
      "type": "ticket_type",
      "updated_at": 1734537243,
      "workspace_id": "abc123de"
    }
  ],
  "total_count": 1
}

Reply to an Intercom conversation

Reply as a teammate, add an internal note, or reply as the contact.

Inputs

Conversation IDconversation_idtextRequired
The conversation's id (all digits), or its URL from the Intercom inbox.
Reply asreply_typetext
Who the reply is from, and who can see it.One of: comment (Reply as teammate (visible to the contact)), note (Internal note (teammates only)), contact (Reply as the contact). Default: comment.
Teammateadmin_idtext
The teammate shown as the author. Required unless replying as the contact.
Contact IDcontact_idtext
Required only when replying as the contact.
MessagebodytextRequired
The reply text. Notes accept basic HTML.
Attachment URLsattachment_urlslist
Up to 10 public image URLs to attach.
Skip notificationsskip_notificationstrue/false
Teammate replies only: do not send notifications.

Outputs

admin_assignee_idnumber
contactsobject
conversation_partsobject
created_atnumber
custom_attributesobject
idtext
opentrue/false
prioritytext
readtrue/false
sla_appliedobject
snoozed_untilnumber
sourceobject
statetext
tagsobject
team_assignee_idnumber
teammatesobject
titletext
typetext
updated_atnumber
waiting_sincenumber
Example output
{
  "admin_assignee_id": 0,
  "contacts": {
    "contacts": [
      {
        "external_id": "customer-1042",
        "id": "6657ab1c2d3e4f5a6b7c8d9e",
        "type": "contact"
      }
    ],
    "type": "contact.list"
  },
  "conversation_parts": {
    "conversation_parts": [],
    "total_count": 0,
    "type": "conversation_part.list"
  },
  "created_at": 1734537243,
  "id": "215469619658613",
  "open": true,
  "priority": "none",
  "read": false,
  "snoozed_until": null,
  "source": {
    "author": {
      "email": "sam.lee@example.com",
      "id": "6657ab1c2d3e4f5a6b7c8d9e",
      "name": "Sam Lee",
      "type": "user"
    },
    "body": "<p>Hi, I need help with my order.</p>",
    "delivered_as": "customer_initiated",
    "id": "403918330",
    "subject": "",
    "type": "conversation"
  },
  "state": "open",
  "tags": {
    "tags": [],
    "type": "tag.list"
  },
  "team_assignee_id": 0,
  "title": null,
  "type": "conversation",
  "updated_at": 1734537300,
  "waiting_since": 1734537243
}

Search Intercom contacts

Find contacts by one field, or by a full Intercom query. A contact created in the last few minutes may not be searchable yet.

Inputs

Search onfieldtext
The contact field to match.One of: email, name, role (Role (user or lead)), external_id (External ID), id (Intercom contact ID), phone, email_domain (Email domain), owner_id (Owner (teammate ID)), tag_id (Tag ID), segment_id (Segment ID), and 9 more. Default: email.
Matchoperatortext
How to compare. Date fields allow only equals, before and after.One of: = (equals), != (does not equal), IN (is one of (comma-separated)), NIN (is none of (comma-separated)), < (less than / before), <= (less than or equal), > (greater than / after), >= (greater than or equal), ~ (contains), !~ (does not contain), ^ (starts with), $ (ends with). Default: =.
Valuevaluetext
What to match. For a date field use a date such as 2026-09-01; for 'is one of', separate values with commas.
Advanced queryqueryobject
Optional. A full Intercom search query, used instead of the fields above, e.g. {"operator": "AND", "value": [{"field": "role", "operator": "=", "value": "user"}]}.
Sort bysort_fieldtext
Order the results by this field.One of: created_at (Created), updated_at (Updated), last_seen_at (Last seen), signed_up_at (Signed up), name, email.
Sort ordersort_ordertext
Direction of the sort.One of: ascending, descending. Default: descending.
Results per pageper_pagenumber
How many results to return, 1-150.From 1 to 150.
Next page cursorstarting_aftertext
To get the next page, paste next_starting_after from the previous search. Leave blank for the first page.

Outputs

datalist
next_starting_aftertext
pagesobject
total_countnumber
Example output
{
  "data": [
    {
      "companies": {
        "data": [],
        "has_more": false,
        "total_count": 0,
        "url": ""
      },
      "created_at": 1734537243,
      "custom_attributes": {},
      "email": "sam.lee@example.com",
      "email_domain": "example.com",
      "external_id": "customer-1042",
      "has_hard_bounced": false,
      "id": "6657ab1c2d3e4f5a6b7c8d9e",
      "last_seen_at": null,
      "location": {
        "city": null,
        "country": null,
        "region": null,
        "type": "location"
      },
      "marked_email_as_spam": false,
      "name": "Sam Lee",
      "notes": {
        "data": [],
        "has_more": false,
        "total_count": 0,
        "url": ""
      },
      "owner_id": null,
      "phone": null,
      "role": "user",
      "signed_up_at": null,
      "tags": {
        "data": [],
        "has_more": false,
        "total_count": 0,
        "url": ""
      },
      "type": "contact",
      "unsubscribed_from_emails": false,
      "updated_at": 1734537243,
      "workspace_id": "abc123de"
    }
  ],
  "next_starting_after": null,
  "pages": {
    "page": 1,
    "per_page": 50,
    "total_pages": 1,
    "type": "pages"
  },
  "total_count": 1
}

Search Intercom conversations

Find conversations by state, contact, assignee and created date. Filters you fill in are combined; leave all blank to list every conversation.

Inputs

Statestatetext
Only conversations in this state.One of: open, closed, snoozed.
Contact IDcontact_idtext
Only conversations with this contact.
Assigned teammateadmin_assignee_idtext
Only conversations assigned to this teammate.
Assigned teamteam_assignee_idtext
Only conversations assigned to this team.
Created on or aftercreated_on_or_afterdate
Only conversations started on or after this day.
Created on or beforecreated_on_or_beforedate
Only conversations started on or before this day.
Advanced queryqueryobject
Optional. An extra Intercom search filter, combined with the ones above, e.g. {"field": "source.author.email", "operator": "=", "value": "sam@example.com"}.
Results per pageper_pagenumber
How many results to return, 1-150.From 1 to 150.
Next page cursorstarting_aftertext
To get the next page, paste next_starting_after from the previous search. Leave blank for the first page.

Outputs

conversationslist
next_starting_aftertext
pagesobject
total_countnumber
Example output
{
  "conversations": [
    {
      "admin_assignee_id": 0,
      "contacts": {
        "contacts": [
          {
            "external_id": "customer-1042",
            "id": "6657ab1c2d3e4f5a6b7c8d9e",
            "type": "contact"
          }
        ],
        "type": "contact.list"
      },
      "created_at": 1734537243,
      "id": "215469619658613",
      "open": true,
      "priority": "none",
      "read": false,
      "snoozed_until": null,
      "source": {
        "author": {
          "email": "sam.lee@example.com",
          "id": "6657ab1c2d3e4f5a6b7c8d9e",
          "name": "Sam Lee",
          "type": "user"
        },
        "body": "<p>Hi, I need help with my order.</p>",
        "delivered_as": "customer_initiated",
        "id": "403918330",
        "subject": "",
        "type": "conversation"
      },
      "state": "open",
      "tags": {
        "tags": [],
        "type": "tag.list"
      },
      "team_assignee_id": 0,
      "title": null,
      "type": "conversation",
      "updated_at": 1734537300,
      "waiting_since": 1734537243
    }
  ],
  "next_starting_after": null,
  "pages": {
    "page": 1,
    "per_page": 20,
    "total_pages": 1,
    "type": "pages"
  },
  "total_count": 1
}

Send an Intercom message

Send an in-app message or an email from a teammate to a contact. Needs an active Intercom subscription or a development workspace.

Inputs

Send asmessage_typetext
In-app message or email.One of: in_app (In-app message), email. Default: in_app.
From teammatefrom_admin_idtextRequired
The teammate the message is sent from.
To contact IDto_contact_idtextRequired
The recipient's Intercom contact id.
Recipient is ato_contact_roletext
Whether the recipient is a user or a lead.One of: user, lead. Default: user.
Subjectsubjecttext
Required for email.
MessagebodytextRequired
The message body. Basic HTML is allowed.
Email styletemplatetext
For email only.One of: plain, personal (Personal (with teammate avatar)). Default: plain.
Open a conversation nowcreate_conversation_without_contact_replytrue/false
Create the conversation straight away instead of waiting for the contact to reply.

Outputs

bodytext
conversation_idtext
created_atnumber
idtext
message_typetext
subjecttext
typetext
Example output
{
  "body": "Hi, I need help with my order.",
  "conversation_id": "215469619658613",
  "created_at": 1734537243,
  "id": "403918330",
  "message_type": "inapp",
  "subject": "",
  "type": "admin_message"
}

Start an Intercom conversation

Start an in-app conversation as if the contact wrote in. Use the returned conversation_id in later steps. Needs an active Intercom subscription or a development workspace.

Inputs

Contact IDcontact_idtextRequired
The contact's Intercom id (such as 6657ab1c2d3e4f5a6b7c8d9e), or the contact's page URL from Intercom.
Contact is acontact_roletext
Whether the contact is a user or a lead.One of: user, lead. Default: user.
MessagebodytextRequired
What the contact says.
Subjectsubjecttext
Optional.
Attachment URLsattachment_urlslist
Up to 10 public image URLs to attach.

Outputs

bodytext
conversation_idtext
created_atnumber
idtext
message_typetext
subjecttext
typetext
Example output
{
  "body": "Hi, I need help with my order.",
  "conversation_id": "215469619658613",
  "created_at": 1734537243,
  "id": "403918330",
  "message_type": "inapp",
  "subject": "",
  "type": "user_message"
}

Tag an Intercom contact

Apply an existing tag to a contact.

Inputs

Contact IDcontact_idtextRequired
The contact's Intercom id (such as 6657ab1c2d3e4f5a6b7c8d9e), or the contact's page URL from Intercom.
Tagtag_idtextRequired
The tag to apply.

Outputs

applied_atnumber
applied_byobject
idtext
nametext
typetext
Example output
{
  "applied_at": 1734537243,
  "applied_by": {
    "id": "991267645",
    "type": "admin"
  },
  "id": "81",
  "name": "VIP",
  "type": "tag"
}

Update an Intercom contact

Change a contact. Fields left blank are not changed.

Inputs

Contact IDcontact_idtextRequired
The contact's Intercom id (such as 6657ab1c2d3e4f5a6b7c8d9e), or the contact's page URL from Intercom.
Roleroletext
Change the contact to a user or a lead.One of: user, lead.
Emailemailtext
The contact's email address.
External IDexternal_idtext
Your own id for this person, unique in the workspace.
Namenametext
The contact's full name.
Phonephonetext
The contact's phone number.
Avatar URLavatartext
A public image URL for the contact's avatar.
Signed up atsigned_up_atdate and time
When the person signed up for your product.
Last seen atlast_seen_atdate and time
When the person was last seen using your product.
Ownerowner_idtext
The teammate who owns this contact.
Unsubscribed from emailsunsubscribed_from_emailstrue/false
Whether the contact has opted out of email.
Email verifiedemail_verifiedtrue/false
Mark the email as verified. Needs Email filled in in this step.
Custom attributescustom_attributesobject
Custom data attributes to set, as keys and values. Each key must already exist as a data attribute in Intercom Settings.

Outputs

avatarobject
browsertext
companiesobject
created_atnumber
custom_attributesobject
emailtext
email_domaintext
external_idtext
has_hard_bouncedtrue/false
idtext
language_overridetext
last_contacted_atnumber
last_email_clicked_atnumber
last_email_opened_atnumber
last_replied_atnumber
last_seen_atnumber
locationobject
marked_email_as_spamtrue/false
merge_historylist
nametext
notesobject
ostext
owner_idtext
phonetext
roletext
signed_up_atnumber
social_profilesobject
tagsobject
typetext
unsubscribed_from_emailstrue/false
updated_atnumber
workspace_idtext
Example output
{
  "companies": {
    "data": [],
    "has_more": false,
    "total_count": 0,
    "url": ""
  },
  "created_at": 1734537243,
  "custom_attributes": {},
  "email": "sam.lee@example.com",
  "email_domain": "example.com",
  "external_id": "customer-1042",
  "has_hard_bounced": false,
  "id": "6657ab1c2d3e4f5a6b7c8d9e",
  "last_seen_at": null,
  "location": {
    "city": null,
    "country": null,
    "region": null,
    "type": "location"
  },
  "marked_email_as_spam": false,
  "name": "Sam Lee",
  "notes": {
    "data": [],
    "has_more": false,
    "total_count": 0,
    "url": ""
  },
  "owner_id": null,
  "phone": null,
  "role": "user",
  "signed_up_at": null,
  "tags": {
    "data": [],
    "has_more": false,
    "total_count": 0,
    "url": ""
  },
  "type": "contact",
  "unsubscribed_from_emails": false,
  "updated_at": 1734537243,
  "workspace_id": "abc123de"
}

On this page