WhatsApp + n8n

Best official WhatsApp API for n8n in 2026

If the number can leave the WhatsApp Business App, Meta Cloud API direct with n8n's native WhatsApp nodes is the cheapest official route: no platform fee, only Meta's message fees. If the number must stay on the app, you need WhatsApp Coexistence, and Meta only opens that to Solution Partners and Tech Providers, so you go through a provider. Among the established providers compared here, Dualhook has the lowest subscription: $12/month for one connection, with no per-message markup and webhooks going straight from Meta to your n8n. It is an official Meta Tech Partner, and every plan includes a 14-day free trial.

  • From $12/mo, no message markup
  • Direct Meta webhooks
  • No message storage
  • Official Meta Tech Partner

The short answer

The number can leave the app
Meta Cloud API direct$0 platform fee, using n8n's native WhatsApp nodes.
The number must stay on the app
DualhookFrom $12/month, using n8n's Webhook and HTTP Request nodes.
Your team needs a shared inbox
WATI or respond.ioTheir own n8n nodes, at higher plan prices.

We make Dualhook, so this is our own comparison. Competitor facts come from each vendor's own pages. We read n8n's docs and source at 2.46.6, the current stable release, and ran the webhook behaviour described here on a local copy. We also say where Meta direct or another provider is the better choice. We are not affiliated with n8n.

Last checked

WhatsApp API options for n8n, compared

Prices are each provider's own platform fee, and WATI's vary by region. Meta's message fees are separate in every row. Dualhook customers billed in euros pay €12.

OptionKeeps the Business AppEntry priceMessage markupIn n8nMessage content
Meta Cloud API directNo, unless you are already a Solution Partner or Tech Provider$0 platform feeNone, Meta's fees onlyn8n's native WhatsApp Trigger and WhatsApp Business Cloud nodesOnly in your own n8n
DualhookYes, automated setup and a 13-day reminder$12/mo for 1 connection, 14-day free trialNone, Meta bills you directlyWebhook node to receive, HTTP Request node to sendNot stored by Dualhook, only in your own n8n
360dialogYes, per its Coexistence docsfrom €49 ($59)/number/mo7% on marketing sent through the standard messages endpointWebhook and HTTP Request nodes, no n8n mention in its docsNot stated in the docs we read
WATIYes, chats are mirrored into WATIFrom $59 billed annually or $69 monthly. Varies by regionSeparate per-message charges on its rate cardIts own n8n node. Its pricing page lists no webhooks on Growth and limited webhooks on Pro ($119), but its API docs say every planStored for the inbox
respond.ioYes, without contact or message history syncfrom $159/mo billed annually ($199 monthly) for n8nNo usage markup advertised. A 5.5% Stripe fee on top-ups normally applies, waived since 1 October 2026Its own n8n node, on every plan except Starter ($79)Stored for the inbox

Prices checked

What about other providers and community nodes?

This table covers established options. Newer services may list lower prices, so check their per-message fees, whether they are an official Meta partner, and whether they store your messages. n8n's community node list also includes WhatsApp nodes that connect through WhatsApp Web or an unofficial gateway. Those are not the official WhatsApp Business Platform, so they are not compared here, and unverified community nodes are not available on n8n Cloud. Among the established providers above, Dualhook has the lowest subscription, at $12/month.

How to connect WhatsApp to n8n and keep the Business App

This is the path with Dualhook. The exact node settings are in the n8n setup guide, and the Meta screens are in the signup walkthrough.

  1. In n8n, publish a workflow whose Webhook node accepts GET and POST and answers Meta's hub.challenge check. Copy its Production URL, because the Test URL only answers one call after you click Execute workflow.

  2. In Dualhook, start a connection and enter that URL and a verify token. Dualhook asks for both before Meta's signup opens.

  3. In Meta's signup, enter the number that is live in your WhatsApp Business app and scan the QR code from the app. Meta starts Coexistence automatically for a number already on the app.

  4. Send from an HTTP Request node to api.dualhook.com with your dh_live_ key. Replies staff send from the app reach the same workflow as smb_message_echoes events.

Which option fits your n8n setup?

Keep the Business App, build the workflow in n8n: Dualhook

This is what we do best. Dualhook onboards your number through Meta's Embedded Signup and sets a Webhook Override on your WhatsApp Business Account, so Meta sends messages, statuses, app echoes, history and contact sync straight to your n8n Webhook URL with no provider hop. Dualhook stores no message content, your account stays in your own Meta business portfolio, and it reminds you at 13 days, ahead of Meta's approximate 14-day primary-device inactivity window. Sends go through api.dualhook.com with a per-connection key and the same paths and JSON as Meta's Graph API. Pricing is flat: $12/month for 1 connection, $25/month for up to 5, and $45/month for up to 10, with Meta's fees billed to you directly. It is an official, badged Meta Tech Partner, and every plan includes a 14-day free trial.

