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

# Message types

> Every WhatsApp message type you can send — templates, free-form text, media, interactive, location, contacts, reactions, and Flow messages

WhatsApp supports many more message types than most businesses use.
Templates are only the tip of the iceberg. This page catalogues
every type, when each is allowed, and how ApifyCloud exposes it.

<Note>
  Most non-template types require the [24h Customer Service
  Window](/guides/whatsapp/messaging-model#the-24-hour-customer-service-window-csw)
  to be open. Templates can be sent any time.
</Note>

## Template messages

Pre-approved structured messages. The only type you can send outside
the 24h window.

* Categories: Marketing, Utility, Authentication
* Rich content: header (text/image/video/document/location), body,
  footer, buttons
* Variables: indexed (`{{1}}`) or named (`{{first_name}}`)

See [Template categories](/guides/whatsapp/template-categories) and
[Template examples](/guides/whatsapp/template-examples).

## Free-form text

Plain text messages. Only inside the 24h window.

* Up to 4096 characters
* Supports WhatsApp markdown: `*bold*`, `_italic_`, `~strikethrough~`,
  ` ```monospace``` `
* URLs auto-linkify
* Emojis supported

Where to use: Conversations reply composer, flow Text nodes, the
free-form mode of the Messages composer when the CSW is open.

## Media messages

Send files alongside an optional caption.

| Type     | Max size                           | Common formats             | Caption? |
| -------- | ---------------------------------- | -------------------------- | :------: |
| Image    | 5 MB                               | JPEG, PNG                  |    Yes   |
| Video    | 16 MB                              | MP4 (H.264 + AAC)          |    Yes   |
| Document | 100 MB                             | PDF, DOC, XLS, PPT, TXT    |    Yes   |
| Audio    | 16 MB                              | MP3, AAC, OGG (voice note) |    No    |
| Sticker  | 100 KB (static), 500 KB (animated) | WEBP                       |    No    |

Outbound from: template headers (images/video/document only), flow
Media nodes, free-form composer inside the window.

## Interactive messages

Structured messages that WhatsApp renders with tap-to-respond UI.

### Buttons

Up to 3 quick-reply buttons attached to a text/media body. When the
user taps, the button label is emitted as their reply with an
optional payload.

* **Label**: 20 characters per button
* **Payload** (optional): up to 120 characters, hidden from the user

Use for: yes/no questions, branching in a flow, quick option
selection.

### List

A single "view options" button that opens a scrollable sheet with
up to **10 rows** grouped in up to **10 sections**.

* Each row: title + optional description
* User taps one row; the selection is emitted as their reply

Use for: menus, product categories, longer option lists where buttons
would overflow.

### CTA URL (Call-to-Action URL)

A single-button message with a body and a URL button — similar to a
template's URL button but sent free-form inside the window. Good for
linking to a dynamic page without needing a template.

### Location request

Ask the user to share their live location. WhatsApp renders a
location-share button; the user taps and shares coordinates.

### Address request

Ask the user to fill in a structured address form. WhatsApp renders a
form with country-appropriate fields.

## Location messages

Send a pinned location to the user — latitude, longitude, optional
name, and address.

* Outbound: free-form inside the window, or as a template header
  (LOCATION type)
* Inbound: the user can share their location; you receive
  coordinates

## Contact messages

Send one or more contact cards. The user can tap to save any of them
to their phonebook.

Fields per contact: name, phone numbers, emails, addresses, URLs,
organisation. Useful for "here's your driver", "here's our support
line", or handing over a salesperson's card.

## Reactions

Emoji reactions to a specific message.

* **Outbound**: add a reaction to a message you sent or received
* **Inbound**: the user can react to any of your messages — you
  receive a reaction event with the emoji and the message ID

## Flow messages (Meta's Flows)

A message that opens an in-chat **structured form** — multi-step,
with inputs, selections, conditional branches, all rendered natively
inside WhatsApp. Different from ApifyCloud's "Flows" (our
conversational logic builder).

* Built in Meta Flow Builder (separate tool from ApifyCloud)
* Sent as a message either via template or free-form (inside CSW)
* On submission, the user's responses come back as an inbound event

Details: [WhatsApp Flow messages](/guides/whatsapp/flow-messages).

## Order messages

Structured product catalogues and order messages for WhatsApp
commerce. Requires a WhatsApp-connected catalogue.

* **Catalogue message**: show one or more products with images, price,
  description
* **Order message** (inbound): when a user creates an order, you
  receive a structured event with line items

## System / operational messages

These are messages WhatsApp generates itself — not something your
business sends. You may observe them in conversation threads:

* `user_changed_number` — the user changed phone number
* Group metadata changes (if the number operates in group contexts)

## What you can send when — quick reference

| Scenario               | Template | Text | Media | Interactive | Location | Contacts | Reactions |           Flow msg           |
| ---------------------- | :------: | :--: | :---: | :---------: | :------: | :------: | :-------: | :--------------------------: |
| CSW open (last 24h)    |     ✅    |   ✅  |   ✅   |      ✅      |     ✅    |     ✅    |     ✅     |               ✅              |
| CSW closed             |     ✅    |   —  |   —   |      —      |     —    |     —    |     —     | ✅ (if wrapped in a template) |
| Free Entry Point (72h) |     ✅    |   ✅  |   ✅   |      ✅      |     ✅    |     ✅    |     ✅     |               ✅              |

## Where to send each in the console

* **Messages tab** — templates + free-form composer (when CSW is
  open)
* **Campaigns** — templates only (bulk scheduled sends)
* **Flows (ApifyCloud builder)** — all outbound types above are
  available as node types
* **Conversations** — reply composer supports all free-form types
  when the CSW is open

## What's next

<CardGroup cols={2}>
  <Card title="Template categories" href="/guides/whatsapp/template-categories">
    Template-specific message type with category rules.
  </Card>

  <Card title="WhatsApp Flow messages" href="/guides/whatsapp/flow-messages">
    Meta's structured in-message forms feature in depth.
  </Card>

  <Card title="Messaging model" href="/guides/whatsapp/messaging-model">
    How the 24h window gates what you can send.
  </Card>
</CardGroup>
