It is 2:14 AM. A homeowner in a 1950s ranch in the suburbs hears water rushing somewhere downstairs. She goes to the basement. Three inches of standing water around a corroded copper joint. She panics, opens her phone, taps the first plumber on Google Maps. The call rings. And rings. Voicemail.
She hangs up before the beep. Taps the next plumber. Same thing. Third plumber answers — sleepy but answering. He’s there in 47 minutes. Job ticket: $1,840.
The shops that don’t pick up that call are not bad shops. They have on-call rotations. The on-call guy was deep asleep with the phone on Do Not Disturb after a 14-hour Saturday. The phone tree didn’t escalate because nobody built one. This is the most expensive non-event in residential plumbing.
The fix is an AI receptionist that doesn’t sleep, doesn’t have a bad day, and follows the same triage script every single call. Here’s how we build it.
The architecture, at a glance
The Plumbing Snapshot’s AI receptionist runs on GHL’s native voice AI (under the hood: OpenAI’s voice models routed through Twilio). Three layers:
- Voice front-end — the AI that actually talks to the homeowner.
- Pipeline middle-tier — captures the structured data and routes it.
- Escalation back-end — texts, pages, and (if needed) wakes up a human.
We tune each layer per-shop during install, but the skeleton is the same across all 80+ deployments.
Layer 1: the voice prompt
This is the most important and most under-thought-about piece. A bad voice prompt sounds like a robot trying to sell you insurance. A good one sounds like a calm, competent dispatcher who is genuinely trying to help.
Our base prompt is roughly 800 tokens and covers:
- Identity: “I’m [Shop Name]‘s after-hours dispatcher.”
- Posture: calm, brief, no upsells, no chitchat.
- Emergency triage tree: water actively flowing? sewage backup? no heat? — branches.
- Required fields: full name, callback number, service address with ZIP, brief description, has the water been shut off.
- Booking authority: “I can confirm a tech is on the way and give you an ETA window.”
- Hard escalation: any mention of gas, electrical near water, or “I’m not sure if it’s safe” — immediate human page.
Layer 2: pipeline routing
The AI captures structured fields into a GHL custom object during the call. Once the call ends, a workflow fires inside 4–7 seconds:
- Contact created (or merged with existing if number matches).
- Opportunity created in the “Emergency — After Hours” pipeline.
- Severity tag applied: P1 (active flooding), P2 (no water / no heat), P3 (slow leak), P4 (next-day okay).
- Tech assignment based on the on-call calendar.
- Confirmation SMS to the homeowner with the tech’s name and ETA.
- Notification to the tech with the lead summary.
The pipeline view in GHL shows the dispatcher (if there is one) or the owner exactly what’s coming in. P1 cards are red and pinned to the top.
Layer 3: escalation
This is where most DIY GHL builds break. The default GHL workflow is fire-and-forget — it sends a notification, and if nobody acts, nothing else happens. That’s fine for a “book me for next Tuesday” lead. It’s catastrophic for a 2 AM flood.
The snapshot uses a tiered escalation:
Every step is a separate workflow node with a “wait + conditional” check. The conditional asks: did the tech tap “Accept” on the opportunity card? If yes, escalation stops. If no, advance.
We also build a “panic button” — a single SMS short code the homeowner can text if they need the truck faster. That bumps the severity to P1 and re-triggers the full escalation tree.
Tuning the AI for your shop’s vocabulary
Out of the box, the AI is good. With 30 minutes of tuning, it’s excellent.
The tuning we do during install:
- Add your service area ZIPs so it can immediately confirm “yes, we cover you.”
- Add your common job types (slab leak, sewer line, water heater, etc.) so it asks the right follow-up questions.
- Add your pricing posture (we don’t quote on the phone / we quote a service-call fee / we offer free estimates) so it doesn’t promise something the tech can’t deliver.
- Add your local references — “near the [landmark]” — so a homeowner saying “off Buford Highway” gets understood.
What we hardcode (and why)
A few things we do NOT let the operator customize:
- The AI never quotes a price over the phone. Plumbing pricing is too variable. The AI says: “Our tech will give you a flat-rate quote when he arrives. The trip fee is [$X] and is waived if you book the work.”
- The AI never promises an ETA shorter than 30 minutes, even if the on-call tech is 5 minutes away. The reason: if the tech hits a traffic jam, the homeowner is now angry. Under-promise.
- The AI never argues with the homeowner. If the homeowner says “I want to talk to a human,” it immediately tries to connect to the on-call tech via call-forwarding rather than continuing to triage.
These three rules came from painful early failures. Now they’re hardcoded.
Cost of running this
The AI receptionist is included in the Plumbing Snapshot — no extra fee from us. You will pay GHL for voice minutes (~$0.04/min for the AI), which for a typical 3-truck shop runs $20–$45/month in voice charges.
For comparison: a 24/7 human answering service costs $0.85–$1.50/minute and books 30–50% fewer jobs in our benchmarks.
What goes wrong (and how to fix it)
Three failure modes we see across deployments:
1. The on-call tech mutes notifications. Solved by adding the backup-tech and owner escalation tiers, plus a Sunday-morning report that shows missed escalations from the past week. Public accountability fixes this fast.
2. The AI mishears a street name. We add common street names from your service area to the AI’s lexicon. Atlanta gets “Peachtree” weighted heavily. Dallas gets “Mockingbird.” Denver gets “Hampden.” Etc.
3. The homeowner hangs up on the AI mid-call. Our workflow captures partial-call leads (anything where we got a phone number before disconnection) and fires a “hey, looks like we got cut off, here’s a text — what’s going on?” SMS inside 90 seconds. Recovery rate: ~31%.
The bottom line
A correctly-built AI receptionist is the single highest-ROI piece of the Plumbing Snapshot. It is the difference between answering the phone and running a 24-hour business.
If you want to see the actual call flow in action, schedule a demo and we’ll have it call your phone — you can play the homeowner and feel exactly what the 2 AM flood victim feels. It’s the most convincing 4 minutes of the demo.
The snapshot installs in 24 hours. The AI receptionist is live the moment installation finishes. The first 2 AM call it answers usually pays for the whole thing.