WhatsApp Action Block
The WhatsApp Action Block sends messages through the WhatsApp Business API — plain text, approved templates, interactive buttons and lists, media, location pins, and even native WhatsApp Flows (in-chat forms).
Two-way conversations: Pair this block with the WhatsApp Trigger to receive incoming messages and reply from the same workflow.
Key Features
- 12 Message Types: From simple text to carousels and native form widgets
- Multiple Recipients: Send the same message to a comma-separated list of phone numbers
- Wait for Reply: Pause the workflow until the recipient answers, and capture the answer in a variable
- Delivery Control: Wait for delivery confirmation, add a delay between sends, and tune send concurrency
- Conversation Tools: Quote an earlier message as a reply, and mark incoming messages as read (blue ticks)
Message Types
| Type | Description |
|---|---|
| Text Message | Plain text, with optional link preview |
| Template (Business Initiated) | A Meta-approved template — required to start a conversation outside the 24-hour window. Supports header/body/button parameters |
| Interactive Buttons | A message with tappable quick-reply buttons (WhatsApp allows up to 3) |
| Interactive List | A button that opens a list of selectable rows, grouped in sections |
| URL Button (opens a link) | A message with a single tappable button that opens a URL |
| Carousel | Swipeable cards with image/video headers, text, prices, and buttons |
| Image | An image by URL, with optional caption |
| Video | A video by URL, with optional caption |
| Audio | An audio file by URL |
| Document (PDF / file) | A file by URL, with optional filename and caption |
| Location (map pin) | A map pin with latitude, longitude, name, and address |
| WhatsApp Flow (Native Form Widget) | Opens a published WhatsApp Flow (a native multi-screen form). Map each form field to a workflow variable, and optionally wait until the user submits |
24-hour rule: WhatsApp only allows free-form messages (text, media, buttons, lists) within 24 hours of the customer's last message. To message someone first — or after 24 hours of silence — use Template (Business Initiated) with an approved template.
Configuration
| Parameter | Description |
|---|---|
| Phone Numbers | Comma-separated recipient numbers with country codes (e.g. +14155550123, +919876543210). Variables allowed |
| Message Type | One of the 12 types above, each with its own fields |
| Delay between messages (ms) | Wait between each send (default 1000 ms) — helps avoid Meta quality rate limits on large batches |
| Send Concurrency | Parallel send workers, 1–20 (default 1 = sequential). Raise carefully for big lists |
| Wait for delivery | Pause until WhatsApp confirms delivery (with a timeout in seconds) |
| Wait for reply | Pause the workflow until the recipient replies (single recipient only), with a timeout in minutes |
| Capture reply in variable | The variable that stores the recipient's reply text |
| Reply To Message ID | Quote an earlier message so this send renders as a reply — typically {{trigger messageId}} |
| Mark as Read | Mark an inbound message as read (blue ticks) before sending; needs the inbound Message ID |
Connecting WhatsApp Business
The WhatsApp credential uses a 4-step setup wizard:
- Requirements — review what you need: a Meta Business account with WhatsApp Business API access.
- System User Token — paste a System User access token created in Meta Business Settings with
whatsapp_business_messagingpermission. - Phone Number ID — paste the ID of the WhatsApp business phone number that will send messages.
- WABA ID & Webhook — paste your WhatsApp Business Account ID and configure the shown webhook URL in your Meta app so replies and delivery updates reach Indite.
Templates you created in Meta Business Manager appear automatically in the block once the credential is connected — select Template (Business Initiated) and pick one from the list.
Output
Downstream blocks can reference the send result with {{blockId.field}}. When Wait for reply is on, the recipient's answer is stored in the variable you selected, ready for conditions or AI blocks.
Example: Order confirmation with reply capture
- Webhook Trigger — your store calls the workflow when an order is placed.
- WhatsApp (Template) — sends an approved order-confirmation template with the order number as a parameter.
- WhatsApp (Interactive Buttons) — asks "Confirm delivery address?" with Yes / No buttons, Wait for reply enabled, answer captured in
addressOk. - Condition — branches on
addressOkto either finish or ask for a new address.
Related
- WhatsApp Trigger — start a workflow when a WhatsApp message arrives