WhatsApp AI Operations

An AI Sales Assistant That Runs on WhatsApp*

A real estate agent needed every inbound WhatsApp lead answered, qualified, and followed up on without manual work. We built the system that does it all: responds in under 2 minutes, qualifies buyers, books viewings, transcribes calls, and dispatches documents. One WhatsApp number, zero manual follow-ups.

Business Impact

30%more revenue

Faster engagement and automated follow-ups close deals that used to slip away

Business Impact

Executive Outcomes

< 2min response

Leads engaged before they move to a competitor

3xfaster conversion

Speed-to-lead drives significantly higher booking rates

100%automated

Qualification, reminders, and bookings run without manual work

30%more revenue

Faster engagement and automated follow-ups close deals that used to slip away

The Challenge

The agent was losing momentum between inbound messages, CRM updates, booking coordination, document sharing, and manual follow-ups. The initial setup relied on n8n flows and spreadsheet-based lead management, creating scaling and consistency limitations.

Leads sat unanswered for hours while the agent juggled WhatsApp, CRM, and spreadsheets manually

Follow-ups depended on memory. No system tracked who needed a callback or a document

Call recordings piled up in Google Drive with no transcription, no summaries, no CRM sync

Booking updates from Cal.com required manual copy-paste into Close.com notes

Voice outreach campaigns were impossible without a dedicated team or call center

The Transformation

What changed after we built the system

Before

Leads sat unanswered for hours while the agent juggled WhatsApp, CRM, and spreadsheets manually

After

AI responds to every inbound WhatsApp message within the batching window, qualifying leads automatically

Before

Follow-ups depended on memory. No system tracked who needed a callback or a document

After

48-hour follow-up reminders fire on schedule with zero manual tracking

Before

Call recordings piled up in Google Drive with no transcription, no summaries, no CRM sync

After

Call recordings are ingested from Drive, transcribed with Whisper, summarized, and logged to CRM

Before

Booking updates from Cal.com required manual copy-paste into Close.com notes

After

Booking lifecycle events sync directly into Close.com leads with structured notes

Before

Voice outreach campaigns were impossible without a dedicated team or call center

After

Voice campaigns generate personalized audio with ElevenLabs and dispatch via WhatsApp at scale

The batching window changed everything

Real estate leads type fast. They send three messages in 30 seconds: a greeting, a question about price, and a photo of a listing they saw online.

Without batching, the AI would reply to each message individually, creating a disjointed conversation that felt robotic. The 2-minute batching window consolidates all rapid messages into a single context, producing one coherent response.

The 5-minute ceiling prevents messages from waiting too long. If no new message arrives within 2 minutes, the batch closes and the AI responds. This creates a natural rhythm that mirrors how a human agent would actually read and reply.

How We Built It

Technical architecture for the curious

Entry

Inbound messages hit the webhook, get validated, and route to admin or lead processing paths.

Twilio WhatsApp Webhookn8n Middleware (prod)Hono Server (dev)

Orchestration

Background tasks handle batching, qualification, follow-ups, call ingestion, and campaign execution.

Trigger.dev TasksMessage Batch SessionsScheduled Jobs

Data

Supabase stores lead state and conversation history. Sheets handle inventory lookups and campaign queues.

Supabase (leads, chat, media)Google Sheets (inventory, campaigns)Close.com CRM

AI

AI responses use structured output for qualification scoring. Langfuse traces every model call for debugging.

OpenRouter (GPT/Claude)Langfuse ObservabilityStructured Output Schemas

Media

Voice notes transcribed on ingest. Campaign audio generated with ElevenLabs and served from Supabase Storage URLs.

Whisper TranscriptionElevenLabs TTSSupabase Storage
Trigger.dev
Twilio
Supabase
Close.com
Cal.com
Google Drive
OpenRouter
ElevenLabs
Langfuse
TypeScript

Engineering Decisions

Tradeoffs we made and why

89commits
1engineer
6weeks
38test files

2-minute batching with 5-minute ceiling

Benefit

Coherent, human-like AI responses instead of fragmented replies to each message

Cost

Delayed first response in fast back-and-forth conversations

Fire-and-forget for non-critical paths

Benefit

Faster user-facing response times for the primary chat flow

Cost

Eventual consistency for side effects like CRM notes and welcome media

Acknowledge images without vision inference

Benefit

Significant cost savings and pipeline stability

Cost

No semantic understanding of shared images or screenshots

Supabase migration from Google Sheets for lead state

Benefit

Transactional safety, RLS policies, and proper relational queries

Cost

Higher initial engineering effort and migration complexity

Zod validation at every integration boundary

Benefit

Runtime type safety across 10+ external APIs

Cost

More upfront schema work and maintenance overhead per integration

*The Meta-verified WhatsApp Business API account and phone number were provided by the client. BrownMind built the AI system that operates on top of it. We do not handle WhatsApp account registration, Meta Business verification, or number provisioning.

Certain client names, proprietary workflows, screenshots, and internal assets referenced in this case study are protected under a non-disclosure agreement and have been anonymized or omitted to comply with our confidentiality obligations.

Want a system like this for your team?

Book a free 30-minute call. We will walk through your current workflow, find the biggest time sinks, and tell you exactly what we would automate.

30 minutes with Apurva. Not a sales call.

Book Your Free Audit