Case study · home services
A two-person HVAC shop stopped losing weekend leads to voicemail.
A 24/7 lead-response agent now picks up after-hours, qualifies, books, and confirms while the owner is off the clock. Eight weeks since go-live, the inbox is empty on Monday morning.
Before
A small home-services operator with a second shift and nobody on it.
The lead pipeline was intact — the after-hours leg of it wasn’t.
- After-hours calls land in voicemail. The caller hangs up and books the next shop that picks up.
- Monday morning the owner works the inbox by hand — a quote request is a six-hour round trip.
- Weekend leads are the highest-intent ones. They are the ones being lost.
What it does overnight
Every lead answered, qualified, and booked before the owner wakes up.
Four deterministic steps. The agent does not improvise on the steps that matter and does not invent fields that aren’t there.
Intake the lead
Captures caller, channel, and timing from the telephony provider the moment the call lands — no manual logging, no dropped context.
Qualify in one turn
Asks the questions a dispatcher would ask — service type, urgency, address band — and decides whether this is a real booking or a handoff.
Book the job
Pulls the next open slot from the operator's calendar, confirms it with the customer, and writes the appointment back to the CRM.
Confirm by SMS + email
Sends the customer a confirmation message with the time, the tech, and a single reply-to for changes. The owner wakes up to a booked calendar.
Integrations
Wired into the systems the operator already pays for.
Owner-side billing, owner-side credentials, owner-side records. No new vendor in the middle.
Inbound
Captures every after-hours call, transcribes the request, and hands it to the agent in the same shape as a form fill.
Owner keeps the phone number and the carrier.
Contact write-back
New contacts, notes, and appointment statuses sync back into the CRM the operator already pays for — no parallel system, no second source of truth.
Owner keeps the instance, the keys, and the data.
Booking
Reads real availability and writes confirmed appointments back to the calendar the dispatch team already uses — no double-bookings, no shadow schedule.
Owner keeps the calendar and the history.
Result since go-live
Treat prompts like hardware. Earn the trust on every run.
The agent has been live for eight weeks. The promise isn’t that it never drifts — it’s that the drift is caught before a customer sees it.
Prompts versioned
Every change is a commit. Every commit has a named human partner. The history is on the operator's side of the line.
Runs observable
Every lead is a trace. Latency, tool calls, and the messages the agent sent sit in a run log the operator can read, not a black-box metric.
Regressions caught
A held-out eval set runs against every prompt edit before it ships. If the new version scores below baseline, it does not ship.
Run trace
v0.7.3- prompt.version
- v0.7.3
- tools.bound
- telephony · crm · calendar
- eval.sweep.last
- 142 / 142 · 0 regressions
Test it on your own traffic
Two weeks. Fixed fee. Tell us the workflow.
Pick the workflow that bleeds the most after-hours revenue. We’ll reply within one business day with a scope and a flat pilot fee. No SOW, no hourly meter.