You can create a message that has been initiated by an admin. The conversation can be either an in-app message, an email, sms 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.
from should be an admin. A request with a user or lead as from is not rejected: it creates a conversation initiated by that contact, as the Create a conversation endpoint (POST /conversations) does, and the to, cc and bcc fields are ignored. To create a conversation initiated by a contact, use POST /conversations.
Intercom API version.
If you omit the header, the API uses the version set in your app package, and 1.0 if none is set.
You can create a message
The kind of message being created. Values: in_app, email, sms or whatsapp. inapp is also accepted for in-app messages, and responses always show in-app messages as inapp.
A recipient of a message
The time the message was created. If not provided, the current time will be used.
Whether a conversation should be opened in the inbox for the message without the contact replying. Defaults to false if not provided.
The components of the WhatsApp template, with the values for its variables. Required for whatsapp messages.
[ { "type": "BODY", "parameters": [ … ] } ]
The locale of the WhatsApp template to send, such as en. If you leave it out, the contact's messenger locale is used, then the workspace locale. A template that isn't available in the locale returns a 400 error.
- The production API serverhttps://api.intercom.io/messages
- The european API serverhttps://api.eu.intercom.io/messages
- The australian API serverhttps://api.au.intercom.io/messages
- message_type: `email`.
- message_type: `inapp`.
- message_type: `sms`.
- message_type: `whatsapp`.
- user message created
- lead message created
- admin message created
- admin sms message created
- admin whatsapp message created
- No body supplied for message
- No subject supplied for email message
- No body supplied for email message
- Invalid body supplied for sms message
curl -i -X POST \
https://api.intercom.io/messages \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: Preview' \
-d '{
"from": {
"type": "user",
"id": "6762f2341bb69f9f2193bc17"
},
"body": "heyy",
"referer": "https://twitter.com/bob"
}'admin message created
The type of message that was sent. Can be email, inapp, facebook, twitter, sms or whatsapp.
The admin who sent the message. Only present when the message has an owner.
The style of the email, such as plain or personal. Only present when message_type is email.
The external identifier of the message, if one was set when the message was created. Only returned for messages started by a contact.
- user message created
- lead message created
- admin message created
{ "type": "user_message", "id": "403918396", "created_at": 1734537780, "body": "heyy", "message_type": "inapp", "conversation_id": "613" }