---
ref: tool:intercom/send-message
name: Send a message
company: company:intercom
workflows: []
access: [api]
tags: [capability:send-email, category:support, has:api]
docs: https://developers.intercom.com/docs/references/rest-api/api.intercom.io/messages/createmessage
updated: 2026-09-27
---

# Send a message

Sends an email, in-app or WhatsApp message from a teammate to a user or lead and returns the created message.

For an email, pass `message_type: email`, `subject`, `body`, `template`
(`plain` or `personal`), `from` (`type: admin` and the teammate's `id`) and
`to` (the contact's `type` and `id`). No conversation exists until the contact
replies. A contact created moments earlier can return 404 until it is ready to
be messaged.

## Set up

Use the first option your agent supports.

### API (official)

- Base URL: https://api.intercom.io
- Endpoint: `POST /messages`
- Auth: send the header `Authorization: Bearer $INTERCOM_API_KEY`
- Get a key: https://app.intercom.io/a/apps/_/developer-hub/app-packages
- Docs: https://developers.intercom.com/docs/references/rest-api/api.intercom.io

Before doing anything else, make one read-only call to confirm access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data.
- Never print API keys.
