I built a WhatsApp auto-reply agent on n8n Cloud. The flow is simple:
WhatsApp Trigger → Filter (text messages only) → AI Agent (Claude) with window memory keyed by the sender’s number → WhatsApp Send
The workflow took an hour. Getting messages to actually flow took much longer. Here is what broke, in case it saves someone time:
1. No webhooks arriving at all. The Meta app was still in development mode. Webhooks for real numbers only arrived after I added a privacy policy URL (I served one from an n8n Webhook node + Respond to Webhook) and published the app.
2. Still nothing. The WhatsApp Business Account was subscribed to a different Meta app. Fix: in Graph API Explorer, POST /{WABA_ID}/subscribed_apps using a token from the correct app.
3. Replies failed with 401 / code 190. The temporary access token from the API Setup page expires after about 24 hours. For production, use a System User token.
4. Memory mixed customers. The memory session key must be the sender ID, e.g. {{ $('WhatsApp Trigger').item.json.messages[0].from }}, not a fixed value.
5. Error 131031 “Business account locked”. That is Meta business verification, not n8n. Nothing in the workflow fixes it — check WhatsApp Manager for the verification prompt.
Happy to answer questions about any of these steps. I also build WhatsApp AI agents for businesses if anyone needs one: Ghulam Murtaza - Short Video Editor for Reels, Shorts, TikTok, YouTube Thumbnails, Canva Designer | Profile | Fiverr
Murtaza