An AI agent for contractors that triages emergencies and captures quotable leads
Home services break normal chatbot designs: emergencies can't wait, jobs can't be priced blind, and geography matters. Here is the triage, intake and dispatch setup that works.
I audited a two-van plumbing firm's phone log last autumn. In one week: 34 missed calls, 29 of them landing on voicemail, and 11 that were clearly new jobs. Every one of those 11 went to whichever competitor answered next — and at least three were emergencies the firm could have charged its call-out fee for.
Home services is the industry where after-hours coverage pays for itself fastest, and also the one where a generic chatbot design fails hardest. The failure isn't technology. It's that home-services conversations have three properties most deployments never plan for: some messages are emergencies with safety implications, most jobs cannot be priced from a chat, and geography decides whether the lead is worth anything at all. Get all three right and the agent becomes the best employee the firm has. Miss one and it creates liability at 2am.
Emergency vs routine: triage first, everything else second
The first job of a home-services agent is not answering questions. It is deciding, fast, whether the message is an emergency. That means the emergency list must be written down, agreed with the owner, and phrased as a list — not a paragraph. For plumbing, the list is short: gas smell, burst pipe or active flooding, sewage backup, no water at all, and water near electrics.
What the agent is allowed to say about an emergency is equally narrow:
- Safety lines the owner has pre-approved, word for word — for example, where the main water shutoff usually is and to close it. Nothing beyond the approved lines, ever.
- The emergency call-out fee and how dispatch works, quoted from the facts file.
- Confirmation that the on-call van is being paged, with the address and callback number it captured.
What it may never say: "that sounds fine until morning," any diagnosis of the cause, or any assessment of danger. An agent that reassures a caller about a gas smell is a liability no facts file can cover. If the situation touches gas or burning, the agent's first line is to leave the house and call the utility's emergency number — and it pages the on-call van second.
Quote-intake questions that let you price the job
Most home-services work cannot be quoted from a chat, and pretending otherwise produces the invented-price problem from every deployment I've had to fix. The agent's intake job is different: collect the specific facts that let a human price the job in one pass, without a callback.
The question set that survives contact with real jobs:
- What's the property — house, unit, or rental, and is anyone on site?
- What exactly is happening, where in the property, and since when?
- Is water currently flowing or leaking right now?
- How many stories, and is the affected area accessible — crawlspace, slab, finished ceiling?
- Is the fixture exposed, or behind tiling or cabinetry?
- When can someone be there, and is there parking for the van?
Six questions, and the answers map onto the firm's standard job shapes. The point is not that the agent prices the job — it's that the owner opens the dispatch note and quotes in seconds, because everything needed is already there.
Service area and travel fees, as rules not vibes
"About half an hour out of town" is not a service area a machine can apply. Write it as numbers: a radius in miles around the shop, the named towns included, and the travel fee beyond it — for example, a flat per-mile charge past the boundary. The agent then does three things deterministically: in-area leads get booked; out-of-area leads get a clear "we don't serve that far" plus the travel fee if the caller wants to proceed anyway; and every lead gets captured either way, because an out-of-area caller today is a referral or a new hire's route next year.
The dispatch handoff
The handoff is where after-hours coverage either works or collapses into a blur of missed callbacks. Two rules:
- Emergencies page a human, with a payload. Contact name, callback number, address, one-line problem description, emergency classification, and what the agent already told the caller. The on-call van should be able to act from the payload alone, without calling the customer back to re-ask everything. The five-field payload pattern is the same one I use for every escalation (see the handoff template).
- Routine jobs book into real calendar slots, and the agent never promises an arrival time. It offers the next booking window from the facts file. "Someone will be there between 8 and 10" comes from the owner's slot list — never from the agent's imagination.
A filled-in facts file for a plumbing firm
[FACTS]
Business: residential plumbing. No commercial, no new construction.
Hours: Mon-Fri 07:30-17:00. Emergency line operates 24/7.
Emergency call-out: $249 flat, credited to the repair if booked the same visit.
Diagnostic visit: $189, waived if the repair is approved the same visit.
Service area: 25 miles of the shop, including [the three neighbouring towns].
Outside the area: $2 per mile after the first 25 miles, quoted before booking.
Flat-priced jobs: tap replacement, toilet install, water heater swap.
Everything else: priced after the diagnostic visit.
Booking windows: 08:00-10:00, 10:00-12:00, 13:00-15:00, 15:00-17:00.
Main water shutoff: usually where the supply line enters the house, near the meter.
[RULES]
Quote only facts listed in [FACTS]. If a fact is not listed, say a team
member will confirm.
For emergencies: give the approved shutoff line, capture address and
callback number, and page the on-call van. Never diagnose, never say
"this can wait."
Never quote a repair price for anything not listed as flat-priced.
Pricing happens after the diagnostic visit.
Never promise an arrival time. Offer the next booking window from [FACTS].
Run the six intake questions on every routine job before booking.
[ESCALATE IF]
Gas smell, carbon monoxide alarm, or electrical burning — tell the caller
to leave the building and call the gas utility's emergency line first.
Burst pipe, active flooding, sewage backup, or no water at all.
Customer mentions insurance, injury, or legal action.
Customer asks for a discount, waiver, or price match.
Emergency triage table
| What the caller reports | Triage | What the agent says and does |
|---|---|---|
| Gas smell or CO alarm | Emergency — evacuate first | "Leave the building and call the gas utility's emergency line." Then page on-call |
| Burst pipe, active flooding | Emergency | Approved shutoff line; capture address; page on-call |
| Sewage backup | Emergency | No DIY advice; capture address; page on-call |
| No water anywhere in the house | Emergency | Capture address; page on-call |
| Water heater actively leaking | Emergency, per firm's rule | Shutoff line; page on-call |
| Water heater past its service life, no leak | Routine | Diagnostic booking |
| Slow drain, dripping tap, running toilet | Routine | Run intake questions; book |
| Renovation or re-pipe enquiry | Quote intake | Run intake questions; route to owner for pricing |
| Address outside the service area | Decline plus capture | State the boundary and travel fee; capture contact anyway |
The four mistakes I see most
- Letting the agent diagnose. "Sounds like your thermocouple" is wrong half the time, orders the wrong part the other half, and creates an expectation the invoice can't match. Intake questions in, dispatch note out — no diagnosis in between.
- An emergency list written as prose. A paragraph of "things like flooding or obviously dangerous situations" gives the model nothing to match against. Five to eight concrete items, each one a phrase a caller might actually say.
- Quoting hourly rates into chat. An hourly number plus an unknown job equals a dispute. "Priced after the diagnostic visit" is a complete, honest answer, and the diagnostic fee funds it.
- Dispatch without a payload. A text that says "emergency, call this number" sends the on-call van in blind. The payload — address, problem, classification, what the caller was told — is the difference between one callback and four.
What to do today
- Sit with the owner and write the emergency list. Five to eight items, concrete phrases, no adjectives like "serious."
- Pre-approve the two safety lines — main water shutoff and gas-leave-the-building — word for word. Those are the only safety sentences the agent will ever say.
- Write the service area as numbers: radius, named towns, travel fee. Delete "roughly."
- Run the six intake questions against your last ten real enquiries and check the owner could have quoted from the answers alone.
- Test the emergency path after hours: send a burst-pipe message, and time how long until a human has everything needed to roll.
An agent on a contractor's line does one job well: it answers every call the vans can't, tells the emergencies from the quotes, and hands humans notes they can act on without a single callback. The triage list, the intake questions and the numbers in the facts file are the entire design. Everything else is decoration.
Stop losing after-hours jobs to voicemail.
The plumbing facts file below, plus the intake question list and triage table, are in our store as a fill-in pack. The method above stands on its own.
See the Lead-Reply Script Vault →