After-Hours Triage for HVAC Companies: The Midnight Sort

The HVAC-tuned after-hours system: triage scripts that sort "dispatch now" from "safe until morning," the on-call rules that protect your techs, and the morning queue that converts overnight callers.

System 6 from the Leveraged Owner Starter Pack

11:40pm, January. The after-hours line rings: no heat, 58 degrees in the house, elderly homeowner. Your on-call tech rolls out of bed, drives 30 minutes, and finds... a thermostat set to the wrong mode. Meanwhile the 1am call — the one you didn't take because the tech was already out — was a failed heat exchanger with a family waking up to a cold house. After-hours HVAC isn't a coverage problem. It's a triage problem: knowing which midnight call is real before anyone puts on boots.

This is the HVAC layer of the after-hours system — the general triage framework is After-Hours Lead Capture: Stop Losing Night and Weekend Jobs, and the missed-call foundation is the complete missed-call text-back guide (Pillar A: Capture Every Lead). HVAC's twist: almost every after-hours call feels like an emergency to the caller, but only a fraction need a midnight dispatch — and the wrong sort burns out your on-call tech in one winter.

The two-bucket sort: dispatch now vs. safe until morning

Every after-hours HVAC call goes into one of two buckets. The triage text collects the sorting data before a human is involved:

Hi, this is [Business Name] — sorry we missed you, we're closed right now. To get you the right help: 1) Is your system blowing NO air, or just not heating/cooling well? 2) Is anyone elderly, an infant, or with medical needs in the home? 3) What's the temperature inside right now? Reply here — our on-call tech reviews every message. Reply STOP to opt out.

The three answers draw the line:

The "safe until morning" script (the one that saves your tech)

This is the highest-leverage text in the system. It has to do something hard: tell a worried customer to wait until morning without making them feel dismissed:

Thanks [First Name] — based on what you described, you're safe until morning: [one-line reason, e.g. "your system is still producing heat, just not keeping up"]. Here's what to do tonight: [1–2 specific steps, e.g. "set the thermostat to 68 and close off unused rooms"]. You're first on our schedule — we'll call you between 7–8am to get a tech out. If anything changes (no air at all, strange smells, CO detector goes off), reply URGENT and we'll dispatch immediately. — [Your Name], [Business Name]

Why it works: it gives a reason (not just "wait"), it gives tonight's instructions (agency beats anxiety), it gives a specific callback time (7–8am is a promise; "in the morning" is a hope), and it leaves the emergency door open (reply URGENT). The customer goes to bed feeling handled — and your tech stays in bed, period.

The on-call rules that prevent burnout

Triage is only half the system. The other half is protecting the humans:

The morning callback queue

Every "safe until morning" caller lands in a queue that dispatch works first thing — in triage order, not arrival order. The queue text, sent at 7am:

Good morning [First Name], this is [Your Name] with [Business Name] — following up on last night's [issue]. Are you still having the problem this morning? Reply YES and we'll get you on today's schedule. — [Your Name]

The overnight conversion rate on this queue is the metric to watch: it should be high, because these callers already chose you at midnight. If it's low, your triage text is leaking them to competitors — tighten the morning promise.

Worked example: the January night

Example: 11:40pm — no heat, 58°F inside, 78-year-old homeowner. Triage text fires. Replies: "no air at all / yes, I'm 78 / 58 degrees." That's dispatch-now on all three answers. On-call tech is texted (not called — the triage reply is the briefing), calls the customer at 11:52, dispatches with the emergency fee stated. Meanwhile the 12:15am call — "furnace making a rattling noise but house is 70" — sorts to safe-until-morning automatically, gets the tonight-instructions text, lands in the 7am queue. One tech, two calls, one dispatch, zero burnout. Without triage, both become midnight wake-ups and the tech quits by March.

The numbers that justify it (attributed honestly)

27%

of inbound calls to home-service businesses go unanswered (Invoca call-analytics research) — and after-hours, "unanswered" means the caller hires whoever picks up.

85%

of callers who reach voicemail never call back — 67% dial a competitor immediately (commonly cited in sales literature — primary source unverified — directionally useful, measure your own). The triage text is the anti-voicemail.

Compliance note

After-hours triage texts are transactional (responding to someone who just called you) — the lowest-risk texting there is. You still need 10DLC business-texting registration (application-to-person 10-digit long code — the carrier system for business texting) before sending: 1–7 day approval, ~$15–$20 in fees. Include opt-out language. TCPA (federal telemarketing law) quiet hours (no marketing texts before 8am or after 9pm recipient local time) govern promotional texts; triage replies to inbound callers are transactional — but keep them responsive-only, never promotional. Note: the emergency fee must be stated before dispatch — quoting it in the triage text protects you from the "you never told me" dispute. General information, not legal advice.

Related guides in this series

The foundation is the complete missed-call text-back guide (Pillar A) and the framework in After-Hours Lead Capture: Stop Losing Night and Weekend Jobs. For the on-call rotation schedules that staff this system, see the on-call rotation guide in this series.

Get System 1 free: the complete Missed-Call Safety Net

The full setup guide, all four copy-paste scripts (including the owner notification), the "Your Numbers" missed-call worksheet, and the step-by-step setup guide — free, no catch. Fix your missed calls this week.

Want all 8 systems + 6 bonus modules in copy-paste form? The AI Automation Starter Pack is $27: https://leveragedowner.com/starter-pack/

The done-for-you version

This post is System 6 from the Leveraged Owner Starter Pack — the done-for-you version with the full after-hours triage setup guide, every script (including all trade-specific variants), the on-call rotation templates, the morning queue system, and screen-by-screen setup instructions for all 8 systems.

Stats sourced as labeled: Invoca call-analytics research (27% of inbound calls unanswered); commonly cited in sales literature — primary source unverified (85% of voicemail callers never call back, 67% dial a competitor — directionally useful, measure your own).

Keep building your systems

Related guides from the Leveraged Owner blog: