Guide · Make.com · WhatsApp Business Cloud

Make.com WhatsApp automation with the WhatsApp Business Cloud API

Short answer: To automate WhatsApp from Make, you use Make's WhatsApp Business Cloud app, which runs on Meta's WhatsApp Cloud API. You need a Meta business portfolio, a WhatsApp Business account and a business phone number. Messages you start yourself, such as order confirmations, must use an approved message template (module: Send a Template Message). Free-form messages (module: Send a Message) only work within 24 hours of the customer's last message.

By Flowpaja · Published

A confirmed order row in Google Sheets, an approved order_confirmation WhatsApp template, and a delivered status event logged back in the sheet
Messages you start must use an approved template, and a green tick in Make doesn't prove delivery: log the status events.
Disclosure: everything in this guide works with plain Make.com and the apps it connects. At the end we mention our own Make templates and our Make scenario fix service on Fiverr. Module names, settings and limits were checked against Make's WhatsApp Business Cloud docs and Meta's WhatsApp pricing page in October 2026. Menus and limits change, so check them if something looks different.

Some links on this page are affiliate links. If you sign up through them, Flowpaja may earn a commission at no extra cost to you.

This guide covers the setup, the Make modules, templates, the 24-hour window and what Meta charges. The worked example sends order confirmations from a Google Sheet.

What you need

  • A Make account. The free plan is enough to test. Sign up here if needed: Make (affiliate link)
  • A Facebook account and a Meta business portfolio (created at business.facebook.com).
  • A WhatsApp Business phone number with two-step verification turned off while you connect it. If you already use the number in the WhatsApp Business app, Make's Coexistence mode can keep the phone app working alongside the API. It isn't available in every country.
  • Customer opt-in: people must have agreed to receive WhatsApp messages from you. That's a Meta policy requirement, and in many countries also a legal one.
  • A payment method in Meta (Billing & payments in Meta Business Suite). Meta charges per delivered message. See the pricing section below.

Honest limits:

  • WhatsApp isn't a free bulk-messaging channel. Templates need approval, marketing messages are paid and restricted, and numbers with many blocks or reports get limited.
  • You can't automate a personal WhatsApp account with the Cloud API.
  • Meta reviews your business and display name before you can send freely. Make's docs say this can take up to 1 business day. During the review you can send only 5 business-initiated test messages per 24 hours.

Step 1: Connect WhatsApp in Make

Make's current connection no longer requires a Meta developer app or a hand-made access token. Make's setup flow handles the token, the account ID and the webhooks for you.

  1. In a scenario, click +, search for WhatsApp Business Cloud, add a module and click Create a connection. For an instant module like Watch Events, click Create a webhook first, then create the connection.
  2. Connection type: WhatsApp Business Cloud (not "legacy").
  3. Signup Mode: Regular (recommended), or Coexistence if you actively use the WhatsApp Business mobile app on that number.
  4. Click Save → Continue, then pick your Business portfolio and either an existing WhatsApp Business account or Create a new WhatsApp Business account.
  5. Click Next → Confirm → Finish.

If you get "Resource not found" at the end, retry and select the accounts you just created. They already exist.

