The single most important thing an HVAC AI dispatcher does is recognize a safety call before doing anything else. A carbon monoxide alarm call is not "let me check your service history". A gas-smell call is not "what's your address so I can book a Wednesday appointment". These calls have a script, and the first sentence of the script matters.
I've sat in on enough HVAC dispatch audits to know that even good live dispatchers, when tired, will run the routine intake script over a safety call. The AI advantage here is not that it's smarter than a great dispatcher. The advantage is that it doesn't get tired at 4 AM.
Here are the safety triggers that should exist in every HVAC AI dispatcher script, what each one should do, and what the configured handoff to your on-call tech should look like.
Trigger 1: Carbon monoxide alarm sounding
This is the highest-priority intent in any residential HVAC dispatcher. CO is invisible, odorless, and lethal at concentrations the human body can't detect.
Script behavior on detection:
- AI acknowledges the alarm specifically: "If your CO detector is sounding, this is an emergency. I want to walk you through the right steps right now."
- AI instructs: "Please get yourself and everyone in the home outside immediately. Don't worry about turning anything off or grabbing things. Get outside first."
- AI confirms: "Once you're outside, call 911. They will dispatch the fire department to ventilate the home and confirm the source."
- AI offers: "After you've called 911 and you're safely outside, would you like our on-call HVAC tech to come out to inspect the system?"
- If yes: AI captures address, callback number, confirms the caller is outside, and triggers configured handoff to on-call tech with "CO ALARM ACTIVE" tag on the dispatch.
The handoff should be flagged at the highest priority so your on-call tech knows to prioritize this over any other call queued. A CO call needs a same-night response if the fire department clears the home.
Trigger 2: Gas smell at the furnace or heating system
Sulfur or rotten-egg smell. Natural gas itself is odorless; utilities add mercaptan specifically so people smell it. If a caller reports it, the script branches immediately.
Script behavior:
- AI: "If you're smelling gas at your furnace or near your heating equipment, this is a safety issue and I want to give you the right steps right now."
- AI instructs: "Please leave the home and don't use any electrical switches, don't light any flames, and don't use your phone inside the house. Use your phone once you're outside."
- AI confirms: "Once you're outside, call your gas utility's emergency line. They'll dispatch and shut off the gas if needed."
- AI offers: "After the gas company has confirmed it's safe, would you like our on-call tech to come out and inspect the heating equipment?"
- Handoff to on-call tech tagged "GAS SMELL, GAS COMPANY DISPATCHED FIRST".
The order matters. Gas company first, HVAC tech second. The AI should never invite the HVAC tech into a home with an unconfirmed gas leak.
Trigger 3: Burning smell or smoke from the air handler / furnace
Different from gas. Burning electrical or burning plastic at the air handler means an electrical fault, a seized motor, or worse.
Script behavior:
- AI: "If you're smelling something burning at your air handler or seeing any smoke, I need you to turn off the system at the thermostat right now, and also at the breaker if you can do that safely."
- AI walks the caller through: "Go to your electrical panel and look for the breaker labeled HVAC, furnace, or air handler. Flip it to the off position."
- AI confirms: "Is the smell or smoke clearing now that the system is off?"
- If clearing: AI captures intake and books emergency-priority callback.
- If not clearing: AI instructs caller to leave the home and call 911. AI ends the call. AI alerts on-call tech with "ACTIVE BURNING SMELL, 911 CALLED".
Trigger 4: No-heat call with infant, elderly, or medical equipment
A no-heat call in a 25-degree night is uncomfortable. A no-heat call in a 25-degree night with a 3-month-old, an 85-year-old with COPD, or a household running medical equipment (oxygen concentrator, BiPAP, etc.) is a same-night dispatch regardless of what time the call comes in.
Script behavior:
- AI runs standard no-heat intake.
- AI asks: "Are there any infants, elderly residents, or anyone with medical needs in the home tonight?"
- If yes: AI escalates to same-night dispatch tier.
- If no: AI offers next-morning slot at first-priority.
- Handoff to on-call tech with the medical-vulnerability tag on the dispatch.
The medical-vulnerability question is the single highest-impact addition to a no-heat script. Most generic answering services don't ask it. Most contractor-specific AI dispatchers should.
Trigger 5: No-cool call with medical condition in extreme heat
The mirror of the no-heat-medical call. Heat-stroke risk for elderly, heart-condition residents, and infants makes a no-cool call in a 100-degree heat wave a same-day priority.
Script behavior:
- AI runs standard no-cool intake.
- AI asks about indoor temperature: "What's it reading in the house right now?"
- AI asks about residents at risk: "Anyone in the home with heart or breathing conditions, elderly residents, or young children?"
- If indoor temp >85 and at-risk resident present: AI escalates to same-day priority.
- AI gives caller bridge advice: "While we get a tech out, the safest plan is to move to your basement if you have one, run any fans you have, close blinds, and drink water. If anyone starts feeling lightheaded, call 911."
- Handoff to on-call tech with the heat-vulnerability tag.
Trigger 6: Power outage with medical equipment running on backup
This is the call that gets misrouted most often by generic dispatchers because it sounds like a utility call. The caller is on an oxygen concentrator running on battery backup. They're calling HVAC because the AC is also out and they want to know what to do.
Script behavior:
- AI acknowledges: "I hear you've got a power outage and you're running medical equipment on backup. Let me help with both."
- AI confirms: "Have you called your utility company to report the outage?"
- AI captures: backup duration estimate, equipment type, fallback plan if backup runs out.
- AI offers: "If your power comes back, we can have a tech do a system check to make sure the HVAC restarts properly. Would that be helpful?"
- AI does NOT dispatch a tech during the outage (no work to do without power). AI logs the call for callback once power restores.
This branch is about respecting the caller's situation, not racing to dispatch. The wrong AI response here is "we'll send someone right out" when there's no useful HVAC work until power returns.
The configured handoff: what good looks like
Every safety trigger should end in a confirmed-receipt handoff. The pattern is:
- AI finishes the call with the customer.
- AI dials the on-call tech.
- On-call tech presses 1 to accept the call assignment.
- AI logs the acceptance, time-stamps it, sends the transcript and intake summary to the tech's phone.
- If no acceptance in 30 seconds, AI rolls to secondary on-call.
- If no secondary acceptance in 60 seconds, AI alerts the owner directly.
This three-tier failover is what makes the safety branch real. A "fire and forget" SMS to the on-call number is not a handoff, it's a hope.
How to validate this on a demo call
Ask the vendor to do three things, live, on your demo:
- Walk you through the CO-alarm branch using their actual script. Word-for-word.
- Place a configured emergency test call to a number you give them, and show you that the handoff confirms receipt.
- Show you the audit-trail entry for that test call in their dashboard.
If any of those three are "we'll set that up during onboarding", you're being sold a script that hasn't been built yet.
For more on HVAC-specific deployment, see the HVAC answering service resource, the AI dispatcher for HVAC after-hours LP, and the emergency call routing setup guide.
FAQs
Can the AI dispatcher actually tell the difference between a CO alarm and a smoke alarm?
It can, because the safety branch fires off keywords the caller says: "CO detector", "carbon monoxide", "the alarm is beeping". The same branch usually catches smoke alarm too, and the script asks a clarifying question early. If the caller doesn't know which alarm it is, the script defaults to the more conservative handling: evacuate, call 911.
What if my on-call tech doesn't accept the handoff?
The fallback should be a configured secondary on-call, then the owner, then an overflow live-answering service if you have one. Build the chain before you go live. The single biggest cause of bad safety-call handling is a primary on-call tech who's asleep and a handoff path that doesn't roll.
Should the AI ever tell a customer not to call 911?
No. The script should always default to "call 911 if you're in any doubt about your safety". The AI's job is to capture the HVAC piece, not to second-guess emergency services.
How do I audit the safety branches once we're live?
Listen to every emergency-tagged call in the first two weeks. After that, audit a sample weekly. The safety branches are where script quality decays first when no one is watching.