ClientPilot AI · Case studyDemo build · fictional business, simulated data

A form fill becomes a booked appointment. Nobody touched it.

AI intake that answers from the business’s own documents, follows up by SMS, and books the calendar — with a visible audit trail for every step.

RAG with citationsWebhook automationSMS follow-upCalendar bookingKnowledge baseReact + TypeScript

Live demos are password-gated — request access via the contact page and the password comes back in minutes.

Service team handling customer requests
Demo business: Demo Physio Clinic (fictional)
The problem

Service businesses drown in inquiry admin: every form fill needs a reply, a follow-up, and a booking — hours of phone tag per day.

What was built

A two-sided intake system: clients fill a short form and get a grounded answer by text; staff see every inquiry arrive with an AI-drafted reply, its source citation, and a stitched automation trail ending in a calendar event.

The demo shows
  • One inquiry followed end to end: form → grounded SMS answer → booking
  • Every AI reply citing the exact clinic document it came from
  • A 10-step automation thread proving no human touched it

The challenge

The office manager’s day is a queue: read the inquiry, look up the policy, write the reply, chase the booking. Multiply by fifty a month and intake becomes a part-time job nobody was hired for.

Automation without evidence is a hard sell — the owner has to be able to see what the machine said and where the answer came from before they trust it with clients.

The solution — three decisions

01

Citations as a first-class UI element

Every AI reply carries a small source tag naming the document and page; clicking opens the exact passage. Grounding is visible, not claimed.

02

The automation thread

Webhook fired → reply drafted → SMS sent → booking created — rendered as a stitched vertical trail with timestamps. It is the “nobody touched this” proof, replayable on camera.

03

Escalation as a feature

Clinical and claims questions are deliberately held for staff with a visible reason — the assistant knowing what not to answer is part of the pitch.

How it works

In
Intake formwebsite + lead forms
CRM webhookcontact record created
ClientPilot engine
Knowledge base12 indexed documents
RAG reply draftercitations to the page
Automation enginetimestamped step thread
Out
Email replygrounded, cited
SMS follow-upbooking link included
Google Calendarevent created

The demo implements this shape end to end with a simulated service layer — the “extend for production” section lists what swaps in for live deployment.

Product tour

ClientPilot inquiry detail with AI reply and automation threadClientPilot inquiry detail with AI reply and automation threadReply cites the clinic’s own policy PDF10 automated steps, timestampedThe Google-Calendar event it created
One inquiry, fully handled: grounded reply, SMS, and the booking card — with the trail alongside.
Client-side SMS thread in a phone frameClient-side SMS thread in a phone frame
What the client sees: a specific, document-grounded answer arriving by text, with a booking link.
Source passage dialogSource passage dialog
The citation moment — the exact passage from “Insurance & Direct Billing Policy.pdf”, page 2.
Pipeline dashboard with conversion funnelPipeline dashboard with conversion funnel
Intake at a glance in the demo dataset: 94% auto-replied, a funnel where every stage is smaller than the last, and IDs that track time.

What the demo shows

  • The same inquiry visible on both surfaces — client phone and staff CRM
  • An SMS thread rendered natively, typing indicators and all
  • Inbox rows whose reference IDs descend with recency — the details technical buyers check
  • A knowledge base with indexing states powering every answer

Under the hood

  • Inquiry templates with per-template message variants keep 50 mock inquiries free of duplicate rows
  • Escalation logic models a real routing decision: clinical/claims topics never get auto-replies
  • A single automation-event model renders both the per-inquiry thread and the 30-day activity feed
  • Funnel math is computed from the same store the tables read — every KPI reconciles
Built as a demonstration — on purpose

Demo Physio Clinic is fictional and labeled as a demo on every screen. Nothing here is presented as client work: no client names, no outcome metrics, no testimonials. The proof is the running product — open the live demo above and check every claim.

What we’d extend for production

  • Real RAG over uploaded documents with chunk-level citation offsets
  • Twilio SMS + Google Calendar integrations behind the same event model
  • Feedback loop: staff edits to drafts fine-tune reply style
Next step

Build something like this.

Fixed scope in writing before any money moves, demos during the build, and full code ownership at handover.

1%