User or Lead Initiated Conversation

User Initiated Message

$ curl https://api.intercom.io/messages \
-XPOST \
-H 'Authorization:Bearer <Your access token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' -d'
{
  "from": {
    "type": "user",
    "id": "536e564f316c83104c000020"
  },
  "body": "Hey"
}'
HTTP/1.1 200 OK

{
  "type": "user_message",
  "id": "2001",
  "created_at": 1401917202,
  "body" : "Hey, is the new thing in stock?",
  "message_type": "inapp"
}
intercom.messages.create(
  :from => {
    :type => "user",
    :id => "536e564f316c83104c000020"
  },
  :body => "Hey"
)
<?php
$intercom->messages->create([
    "message_type" => "inapp",
    "body" => "Surely, I said, knowledge is the food of the soul",
    "from" => [
        "type" => "user",
        "id" => "5989303470da497b1babb9ef"
    ]
]);
?>
UserMessage userMessage = new UserMessage()
  .setBody("Hey! Is there, is there a reward?")
  .setUser(user);
Conversation.create(userMessage);

You can create a new user or lead initiated message by submitting a POST to https://api.intercom.io/messages along with a JSON message.

The sending user or lead is identified by their user_id, email or id values in the from field, along with a type field value of user or contact.

The message_type for a user initiated message is always treated as a inapp and will appear as a conversation inside Intercom. The email message type is not currently supported for a user initiated message.

User initiated messages can not be sent to specific admins, and as such, do not use the to field.

Attributes

AttributeTypeDescription
bodystringThe content of the message. Plaintext only, HTML is not supported.
fromobjectA user or lead object containing the user's id or user_id (or email if lead). The type field must have a value of user or contact.

Returns

The created message object.