Work / n8n, RAG

AI customer service

One assistant, built for WhatsApp, Messenger and Instagram, that knows whether it is talking to a consumer or a business and answers from the company's own documents.

My part
Design and build
When
2026
Status
Live in production, built for WhatsApp, Messenger and Instagram

The problem

Consumers and business buyers wrote to the same inbox. A consumer wants to know where to buy a product. A restaurant wants a price list and a salesperson. Both got the same treatment.

What I built

A router agent reads the message and decides: consumer or business. Each side has its own agent with its own knowledge base. The knowledge comes from documents the company keeps in a shared drive. A workflow splits them, embeds them and stores them in Postgres.

The business agent sorts the contact into one of three types and collects a lead: four fields, one question per turn. It saves as soon as it has a name and a phone number, so a half-finished chat is still a lead. Sales gets a mail.

Every agent has a hard cap on how many steps it may take. An agent without a cap can keep calling a model all night.

The handover to a human is not in this build. It is in the public version of this bot, which you can read on GitHub.

How it fits together

  1. ChannelsWhatsApp, Messenger, Instagram
  2. Gatewayn8n workflow, one format for all three
  3. Router agentconsumer or business, memory per conversation
  4. Specialist agentsconsumer agent, business agent with lead capture
  5. Knowledgepgvector in Postgres, reranker, documents from a shared drive

What came out

Measured means counted in the code or the system. Estimated means my own estimate, with the assumption next to it.
Channels it is built for3measured
Knowledge bases2measured
Contact types the business agent recognises3measured

I have not counted conversations, so there is no number for that here.

The public version, with human handover

Built with

  • n8n
  • Postgres with pgvector
  • Supabase
  • Gemini on Vertex AI
  • OpenAI embeddings
  • Cohere rerank
  • Meta Graph API

Tell me what goes wrong on a normal Tuesday.

Book a 30-minute call

Thirty minutes, video or phone. You describe one process that costs you time. I ask questions and tell you honestly whether I would automate it, fix it first, or leave it alone. No slides.

Lima time, UTC-5. I reply within one working day, in English, Dutch or Spanish.

Open to remote roles and to projects.