A plumbing company was losing service agreements and quote follow-ups to manual chaos. AI automation recovered $118K in annual revenue.
Article text
The owner pulled a three-ring binder off the shelf during our first meeting. "This is everyone who's ever had a service agreement with us," he said. About 1,400 names. Some of the pages were from 2019. Others had phone numbers crossed out and rewritten in different ink.
"How many of these are still active?" I asked.
He looked at his office manager. She looked at the ceiling. "Maybe... 340?"
That pause told us more than any spreadsheet could. A 33-person plumbing company with eight trucks, running $4.2M in annual revenue, and nobody could say with confidence how many active service agreements they had. That gap between "maybe 340" and the actual number was where we found $118K in annual revenue the business had been quietly losing for years.
The Problem Nobody Had Time to Notice
If you run a plumbing company, you know service agreements are the financial backbone of the business. They're the recurring revenue that smooths out the seasonal swings, keeps trucks busy during slow months, and makes the business worth more if you ever want to sell it. Industry data shows that a plumbing business with 2,000 active service agreements is worth significantly more than one with the same top-line revenue but zero contracts.
This company understood that in theory. In practice, renewal management looked like this:
Office manager manually checks a spreadsheet every Monday for agreements expiring that month
She prints a list and puts it on the dispatcher's desk
Dispatcher is supposed to call each customer to schedule their annual maintenance visit
Some customers get called. Some don't. Depends on how busy the week is.
If the customer doesn't answer, the dispatcher writes "called" next to the name
Nobody follows up a second time
Agreement expires
Customer calls a competitor next time their water heater fails
The renewal rate? We counted. It was 54%. That means nearly half their service agreement customers were quietly walking out the door every year. Industry benchmarks for HVAC and plumbing companies put healthy renewal rates at 75-85%. This company was 20+ points below the floor.
If this sounds like your business, we should talk. We do free 30-minute discovery calls where we walk through exactly which processes are costing you money.
What We Found When We Mapped the Process
We spent the first week doing what we always do: mapping the existing process before touching anything technical . No AI, no dashboards, no tools. Just watching how work actually moved through the building.
Three problems became obvious fast.
The Service Agreement Black Hole
The spreadsheet tracking agreements hadn't been reconciled with the actual billing system in over a year. Forty-seven customers were still listed as "active" but hadn't been billed in 6+ months. Another 83 customers had agreements that expired in the past 90 days with zero renewal contact. The company was paying for a field service management tool that had a service agreement module, but nobody had set it up because "we didn't have time."
Total estimated annual revenue walking out the door from lapsed agreements alone: $74K (based on their average agreement price of $289/year and the number of customers who lapsed without a single renewal contact).
The Quote Follow-Up Desert
The second revenue leak was quotes. Their plumbers wrote an average of 31 quotes per week for jobs over $500. We pulled 90 days of data. Follow-up rate on outstanding quotes? 22%. Meaning 78% of quotes over $500 were sent to customers and never followed up on. Not once.
The industry close rate on followed-up plumbing quotes is typically 40-55%. This company was closing 18% of their quotes overall. The math was painful: at their average ticket of $1,870, even converting 10 more quotes per month would mean an additional $18,700/month.
The Dispatcher Bottleneck
Every renewal, every follow-up, every scheduling question ran through one person: the dispatcher. She was on the phone 7+ hours a day. She was good at her job. She was also the single point of failure for the entire revenue cycle. When she took a vacation day, renewal calls stopped. When it was a busy service day, quote follow-ups got pushed to "tomorrow." Tomorrow became never.
What We Built
The solution wasn't complicated. It rarely is. The hard part is always the diagnosis. The build took four weeks.
Week 1-2: Data reconciliation and agreement engine.
We cleaned the customer database, reconciled the spreadsheet with actual billing records, and built an automated renewal pipeline. The system now tracks every agreement's expiration date and triggers a sequence starting 45 days before renewal:
Day 45: Personalized email reminding the customer their agreement is coming up, with a one-click renewal link
Day 30: Text message with the same link, plus a note about their last service visit ("Your water heater inspection on Oct 14 found no issues. Your next annual visit is included with renewal.")
Day 14: Phone task auto-assigned to the office manager with the customer's full history on screen
Day 3: Final email with a limited-time incentive (10% discount for same-day renewal)
No renewal falls through the cracks because no human has to remember to start the process.
Week 3: Quote follow-up automation.
Every quote over $500 now triggers an automatic follow-up sequence:
Day 2: "Just checking in" text with the quote attached
Day 5: Email with a detailed breakdown of the quote, emphasizing what happens if the problem waits
Day 10: Phone task assigned to the plumber who wrote the quote (not the dispatcher)
Day 21: Final "we're closing this out" message with an easy way to re-engage
The critical design choice: the follow-up messages reference specific details from the original quote. Not generic templates. "The galvanized supply line we discussed in your crawl space will continue corroding" hits differently than "following up on your recent quote."
Week 4: Dashboard and dispatcher relief.
We built a morning dashboard that shows the dispatcher three things: today's renewal calls, today's quote follow-ups, and today's service schedule. Instead of managing everything in her head, she manages exceptions. The system handles the 80% that's routine. She handles the 20% that needs a human.
The Results After 90 Days
We measured everything at the 30, 60, and 90-day marks. Here's where they landed at 90 days:
Service agreement renewal rate:
54% to 79%. That's a 25-point jump, and it's still climbing as the automated sequences mature and the customer database gets cleaner. At their average agreement price of $289/year, the improved renewal rate on their existing customer base represents roughly $74K in annual revenue that was previously walking away.
Quote follow-up rate:
22% to 94%. Nearly every quote over $500 now gets at least three follow-up touches. Quote close rate went from 18% to 34%. That's 14 additional closed jobs per month at an average ticket of $1,870, which adds roughly $26K/month in new revenue. Conservatively annualized (accounting for seasonal variation): $44K additional.
Dispatcher phone time:
Down from 7+ hours/day to about 4.5 hours/day. She described it as "the first time in three years I've eaten lunch at my desk without a headset on." That freed time now goes to handling complex customer issues that actually need a human touch.
Total recovered annual revenue:
Approximately $118K ($74K from agreement renewals + $44K from improved quote conversion). The system costs $290/month to run.
The owner's comment at the 90-day review: "We were sitting on this money the whole time. We just didn't have the process to go get it."
Why This Matters for Plumbing Companies
This wasn't a technology problem. This was a process problem that technology fixed. The AI involved was straightforward: personalized message generation based on customer history, smart scheduling of follow-up tasks, and a routing engine that assigns the right follow-up to the right person. No exotic models. No massive infrastructure.
The reason this company was leaving $118K on the table is the same reason most plumbing companies in the $2M-$8M range are leaving money on the table: the critical revenue processes (renewals, follow-ups, retention) are manual, inconsistent, and dependent on one or two people who are already overwhelmed. When we scope projects like this , the pattern is almost always the same. The data exists. The customers exist. The process to connect them just doesn't.
Plumbing industry statistics show that residential plumbing profit margins average 10-25%, and the difference between the bottom and top of that range almost always comes down to operational efficiency, not pricing. This company didn't raise prices. They just stopped losing the customers they'd already won.
We've seen the same pattern in property management (where a 55-person company recovered $127K through lease renewal automation) and staffing agencies (where response time improvements drove $142K in new placement revenue). The industries look different. The underlying problem is the same: revenue walking out the door because nobody has time to follow up.
The Takeaway
If you run a plumbing company and your service agreement renewal rate is below 70%, you're probably leaving five to six figures of annual revenue on the table. If your quote follow-up rate is below 50%, you're definitely leaving money on the table. You don't need a full digital transformation. You need someone to look at your renewal process, your follow-up process, and your dispatcher's daily workload, and build the connective tissue between them.
The implementation took four weeks . The ROI hit positive in the first month. And the office manager who used to pull names from a binder now pulls up a dashboard that tells her exactly who needs a call today and why.
Dealing with the same problem? Send us a message . We'll look at your numbers and tell you honestly whether there's enough on the table to justify the build. Sometimes the answer is "just set up the module in your existing FSM tool." We'll tell you that too.