Resources · n8n integration

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 automate

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.

Connect

How do you connect WhatsApp to n8n?

  1. 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.

  2. 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.

  3. 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.

Triggers

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.*1
  • account_review_update.
    • account_review_update
account_update.*1
  • account_update.
    • account_update
business_capability_update.*1
  • business_capability_update.
    • business_capability_update
message_template_quality_update.*1
  • message_template_quality_update.
    • message_template_quality_update
message_template_status_update.*1
  • message_template_status_update.
    • message_template_status_update
messages.*1
  • messages.
    • messages
phone_number_name_update.*1
  • phone_number_name_update.
    • phone_number_name_update
phone_number_quality_update.*1
  • phone_number_quality_update.
    • phone_number_quality_update
security.*1
  • security.
    • security
template_category_update.*1
  • template_category_update.
    • template_category_update

Configuration notes

01Set Up the WhatsApp TriggerConfiguration 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.

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.
When to use it
any workflow that should start from WhatsApp rather than from a schedule. n8n registers the webhook URL with WhatsApp when the workflow is published, and events land within seconds.
02MessagesThe 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.

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 messages to 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.
Use cases
a customer asks about an order, the workflow looks the reference up and answers with message.send. A prospect writes outside office hours and gets a template reply while the request is filed for the morning.
When to use it
as soon as a human answer is not required on every single message.
03Message Template Status UpdateThree 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.

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.
Use cases
a template used by a shipping notification loses its status overnight, the trigger fires, and the workflow posts the alert to the team channel before the next batch of messages fails. A quality change tells you a template is annoying its recipients while there is still time to rewrite it.
When to use it
whenever templates carry traffic that nobody watches manually every day.
04Account UpdateThe 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.

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.
Use cases
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.
When to use it
on any number that carries real volume for the business, and on any account where a suspension would stop orders from coming in.
Actions

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.

Resources × operations matrix
ResourceDeleteUploadDownloadSendSend and Wait for ResponseSend Template
Message✓✓✓
Media✓✓✓

Message

3 operations
01

Send message

message.send

What 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 data rather than as an expression.
Use cases
answering a customer who just wrote in, with the reply an earlier node prepared.
02

Send message and wait for response

message.sendAndWait

What 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.
Use cases
a manager validates a refund from their phone before the workflow issues it.
03

Send template

message.sendTemplate

What 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.
Use cases
a shipping notification that goes out hundreds of times a day with two variables changing.

Media

3 operations
04

Upload media

media.mediaUpload

What 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.
Use cases
a PDF invoice generated earlier in the workflow is uploaded once, then sent with Send by setting Take Image From or its equivalent to WhatsApp Media and passing the resulting ID.
05

Download media

media.mediaUrlGet

What 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.
Use cases
a customer sends a photo of a damaged parcel, the workflow retrieves it and files it with the claim. A voice note arrives and goes straight to a transcription step. Note the operation key, media.mediaUrlGet, which is the value you see when reading a workflow's JSON.
06

Delete media

media.mediaDelete

What 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.
Use cases
a one-off document sent to a single customer is deleted right after delivery, so a file that was never meant to stay available does not sit there. Worth running as the last step of the same workflow rather than as a monthly cleanup nobody remembers to build.
Need help

Need help automating WhatsApp Business Cloud with n8n?

A person reads every message.

FAQ

WhatsApp and n8n, common questions

01Is the WhatsApp Business Cloud n8n integration free?
On the n8n side, yes. The WhatsApp Business Cloud node and the WhatsApp Trigger ship with n8n, so there is nothing to install and no extra cost, whether you run n8n Cloud or a self-hosted instance under the Community Edition and its Sustainable Use licence. A workflow built on one runs identically on the other. What WhatsApp Business itself costs on Meta's side is a separate question and depends on your account, so check it with Meta rather than assuming the automation is the only line on the bill.
02What credentials do you need for WhatsApp in n8n?
Two, because the node and the trigger authenticate differently. The node uses an API key credential built from an Access Token and a Business Account ID, both found in your Meta app under WhatsApp then API Setup. The trigger uses OAuth2, built from a Client ID and a Client Secret, which are the App ID and App Secret under App settings then Basic. Before any of that, you need a Meta developer account, a Meta business portfolio and a Meta business app with the WhatsApp product added and App Mode set to Live.
03What are the limits of the WhatsApp node in n8n?
The node covers 6 operations across 2 resources: sending a message, sending a message and waiting for a response, sending a template, then uploading, downloading and deleting media. A text body stops at 4096 characters. Anything else the Cloud API offers, such as managing templates or numbers from a workflow, goes through the HTTP Request node, which calls any endpoint of the API and reuses the same credential through predefined authentication. On the trigger side, the absence of a wildcard means every event has to be ticked explicitly.
04Does the WhatsApp Trigger work in real time?
Yes. The trigger works by webhook, meaning n8n registers a URL with WhatsApp when the workflow is published, and WhatsApp calls that URL as events happen. Each event lands within seconds and nothing polls the API on a timer. One catch is worth knowing: WhatsApp keeps a single registered webhook per app, so the test URL and the production URL overwrite each other. Unpublish the workflow while you test, then publish again to restore the production webhook and let real traffic flow through.
05n8n or Make for WhatsApp?
It depends on where you want the data and how you want to pay. Make is hosted only, with no self-hosting option, and it bills per operation, which is predictable for low volume and less so for a busy WhatsApp number. n8n runs on its own Cloud or on your servers through Docker or npm, so message content can stay inside your own infrastructure, and one credential serves every workflow. Both build visually. If a chatbot handles thousands of conversations, the hosting and cost models are what will separate them, not the feature list.