The number can leave the app, and you want no platform fee: Meta Cloud API direct with n8n's native nodes

This is the cheapest official route, and often the right one. If the number is new or can be API-only, n8n's WhatsApp Trigger and WhatsApp Business Cloud nodes work with your own Meta app, and you pay only Meta's fees. You do not need Dualhook for this. The catch is the app: Meta says numbers already in use with WhatsApp cannot be registered unless they are deleted first, and its Coexistence onboarding requires Solution Partner or Tech Provider status. You also own the Meta app, the permanent token and the template and health work yourself. See Meta Direct vs Dualhook.

Per-number BSP hosting: 360dialog

360dialog suits teams that want a BSP with a per-number plan. Its docs list Regular at €49 ($59) and Premium at €99 ($119) per number per month, and they document Coexistence, including a requirement to open the app at least once every 13 days. They also add a 7% surcharge to Meta's rate on marketing content sent through the standard messages endpoint instead of the Marketing Messages API. We found no mention of n8n in its docs, so you would use the Webhook and HTTP Request nodes here too.

A shared inbox with a ready-made n8n node: WATI and respond.io

Both publish their own n8n node, n8n-nodes-wati and @respond-io/n8n-nodes-respond-io, so this is the least wiring, and your team gets an inbox that Dualhook does not offer. Check the plan first. WATI's n8n triggers depend on a registered webhook. Its pricing page lists no webhooks on Growth ($59 billed annually) and limited webhooks on Pro ($119), while its API docs say webhooks are on every plan, subject to volume limits, so confirm with WATI before relying on Growth for triggers. respond.io's n8n integration excludes Starter, so it starts at Growth: $159/month billed annually or $199 monthly. For Coexistence, WATI says it mirrors contacts and the last 6 months of chats, while respond.io says contact and message history sync is not supported.

SMS and WhatsApp in one CPaaS, on an API-only number: Twilio

n8n has a native Twilio node with a To WhatsApp option, and there is no monthly platform fee: Twilio charges $0.005 per inbound or outbound message plus $0.001 per failed message, on top of Meta's fees. Below 2,400 messages a month that handling fee is less than Dualhook's $12. It does not keep the app: Twilio's docs say a number on WhatsApp or the WhatsApp Business App must have that account deleted first, and that you won't be able to continue using the app with the same number.

Which n8n nodes work on each route

Checked against n8n 2.46.6, and the source of these WhatsApp and webhook nodes is unchanged in the 3.1.0 pre-release. The native WhatsApp nodes are built for your own Meta app, so a provider route uses n8n's generic nodes instead.

WhatsApp Trigger

Your own Meta app

Works, with your Meta app's Client ID and Secret. Meta allows one webhook per app, so test and production URLs overwrite each other, and publishing the workflow does not subscribe your app to your WhatsApp Business Account. Its event list has no Coexistence fields.

With Dualhook

Does not work. Meta signs deliveries with Dualhook's app, the node compares them with your credential's secret, and it drops a mismatch without an error or an execution.

WhatsApp Business Cloud

Your own Meta app

Works for messages, templates, media and Send and Wait for Response, with a Meta access token. Use a permanent token, not the temporary one.

With Dualhook

Does not work. The node is fixed to graph.facebook.com and needs a Meta token, and Dualhook issues a dh_live_ key instead.

Webhook

Your own Meta app

Works if you subscribe your app yourself. With Raw Body on, the Crypto node reproduced Meta-style X-Hub-Signature-256 validation in our test.

With Dualhook

The receiver. One Production URL takes the GET check and every POST: messages, statuses, Coexistence echoes, history and contact sync, plus the management events Dualhook forwards. Signatures cannot be verified here, see the limits below.

HTTP Request

Your own Meta app

Works against graph.facebook.com with a Meta token, for anything the native node does not cover.

With Dualhook

The sender. POST to https://api.dualhook.com/v25.0/<PHONE_NUMBER_ID>/messages with a Bearer Auth credential holding your key. Templates, media and the other allowlisted endpoints work the same way.

AI Agent

Your own Meta app

Works after the WhatsApp Trigger. You bring the model and the prompts, and reply with the native node or HTTP Request.

