- Home
- Resources
- Integrations
- WhatsApp Business Cloud
WhatsApp Business Cloud n8n integrationAutomate WhatsApp Business Cloud with n8n.
Can n8n send WhatsApp messages and react to the ones that come back? Yes. The WhatsApp Business Cloud n8n integration pairs a node with 6 operations across 2 resources and a trigger that listens to 10 webhook events, so inbound messages and outbound replies sit in one workflow.
Verified Trustpilot reviews · AI, automation & growth agency
Why set up the WhatsApp Business Cloud n8n integration?
The WhatsApp Business Cloud n8n integration links a business phone number to an n8n workflow through Meta's Cloud API. The node sends messages, templates and media files from any step of a workflow. The trigger receives events over a webhook, a URL that WhatsApp calls the moment something happens on the account, so a customer reply can start a workflow within seconds instead of waiting for someone to open the inbox.
Start with the reply loop, since it covers most of what teams build here. The trigger fires on the messages event when a customer writes to your business number. The rest of the workflow reads the text, decides what to answer, and message.send pushes the reply back to the same number. Add a step that writes the exchange into Google Sheets and you get a running log without touching a CRM.
Second pattern: the outbound notification. An order ships, a booking moves, a payment fails, and the workflow calls message.sendTemplate with a template you already defined in your WhatsApp Business account. The variable parts travel in Components, which is why this operation fits recurring transactional messages better than free text does.
Third pattern: the human checkpoint. message.sendAndWait stops the workflow, sends a question to a phone, and resumes once the person taps Approve or fills the form. Ops teams use it to sign off on something before an automated action goes out, with the alert mirrored to Slack when the workflow also serves a shared channel. If your audience lives on another messenger, the same shape works with Telegram.
Reach for the HTTP Request node when the Cloud API exposes something the node does not: reading message history, managing phone numbers, editing templates from a workflow. HTTP Request calls any endpoint of the API and reuses the same credential through predefined authentication, so you keep one place to rotate the token.
Known limits are worth reading before you build. WhatsApp registers a single webhook per app, so a test URL and a production URL overwrite each other. There is no wildcard event: every event you want has to be ticked in the trigger. Media moves through the node in three explicit operations rather than being attached in one click. For a wider view of what n8n handles well, the n8n review goes through the platform itself, and the n8n training covers building these workflows from scratch.
How do you connect WhatsApp to n8n?
- 01
Create the Meta assets
Three pieces come before n8n. A Meta developer account, created on the Facebook Developers site and verified by phone. A Meta business portfolio, formerly called a Business Manager account, which WhatsApp messaging services require. A Meta business app with the WhatsApp product added from Add products to your app. In App settings, Basic, set the Privacy Policy URL and the Terms of Service URL, then switch App Mode to Live.
- 02
Add the API key credential for the node
The WhatsApp Business Cloud node authenticates with an API key credential holding two values. The Access Token comes from your Meta app, under WhatsApp then API Setup: select Generate access token and confirm the access you grant. The Business Account ID is the WhatsApp Business Account ID shown on the same API Setup screen. A credential is created once in the n8n Credentials menu and reused across every workflow.
- 03
Add the OAuth2 credential for the trigger
The WhatsApp Trigger uses a different method: OAuth2, with a Client ID and a Client Secret. Both come from the same Meta app, under App settings then Basic. Copy the App ID into the Client ID field of the n8n credential, and the App Secret into the Client Secret field. Two credentials therefore coexist in n8n for one WhatsApp setup, one for sending and one for receiving, and the node lists the right one in its dropdown.
What does the WhatsApp Trigger listen to?
WhatsApp Trigger is the node that starts a workflow when something happens in WhatsApp Business Cloud. It listens to 10 events, listed below by family. Pick one or several, activate the workflow: n8n registers the webhook on your WhatsApp Business Cloud account.
What you see in n8n
Every event, by family
One row per object, one chip per action. The event to tick in the node is object.action; hover a chip to read exactly when it fires.
account_review_update.*1account_review_ update. account_review_ update
account_update.*1account_update. account_update
business_capability_update.*1business_capability_ update. business_capability_ update
message_template_quality_update.*1message_template_ quality_ update. message_template_ quality_ update
message_template_status_update.*1message_template_ status_ update. message_template_ status_ update
messages.*1messages.messages
phone_number_name_update.*1phone_number_ name_ update. phone_number_ name_ update
phone_number_quality_update.*1phone_number_ quality_ update. phone_number_ quality_ update
security.*1security.security
template_category_update.*1template_category_ update. template_category_ update
Configuration notes
01Set Up the WhatsApp Trigger
Configuration takes one parameter and one credential. Trigger On holds the list of events the workflow reacts to, and you tick the ones you need among the 10 available. There is no wildcard value, so an event nobody ticked never reaches the workflow. The trigger authenticates with the OAuth2 credential, not the API key one used by the node.
Key parameters
- Trigger On: the events WhatsApp pushes to this workflow, ticked one by one from the 10 entries of the list.
- Receive Message Status Updates: inside Options, it narrows which status changes wake the workflow. WhatsApp notifies the trigger every time a message moves from Sent to Delivered, then Delivered to Read, and selecting only the statuses you care about avoids several executions for a single message.
02Messages
The messages event carries what customers send to your business number, plus the delivery status of what you sent them. It is the event behind every chatbot, every support routing rule and every automatic acknowledgement built on this node.
Key parameters
- Trigger On: tick
messagesto receive inbound traffic on the number attached to your business account. - Receive Message Status Updates: leave it empty and status changes stay out of the way; pick Delivered or Read and the same workflow also sees what happened to your outbound messages.
message.send. A prospect writes outside office hours and gets a template reply while the request is filed for the morning.03Message Template Status Update
Three of the ten events follow the life of your message templates rather than conversations: message_template_status_update, message_template_quality_update and template_category_update. They matter because message.sendTemplate depends on templates staying usable, and nothing in the node warns you when one changes on Meta's side.
Key parameters
- Trigger On: tick the three template events together, since a template rarely changes status without its quality or category moving at some point.
04Account Update
The remaining events describe the health of the account and the numbers behind it: account_update, account_review_update, business_capability_update, phone_number_name_update, phone_number_quality_update and security. None of them involve a customer message, and that is exactly why they get forgotten until something breaks.
Key parameters
- Trigger On: tick the account and phone number events you want mirrored somewhere a human reads, rather than all 10 at once.
phone_number_quality_update lands, and the workflow pauses the outbound campaign while the number recovers. security lands, and the workflow opens a ticket. account_review_update tells you Meta looked at the account, which is the kind of news you want in writing.What can the WhatsApp Business Cloud node do?
The WhatsApp Business Cloud node exposes 6 operations across 2 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Delete | Upload | Download | Send | Send and Wait for Response | Send Template |
|---|---|---|---|---|---|---|
| Message | ✓ | ✓ | ✓ | |||
| Media | ✓ | ✓ | ✓ |
Operations index
Message
3 operationsSend message
message.sendWhat you see in n8n
Notes & use cases
Sends one WhatsApp message from your business number to one recipient. MessageType decides what comes next, seven types: text, image, audio, video, document, location or contacts.
Key parameters
- Sender Phone Number (or ID): the ID of the business account phone number the message is sent from, chosen in a dropdown.
- Recipient's Phone Number: the destination number, country code included, often an expression like
{{ $json.phone }}from the incoming item. - Text Body: the message itself, capped at 4096 characters.
- Input Data Field Name: for media coming from n8n, the plain name of the binary field, written as
datarather than as an expression.
Send message and wait for response
message.sendAndWaitWhat you see in n8n
Notes & use cases
Puts the workflow on hold, sends a question to a phone, and resumes only once that person answers. The execution stays open in the meantime, which makes this the human checkpoint.
Key parameters
- Message: the text the recipient reads before deciding.
- Response Type: Approval to approve or disapprove from the message itself, Free Text for a written answer through a form, Custom Form for named fields you define.
- Type of Approval: Approve Only for a simple go, Approve and Disapprove when a refusal has to be recorded too.
- Limit Wait Time: caps how long the node waits before the run resumes on its own.
Send template
message.sendTemplateWhat you see in n8n
Notes & use cases
Sends a template defined in your WhatsApp Business account instead of free text. Template is a dropdown of template names, and the variable parts travel separately.
Watch the error Bad request - please check your parameters: usually the data does not match the template, in data type or in the order the parameters were defined. When expressions feed those values, an Edit Fields (Set) node upstream or a fallback keeps the format valid.
Key parameters
- Template: the name of the template to send, required and picked from the list.
- Components: the values injected into the template, added one by one through Add Component.
Media
3 operationsUpload media
media.mediaUploadWhat you see in n8n
Notes & use cases
Pushes a file held in the workflow to WhatsApp and stores it against a phone number, so a later message can attach it by ID instead of re-sending the bytes.
Key parameters
- Sender Phone Number (or ID): the phone number ID that stores the media.
- Property Name: the name of the binary property holding the file, a field name and not an expression.
- Filename: inside Additional Fields, the name the file takes on WhatsApp's side.
Download media
media.mediaUrlGetWhat you see in n8n
Notes & use cases
Brings a file that lives on WhatsApp back into the workflow, which is how an inbound photo, voice note or document becomes something the next nodes can read.
Key parameters
- Media ID: the ID of the media, the only required field of the operation.
media.mediaUrlGet, which is the value you see when reading a workflow's JSON.Delete media
media.mediaDeleteWhat you see in n8n
Notes & use cases
Removes a file previously stored on WhatsApp. Nothing else in the node cleans up after an upload, so this is the operation that keeps a media library from growing forever.
Key parameters
- Media ID: the ID of the media to delete, which the upload step gave you earlier in the run.
Need help automating WhatsApp Business Cloud with n8n?
A person reads every message.


