The situation before we started
Quotes for big jobs — water heater replacements, sewer line work — often took 1-2 weeks for customers to decide. The owner's team would send the estimate, mean to follow up, get pulled onto another emergency, and forget.
When we audited the CRM we found 117 estimates in the prior 90 days with no follow-up after the initial send. About 30% of those had been opened but never replied to.
What we built
A blended workflow: SMS-led, but with deep CRM integration. Voice agent involvement was minimal — the customer-facing piece is mostly text.
- Trigger: 3 days after an estimate is sent (configurable per job type) and no customer response
- Initial SMS: Polite, plain-language nudge mentioning the specific job and asking if any questions came up
- Question handling: The agent can answer ~80% of common questions by pulling the actual quote terms (warranty, parts list, total) so customers don't have to wait
- Booking: When the customer is ready to schedule, the agent offers slots from the dispatch board and confirms a window
- Handoff: Anything ambiguous gets routed to the office with full context — the agent never bluffs
What happened
In the first quarter:
- 63 stale estimates re-engaged with a customer response
- Of those, 41 booked into jobs, representing about $94K in revenue that had previously been written off as cold
- Overall estimate close-rate up 22% vs. the prior quarter
The owner's most-quoted line internally is: "It's the follow-up I would have done if I had time, except the agent never has 'another emergency to deal with.'"
A note on tone
We spent real time on the SMS templates. Plumbing customers are generally sensitive to anything that feels automated or pushy — these are usually big-ticket purchases for homeowners. The templates were written in the owner's own voice, reviewed with the team, and tuned over the first 30 days based on actual reply patterns. The agent sounds like the office, not like a tech product.