WhatsApp AI support agent with n8n + Claude: 5 Cloud API problems I hit and how I fixed them

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

All five bite, thanks for writing them out. One more that shows up once you have traffic: Meta re-delivers the webhook when you don’t return a 200 fast enough, so every slow AI reply can also send twice. Cheap fix: read messages[0].id at the top, write it to a Data Table row, and drop the item if the id is already there. Do the check before the agent runs, not after. Same idea as idempotency keys, just keyed on the message id.

Small correction on point 5, since people will land here searching for 131031. Meta’s error table doesn’t link it to business verification. It says the WhatsApp Business Account was restricted or disabled for a policy violation, or that something in the request didn’t match the account, and the example it gives is a wrong two-step verification PIN.

So before starting verification, check Business Support Home for a restriction on that WABA. And if you registered your own number, run the register call again with the PIN you actually set.