Skip to content

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, an email or whatsapp.

🚧 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.

Security
bearerAuth
Headers
Intercom-Versionstring(intercom_version)

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

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

You can create a message

message_typestring

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

Enum:"in_app""email""whatsapp"
Example:"in_app"
subjectstring

The title of the email.

Example:"Thanks for everything"
bodystring

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

Example:"Hello there"
templatestring

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

Example:"plain"
fromobject

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

toRecipient (object) or Array of objects
One of:

A recipient of a message

ccRecipient (object) or Array of objects
One of:

A recipient of a message

bccRecipient (object) or Array of objects
One of:

A recipient of a message

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: 2.16' \
  -d '{
    "from": {
      "type": "user",
      "id": "6762f2341bb69f9f2193bc17"
    },
    "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
{ "type": "user_message", "id": "403918396", "created_at": 1734537780, "body": "heyy", "message_type": "inapp", "conversation_id": "613" }