30 Jul 2026, by david.mwasikira@gmail.com · 7 min read

How to Build an AI Sales Agent That Captures Leads, Prepares Quotations and Follows Up Automatically

A component-by-component build: intake across WhatsApp, email and web; qualification; quotation drafting against a price book; the approval gate; and the follow-up ladder. With the data model, the six-week plan, the cost band and the metrics that prove it worked.

How to Build an AI Sales Agent That Captures Leads, Prepares Quotations and Follows Up Automatically

The sales problem in most SMEs is not persuasion. It is that enquiries arrive on three channels, quotes take a day, and follow-up depends on whether a salesperson remembers. An agent fixes exactly those three things — and it must not be allowed anywhere near the fourth, which is the price.

What you are building

Five components. Build them in this order; each is useful on its own, which is what lets you stop safely at any point.

  1. Intake — one enquiry record, whatever channel it arrived on.
  2. Qualification — enough structured detail to quote, gathered by asking.
  3. Quotation drafting — a draft against the price book, never a price the agent invented.
  4. The approval gate — a human sends. Always, in the first version.
  5. Follow-up — a scheduled ladder that adapts to what the customer does.

Component 1 — Intake: one record, three channels

Enquiries arrive by WhatsApp, email and the website form. Today each lands somewhere different and the WhatsApp ones are the most likely to be lost, because the thread scrolls.

Build a single enquiry record written to by all three channels. Minimum fields: source, received-at timestamp, contact name, contact number or email, raw message text, matched customer (if any), status, owner.

  • Do not try to move customers off WhatsApp. They will not go. Use the Business API so messages land in the record automatically; keep the customer's experience identical.
  • Match to an existing customer immediately on phone number or email domain. This one step is what lets everything downstream know whether it is talking to a KES 4m/year account or a first-time buyer.
  • Timestamp on arrival, not on processing. Your response-time metric depends on it, and response time is the thing you are about to improve.

Component 2 — Qualification: ask for what is missing

Most enquiries are unquotable as received: "Do you supply 3-phase panels?" The agent's job is to get the enquiry to a quotable state by asking two or three specific questions, then stopping.

Define a required-fields schema per product family. For a fabrication business that might be: item, specification or drawing, quantity, delivery location, required date. The agent asks only for fields that are missing, and asks at most twice before escalating to a person.

The rule that saves you: the agent may ask questions and record answers. It may never state a price, a lead time or a commitment during qualification. Those come from the quote, after review. Enforce this in the system prompt and in a validation check on outbound messages — prompts are guidance, checks are control.

Component 3 — Quotation drafting

This is where most builds go wrong. The agent must not compute prices. It must look them up.

  • The price book is the authority. A table: item code, description, unit, list price, floor price, current cost, valid-from date. If your prices live in a salesperson's head, that is the project — before any agent.
  • The agent's job is matching and assembly: map the enquiry to item codes, apply the customer's contracted discount tier from the customer record, assemble the document in your house format, flag anything it could not match.
  • Arithmetic happens in code, not in the model. Quantities × unit price, discounts, VAT, totals — all computed by the application. A language model doing arithmetic on a customer-facing document is an unnecessary risk with no upside.
  • Never below the floor. Any line under the floor price blocks the quote and routes it to a manager. This single rule usually pays for the whole build.
  • Unmatched items are flagged, not guessed. "3 items matched, 1 requires estimator input" is a good outcome. An invented line item is a bad one.

Component 4 — The approval gate

In version one, every quote is reviewed by a human before it goes out. This is not timidity; it is what makes the system deployable at all.

Design the gate to take under 60 seconds: the draft, the enquiry it came from, the matched customer's history, any flags, and two buttons — send, or edit and send. Measure the edit rate. When it falls below roughly 10% for a product family over 200 quotes, you have earned the right to consider auto-sending for that family only — and even then, keep the gate for new customers and for anything above a value threshold.

Component 5 — The follow-up ladder

This is where the revenue actually is. Coverage, not cleverness.

