WhatsApp Tool
The WhatsApp tool sends messages from your WhatsApp Business number — plain text, media (image/video/document/audio), and pre-approved message templates. Pair it with the WhatsApp trigger to build an auto-responder, or use it inside an Agent node so the agent replies for you.
Adding it to a flow
In the Tool node's tool picker, choose WhatsApp Business, select the account, and enable the operations you need.
Setup / credentials
The tool sends from a connected WhatsApp Business number.
- Connect your WhatsApp Business account to Flowera (via Channels → WhatsApp).
- In the tool, open the WhatsApp Account dropdown and pick the number.
- If the flow starts with a single WhatsApp trigger, Flowera auto-selects the matching number.
WhatsApp only lets you send free-form text and media within 24 hours of the customer's last message. Outside that window, you must use an approved template message (see below). Flowera surfaces a clear error if a send is blocked by this rule.
Inputs
| Parameter | Description | Required |
|---|---|---|
| WhatsApp Account | The connected WhatsApp Business number to send from. | Yes |
| Operations | Which actions to enable (text, template, media, interactive buttons, list, Flow). | Yes |
| Select Template | The approved template to send (only for Send Template Message). | When sending templates |
| Language Code | The template's language (must match the approved template). | When sending templates |
| Header Image / Video / Document URL | Media for a template that has a media header. | Optional |
| Document Filename | Display name for a document header. | Optional |
Body Variable {{1}}…{{15}} | Values that fill the {{n}} placeholders in the template body. | As the template requires |
| Header Text Variable | Value for a {{1}} inside the template's text header. | When the header has a variable |
| Product SKU / Product SKUs | The catalog products a catalog template sends (see below). | For catalog templates |
| Advanced: Raw JSON Parameters | Override the auto-generated template components with raw JSON. | Optional |
| Catalog ID | Your Meta Commerce Manager catalog id. | For Send Product / Product List / Product Carousel, and single-product / carousel templates |
Available operations
| Operation | What it does |
|---|---|
| Send Text Message | Send plain text (up to 4096 characters). Requires the 24-hour window to be open. |
| Send Template Message | Send a pre-approved template — works even outside the 24-hour window. |
| Send Media Message | Send an image, video, document, or audio file by URL (images up to 5 MB, video/audio up to 16 MB, documents up to 100 MB). |
| Send Interactive Buttons | Send up to 3 tappable reply buttons. The button the customer taps comes back as buttonPayload. |
| Send List Message | Send a menu the customer opens and picks from — up to 10 rows in total, grouped into sections. The chosen row comes back as listReplyId. |
| Send Flow Message | Send a published WhatsApp Flow (a multi-screen in-chat form). Pick the flow in Select Flow; the answers come back as formResponse. |
| Send Catalog | Send a card that opens your whole product catalog inside WhatsApp. Needs no product ids. |
| Send Product | Send one product card (image, title, price) the customer can add to their cart. |
| Send Product List | Send up to 30 products, grouped into sections. |
| Send Product Carousel | Send 2–10 products as horizontally scrollable cards. |
A Flow returns an answer only if its submit button maps that field. Build the form in the Flow Builder and the mapping is generated for you. If a submission arrives with no answers, open the flow — a warning names the missing fields — then save and re-publish it: until it is published again, WhatsApp keeps serving the old version.
Templates must be created and approved in Meta Business Manager first. Only approved templates appear in the Select Template dropdown — use the refresh icon to reload the list after approving a new one.
How inputs get filled
When the flow starts from a WhatsApp trigger, Flowera wires the event to the tool, so the addressing fills itself in:
- The person who messaged you becomes the recipient (
recipientPhoneNumber). - Media URLs and captions are taken from tool arguments or flow state.
The text is yours to set. In a Tool node, add a Tool Input Argument named
messageText and give it the node label of whoever wrote the reply — {{ Agent }}. Attached to an
Agent instead, the agent supplies the text itself when it decides to call the tool.
messageText echoes the customerIf you leave the text argument out of a Tool node, it falls back to the incoming message — the customer gets their own words back. Map it explicitly.
For templates, fill the Body Variable fields — they appear one by one based on how many variables the selected template declares.
Selling from your catalog
If you keep a product catalog in Meta Commerce Manager, the bot can show products in the chat and take orders — the customer browses, adds to a cart and sends it without leaving WhatsApp.
Before you start
- Create a catalog in Meta Commerce Manager with type Online products, and upload your items (each needs a content id / SKU, title, price and image).
- Connect that catalog to your WhatsApp Business account. One catalog per account — if one is already connected, add your products to it rather than creating a second.
- Ask support to turn on catalog visibility for your number. Meta keeps the storefront icon in the chat header off by default and offers no setting for it anywhere in its own tools, so a connected catalog stays hidden until it is switched on through the API. There is no self-service screen for this in Flowera yet.
The catalog send tools below work regardless — this switch only controls the permanent storefront icon in the chat header.
Which send to use
| Operation | Use it when | Needs |
|---|---|---|
| Send Catalog | The customer asks what you sell. Opens everything. | Nothing — not even the Catalog ID |
| Send Product | You are answering about one specific item. | Catalog ID + the product's SKU |
| Send Product List | You are recommending several items (max 30, in sections). | Catalog ID + SKUs |
| Send Product Carousel | You want a short, visual set (2–10 items). | Catalog ID + SKUs |
Find the Catalog ID in Commerce Manager under Catalog → Settings.
A Tool node runs every operation you enable on it, using the same arguments. Enable two catalog sends on one node and the customer receives two messages. Give each send its own Tool node and enable exactly one operation on it.
This does not apply to the Agent node, which calls one tool at a time.
Flowera cannot list your products for you — reading catalog contents needs a Meta permission the app does not hold. Copy the SKUs from Commerce Manager. For an agent to recommend products, put the SKU list in its system prompt.
Receiving the order
When the customer sends their cart, the flow runs with eventType: order and the parsed cart in
{{$webhook.<name>.order}} — line items, quantities, prices and the total. {{$question}} carries a
readable summary you can hand straight to an LLM. See the
WhatsApp trigger for the full shape.
In-chat payment is only available in a few countries (not Turkey or the EU). Everywhere else, send a payment link as a normal text message after the order arrives.
Catalog templates
To reach customers outside the 24-hour window (an abandoned-cart nudge, for example), create a catalog template in the template editor and send it with Send Template Message:
| Button | Template must have | Note |
|---|---|---|
| View Catalog | Body, no header | Opens the whole catalog |
| View Items | Text header + body | You choose the products when sending |
| View Product | Product header + body | Body is capped at 160 characters |
A catalog button has to be the only button on the template.
A catalog template holds no products — an approved template is just the shape, and you pick the products each time you send. Choose the template in Select Template and the fields you need appear:
| Template | Fill in | Required |
|---|---|---|
| View Catalog | Thumbnail Product SKU | No — WhatsApp uses the first item in your catalog |
| View Items | Product SKUs + Section Title | Yes — the button has nothing behind it otherwise |
| View Product | Product SKU + Catalog ID | Yes |
| Product carousel | Product SKUs + Catalog ID | Yes |
Enter SKUs separated by commas or on separate lines. Up to 30 for View Items, up to 10 for a
carousel. Each field accepts {{$variables}}, so a flow can pick the products at runtime.
Product carousel templates
A carousel template shows your products as swipeable cards. Turn on Product Carousel in the template editor and pick what the card button does:
| Card button | What happens | Order notification |
|---|---|---|
| View (in WhatsApp) | The product opens inside WhatsApp; the customer adds it to their cart | Yes |
| Open website | Your site opens in the customer's browser | No |
You define the card once. Meta approves the template with two identical cards, and you can then send up to 10 products through it.
A carousel template can have no header, footer or buttons of its own — the cards carry them — and it must use the Marketing category. The editor hides those sections and switches the category for you when you turn the carousel on.
If the card button opens your website, the purchase happens outside WhatsApp and Meta never tells Flowera about it. Any flow that waits for an order will wait forever. Use the in-WhatsApp button if your flow reacts to orders.
If the template's text header contains a {{1}} — Meta's own abandoned-cart example uses
Forget something, {{1}}? — fill the Header Text Variable field. Leave it empty for a fixed
header.
Some templates built in WhatsApp Manager name their variables ({{code}}) instead of numbering them
({{1}}). Those work too — the Body Variable fields stay numbered, and the template dropdown
lists the names in order so you know which field is which.
Outputs
The tool returns the send result (message id and status). It's a single-output tool — the flow moves on to the next node. Save anything you need later in flow state.
Example
Order-confirmation template
- A flow (or scheduled run) reaches the point where an order is confirmed.
- Add a Tool node with the WhatsApp tool, Send Template Message enabled.
- Pick your approved
order_confirmationtemplate, set the language, and map Body Variable{{1}}to the customer name and{{2}}to the order number.
Because it's a template, this sends reliably even if the customer hasn't messaged in the last 24 hours.
Tips
- Use templates for anything proactive. Free-form text only works inside the 24-hour window; templates always work.
- Match the language code to the exact language of the approved template, or WhatsApp rejects the send.
- Refresh templates after approving a new one in Meta so it shows up in the dropdown.
Related
- WhatsApp trigger — start a flow from WhatsApp messages
- Instagram tool — the equivalent for Instagram
- Tool node · Agent node
- Variables — WhatsApp webhook payload variables