Skip to content
All projects
AI Automation

AI Customer Support Automation — WhatsApp, Ollama & Qdrant

A fully self-hosted AI support agent that answers customer questions on WhatsApp and web chat, grounded in a private knowledge base — with no message content leaving the host infrastructure.

Customer Support & Operations 2026

Project overview

A reference build showing how an AI support agent runs end to end on infrastructure you control. It accepts customer messages from WhatsApp Business Cloud and an embedded web chat, answers them from a private knowledge base, captures leads and raises tickets — with every model call served by a locally hosted LLM, so no message content is sent to a third-party AI provider. We publish it as an open workflow because the architecture, not the copy, is the useful part: it is the same shape we deploy for support automation engagements, with the company name, industry, language and service menu as configuration.

The challenge

Support automation usually forces a trade. Hosted AI services are straightforward to adopt but require sending customer conversations to a third party, which rules them out for businesses handling regulated or commercially sensitive data. Self-hosting solves that, but introduces the problems a managed service hides: conversations that lose context between messages, duplicate replies when a channel retries a webhook, and an agent with no grounding that answers plausibly but wrongly. The build had to work across two channels with different message shapes, hold context across a conversation, and stay accurate without any hosted model.

Our solution

Two entry points — a WhatsApp Business Cloud webhook and an n8n web chat trigger — normalise into one internal message format, so a single agent path serves both channels. WhatsApp messages are filtered to text and deduplicated in Redis by message ID, which is what stops a retried webhook producing a second reply. Redis also holds conversation memory, letting the workflow distinguish a first-time visitor from a returning one and greet accordingly. Anything that is not a greeting routes to an AI agent running Ollama locally, which retrieves grounding context from a Qdrant vector collection so answers come from the knowledge base rather than the model's general knowledge. Google Sheets serves as the lookup source for product and property data, and as the write target for new leads and support tickets. The reply returns on whichever channel the customer used.

How we approached it

We built the channel layer first, because two intake paths with different message shapes are the part most likely to break later: WhatsApp and web chat normalise into one internal format before anything else runs, so the agent path stays single. Redis went in next for deduplication — a retried webhook producing a second reply is the failure customers notice fastest — and then for conversation memory. Only after that did we add the model: Ollama locally, with Qdrant retrieval so answers come from the knowledge base rather than the model's general knowledge. Google Sheets is deliberately the system of record for lookups and lead capture, because it is what a non-technical operator can actually maintain after handover.

The results

Demonstrates a complete support-automation stack that runs without any hosted AI dependency: grounded answers from a private Qdrant collection, conversation state and deduplication in Redis, and lead and ticket capture written back to the business's own systems. It is the architecture we start from for support automation work, adapted to the client's channels, knowledge base and escalation rules.

Key features

Dual-channel intake: WhatsApp Business Cloud and embedded web chat
Redis message deduplication, so retried webhooks never double-reply
Redis conversation memory with new-versus-returning visitor detection
Local LLM inference via Ollama — no conversation data leaves the host
Qdrant vector retrieval for grounded, knowledge-base-backed answers
Google Sheets lookups for product and property enquiries
Automatic lead capture and support ticket creation
Configurable company name, industry, language and service menu

Services provided

  • AI Automation
  • n8n Workflow Development
  • RAG & Knowledge Assistants
  • AI Chatbots & Conversational AI
  • Vector Databases & Semantic Search