With Dualhook

Works after the Webhook node, and Dualhook does not host the agent. Use the sender's WhatsApp ID as the memory session key, and route smb_message_echoes separately so a staff reply from the app is not treated as a customer message. See AI agents on WhatsApp.

What the whole setup costs each month

A "cheapest API" is only part of the bill. You pay for n8n, for the provider if you use one, and for Meta's messages. n8n prices are annual billing, as shown on its pricing page.

SetupKeeps the Business AppMonthly cost before Meta's feesPick it when
Self-hosted n8n + Meta directNoYour server onlyThe number can be API-only and you are happy to run your own Meta app and token.
Self-hosted n8n + DualhookYes$12 + your serverStaff keep answering in the app and you already run n8n.
n8n Cloud Starter + Meta directNofrom €20You do not want to host n8n and the number can be API-only.
n8n Cloud Starter + DualhookYesfrom €20 + $12You do not want to host n8n and staff keep answering in the app.

WhatsApp traffic uses n8n executions

n8n counts one execution per workflow run, and each webhook that starts your workflow is a run. One message you send can return sent, delivered and read status webhooks, so 500 inbound messages with 500 replies can use 2,000 executions. Since n8n 2.28 the Webhook node's Only Run If option can answer those status events with HTTP 200 and no execution, so the same traffic uses 500. We confirmed that on a local n8n. The setup guide has the expression, which keeps failed statuses.

n8n plan limits that matter here

  • Self-hosted Community Edition: free, without custom Variables. You run the server, and n8n 3.0 requires Docker.
  • Cloud Starter: from €20/month, 2,500 executions, 5 concurrent, 7 days of execution logs, no global Variables.
  • Cloud Pro: from €50/month, 10,000 executions, up to 50 concurrent, 30 days of logs.

n8n's pricing page says Starter and Pro are capped and have no overage fees, so pick a plan with headroom for your message volume.

Meta's fees apply on every route

Meta does not charge for messages from users to businesses, and messages sent in the WhatsApp Business App stay free. Each business phone number gets 1,000 free service messages a month. Since 1 October 2026 Meta charges for service messages after that, and for utility templates inside the customer service window. See our pricing notes.

What Dualhook does, what it does not, and the limits to know

Dualhook does

  • Onboards Cloud API and Coexistence numbers through Meta's Embedded Signup
  • Sets a Webhook Override so Meta delivers message webhooks directly to your n8n
  • Provides api.dualhook.com for outbound sends, with one dh_live_ key per connection
  • Manages templates, shows number health, and forwards management events to your URL
  • Reminds you at 13 days, ahead of Meta's approximate 14-day inactivity window

Dualhook does not

  • Offer an n8n node, or have any partnership with n8n
  • Offer a shared team inbox, hosted AI agents, WhatsApp Calling or groups
  • Onboard a SaaS company's customers as a multi-tenant platform
  • Act as a BSP or Solution Partner, or resell Meta's message fees
  • Control what your n8n instance keeps in its execution history

You cannot verify Meta's signature on a Dualhook connection

Your number is subscribed to Dualhook's Meta app, so Meta signs X-Hub-Signature-256 with an app secret shared across all our customers, which we cannot hand out. The guide validates what you can check instead: a random webhook path kept secret, the WhatsApp envelope, your WABA ID and your phone number ID. That stops stray and casual requests, but it does not prove the sender is Meta: anyone who learns your URL and IDs could send a matching payload. If you need cryptographic proof, use your own Meta app, where the signature uses your secret.

Other limits on this setup

  • Every number in one WhatsApp Business Account shares one webhook URL, so branch on the phone number ID in your workflow.
  • Meta fixes a Coexistence number at 20 messages per second, on any provider.
  • n8n saves execution data by default, including message text, unless you turn that off in the workflow settings.
  • An unpublished n8n workflow returns 404, and Meta's deliveries fail until it is published again.

Frequently asked questions

How do I connect WhatsApp to n8n and keep using the WhatsApp Business app?

Use WhatsApp Coexistence through a Meta partner, because Meta only lets Solution Partners and Tech Providers onboard a number that stays on the app. With Dualhook, you publish an n8n workflow with a Webhook node, give Dualhook its Production URL and a verify token, complete Meta's signup with the number on your WhatsApp Business app, scan the QR code from the app, and send through the HTTP Request node. The app keeps working on the same number. Open it regularly: Meta may disconnect Coexistence after about 14 days of primary-device inactivity, and Dualhook reminds you at 13 days as a safety margin.

What is the cheapest official WhatsApp API for n8n?

