← All case studies

How a 14-Truck HVAC Company Stopped Losing After-Hours Calls to Voicemail

A regional HVAC and plumbing company was missing roughly a third of its after-hours calls. An AI voice agent now answers, qualifies, and books every one of them.

Challenge
Every call that came in after 6pm or on a weekend went to voicemail. Emergency plumbing and HVAC customers rarely leave one, they just call the next company on Google. The owner estimated they were losing 25 to 30 calls a month this way, worth an average of $340 per booked job.
Solution
We built a voice AI agent that answers every inbound call, asks the standard triage questions a dispatcher would ask, quotes the after-hours service fee, and books the job directly into the scheduling system. True emergencies get routed to an on-call technician immediately. Everything else gets a next-morning slot.
Result
24 additional jobs booked per month, worth roughly $58,000 in monthly revenue

The company had five years of call logs and a hunch. What they didn’t have was proof of how much after-hours business they were actually losing until we pulled the numbers.

The gap in the data

Their phone system logged every missed call but nobody was reviewing it. Once we cross-referenced missed after-hours calls against the ZIP codes of existing customers, the pattern was clear: most of these were not wrong numbers or telemarketers, they were homeowners with an actual plumbing or HVAC problem who called once, got voicemail, and moved on.

What we built

The voice agent runs on the company’s existing phone number, so nothing changed from the customer’s side. It asks the same handful of questions a dispatcher already asks: what’s the issue, is anything actively flooding or completely non-functional, and what’s the address. Genuine emergencies get transferred live to whichever technician is on call that week. Everything else gets offered the next available morning slot and booked straight into the scheduling software the office already uses.

Getting the tone right

The first version sounded too much like a call center script, and a few early callers hung up. We rewrote the prompts around how the company’s actual dispatchers talk on a real call: shorter sentences, less scripted, more “OK, let’s get someone out there” than “I understand your concern.” That single change materially improved how many callers stayed on the line to complete a booking.

Where it landed

Three months after launch, the company was booking 24 more jobs a month than their trailing 12-month after-hours average, without hiring a night dispatcher. The retainer now covers monthly tuning of the triage script as they add new service lines.

FAQ
Does the AI agent replace the office staff who answer calls during the day?

No. It only picks up calls outside business hours and any overflow during peak call volume. Daytime calls still go to the front desk, which is where most customers still prefer a human.

How does it know the difference between an emergency and something that can wait?

We mapped the same triage questions the company's dispatchers already used, things like whether water is actively leaking or a system is fully down versus just running poorly, and built the routing logic around those answers.

What happens if the caller wants to speak to a real person?

They can ask at any point and the call transfers to the on-call technician's cell phone. That option is offered up front on every call, not hidden behind a menu.

Want a result like this one?
We map your workflows before we touch a single tool.
Start a project