API ReferenceBuilding AppsInstalling IntercomAPI & Webhook ReferenceCanvas Kit Reference
DocsApp StoreForumBlogYour Apps

User or Lead Initiated Conversation

User Initiated Message

$ curl https://api.intercom.io/messages \
-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"
  :from => {
    :type => "user",
    :id => "536e564f316c83104c000020"
  :body => "Hey"
    "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?")

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.

You can also send a message from a visitor by specifying their user_id or id value in the from field, along with a type field value of contact. This visitor will be automatically converted to a lead once the message is sent.

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.







The content of the message. Plaintext only, HTML is not supported.



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


The created message object.