Low-code automation

AI workflow in n8n with WhatsApp: node, webhook and templates

n8n is a low-code workflow automation platform, often used self-hosted, where you build automations by linking nodes on a canvas. ZapZap has a community node, n8n-nodes-zapzap, with the ZapZap node (send and manage) and the ZapZap Trigger (receive messages). If you would rather install nothing, the HTTP Request and Webhook nodes talk to the REST API the same way.

Updated on

Why connect

Connecting ZapZap to n8n turns WhatsApp into a trigger and an output channel inside your flows. At a clinic, for example, a new appointment lands in a spreadsheet, n8n detects the row and the ZapZap node sends the confirmation to the patient. In the other direction, every incoming message reaches the ZapZap Trigger, which can look up a CRM, pass the text to an n8n AI agent and reply from the same number. ZapZap connects numbers through an unofficial, managed channel, and the behavior of your flow matters: avoid mass sends and identical messages in a row. It costs R$15 per active number per month, prepaid, and you start with a welcome credit when you create the account, subject to the current campaign.

Step by step

  1. 1

    Install the community node

    In n8n, open Settings > Community Nodes > Install, type n8n-nodes-zapzap and accept. It is a community node, published on npm (version 0.1.3, from 27 Oct 2026) and open source on GitHub. On n8n Cloud, check n8n's documentation to see whether your account accepts community nodes; if it does not, use HTTP Request in the last step.

  2. 2

    Create the credential with API key and secret

    In the ZapZap panel, open Settings > API and copy the API Key and API Secret. In n8n, create a ZapZap API credential, paste both values and save: n8n tests the credential when you save and shows a green message on success. Leave the Base URL as it is. Default Country Code is optional: with 55, the number 11 99999-0001 becomes 5511999990001.

  3. 3

    Send your first message

    Add the ZapZap node, keep Resource = Message and Operation = Send Text, pick the instance from the list (an instance is a connected WhatsApp number; if the list is empty, create and connect one in the panel first), enter a number and a text, and run it. For several items, turn on Continue On Fail.

  4. 4

    Receive messages with the ZapZap Trigger

    Add the ZapZap Trigger, pick the credential and the instance and activate the workflow: the node registers its URL on the instance and removes it when you deactivate. n8n needs a public HTTPS address (set WEBHOOK_URL). The output has ready fields such as from, text, type, chatId, isGroup, fromMe and messageId. Every delivery is signed (X-ZapZap-Signature, HMAC-SHA256 with a timestamp) and the node rejects forged ones or ones older than 5 minutes.

  5. 5

    Build the AI flow

    Connect the ZapZap Trigger to an n8n AI Agent node (with the model you choose there) and its output to a ZapZap node on Send Text. Turn on Ignore My Own Messages in the Trigger so the automatic reply does not fire the flow again. The ZapZap node can also be used as a tool by an n8n AI agent.

  6. 6

    Or use HTTP Request and Webhook, installing nothing

    In HTTP Request, POST to https://api.zapzapapi.com/api/v1/{instanceId}/send/text with the x-api-key and x-api-secret headers and a JSON body with number and text. To receive, create a Webhook node, copy the Production URL and register it on the instance through the webhook endpoint (POST /{instanceId}/webhook, with the events you want). Activate the workflow so the Production URL answers.

Example

// ILLUSTRATIVE example of the HTTP Request node in n8n (POST), if you do not use the community node
// Exact fields and path: https://api.zapzapapi.com/llms.txt
POST https://api.zapzapapi.com/api/v1/{instanceId}/send/text
Headers:
  x-api-key: YOUR_API_KEY
  x-api-secret: YOUR_API_SECRET
  Content-Type: application/json
Body:
{
  "number": "5511999999999",
  "text": "Hi! Your appointment is confirmed."
}

Illustrative. The exact fields and endpoints are in the documentation.

Two ways: the n8n-nodes-zapzap node or HTTP Request

Both use the same API. The node saves setup work and already checks the webhook signature; HTTP Request covers any endpoint in the reference without installing anything.

n8n-nodes-zapzap nodeHTTP Request and Webhook
InstallationOnce, in Settings > Community NodesNothing to install: native n8n nodes
CredentialZapZap API, with API Key and API Secret, tested on savex-api-key and x-api-secret headers on each node, or a Header Auth credential
Receiving messagesZapZap Trigger registers the URL on the instance when activated and removes it when deactivatedWebhook node: you register the Production URL through the webhook endpoint
Webhook signatureThe Trigger checks X-ZapZap-Signature and rejects forged deliveriesYou check the X-ZapZap-Signature header in the flow, if you want to
API coverageMessages, groups, chats, instances and account, plus Custom API Call for any other endpointAny endpoint in the reference
n8n CloudDepends on your account accepting community nodesWorks