Older tutorials describe the legacy connection: a Meta developer app, a System User permanent token and the WhatsApp Business Account ID. Make supports that connection only until April 2027, so use the new one for anything you build today. (The token on Meta's old Getting Started page was valid for only 24 hours, which is why so many old scenarios stopped after a day.)

Moving from another WhatsApp platform? A WhatsApp Business account can only be managed by one partner at a time. If yours doesn't show in the dropdown, remove the other partner in Meta Business Suite (Settings → Accounts → WhatsApp Accounts → Partners) or migrate the number through Make's flow. The number then stops working on the other platform.

Step 2: The modules

ModuleWhat it does
Watch Events (instant)Starts the scenario when a message or status event arrives. Choose the events, or leave them all unchecked to get everything.
Send a Template MessageSends an approved template. This is the only way to start a conversation.
Send a MessageSends free-form text, images and so on, but only inside an open 24-hour window.
Upload a Media / Download a MediaHandles files by media ID.
Register a Sender, Verify a Sender, Get / Update a Business ProfileNumber and profile management.

The trap: if you use Send a Message outside the 24-hour window, Make's docs say the module can still show success while the message never reaches the customer. Don't trust a green tick. Watch the delivery status events (see below).

Step 3: Receive messages and delivery statuses

Add WhatsApp Business Cloud → Watch Events, click Create a webhook, select the connection and the events you want (incoming messages, statuses), and save. With the current connection, Make registers the webhook with Meta for you. You don't need to paste URLs or verify tokens in Meta's dashboard.

Use it for two things:

  • Incoming messages: route them to Slack, a sheet or a helpdesk, or reply with Send a Message within 24 hours.
  • Status events (sent, delivered, read, failed): log them next to the original row so you can see which messages actually arrived.

For general webhook problems, see Make webhook not receiving data.

Step 4: Message templates and the 24-hour window

This is the part that trips everyone up.

  • Customer writes to you: a 24-hour customer service window opens, and every new customer message resets it. Inside the window you can send free-form messages with Send a Message.
  • Outside that window, including every message you start (order confirmations, reminders), you must send an approved template with Send a Template Message.

Templates:

  • You create them in WhatsApp Manager, choose a category (marketing, utility or authentication), a language, and write the text with variables, such as {{1}}, {{2}}.
  • Meta reviews each template. Only approved templates can be sent.
  • Utility templates (order updates, delivery notices) fit transactional messages. Don't dress marketing up as utility, because Meta can re-categorise or reject it.

Example utility template, named order_confirmation, in English:

Hi {{1}}, thanks for your order {{2}}. We've received it and will send it by {{3}}. Reply to this message if you have questions.

Step 5: What Meta charges

  • Since July 1, 2025, Meta charges per delivered message instead of per conversation. Template rates depend on the category and the recipient's country code.
  • From October 1, 2026, service messages (free-form replies inside the 24-hour window) are charged too, at the same rate as utility messages in that market. Each business number gets 1,000 free service messages a month. They don't roll over.
  • Make's docs add a warning: without a payment method in Meta's Billing Hub, messages beyond the free tier aren't delivered, even though the Make module shows success.

Check Meta's current rate card for your recipients' countries before you estimate costs. Meta can update rates up to quarterly.

Step 6: Phone number format

  • With your own business number: Make accepts any dialable format with the country code and recommends a leading +, e.g. +358401234567.
  • With Meta's test number: digits only, with no +, spaces or brackets (358401234567), and the recipient must be registered as a test number in Meta.

Either way, a local number like 0401234567 won't work. To convert Finnish local numbers in Make, type +358 in the field and map the rest after it (this drops spaces, dashes and the leading zero):

+358{{substring(replace(replace(1.Phone; " "; ""); "-"; ""); 1)}}

That only fits numbers stored in local format with a leading zero. If your sheet mixes formats, store numbers in international format from the start. It's far less fragile than fixing them in the scenario.

Worked example: order confirmations from a Google Sheet

Goal: when an order row is marked "Confirmed", send a WhatsApp template message once, then mark the row as sent.

Sheet "Orders" (row 1 headers): Order | First name | Phone | Delivery date | Status | WhatsApp sent | WhatsApp message ID

Store Phone in international format, e.g. +358401234567.

Scenario (scheduled, e.g. every hour):

  1. Google Sheets → Search Rows: Status equals Confirmed AND WhatsApp sent is empty, limit 20.
  2. Filter: Total number of bundles greater than 0. When nothing matches, Search Rows outputs one empty bundle with total 0, and this filter stops the run there. See Search Rows returns nothing.
  3. Filter: Phone exists.
  4. WhatsApp Business Cloud → Send a Template Message:
    • Sender ID: your business number
    • Receiver: {{1.Phone}}
    • Message Template: order_confirmation (English)
    • Variables in the template's order: first name, order number, delivery date (e.g. formatDate(…; "D MMM"))
  5. Google Sheets → Update a Row: WhatsApp sent = {{formatDate(now; "YYYY-MM-DD HH:mm")}}, WhatsApp message ID = the message ID from step 4's output.

Delivery check (optional, second scenario): Watch Events for status events → Search Rows by WhatsApp message ID → Update a Row with the status (delivered, read, failed). Route on Total number of bundles > 0 here too, because status events also arrive for messages that aren't in the sheet.

Error handling:

  • Add a Retry handler (formerly Break) on step 4 for temporary errors (e.g. 5xx). It needs Store incomplete executions turned on.
  • Don't retry template, parameter or phone errors. They won't fix themselves. A Skip handler (formerly Ignore) on those lets the other rows continue, and the empty WhatsApp sent cell shows which rows to fix.

Credits (1 credit per module action; filters are free):

  • Hourly check with nothing to send: Search Rows = 1 credit. The filter stops the rest.
  • Each order sent: Send a Template Message 1 + Update a Row 1 = +2 credits.
  • Example: an hourly check that finds 3 confirmed orders = 1 + 3 × 2 = 7 credits.
  • Monthly baseline at hourly checks: about 720 credits, before any orders. Check less often if confirmations can wait, or start the scenario from your shop's instant order trigger. See Make credits explained.

Meta charges for the template messages separately.

Common errors

ErrorCauseFix
Module shows success but nothing arrivesFree-form message outside the 24-hour window, free tier used up with no payment method, or recipient not opted inUse Send a Template Message; add a payment method; check status events
Error 500, code 131000Tried to start a chat with Send a MessageStart with Send a Template Message
"This account is not registered"Sending number not registered with the Cloud APIRun Register a Sender once
Template not found / not approvedWrong name or language, or still in review / rejectedCheck the exact name, language and status in WhatsApp Manager
Parameter count mismatchTemplate has 3 variables, you sent 2 (or 4)Fill exactly the variables the template defines, in order
Invalid recipientLocal format or missing country codeUse international format (Step 6)
Business account missing in the connection dropdownAccount managed by another partner platformRemove that partner in Meta Business Suite, or migrate the number
"Cannot Create Certificate… two-factor authentication"Two-step verification still on for the numberTurn it off, then reconnect
"Provided account is not compatible…" when savingModule still points to an old connectionOpen each WhatsApp module, Refresh form, pick the valid connection
Token expired (error code 190)Legacy connection with a temporary tokenSwitch to the current connection type
Scenario switched offAn instant trigger errored, or the Errors before deactivation limit was reachedFix the cause in History; switch it back on

Read the full error message in the module's output in History. For Make-side error types, see the Make error cheat sheet.

Related guides: Instagram and Facebook automation · All Make integration guides

FAQ

Can I use my personal WhatsApp with Make?
No. Make works with Meta's WhatsApp Business Cloud API, which needs a business portfolio and a WhatsApp Business phone number. A number already in the WhatsApp Business app can be connected in Coexistence mode where Meta supports it.
Why do I need a template to send an order confirmation?
Messages you start, or any message outside the 24-hour window after a customer's last message, must use an approved template. Free-form messages only work inside that window.
Why did my message show success in Make but never arrive?
Usually it was a free-form message sent outside the 24-hour window, or you passed the free service-message tier without a payment method in Meta. Make can report success in both cases, so check the delivery status events.
How much does WhatsApp charge per message?
Meta charges per delivered message, based on the template category and the recipient's country. From October 1, 2026, free-form service messages are charged too, with 1,000 free per business number each month.
What phone number format does WhatsApp need?
International format with the country code, for example +358401234567. With Meta's test number, use digits only, like 358401234567.
How many Make credits does sending a WhatsApp message use?
Typically 1 credit for the send module, plus credits for the other modules in the scenario, such as reading and updating the sheet. Meta charges for the message itself separately.

WhatsApp messages not arriving?

Send the exported blueprint and the failed run's error text to our Make scenario fix service on Fiverr. No logins needed.

Stuck on an error in your own Make scenario? Make scenario fix / debugging on Fiverr, from $25: send the exported blueprint and a description of the error, no logins needed.

← All guides · All templates

Make, WhatsApp, Meta, Facebook, Google and Google Sheets are trademarks of their owners. Flowpaja is independent and not affiliated with or endorsed by them. Menus, prices and features change; check the providers' current pages.