Customer service on autopilot, from first message to human handoff, fully automated via WhatsApp.
The existing customer support system relied on a button-based chatbot and a live chat platform embedded in the company's website and app. It worked, but it couldn't scale.
The AI agent had no access to external tools or internal systems, severely limiting what it could actually resolve for users.
Knowledge base required manual file uploads to stay current, a slow and error-prone process that left the bot frequently outdated.
Conversation flow driven by pre-set buttons, not user intent. Customers couldn't ask questions naturally, only pick from a menu.
Customers had to access the company's own platform to get support. There was no WhatsApp channel, no way to meet users where they already are.
Built a custom automation architecture from scratch, replacing third-party chatbot platforms with a fully orchestrated system where n8n is the brain, WhatsApp is the front door, and every component talks to each other.
Every workflow includes an Error Trigger โ formatted error message โ WhatsApp alert to admin.
Receives WhatsApp messages (text or audio), processes them through the AI agent, queries the real-time data API for showtimes and sessions, generates responses, and sends them back via Meta API. Manages session state in PostgreSQL on every interaction.
Handles scheduled cache refresh for 20,000+ session records using a Blue-Green swap strategy: one table is always live while the other is being rebuilt. Zero-downtime updates to the session store.
Runs every minute via Schedule Trigger. Queries PostgreSQL for sessions inactive for more than 10 minutes, marks them as closed in session history and chat histories, resolves the conversation in Chatwoot, and removes any pending agent labels.
Triggered when the AI detects it cannot resolve the request. Transfers the conversation to a human agent in Chatwoot, assigns via round-robin, applies queue labels, and notifies the agent immediately.
Manages the agent queue, assigns waiting conversations, tracks agent availability, and re-routes if the assigned agent is offline.
Every single workflow has an Error Trigger node. On failure, it formats a detailed error message and sends an immediate WhatsApp notification to the admin. No silent failures.
Responds to both text and voice messages via WhatsApp, with Whisper transcription handling audio inputs seamlessly.
Answers questions about policies, schedules, and availability by querying a live internal API on every session request, always up to date.
Sends direct purchase links for specific sessions or products, reducing friction and guiding users straight to conversion.
Detects when human support is needed and routes automatically to an available agent in Chatwoot via round-robin assignment.
Manages conversation queues and agent assignment end-to-end, including re-routing when agents go offline.
Closes idle sessions automatically after 10 minutes, resolves Chatwoot tickets, and keeps the system clean without manual intervention.
n8n: self-hosted workflow automation, sole orchestrator for all 5 workflows
OpenAI GPT for natural language responses + Whisper for voice message transcription
Meta API (official): WhatsApp Business integration for inbound and outbound messages
Chatwoot: human agent console for fallback support and conversation management
PostgreSQL: session state, conversation history, cache tables with Blue-Green swap strategy
Docker + Coolify on self-hosted VPS: full control, data privacy, zero vendor lock-in