cd /news/ai-tools/build-a-whatsapp-chatbot-with-n8n-wa… · home › topics › ai-tools › article
[ARTICLE · art-144615] src=dev.to ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Build a WhatsApp chatbot with n8n + WaSphere (self-hosted, no Meta approval)

A developer has published a quick-start guide for building a self-hosted WhatsApp chatbot by pairing the open-source workflow automation tool n8n with WaSphere, an MIT-licensed, self-hosted WhatsApp API. The setup runs on any Docker-capable VPS and avoids Meta's business verification, template approvals and per-conversation pricing, with inbound messages delivered to n8n as HMAC-SHA256-signed webhook payloads. WaSphere supports 14 message types, including text, media, polls, buttons and lists.

by read1 min views3 publishedOct 3, 2026

Want a WhatsApp chatbot without going through Meta's business verification, template approvals, and per-conversation pricing? Combine n8n (the open-source workflow automation tool) with WaSphere — an open-source (MIT), self-hosted WhatsApp API — and you get a fully self-hosted chatbot stack on your own server.

No Meta approval, no per-message platform fees, and your conversation data never leaves your infrastructure.

Any VPS with Docker works. This is the actual quick start from the GitHub repo:

git clone https://github.com/wasphere/wasphere.git
cd wasphere
cp .env.example .env
docker compose up -d

Then open the dashboard at http://your-server:3004, register your first admin account, set the WA Server URL to http://wa-server:3001 (plus your WA_TOKEN) under Settings, and pair your number under Sessions by scanning the QR code.

In n8n, add a Webhook node — this gives you a URL like https://your-n8n/webhook/whatsapp-in. In WaSphere, point your webhook settings at that URL. Every inbound message and status event now arrives in n8n as JSON, signed with:

X-WaSphere-Signature: v1,sha256=<hmac>
X-WaSphere-Timestamp: <unix-seconds>

The signature is the HMAC-SHA256 of {timestamp}.{rawBody} with your webhook secret — verify it in a Function/Code node before trusting the payload.

Route on the message text with a Switch node, look up answers in a database or an LLM call, then send the reply.

Add an HTTP Request node:

POST /docs/wa-server on your own instance documents every route)Authorization: Bearer wsk_… (your WaSphere API key) WaSphere supports 14 message types — text, image, video, audio, documents, stickers, location, contact, polls, buttons and lists, reactions — so your bot isn't limited to plain text.

If you've been putting off WhatsApp automation because of the Meta approval maze, this is the shortcut: a self-hosted WhatsApp API plus n8n, deployed before your coffee cools.

── more in #ai-tools 4 stories · sorted by recency
── more on @n8n 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/build-a-whatsapp-cha…] indexed:0 read:1min 2026-10-03 · —