How to automate WhatsApp Business replies with n8n (no code) – 2026 setup that actually works

I've been running WhatsApp customer support for a small e-commerce store here in Lagos for two years, and 2025 was the year I finally stopped copying and pasting "price list?" responses at 2 a.m. Last November, I switched everything to n8n. Not Zapier or Make—n8n, because self-hosting is free, and the WhatsApp node is now native.

If you're still manually responding, WhatsApp processes over 100 billion messages per day and is the primary business channel in countries such as Nigeria, Brazil, and India. Automation is no longer a luxury; it has become the norm.

Here's the exact stack I'll be using in 2026; no coding is required beyond copying and pasting.

Why n8n still beats the others

I tried all three. The comparison table from the dev guide sums it up: n8n has self-hosted option, native WhatsApp integration, free pricing if you host it, and built-in webhook support. Zapier and Make charge per step and their WhatsApp connectors are limited.

Cost wise: n8n Cloud Starter is $24/month, Pro is $50/month. I run the Community Edition on a $6 VPS – unlimited workflows, just pay for the server. If you hate servers, pay the $24, still cheaper than hiring a VA.

What You Should Know About Meta's 2025 Pricing Change

From 1 July 2025, WhatsApp moved from conversation-based to per-message pricing. What matters for automation:

  • Service conversations are free. Since 1 November 2024, Meta removed the 1,000/month cap – all service conversations are completely free.
  • A service conversation opens when a customer messages you first. You get 24 hours to reply with free-form text, images, anything. No template needed.
  • You only pay when YOU start the chat with a template. In Nigeria that's $0.05934 per marketing message, $0.00771 per utility/auth message.

Translation: if your bot only replies (not blasts promos), your Meta bill is $0. That's why automation makes sense now.

The 5 Workflows I Used

I built this in the n8n UI, no coding:

Webhook node

Create new workflow → Webhook → POST → path = whatsapp. You get https://your-n8n.app/webhook/whatsapp. Paste that into Meta Developers → WhatsApp → Configuration → Webhook. This is what WhatsApp hits for every incoming message.

Function node – parse message

Meta sends a messy JSON. Use the Function node to pull out from, text, type. The guide extracts message.from for the sender phone, message.text?.body for content. I literally copy-pasted that snippet, works.

Switch node – route by intent

No AI needed for basic stuff. I do:

  • if text includes "price" or "how much" → send price list
  • if "open" or "hours" → send business hours
  • if "human" → tag for handoff
  • else → send to AI

Same logic as the step-by-step guide's keyword routing.

AI node (optional but game changer)

Connect OpenAI or Google Gemini. My system prompt: "You are a helpful customer service assistant for a Nigerian fashion store. Answer about products, pricing, delivery. Be friendly, short. Reply in the customer's language." The guide uses almost identical wording. Costs me about $3/month in tokens.

HTTP Request – send reply

POST to https://graph.facebook.com/v18.0/{PHONE ID}/messages with your token. Body:

`messaging_product: "whatsapp", to: {{$json.from}}, type: "text", text: { body: {{$json.aiResponse}} }`

That's the Meta Cloud API format from the tutorial.

Done. Test by messaging your business number – reply comes in 2-3 seconds.

What I learned the hard way

  • Add business hours logic: Don't let the bot promise instant delivery at midnight. I check hour >= 9 && hour < 18, if outside, reply "we're closed, back at 9am". Customers actually appreciate it.
  • Human handoff is mandatory: Meta requires opt-out, and you need it. I use keyword "agent" → create a Trello card + pause bot for that number. The production checklist calls this out: rate limiting, error handling, logging, human handoff.
  • Don't send templates inside the 24h window: Utility templates sent within the customer service window are free since July 2025. But free-form text is also free, so just use normal replies. Save templates for follow-ups after 24h.
  • Media handling: People send voice notes. Add an IF node for type!= 'text' → reply "please type your question". The AI node with Gemini can transcribe audio too, but that's v2.

My results after 4 months

  • Average first response: 4 seconds (was 3 hours)
  • 73% of queries handled fully by bot (price, stock, delivery time)
  • Zero Meta charges because everything is inbound service
  • n8n executions: ∼8k/month, well under the 30k/year on Starter

The biggest win isn't the time saved, it's consistency. Every customer gets an acknowledgment in seconds, even outside business hours. The bot handles routine stuff, and anything complex gets escalated with full context.

If you're starting today

  1. Get WhatsApp Business API – apply via Meta directly (free), or use a BSP like 360dialog if you want faster approval
  2. Spin up n8n – cloud trial or $5 VPS with Docker
  3. Import the WhatsApp starter template from n8n's template library (search "WhatsApp AI chatbot")
  4. Connect your API keys, test with your own number
  5. Add one intent per week, don't try to build everything day one

I'm still debating the best handoff trigger – confidence score below 0.7, or just keyword, or after 3 turns. None feel perfect.

What are you all using for bot→human? Especially anyone doing 100+ chats/day on WhatsApp in Africa – curious how you handle the per-message costs for outbound.