Skip to content
ALL ARTICLES Answering Service

How to Set Up an On-Call Rotation for a Plumbing or HVAC Crew (Without Burning Out Your Best Tech)

SH

Scott Hartley

· 7 min read

A technician repairing a rooftop HVAC unit

Talk to any second-generation plumbing or HVAC owner and you'll hear the same complaint. The on-call rotation is the single biggest source of senior-tech turnover.

The youngest tech gets stuck with every other Saturday. The best tech burns out and leaves for commercial work that pays more and doesn't ring at 2 AM. The owner ends up taking calls personally for years.

This is a fixable problem. Below is a practical, field-tested template for building an on-call rotation that doesn't destroy morale, doesn't drop calls, and doesn't depend on the owner being the safety net.

Step 1: Decide what "on call" actually means

Before you write a single schedule, get specific about what an on-call shift includes.

  • Hours covered. End of last service call to start of first appointment? Or full 24/7 weekend?
  • Response promises. Phone answered within X minutes? On-site within Y hours?
  • Scope of work. Diagnose-and-stabilize only, or full repair?
  • Dispatch authority. Can the on-call tech accept the job at the agreed price, or does pricing route to the owner?

A common mistake here: owners write a schedule first and try to define the role afterward. Doing it in the wrong order produces ambiguity at 11 PM, which is exactly when you don't want ambiguity.

Step 2: Build the schedule around fairness, not seniority

The fairest rotations share three traits. Equal weeks per quarter, so everyone takes the same number of on-call weeks. A predictable cadence, because once-every-three-weeks beats irregular scheduling, even when irregular looks "fairer" on paper. And a published schedule that goes three months out, because techs plan their lives around their on-call weeks.

For a 4-tech shop, a one-in-four weekly rotation works well. For a 6-tech shop, run two parallel three-week rotations (one for plumbing, one for HVAC) so cross-trained techs aren't on call for both at once.

Step 3: Write the escalation tree

When the on-call phone rings at 11 PM, who picks up? More importantly, what happens if they don't?

A working escalation tree looks like this:

  • Tier 1: Live answering service or dispatcher. Picks up within 3 rings. Captures customer name, address, problem, and urgency. Pages on-call tech.
  • Tier 2: On-call tech. Calls the customer back within 15 minutes. Triages by phone. Goes on-site if needed.
  • Tier 3: Backup tech. If Tier 2 doesn't acknowledge within 20 minutes, the page rolls to a backup. Yes, you need a backup. Phones die. Cars break down. Kids get sick.
  • Tier 4: Owner or senior manager. Last-resort safety net. Should fire less than once a quarter if the rest of the system is healthy.

The single biggest failure mode in shops that don't run a real service desk is a missing Tier 3. Everything depends on one tech answering one phone, and when it fails, the owner ends up in the truck at 1 AM.

Step 4: Triage by phone before you dispatch a truck

Half the calls that come in after hours don't actually need a truck that night. Train your on-call tech to run a fast phone triage:

  • Is anyone in danger? Gas smell, water actively flooding, no heat in winter, no AC during a heat advisory. Roll the truck.
  • Can the customer stabilize? Walk them through shutting off a water main, killing breakers, isolating a leak. Schedule first thing in the morning.
  • Is the customer just anxious? "It's been dripping all day." Schedule for tomorrow. Empathize, don't ridicule.

Good triage cuts after-hours truck rolls by 30% to 50% without losing customers, because customers who get a real human walking them through stabilization at 11 PM are stickier than customers who get a truck.

Step 5: Set the comp model in writing

The fastest way to wreck a rotation is to be vague about money. Pick one of these and document it.

  • Flat on-call stipend. $150 to $300 per week of on-call, paid regardless of calls received. Plus regular hourly for any time on the job.
  • Per-call premium. Time-and-a-half (or double-time) for any work between 6 PM and 7 AM, plus a callout minimum of usually 2 hours.
  • Hybrid. Smaller stipend ($75 to $100 per week) plus per-call premium. Most common in 4 to 10 tech shops.

A few non-negotiables. Pay for the time the tech is available even if no calls come in, because otherwise you're asking them to give up Saturday for free. And pay portal-to-portal on truck rolls, because the math gets ugly otherwise.

Step 6: Decide who answers the 11 PM call

This is where most shops save real money or burn real cash, depending on the choice. The three options:

  1. The owner answers the phone. Cheapest in dollars, most expensive in life-quality and turnover. Works for one-truck shops only.
  2. A dedicated dispatcher. Full-time hire, $50K to $80K salary plus benefits. Hard to justify under 8 trucks.
  3. A live answering service. Pays per call or per minute, scales up and down with seasonality, available 24/7 with no PTO gaps. Most cost-effective for 2 to 8 truck shops.

For shops in the 2 to 8 truck zone, an answering service usually wins on math. The break-even is roughly $1,500 to $2,500 per month, far cheaper than a dispatcher salary and far less destructive than the owner taking every call.

Step 7: Integrate with your dispatch software

Whatever the rotation looks like on paper, it has to live inside the same system the techs already use. The big three for home services are ServiceTitan (robust, works for shops over $1M revenue), Housecall Pro (easier setup, best for 2 to 10 trucks), and Jobber (strong for newer shops with a good mobile experience).

A live answering service should be able to push call notes directly into any of these. If yours can't, you're going to spend half your Monday mornings reconciling.

A sample week from a six-truck shop

Here's a representative week from a Pennsylvania-area plumbing shop running this exact playbook.

  • Mon to Fri days. Office answers. 18% of calls hit the lunch dead-zone, captured by overflow service.
  • Mon to Fri evenings, 5 PM to 8 AM. 22 calls answered by service. 13 triaged and scheduled for the next day. 9 dispatched to on-call tech (2 plumbing emergencies, 7 no-heat or no-water).
  • Saturday. 14 calls, 6 dispatched.
  • Sunday. 9 calls, 3 dispatched.

Total truck rolls outside business hours: 18, down from 31 the year before. Customer satisfaction up. Senior tech turnover: zero in the past 18 months.

Common failure modes (and the fixes)

  • Tier 1 answer time creeps up to 2 or 3 minutes. Enforce a 3-ring SLA in the contract with whoever answers the phone.
  • Same tech ends up with 60% of weekend calls. Rotate by week, not by call. If techs trade, they trade entire weeks, not single days.
  • Calls get logged in two systems and reconciled later. Pick one system of record (your dispatch software) and force everything else to push into it.
  • Owner still ends up answering. Turn off your work phone after 6 PM for a full month. If the system collapses, you'll find out which tier failed and fix it once. If it doesn't, you have your weekends back.

Where to start

If you're building this from scratch, the right sequence is:

  1. Define hours, scope, and response promises in a one-page document.
  2. Write the escalation tree with at least three tiers.
  3. Decide who answers Tier 1. The answer is rarely "you."
  4. Set comp in writing before you publish the schedule.
  5. Run it for one full quarter before you tweak anything except the comp.

Most shops reach a stable rotation in about 60 days. The ones that don't are usually trying to skip step 3.

ACC Solutions has been the Tier 1 dispatcher for plumbing and HVAC shops in the Mid-Atlantic for years. If you'd like to see what a 24/7 home-services answering and dispatch script looks like, start here or get in touch for a walkthrough against your own rotation.

SH

Written by

Scott Hartley

Stay in the loop

New articles, straight to your inbox.

A short, useful email when we publish. No spam, unsubscribe anytime.