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 marks the call emergency-service-sensitive and captures the address and HVAC context for urgent team review.
- 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 tags burning-smell or smoke as emergency-service-sensitive without walking the caller through electrical-panel steps.
- AI captures equipment, room, smoke, and callback context for handoff.
- 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 marks the call emergency-service-sensitive, ends commercial intake, and alerts the on-call team with the burning-smell context.
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 captures heat-risk context, medical vulnerability, and callback details for the on-call team without giving field instructions.
- 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 start a field response 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 does not know which alarm it is, the script defaults to emergency-service-sensitive tagging before routine HVAC intake.
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 block emergency-service escalation?
No. The script should avoid second-guessing emergency responders. The AI's job is to capture the HVAC context and send the configured handoff, not to provide field-safety advice.
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.