17 July 2026 · Airtective Team
Automating HVAC Dispatch and Job Routing
The Call Comes in at 7:40am and Everything After That Is Guesswork
AC's out, it's already 84 degrees inside, the homeowner is annoyed, and whoever picks up the phone has about ninety seconds to work out how urgent this actually is and what kind of job it is, then figure out on the fly which technician should go. Most HVAC shops still do this by feel. A dispatcher (or the owner, or whoever's near the phone) takes the call, scribbles something on a pad or types it into whatever system they've got, and then makes a judgment call about routing based on who they remember is nearby and who they think isn't too busy.
That works fine when call volume is low and the dispatcher has been doing the job for five years. It falls apart the second call volume spikes, the regular dispatcher is out sick, or it's 9pm and there's no dispatcher at all. And in HVAC specifically, this happens constantly, because demand is seasonal and spiky by nature. A heat wave can push call volume up 100 to 200 percent in a single day, sometimes more.
What Actually Breaks When Dispatch Is Manual
The obvious failure is the missed call. Someone calls during a rush, it rings out or goes to a generic voicemail nobody checks until end of day, and that lead just books with whichever competitor answers first. Across the shops we've audited, missed-call rates during peak periods run anywhere from 20 to 30 percent, which is a lot of paid-for leads just evaporating.
The less obvious failure, and honestly the more expensive one, is bad routing on calls that DO get answered. A dispatcher under pressure sends the closest available tech instead of the right one. Residential maintenance guy gets sent to a commercial rooftop unit he's not trained on. A tech who specializes in installs gets pulled onto an emergency repair call because he happened to be free. The job ends up taking twice as long and sometimes needs a second visit. The customer notices, even if they don't say anything.
Then there's the effect on the techs themselves. Ask any HVAC owner about turnover and you'll hear some version of the same story: good technicians leave partly over pay, sure, but a genuinely large chunk of it is frustration with how jobs get assigned, getting routed to jobs outside your skill set, or sent across town for something a closer tech could've handled, while your actual schedule gets blown up by a dispatcher's guess instead of a real system. That kind of friction adds up over months, and it's the kind of thing that pushes people out the door, which is a problem trades already have without a dispatcher's guesswork making it any worse.
Why the Fix Isn't "Hire a Better Dispatcher"
The instinct is to fix this with a person. Hire a dedicated dispatcher, or put real effort into training and a better answering service. All of that helps at the margins, but none of it solves the underlying issue, which is that dispatch decisions depend on information a human has to hold in their head in real time: who's available, where they are, what they're qualified for, how urgent this specific call is. That's a database problem wearing a phone-call costume.
Once you frame it that way, most of dispatch stops being a judgment call and turns into a set of rules that can just be written down. Emergency calls, no heat or no cooling with vulnerable occupants in the house, jump to the front of the queue no matter what, while routine maintenance can wait a day and installs need a specific certification before they get assigned. Zone A techs don't drive out to zone C unless nobody in zone A is free. None of that requires a person to think it through fresh every single time, it just needs the information sitting somewhere structured and a system that checks it automatically before a truck gets sent out.
What the Automated Version Actually Looks Like
Here's the flow we'd build for a shop doing this, using tools that are already boring and proven rather than anything exotic.
Step 1: Intake. The call comes in through Twilio, which can either route it into an IVR that asks a couple of qualifying questions (press 1 for emergency, 2 for scheduled service, etc) or connect to a conversational AI agent that just asks naturally, working out what's going on and where, then whether anyone's actually home right now. For web and text leads, the same qualifying questions get asked over WhatsApp or SMS instead, so the intake logic is identical whether the lead came in by phone or by message.
Step 2: Qualification. Whatever channel it came through, the answers get parsed into a structured record: urgency level, job type (repair, install, maintenance, or inspection), equipment type if known, and address. This is the part people assume needs a human, and it doesn't. A short set of qualifying questions asked consistently, every time, actually beats a rushed human doing it inconsistently.
Step 3: Routing lookup. This record gets checked against a technician roster kept in Google Sheets (or Airtable if a shop prefers it), which lists each tech's zone, certifications, current job load, and on-call status. n8n or Make runs the logic: filter for techs in the right zone who are certified for this job type and not already booked solid, then rank by whoever's closest to free. For most shops this is 4 or 5 conditions chained together, nothing that needs custom code.
Step 4: Assignment and confirmation. The matched tech gets a WhatsApp or SMS message with the job details and a link to accept or decline. If they don't respond in a few minutes, it automatically falls to the next tech on the list. The customer gets a confirmation text with an ETA window, and that same SMS habit carries through after the job's done too, which is what we cover in automating HVAC quote follow-up without it feeling like a robocall. The whole thing, from the call being answered to a technician confirmed and the customer notified, can run in under two minutes without anyone at the office touching it.
Step 5: Logging. Every job gets written back into Google Sheets or into HubSpot if the shop already uses it for the customer side, so there's a running record of who went where and how long it took to assign, plus how often each tech ends up matched to jobs outside their zone or skill set. How that CRM side fits together without ripping out whatever software the shop already runs is covered in the best CRM setup for HVAC companies. Nobody needs to build a dashboard for any of this, it's just sitting in the sheet whenever the owner wants to check who's being over-assigned or which zone keeps running short.
Handling After-Hours Without a Night Dispatcher
This is where the ROI is easiest to see. A no-heat call at 11pm in January is exactly the kind of thing that needs to reach an on-call tech fast, and it's also exactly the kind of call that goes to voicemail in a manual setup because nobody's staffing the phone overnight.
With Twilio handling intake and an on-call rotation stored in the same sheet as daytime scheduling, the after-hours flow doesn't need a separate system. It checks the same roster, just filtered to whoever's on-call that night, and pages them over SMS or WhatsApp the same way a daytime job would go out. If the on-call tech doesn't answer within a set window, it escalates to a backup or, for genuinely urgent stuff, rings the owner's phone directly. There's no answering service fee added on top, and no emergency call quietly dying in a voicemail box either. The on-call tech also isn't getting paged for a routine filter-change request that could've waited until morning, since the system sorted urgent from non-urgent before anything went out, at least most of the time.
Where Owners Push Back on This
This is the one we hear most, and it's usually said by someone picturing the automation trying to make the final call on some genuinely weird edge case, which isn't actually what it's built to do. The system handles the 80 to 90 percent of calls that follow a predictable pattern (routine maintenance, standard repairs, straightforward installs, and basic inspections) and routes them correctly without anyone needing to intervene. The remaining edge cases, the ones that really do need a human's judgment, get flagged and dropped into a queue for the owner or lead dispatcher to handle manually.
That's a much better use of a skilled person's time than having them re-decide routine routing decisions fifty times a day. The automation just takes the repetitive calls off someone's plate so an actual person only gets pulled in when a call genuinely needs a human to think it through.
What This Doesn't Fix
Worth being straight about this. If a shop's real problem is not having enough technicians for the volume of work coming in, no amount of routing logic solves that. Automated dispatch cuts down on wasted time and mismatched jobs. It has zero effect on a shop that simply doesn't have enough techs booked for the work coming in. And if the underlying data (zones, certifications, availability, on-call status) isn't kept up to date, the automation will confidently route jobs based on stale information, which is arguably worse than a human's imperfect but current mental model. So the roster genuinely needs to stay accurate. Realistically that just means someone updating the sheet whenever a tech's zone or certification changes, a small recurring task that still has to actually happen or the whole thing ends up routing on bad information.
Getting This Running
None of the pieces here are exotic. Twilio for calls and SMS, WhatsApp for the channel most customers actually prefer texting on, Google Sheets or HubSpot for the roster and job log, and n8n or Make to tie it together with the qualification and routing logic in between. No custom code needed unless a shop's routing rules turn out to be genuinely unusual, and even then it's a small layer on top rather than a rebuild.
If dispatch at your shop still runs on whoever picks up the phone and whatever they remember about who's free, that's costing you more than it looks like on paper, in missed calls and mis-routed jobs right now, and in techs who eventually get fed up with the guesswork and leave down the line. We'll map out what your call and lead intake actually looks like right now, free of charge, and show you exactly where the automation would slot in. Book a free 60-minute call and we'll go through it together.
Related articles
25 July 2026
Do You Need an AI Agent, or Just Better Automation?
Before signing off on an 'AI agent' project, use this simple test to see if one automation with a single LLM call handles it for a fraction of the cost.
25 July 2026
What Is an "AI Agent," Really?
Every vendor calls their chatbot an AI agent now. Here's the plain definition and the questions that expose which pitches are just relabeled automation.