If the number can leave the WhatsApp Business App, Meta Cloud API direct with n8n's native nodes is cheapest: no platform fee, only Meta's message fees. If the number must stay on the app, Dualhook has the lowest subscription among the established providers compared here, $12/month for one connection with no per-message markup. Newer services may list lower prices, so check their per-message fees, Meta status and message storage.

Which WhatsApp provider should I use with n8n?

It depends on the number and the team. If the number can be API-only, use Meta Cloud API direct with n8n's native nodes. If staff keep answering in the WhatsApp Business App and n8n handles the rest, use Dualhook. If your team needs a shared inbox, use WATI or respond.io, because Dualhook does not include one. If you want SMS and WhatsApp in one CPaaS on an API-only number, use Twilio.

Do n8n's WhatsApp Trigger and WhatsApp Business Cloud nodes work with Dualhook?

No. The WhatsApp Trigger checks each delivery's signature against your own Meta app secret, but on a Dualhook connection Meta signs with Dualhook's app, so the node drops the delivery without an error. The WhatsApp Business Cloud node is fixed to graph.facebook.com and needs a Meta access token, while Dualhook issues a dh_live_ key. Use the Webhook node to receive and the HTTP Request node to send. The WhatsApp Trigger's event list also has no Coexistence fields.

Does Dualhook have an n8n node?

No. Dualhook works with n8n's built-in Webhook and HTTP Request nodes, and it has no partnership with n8n. Meta's webhooks reach your Webhook node directly, and sends use the same paths and JSON as Meta's Graph API on api.dualhook.com.

How many n8n executions does WhatsApp use?

Each webhook delivery that starts your workflow is one execution. One message you send can come back as sent, delivered and read status webhooks, so 500 inbound messages with 500 replies can use 2,000 executions. Since n8n 2.28, the Webhook node's Only Run If option can answer status events with HTTP 200 and no execution. On Coexistence, app replies and the one-time history sync also arrive as webhooks.

Can n8n verify the X-Hub-Signature-256 header from Meta?

Only with your own Meta app. Turn on the Webhook node's Raw Body option and compute the HMAC with the Crypto node and your app secret. On a Dualhook connection Meta signs with Dualhook's app secret, which is shared across customers and cannot be handed out, so you validate the payload instead: a random webhook path, the WhatsApp envelope, your WABA ID and your phone number ID. Those checks do not prove the sender is Meta.

Does n8n store my WhatsApp messages?

By default n8n saves execution data, which includes the message text in the webhook payload. Set Save successful production executions to Do not save in the workflow settings, or set EXECUTIONS_DATA_SAVE_ON_SUCCESS=none on a self-hosted instance. Dualhook does not store message content, but it cannot control what your n8n keeps.

Should I use n8n Cloud or self-hosted n8n for WhatsApp?

Either works, as long as Meta can reach the Production URL over public HTTPS. Self-hosted Community Edition is free, and you pay for the server. n8n Cloud Starter is from €20/month billed annually with 2,500 executions, and n8n's pricing page says Starter and Pro are capped and have no overage fees. Check that your host accepts Coexistence history chunks of up to 3 MB: n8n's own webhook limit is 16 MB, but a reverse proxy may be lower.

Can an AI agent in n8n answer my WhatsApp messages?

Yes. Put n8n's AI Agent node after the Webhook node, use the sender's WhatsApp ID as the memory session key, and send the reply with the HTTP Request node. Dualhook does not host agents, so you bring the model and the prompts. On Coexistence, route smb_message_echoes separately, because those are your staff's replies from the app and not customer messages. Meta's policies on AI still apply.

Is Dualhook a BSP?

No. Dualhook is an official, badged Meta Tech Partner, not a Business Solution Provider or Solution Partner. Your WhatsApp Business Account stays in your own Meta business portfolio, Meta bills you directly for messages, and Dualhook charges a flat subscription.

How we checked this

We read n8n's documentation, release notes, pricing page and source code at 2.46.6, and ran the webhook behaviour on a local copy of n8n with simulated Meta requests. Meta's facts come from its developer documentation, and each competitor's from its own pricing pages and documentation. The WhatsApp Trigger needs a live Meta app, so that claim comes from reading its source code.

Prices change, so check with the vendor before you buy. If something here is out of date, tell us.

Last checked

Today

Keep the app, build the rest in n8n.

Point Meta's webhooks straight at your n8n workflow, send through one HTTP Request node, and skip the per-message markup. From $12/month.

14-day free trial, cancel anytime.

16:05