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.