n8n templates for WhatsApp

The package ships 7 templates in the templates/ folder: keyword auto reply, form to WhatsApp, daily reminder, poll after purchase, buttons menu, disconnected instance alert, and create instance and get the QR code. The templates page has 12, to download and import in Workflows > Import from File.

The three most useful for building an AI flow:

  • Keyword auto reply: a starting point to swap the fixed rule for an AI agent.
  • Lead welcome and team alert (a template from the templates page): captures the lead and alerts the team.
  • Daily scheduled reminder: the same structure works for payment notices and confirmations.

Webhooks in production: test URL and production URL

n8n generates two URLs for the Webhook node. The test URL only works while you click Listen for test event. The production URL only answers while the workflow is active. A common mistake is registering the test URL on the instance and watching messages stop arriving once the test ends.

For production, activate the workflow and use the Production URL. With the ZapZap Trigger you copy no URL at all: the node registers and removes it by itself. If your n8n sits behind a proxy, set WEBHOOK_URL to the public HTTPS address.

WhatsApp in n8n: official API, Evolution, WAHA or ZapZap

A qualitative table, with no third-party prices. For the full comparison, see the comparisons.

Official API (Meta Cloud API)Evolution API and WAHAZapZap
Who runs the infrastructureMeta hosts the API; you integrateYou host and maintain itZapZap hosts and maintains it
ChannelOfficialUnofficial, open sourceUnofficial, managed
How it chargesPer delivered message, per Meta's rate cardThe software has no subscription; you pay for the server and upkeepR$15 per active number per month, prepaid
Starting a conversationRequires approved message templatesNo such official-channel requirement, but with usage rules and a risk of the number being restrictedNo such official-channel requirement, but with usage rules and a risk of the number being restricted

n8n with an AI agent: what ZapZap offers

If your n8n flow uses an AI agent, the ZapZap node can be the tool that sends the reply and the ZapZap Trigger can be the trigger that receives the message. The AI agents page shows what already exists for this (API, n8n node and templates) and what does not exist yet, such as MCP.

Useful links

Frequently asked questions

How do I build an AI workflow in n8n with WhatsApp?

Install the n8n-nodes-zapzap node, create the credential with the API Key and API Secret, use the ZapZap Trigger to receive the message, pass the text to an n8n AI Agent node and reply with the ZapZap node on Send Text. Without the node, the same flow works with Webhook and HTTP Request.

Is the n8n-nodes-zapzap node verified by n8n?

It is a community node, published on npm as n8n-nodes-zapzap and open source on GitHub (zapzapapi/n8n-nodes-zapzap). Install it from n8n's Settings > Community Nodes menu.

Do I need the self-hosted version of n8n to integrate?

To install the community node, the most direct route is self-hosted n8n; on n8n Cloud, check whether your account accepts community nodes. HTTP Request and Webhook are native nodes and work on both. On self-hosted, make sure the webhook URL is reachable from the internet.

How does n8n authenticate with ZapZap?

Through the x-api-key and x-api-secret headers. With the node, you create one ZapZap API credential and reuse it in every node. With HTTP Request, turn on Send Headers or save both as a Header Auth credential.

Can I receive WhatsApp messages inside n8n?

Yes. Use the ZapZap Trigger, which registers the webhook on the instance by itself and checks the signature of each delivery, or the Webhook node with the Production URL registered on the instance. Remember that n8n's test URL stops working when the test ends.

Can WhatsApp automation get my number restricted?

It can. ZapZap connects regular WhatsApp accounts through an unofficial channel, and WhatsApp may restrict numbers that send unsolicited or bulk messages. Message only people who expect to hear from you, avoid identical messages in a row and read the acceptable-use page.

How much does it cost to keep this integration running?

ZapZap charges R$15 per active number per month, on the prepaid model, and offers a welcome credit when you create the account, subject to the current campaign. n8n has its own plan (cloud or self-hosted), and its cost depends on your hosting.

Start now

Create your account, connect a number in minutes and test the API with warm-up and anti-ban. R$15 per active number/month, prepaid, no lock-in.