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

> Source: <https://dev.to/samii/build-a-whatsapp-chatbot-with-n8n-wasphere-self-hosted-no-meta-approval-cmi>
> Published: 2026-10-03 22:00:19+00:00

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](https://github.com/wasphere/wasphere):

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