WhatsApp AI automation · Case study

Nobody waits
on WhatsApp anymore.

Avora Markets, a trading & brokerage platform, now answers every client message on WhatsApp instantly — using an AI system built end-to-end for how a real trading desk actually operates.

Client
Avora Markets
Channel
WhatsApp
Status
Live in production
Avora AssistantUsually replies instantly
Hi, what's the minimum deposit for a Standard account?10:42
Hey! The minimum deposit for a Standard account is $100. Want me to walk you through opening one?10:42
Yes please10:43
Done — I've sent the account opening link to this number. Ping me if anything's unclear along the way.10:43
Illustrative conversationRecreated for this case study, not a real client exchange
The situation

Trading doesn't pause. WhatsApp shouldn't either.

Before

Manual replies couldn't keep up

Client questions about deposits, accounts and open issues came in on WhatsApp around the clock. A small team could only be online so many hours a day — so replies were delayed, leads went cold waiting for a response, and complaints sat mixed in with everyday questions instead of getting the attention they needed.

After

An AI layer that never clocks off

An AI system now sits between WhatsApp and Avora's team. It reads every message the moment it lands, pulls the right information before answering, and replies in a natural, paced way — while complaints are automatically routed down a separate path so nothing serious gets missed in the noise.

How it works

From message to reply, in five moves

No jargon here — this is the same journey a client's message takes, described plainly.

01

A client messages Avora on WhatsApp

Any question, any time — deposits, accounts, a complaint, anything.

02

The system reads it the instant it arrives

No one has to be at their desk for the message to be picked up.

03

It checks the right knowledge first

Rather than a canned script, it looks up what's actually relevant before replying.

04

An AI drafts a natural response

Written to sound like a person, and paced so it doesn't read as an instant machine reply.

05

The reply lands back on WhatsApp

Same conversation thread, no app-switching for the client.

Avora AssistantActive now
My last withdrawal hasn't shown up yet, it's been 3 days14:02
Sorry about the wait — I'm flagging this as a priority complaint so our support team looks at it directly, not just a general query.14:02
You'll hear from a specialist shortly with an update.14:02
Complaints get routed, not lostA dedicated path separates urgent issues from everyday questions
Why it matters

What this actually changes for Avora

Always-on coverage

Messages get answered nights, weekends and holidays — not just during business hours.

No cold leads from delay

A prospect asking about accounts gets a useful answer immediately, while interest is still warm.

Answers from real knowledge

Replies are grounded in Avora's own material, retrieved per question — not a fixed script.

Complaints reach a human

A dedicated flow separates real issues from routine questions, so nothing urgent sits in a queue.

Feels like a conversation

Response pacing is tuned so it reads like a person typing, not an instant machine reply.

Nothing lost on a restart

Conversations and login sessions survive updates and reboots — clients never see a "scan again" moment.

Under the hood

Five layers, one message path

For the technical reader: how a WhatsApp message actually moves through the system, end to end.

Channel OpenWA + WhatsApp Web.js Application Avora Node.js / Express AI / Knowledge Chunks + embeddings + Gemini Runtime Docker + avora-network Cloud & delivery GCP VM + Nginx + GitHub Actions
OpenWA · port 2785 Node.js / Express Gemini API Docker + avora-network GCP Compute Engine Nginx GitHub Actions + SSH

Answers are retrieved, not guessed

Rather than sending an entire knowledge base to the model on every message, source content is broken into chunks, converted to embeddings, and the relevant pieces are retrieved just before generation. Only that relevant context reaches Gemini — which is what keeps answers accurate instead of generic.

Source Chunks Embed- dings Retrieval Gemini
Reliability

Ships without downtime, hardened by real incidents

Every release moves through a blue/green handoff — a new version is proven healthy before it ever sees traffic.

Git push GitHub Actions SSH to VM Build new slot (8081) Health check Nginx switch Retire old slot
Incident · resolved

Ephemeral IP broke CI/CD

A VM restart changed the external IP, so deploys couldn't reach it over SSH. Traced to a stale secret, fixed by updating it — and it's now a known part of the deployment checklist.

Incident · resolved

Two live slots, one conflict

Running both deployment slots at once caused a polling conflict. Fixed with a strict handoff: new slot health-checked, traffic switched, old slot retired — never both live for long.

Incident · resolved

Memory pressure under load

The WhatsApp session layer needed more headroom than first provisioned. Diagnosed with resource monitoring, fixed by scaling the VM and raising the container's memory limit.

Cloud
GCP Compute Engine
OS
Ubuntu 24.04
Edge
Nginx · port 80
App slots
8080 / 8081
Channel service
OpenWA · port 2785
Sessions
Persistent volume
Health check
GET /health
Delivery
GitHub Actions + SSH

Kubernetes (Pods, Services, Ingress) was explored as a scaling track alongside this build — the production system documented here runs on Docker and a GCP VM.

Data & visibility

Every WhatsApp interaction, organized in one CRM

A reply is only half the job. Whatever a client shares on WhatsApp — registering, referring someone, or raising a complaint — is captured and categorized, so the team sees it in one place instead of scrolling through chat history.

Registrations

New account interest captured from the conversation and logged as a record, not just a chat thread.

Referrals

When one client refers another, it's tracked back to who sent it — visible in the CRM, not lost in a message.

Complaints

Flagged and categorized separately, so a support lead can see open issues at a glance.

WhatsApp intake Live
Registrations Referrals Complaints
Illustrative dashboard view — not live client data
Delivered

What shipped

  • WhatsApp AI chatbot, powered by Gemini with retrieval-backed answers
  • Lead-capture conversation flow plus a dedicated complaint-handling path
  • Dockerized deployment on GCP with zero-downtime blue/green releases
  • Persistent WhatsApp session handling across restarts
  • CI/CD pipeline via GitHub Actions, deploying from the client's own repository
  • Health-checked, production-hardened infrastructure

Built to answer, from the first message to the thousandth.

Avora Markets now runs its WhatsApp channel on a system that reads context before it replies, hands off complaints instead of burying them, and deploys new versions without a client ever seeing a gap.

Want something like this for your business?

ClustRatio builds WhatsApp AI automation end to end — from the conversation flow to the infrastructure behind it.