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.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.
Most non-template types require the 24h Customer Service
Window
to be open. Templates can be sent any time.
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}})
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
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 |
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
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
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
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
Template categories
Template-specific message type with category rules.
WhatsApp Flow messages
Meta’s structured in-message forms feature in depth.
Messaging model
How the 24h window gates what you can send.