# Showcase: Free WhatsApp Cloud API → OpenAI customer-service agent for n8n (anti-loop, phone memory, HUMAN handoff)

**URL:** <https://community.n8n.io/t/showcase-free-whatsapp-cloud-api-openai-customer-service-agent-for-n8n-anti-loop-phone-memory-human-handoff/327520>\
**Category:** Built with n8n\
**Tags:** whatsapp, openai\
**Created:** [2026年十一月8日 20:20 UTC](https://community.n8n.io/t/showcase-free-whatsapp-cloud-api-openai-customer-service-agent-for-n8n-anti-loop-phone-memory-human-handoff/327520 "2026-11-08T20:20:54Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![alfonso\_nunez](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/alfonso_nunez/32/196471_2.png) [@alfonso\_nunez](https://community.n8n.io/u/alfonso_nunez)\
**Post date:** [2026年十一月8日 20:20 UTC](https://community.n8n.io/t/showcase-free-whatsapp-cloud-api-openai-customer-service-agent-for-n8n-anti-loop-phone-memory-human-handoff/327520/1 "2026-11-08T20:20:54Z")

</div>

Hey everyone 👋

I put together a **free, importable n8n workflow** for a common SMB need: a basic WhatsApp customer-service AI agent on the official **WhatsApp Cloud API** (no third-party WhatsApp SaaS), with OpenAI, short-term memory per phone number, and a simple human handoff.

Sharing it here as a technical showcase. Happy to take questions / edge cases.

### What it does

1. **WhatsApp Trigger** receives inbound Cloud API payloads.
2. An **IF filter** drops delivery/read receipts, non-text messages, and messages from your own number (anti-loop — this is the #1 way beginner WhatsApp bots burn API credits).
3. If the customer writes **`HUMANO`** , the workflow replies that a person will follow up and leaves a **NoOp hook** (`Avisar al equipo`) where you can plug Email / Telegram / Slack.
4. Otherwise an **AI Agent** (OpenAI Chat Model + Window Buffer Memory keyed by phone number) replies using a fill-in-the-blanks system prompt for business info, then sends the answer back with a WhatsApp node (trimmed to stay under WhatsApp’s length limit).

Rough flow:

```auto
WhatsApp Trigger
  → IF: text from a real customer? (anti-loop)
      → no → NoOp (ignore)
      → yes → IF: asks for HUMANO?
                → yes → WhatsApp reply + team-alert hook
                → no → SplitInBatches (one message at a time)
                         → AI Agent + OpenAI + Memory(phone)
                         → WhatsApp reply

```

### Nodes (11)

- `WhatsApp Trigger`
- `¿Mensaje de texto de un cliente? (anti-bucle)` (IF)
- `Ignorar (estados, propios, no-texto)` (NoOp)
- `¿Pide un HUMANO?` (IF)
- `Responder: derivado a humano` (WhatsApp)
- `Avisar al equipo (conecta aquí Email/Telegram/Slack)` (NoOp hook)
- `Uno a uno (memoria aislada por cliente)` (SplitInBatches)
- `Agente IA` (LangChain Agent)
- `OpenAI Chat Model`
- `Memoria por teléfono` (Window Buffer, last 10 messages)
- `Responder por WhatsApp`

### Requirements (honest)

- **n8n** Cloud or self-hosted, reachable over **HTTPS** (WhatsApp must hit your webhook).
- A **Meta for Developers** Business app with the WhatsApp product. Meta provides a **free test number**.
- An **OpenAI API key** with credit (pay-as-you-go; each reply is usually cents or less depending on model).
- Time: ~60–90 minutes for a first working test if Meta + n8n credentials are new to you.

This is **not** a hosted / done-for-you bot. You run it in your own n8n and pay Meta/OpenAI for what you use.

### Testing status (please read)

- Imports cleanly into **n8n 2.43.x** (tested 2.43.4).
- Anti-loop, handoff branch, and per-phone memory were exercised with **simulated** WhatsApp payloads and a **simulated** model.
- **Not yet tested end-to-end against a live WhatsApp Business number or live OpenAI.** Please test with your own number before putting customers on it.

### Known limitations (by design in this free basic version)

- Window Buffer memory lives in n8n RAM → **wiped on restart** and not suitable for queue mode. For production, move memory to Postgres/Redis.
- After `HUMANO`, the bot still answers if the customer writes again (no persistent “paused” flag yet). Wire the team-alert NoOp and/or add a stored handoff state for a real pause.
- One webhook per Meta WhatsApp app — switching test vs production URL will break the other (n8n/Meta behaviour).
- Outside Meta’s 24-hour customer-care window you can only send approved message templates.

### How to get the files

Free pack (JSON workflow + ES/EN PDF guide + system prompt): leave your email on the download form (double opt-in) here:

> **[AgentKiosk — Ready-to-use AI agents](https://agentkiosk.io/en/?utm_source=n8n_community&utm_medium=referral&utm_campaign=ak_distrib_202611&utm_content=showcase_post#descarga)**
>
> Download a free WhatsApp customer-service agent: import it into n8n, customize it for your business and let it reply 24/7. No coding. | Ready-to-import n8n AI agent templates. Download a free WhatsApp customer-service agent.

If you’d rather have a **scrubbed JSON pasted in this thread** , say so and I’ll drop a credential-free export in a code block.

### Discussion

Curious how others handle:

1. Persistent memory for WhatsApp agents without Redis/Postgres overhead on small instances?
2. A clean “bot paused while human is in” pattern that survives workflow restarts?
3. Filtering noisy Cloud API status webhooks beyond the built-in trigger options?

Feedback and failure reports welcome — especially from anyone who runs this against a real Meta test number.

---

<div class="post-metadata">

**Author:** ![discourse\_ai\_spam](https://avatars.discourse-cdn.com/v4/letter/d/c68b51/32.png) [@discourse\_ai\_spam](https://community.n8n.io/u/discourse_ai_spam)\
**Post date:** [2026年十一月8日 20:20 UTC](https://community.n8n.io/t/showcase-free-whatsapp-cloud-api-openai-customer-service-agent-for-n8n-anti-loop-phone-memory-human-handoff/327520/2 "2026-11-08T20:20:56Z")

</div>

於 在 2026年十一月8日 20:20 UTC 除名



---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/system/32/195824_2.png) [@system](https://community.n8n.io/u/system)\
**Post date:** [2026年十一月8日 20:33 UTC](https://community.n8n.io/t/showcase-free-whatsapp-cloud-api-openai-customer-service-agent-for-n8n-anti-loop-phone-memory-human-handoff/327520/3 "2026-11-08T20:33:04Z")

</div>

於 在 2026年十一月8日 20:33 UTC 列出


