Intercom API (Unstable)

The intercom API reference.

Download OpenAPI description
Languages
Servers
The production API server
https://api.intercom.io/
The european API server
https://api.eu.intercom.io/
The australian API server
https://api.au.intercom.io/

Admins

Everything about your Admins

Operations

AI Content

With the AI Content APIs, you can create and manage External Pages and Content Import Sources for your Fin Content Library.

 

External Pages are pages that you want Fin to be able to answer questions about. The API for External Pages is a great way to ingest into your Fin Content Library pages that are not publicly accessible and hence can't be crawled by Intercom.

 

Content Import Sources are the sources of those pages, and they are used to determine the default audience for the pages (configured via the UI). You should create a Content Import Source for each source of External Pages that you want to ingest into your Fin Content Library.

 

You can then iterate through the content from that source via its API and POST it to the External Pages endpoint. That endpoint has an external_id parameter which allows you to specify the identifier from the source. The endpoint will then either create a new External Page or update an existing one as appropriate.",

Operations

Articles

Everything about your Articles

Operations

Companies

Everything about your Companies

Operations

Contacts

Everything about your contacts

Operations

Conversations

Everything about your Conversations

Operations

Custom Object Instances

Everything about your Custom Object instances.

Operations

Data Attributes

Everything about your Data Attributes

Operations

Data Events

Everything about your Data Events

Operations

Data Export

Everything about your Data Exports

Operations

Help Center

Everything about your Help Center

Operations

Messages

Everything about your messages

Operations

Message

Message are how you reach out to contacts in Intercom. They are created when an admin sends an outbound message to a contact.

typestringrequired

The type of the message

Example: "user_message"
idstringrequired

The id representing the message.

Example: "1488971108"
created_atinteger(date-time)required

The time the conversation was created.

Example: 1667560812
subjectstring

The subject of the message. Only present if message_type: email.

Example: "Greetings"
bodystringrequired

The message body, which may contain HTML.

Example: "Hello"
message_typestringrequired

The type of message that was sent. Can be email, inapp, facebook or twitter.

Enum"email""inapp""facebook""twitter"
Example: "inapp"
conversation_idstring

The associated conversation_id

Example: "64619700005570"
{ "type": "user_message", "id": "1488971108", "created_at": 1667560812, "subject": "Greetings", "body": "Hello", "message_type": "inapp", "conversation_id": "64619700005570" }

Create a message

Request

You can create a message that has been initiated by an admin. The conversation can be either an in-app message or an email.

🚧 Sending for visitors

There can be a short delay between when a contact is created and when a contact becomes available to be messaged through the API. A 404 Not Found error will be returned in this case.

This will return the Message model that has been created.

🚧 Retrieving Associated Conversations

As this is a message, there will be no conversation present until the contact responds. Once they do, you will have to search for a contact's conversations with the id of the message.

Headers
Intercom-Versionstring(intercom_version)

Intercom API version.
By default, it's equal to the version set in the app package.

Default Unstable
Enum"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example: Unstable
Bodyapplication/json
Any of:

You can create a message

message_typestringrequired

The kind of message being created. Values: in_app or email.

Enum"in_app""email"
Example: "in_app"
subjectstringrequired

The title of the email.

Example: "Thanks for everything"
bodystringrequired

The content of the message. HTML and plaintext are supported.

Example: "Hello there"
templatestringrequired

The style of the outgoing message. Possible values plain or personal.

Example: "plain"
fromobjectrequired

The sender of the message. If not provided, the default sender will be used.

from.​typestringrequired

Always admin.

Value"admin"
Example: "admin"
from.​idintegerrequired

The identifier for the admin which is given by Intercom.

Example: 394051
toobjectrequired

The sender of the message. If not provided, the default sender will be used.

to.​typestringrequired

The role associated to the contact - user or lead.

Enum"user""lead"
Example: "user"
to.​idstringrequired

The identifier for the contact which is given by Intercom.

Example: "536e564f316c83104c000020"
created_atinteger

The time the message was created. If not provided, the current time will be used.

Example: 1590000000
create_conversation_without_contact_replyboolean

Whether a conversation should be opened in the inbox for the message without the contact replying. Defaults to false if not provided.

Default false
Example: true
curl -i -X POST \
  https://api.intercom.io/messages \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Intercom-Version: Unstable' \
  -d '{
    "from": {
      "type": "user",
      "id": "66fd02669ffbe52cc8b3aaf8"
    },
    "body": "heyy",
    "referer": "https://twitter.com/bob"
  }'

Responses

admin message created

Bodyapplication/json
typestringrequired

The type of the message

Example: "user_message"
idstringrequired

The id representing the message.

Example: "1488971108"
created_atinteger(date-time)required

The time the conversation was created.

Example: 1667560812
subjectstring

The subject of the message. Only present if message_type: email.

Example: "Greetings"
bodystringrequired

The message body, which may contain HTML.

Example: "Hello"
message_typestringrequired

The type of message that was sent. Can be email, inapp, facebook or twitter.

Enum"email""inapp""facebook""twitter"
Example: "inapp"
conversation_idstring

The associated conversation_id

Example: "64619700005570"
Response
application/json
{ "type": "user_message", "id": "403918228", "created_at": 1727857254, "body": "heyy", "message_type": "inapp", "conversation_id": "312" }

News

Everything about your News

Operations

Notes

Everything about your Notes

Operations

Segments

Everything about your Segments

Operations

Subscription Types

Everything about subscription types

Operations

Switch

Everything about Switch

Operations

Tags

Everything about tags

Operations

Teams

Everything about your Teams

Operations

Ticket States

Everything about your ticket states

Operations

Ticket Type Attributes

Everything about your ticket type attributes

Operations

Ticket Types

Everything about your ticket types

Operations

Tickets

Everything about your tickets

Operations

Visitors

Everything about your Visitors

Operations

Models