> ## Documentation Index
> Fetch the complete documentation index at: https://botsify.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Send Messages to Bot Users Across Channels with Botsify

> Use the Botsify API to proactively send text and rich media messages to your bot users on Messenger, WhatsApp, and the Converse inbox.

Botsify lets you send outbound messages to your users without waiting for them to start a conversation. Whether you need to push a notification to a Messenger subscriber, deliver a message through the Converse inbox, or inject a message into an existing bot session, the Botsify API has a dedicated endpoint for each scenario. This guide covers all three methods with ready-to-run examples.

> [!NOTE]
>
> **Message types and the `tag` field.** Facebook Messenger's messaging policy restricts what kinds of messages you can send outside the 24-hour standard messaging window. Use the `type` field to specify the message format (e.g. `text`, `image`) and the `tag` field to apply a Messenger policy tag — such as `CONFIRMED_EVENT_UPDATE`, `POST_PURCHASE_UPDATE`, or `ACCOUNT_UPDATE` — when sending outside the standard window. Sending without a valid tag outside the window may result in message delivery failure. Always review [Meta's Messenger Platform policy](https://developers.facebook.com/docs/messenger-platform/policy) before broadcasting.

## Method 1 — Outbound message to a Messenger user

Use `POST /api/v1/send-message-to-user` to proactively push a message directly to a Facebook Messenger user identified by their Page-scoped ID (`fbId`).

```bash theme={null}
curl --request POST \
  --url https://app.botsify.com/api/v1/send-message-to-user \
  --header 'Content-Type: application/json' \
  --data '{
    "apikey": "<YOUR_API_KEY>",
    "to": "1234567890",
    "message": "Hi! Your order #4521 has shipped and will arrive by Friday.",
    "type": "text",
    "user_id": "internal-user-99",
    "tag": "POST_PURCHASE_UPDATE"
  }'
```

**Request body fields**

| Field | Type | Required | Description |
| - | - | - | - |
| `apikey` | string | ✅ | Your Botsify API key |
| `to` | string | ✅ | The recipient's Facebook Page-scoped ID (fbId) |
| `message` | string | ✅ | The message text or payload to deliver |
| `type` | string | ❌ | Message format, e.g. `text` or `image` |
| `user_id` | string | ❌ | Your internal identifier for the user |
| `tag` | string | ❌ | Messenger policy tag required for messages sent outside the 24-hour window |

***

## Method 2 — Text message via Converse

Use `POST /api/v1/converse/send-message-to-user` to send a message through the Botsify Converse inbox. This is useful when your team is handling conversations directly and needs to programmatically deliver a reply.

```bash theme={null}
curl --request POST \
  --url https://app.botsify.com/api/v1/converse/send-message-to-user \
  --header 'Content-Type: application/json' \
  --data '{
    "apikey": "<YOUR_API_KEY>",
    "type": "text",
    "to": "1234567890",
    "message": "Thanks for reaching out! A support agent will follow up shortly."
  }'
```

**Request body fields**

| Field | Type | Required | Description |
| - | - | - | - |
| `apikey` | string | ✅ | Your Botsify API key |
| `type` | string | ✅ | Message type, e.g. `text` |
| `to` | string | ✅ | The recipient's identifier |
| `message` | string | ✅ | The message content to send |

***

## Method 3 — Inbox (bot session) message

Use `POST /api/v1/send-message` to inject a message into an active bot session. This endpoint requires the `bot_id` of the relevant bot and the user's `fbId`.

```bash theme={null}
curl --request POST \
  --url https://app.botsify.com/api/v1/send-message \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <YOUR_API_KEY>' \
  --data '{
    "bot_id": "bot_abc123",
    "fbId": "1234567890",
    "message": "Just checking in — is there anything else we can help you with?"
  }'
```

**Request body fields**

| Field | Type | Required | Description |
| - | - | - | - |
| `bot_id` | string | ✅ | The ID of the bot managing this conversation |
| `fbId` | string | ✅ | The Facebook Page-scoped ID of the user |
| `message` | string | ✅ | The message text to send |

***

## Choosing the right endpoint

> **send-message-to-user**
>
> Best for **proactive outbound notifications** to Messenger users — order updates, reminders, alerts. Supports Messenger policy tags.

> **converse/send-message-to-user**
>
> Best for **live agent handoff scenarios** where a human operator or automation needs to reply through the Converse inbox.

> **send-message**
>
> Best for **injecting messages into an existing bot session** — for example, triggering a follow-up flow or sending a bot-driven update mid-conversation.

## Next steps

* **Broadcast on WhatsApp** — send template messages to multiple users at once using the [WhatsApp Integration guide](/guides/whatsapp-integration).
* **Track engagement** — measure how your outbound messages affect conversation volume with [Analytics](/guides/analytics).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.