EyreAustero

LeadFlow AI: WhatsApp Sales Agent

What It Does

An AI-powered sales assistant that runs on WhatsApp — answering client questions about my services, pricing, and process using a curated knowledge base, booking discovery calls through Cal.com, and relaying messages to me directly when something falls outside the bot’s scope. It handles text and voice messages 24/7, so potential clients get real answers immediately instead of waiting for me to come online.

The Problem

As a freelancer, I need to be reachable on the channels where potential clients already are. WhatsApp is the default messaging platform in many of my target markets — but I can’t monitor it around the clock, and a generic auto-reply (“I’ll get back to you soon”) doesn’t answer the prospect’s actual question. They leave without the information that would have moved them toward a booking.

How It Works

The system is built on a Retrieval-Augmented Generation (RAG) architecture. That means every response starts with a search of a 40-entry knowledge base before the AI generates its answer — so the bot can only state facts I’ve verified, not things it imagines.

When a client sends a message:

The bot receives it through the WhatsApp Cloud API, identifies whether it’s text or a voice message (voice messages are transcribed automatically using OpenAI Whisper), and passes it to the AI sales agent. The agent searches the knowledge base for relevant content, builds its response from what it finds, and sends it back through WhatsApp. A post-processing step strips any markdown formatting so the message renders cleanly in WhatsApp’s plain text environment.

When a client wants to book a call:

The bot recognizes readiness signals — “I’m interested,” “how do I get started?”, “I want to hire you” — and offers a Cal.com booking link for instant scheduling. If the client prefers, they can share their name, email, and preferred time, and the bot handles the coordination: one email to me with the booking details, one confirmation email to the client.

When the question is out of scope:

If the knowledge base doesn’t have the answer, the bot offers to relay the client’s message to me directly. The client provides their name, email, and question. Two emails fire: one notifying me, one confirming to the client that their message was received. Direct contact options (email, Cal.com, LinkedIn) are always included so the client has choices.

When the question isn’t about business at all:

Small talk, weather questions, trivia — the bot gives a brief, friendly acknowledgement and steers back to how it can help. It doesn’t waste the client’s time by searching the knowledge base for irrelevant topics, and it doesn’t overreact by offering to relay casual conversation.

The bot also tracks whether it’s the client’s first message or a returning conversation, and introduces itself only once — no repetitive greetings on follow-up messages.

Screenshots

What Makes It Interesting

Every answer is grounded in a knowledge base, not the AI’s imagination.

The bot never invents facts. Prices, timelines, service descriptions, and contact details all come from a curated database of 40 Q&A entries. If I update a price or add a new service, I update the knowledge base — not the AI’s instructions. This is the same principle as a contract that references an external schedule of terms rather than embedding every detail in the body text: the contract stays clean while the schedule can be updated independently. The AI’s job is to understand the question, find the right information, and deliver it conversationally — not to be the source of truth.

Positive rules instead of prohibitions.

Early versions told the AI “don’t offer a booking unless the client shows readiness.” It over-fired on 5 out of 14 informational questions in testing. The fix was restructuring the rule from a prohibition to a positive trigger list: the booking offer fires ONLY when the message matches one of three explicit trigger categories. It’s the same difference between a contract clause that says “this exception does not apply except when…” versus one that says “this exception applies only in the following circumstances:” — the explicit list leaves less room for misinterpretation. After the restructuring, zero false positives across 26 test messages.

One knowledge base serves every channel.

The WhatsApp bot and the website chat widget share the same 40-entry knowledge base. The content is stored format-neutral — plain URLs, no markdown — and each channel applies its own formatting at the output stage. WhatsApp strips markdown; the website wraps URLs in clickable links. When I update a fact in the knowledge base, both channels reflect the change instantly. No duplicate content, no synchronization problems, and adding a new channel (like Telegram) means building a new interface layer, not recreating the content.

Tech Stack

Description

  • June 14, 2026

AI-powered WhatsApp sales assistant with voice support, grounded answers, booking, and message relay.