A workable default ladder, adapted per deal value:

  • Day 2 — confirm receipt, offer to clarify anything.
  • Day 5 — a specific question about their timeline. Not "just following up".
  • Day 12 — add something useful: a lead-time change, a technical note, an alternative specification at a different price point.
  • Day 30 — a clean close: is this still live, or should we park it? Getting a definite "no" is a win; it clears the pipeline.
  • Day 90 — reactivation, if the enquiry was ever genuine.

The adaptive part is what makes this an agent rather than a mail merge: if the customer replies, the ladder stops and the thread routes to the salesperson. If they open the quote three times without replying, escalate to a call task instead of another message. If they buy something else in the meantime, cancel the ladder — nothing damages a relationship faster than being chased for a quote you already superseded.

The data model, minimally

TableKey fieldsWhy it matters
customerid, name, phone, email domain, discount tier, credit status, dispute flagOne identifier per customer, or reactivation and follow-up both misfire
enquiryid, customer_id, source, received_at, raw_text, status, ownerThe response-time clock starts here
price_bookitem_code, description, unit, list_price, floor_price, cost, valid_fromThe authority. The agent reads it; it never overrides it
quoteid, enquiry_id, lines, total, margin, status, sent_at, edited_byedited_by is how you measure whether to trust auto-send
followupquote_id, step, due_at, sent_at, outcomeCoverage becomes measurable instead of anecdotal

If you have these five tables and one identifier per customer, the agent is a fortnight of work. If you do not, the agent is not your project yet — the tables are.

The six-week build

  • Week 1: Price book into a table with floor prices. Customer list deduplicated. Nothing else. This week is unglamorous and decides the outcome.
  • Week 2: Intake from all three channels into one enquiry record. Response-time clock live. Measure your current baseline now — you will want it.
  • Week 3: Qualification questions per product family. Agent asks, records, escalates after two attempts. Still no quoting.
  • Week 4: Quote drafting with floor-price blocking and flagged unmatched lines. Approval gate live. Every quote reviewed.
  • Week 5: Follow-up ladder, with reply detection and cancellation rules. Start with your two highest-volume product families only.
  • Week 6: Read 50 conversations end to end. Fix the constraints. Publish the metrics below against your week-2 baseline.

The five metrics that prove it worked

  1. Median response time from enquiry received to quote sent. Target: under 2 hours, from a typical starting point of 8–26 hours.
  2. Follow-up coverage — percentage of quotes receiving at least three touches. Target: over 90%, from a typical 40%.
  3. Edit rate on drafted quotes. Falling over time means the price book and matching are improving.
  4. Win rate on contested quotes, tracked separately from uncontested repeat business, or the market will flatter you.
  5. Quotes below floor price — should be zero, and each occurrence is a finding.

Cost, and what it returns

Build: KES 350,000–800,000 depending on how much of week one you already have done. Running: KES 20,000–45,000 a month including model usage and the reviewer's time. On a firm handling 60 quotes a month at KES 180,000 average and 28% margin, the follow-up coverage alone typically returns KES 80,000–95,000 a month, with the quotation speed adding a similar amount once turnaround is genuinely under two hours. Payback lands in the 3–5 month range on a full build, or under three months if you phase it to your top two product families first.

The three ways this fails

  • Letting the agent set prices. It will produce a plausible number, a customer will accept it, and you will honour it. Floor-price blocking is not optional.
  • Removing the human gate too early. Wait for the edit rate to prove it, per product family, over hundreds of quotes — not over a good week.
  • Chasing customers you should not chase. Suppress accounts with open disputes, credit holds or a recent complaint. One badly timed follow-up costs more than ten well-timed ones earn.

The point

A sales agent is not a replacement for a salesperson. It is the removal of the three failures that cost SMEs the most orders: the enquiry nobody saw, the quote that took a day, and the follow-up nobody made. Fix those three and the salespeople you already employ close more of what you already quote — which is the cheapest revenue available to any business.

0 Comments
No comments yet. Be the first to share your thoughts!
Leave a Comment
Your email will not be published.