If you run a plumbing, HVAC, electrical, or roofing business doing $1M to $25M a year, you already know the number that keeps your dispatcher up at night. Somewhere between 15% and 20% of your booked service appointments will not happen. The customer forgot. They found someone else. They didn’t confirm and your tech showed up to an empty driveway. That’s a truck, a tech, and a half-day slot burned for nothing.
Do the math on your own schedule. If you’re running 40 service appointments a week and 17% no-show, that’s close to 7 wasted slots every single week. At an average job value of $400 to $1,800 depending on your trade, that adds up fast. Across a year, most trades businesses in this size range are leaking somewhere in the $50,000 to $200,000 range just from no-shows and the scramble to backfill them. That’s not a rounding error. That’s a technician’s salary, walking out the door one missed appointment at a time.
This guide walks through exactly what’s happening in your dispatch process right now, why the usual fixes don’t hold, and what a real AI-driven confirmation system looks like when it’s built specifically for a trades business.
Where the no-shows actually come from
Ask most owners why customers no-show and you’ll get a shrug. “People are busy.” True, but it’s rarely the whole story. When we look at the appointment flow in a typical trades business, three gaps show up over and over.
The first gap is the confirmation itself, or the lack of one. A lot of shops still rely on a single reminder call or text sent 24 hours out, sent from whatever system happens to be free. If the customer doesn’t pick up, that’s it. Nobody circles back. There’s no second attempt, no text follow-up, nothing.
The second gap is timing. A reminder sent the night before a job doesn’t give the customer any real room to reschedule if their plans changed. So instead of calling to move the appointment, they just don’t show up and let you find out the hard way, usually when your tech is already in the truck.
The third gap is the phone itself. Your admin or dispatcher is juggling incoming emergency calls, chasing down parts, and trying to route three crews across town. Outbound confirmation calls get pushed to “whenever there’s a gap,” and there usually isn’t one. We regularly see owners or office managers losing 20-plus hours a week just to phone-based dispatch and admin work, which leaves almost no bandwidth for proactive confirmation.
Put those three things together and you get a no-show rate that quietly sits at 15% to 20%, year after year, treated as a cost of doing business instead of a fixable process problem.
What a real confirmation sequence looks like
The fix isn’t “text people more often.” It’s building a sequence that actually adapts to how the customer responds, and does the rescheduling work automatically instead of just flagging a no-show after the fact.
Here’s what that looks like in practice, end to end, for a job booked five days out.
Day of booking. The moment the appointment is set, whether it came through a call, a web form, or a repeat customer, the system sends an immediate confirmation with the date, time window, and job type. No waiting for a human to type it up.
Two days before. A text goes out asking for a simple confirm or reschedule reply. This isn’t a generic blast. It’s tied to the actual job on the actual calendar. If the customer replies “need to move it,” the system offers the next two or three available slots based on real crew capacity, not a static calendar link that ignores who’s already booked.
Day before, morning. A second check-in, timed for when people are actually reading texts, not at 6am or during dinner. If there’s still no response, this is where a live two-way text conversation kicks in. It’s not a bot reading a script. It’s a system that can understand “running late that day, can we push to Thursday” and act on it directly, no phone tag required.
Day of, two hours out. A final heads-up with the tech’s name and estimated arrival window. This one alone does a lot of the heavy lifting. Customers who get a specific name and a tight window show up, or reply to push back the time, far more reliably than customers who got one text three days ago and nothing since.
No response at all. If a customer goes silent through the entire sequence, the system flags the slot as high-risk 24 hours out, giving your dispatcher time to either call directly or offer the slot to someone on a waitlist instead of finding out at the doorstep.
This is the job of our 24/7 Dispatch Voice Agent, paired with the two-way texting layer that runs the confirmation sequence above. The voice agent answers every inbound call your office can’t get to, qualifies whether it’s an emergency or a scheduled job, books the slot directly into your dispatch tool, and kicks off the same confirmation sequence the moment the booking is made. No manual entry, no delay between “call answered” and “reminder sequence started.”
We also run an Estimate Follow-Up Agent alongside this, because the two problems are related more than people realize. A customer who never got followed up on their estimate is a customer who’s less committed to the appointment when it finally gets booked. That agent tracks every estimate that goes out and follows up on day 2, day 5, and day 14 with messaging tuned to the trade and the job size, so by the time a job is actually scheduled, the customer has already had three or four touches instead of one silent PDF sitting in their inbox. Follow-up sequences like this typically convert 15% to 25% of otherwise stale estimates, which means fewer half-committed bookings turning into no-shows down the line.
The rescheduling piece nobody builds properly
Most reminder tools stop at “did they confirm, yes or no.” The real value is in what happens next. When a customer says they need to move the appointment, the system should immediately offer real slots pulled from actual crew availability, not a generic booking widget that doesn’t know your electrician is already booked solid on Thursday.
This matters more in trades than almost any other service business, because your capacity is physical. You’ve got a fixed number of trucks and a fixed number of hands. A rescheduling flow that doesn’t account for that just moves the no-show problem to a different day. Done right, the same system that sends the confirmation also handles the reschedule, fills the newly opened slot from a waitlist if one exists, and updates your dispatch board without anyone on your team touching a keyboard.
This is also where the Review and Reactivation Agent earns its keep, even though it operates after the job is done. It asks every happy customer for a review the day after the job wraps, and it reactivates customers at the right service interval, whether that’s an HVAC tune-up at six months or a plumbing inspection at twelve. Customers who’ve had a smooth, well-communicated experience from booking through completion are dramatically easier to re-book next time, which means fewer no-shows on the back end of your customer lifecycle too.
If you want a simple starting point for the after-hours side of this problem specifically, we put together a practical After-Hours Call Recovery Plan for Trades that walks through how to capture and confirm bookings that come in outside business hours, which is often where the worst no-show rates hide because nobody’s watching the phone at 9pm on a Tuesday.
What this actually costs you if you don’t fix it
Let’s put real numbers against this instead of talking in the abstract. Take a mid-size HVAC or plumbing operation doing $4M a year with 8 trucks running. At even a conservative 15% no-show rate on 50 weekly appointments, that’s roughly 7 to 8 empty slots a week. Assume a modest average ticket of $450 and you’re looking at $3,000 to $3,600 a week in direct lost revenue from empty slots alone, before you even count the dispatcher time spent trying to backfill them or the tech’s wasted drive time.
Annualize that and you land somewhere in the $150,000 to $190,000 range, which lines up with what we typically see across trades businesses of this size, that $50,000 to $200,000 leakage band showing up almost entirely in three places: missed calls that never got a callback, estimates that went cold, and appointments that quietly evaporated because nobody confirmed them properly.
The frustrating part is that none of this requires more staff or more trucks to fix. It requires the confirmation and rescheduling workflow to actually run itself, consistently, on every single booked job, instead of depending on whoever’s free at the front desk that day.
How to see this working in your business
Reading about a confirmation sequence is one thing. Seeing what it looks like against your actual call volume, your actual booking software, and your actual no-show pattern is another. That’s what an Omni Audit is for.
It’s a 60-minute session, no slide deck, no sales pitch dressed up as a “strategy session.” We look at your current dispatch and booking flow, your call logs if you have them, and your estimate follow-up process. You walk away with three concrete things: a breakdown of where your no-shows and missed calls are actually happening, a rough dollar estimate of what that’s costing you annually, and a specific plan for which agents would close the gap first. If you want to see the fuller picture of what’s possible before that call, see Omni for trades businesses lays out how the voice, ops, and follow-up pieces work together.
If you’re already convinced the math makes sense and just want the conversation, Book a 60-min Omni Audit and bring your last three months of booking data if you’ve got it. We’ll do the rest.
A note on rollout
One thing worth saying plainly. You don’t need to automate your entire dispatch operation on day one. Most owners start with the confirmation and rescheduling sequence alone, because it’s the fastest to stand up and the easiest to measure. You’ll know within two to three weeks whether your no-show rate is actually moving, because you’ll be comparing it against your own historical numbers, not a vendor’s promised average.
From there, the estimate follow-up and review agents tend to get added once the dispatch side is proven out, simply because owners want to see one thing work before adding the next. That’s a reasonable way to approach it. We’d rather build you one agent that actually changes your numbers than five that sit half-configured.
If you’re still early in figuring out where automation fits in a trades operation, our guides section has more breakdowns like this one across dispatch, estimating, and reactivation. And if you want to see how other owners in your position have approached the same no-show problem, the insights section has a running set of notes from inside the Omni build process.
Either way, the fastest way to know your real number is to look at your own schedule for the last 90 days. Count the no-shows. Multiply by your average ticket. Then decide if that’s a number worth fixing this quarter or next.
To get a straight answer on that, see Omni for trades businesses or go ahead and book the audit directly. Sixty minutes, three concrete outputs, and you’ll know exactly where the $50,000 to $200,000 is hiding in your own operation.