Sample SOP: Residential HVAC

Same-day service call: first ring to paid invoice

A worked SOP for a 12-person residential HVAC company. It covers one workflow, with the tools a shop this size already runs, and it marks where AI acts alone, where a person decides, and where the two hand off.

BusinessResidential HVAC, 12 people, about $3M revenue
WorkflowSame-day and emergency repair calls, including after hours
Workflow ownerOffice manager
TriggerA customer calls, texts, or submits a request
SystemsHousecall Pro, QuickBooks Online, Google Local Services Ads, Google Business Profile, a business text line
StaffOwner, office manager, 2 CSRs, 8 technicians and installers
ReviewedMonthly, first Monday

The business is a composite. Product names are examples of common tools in this trade, so swap in the ones you use. No affiliation with any vendor named. Dollar limits and time windows are sample numbers, so set your own. The consent section is a starting outline, so have your attorney confirm it for your state.

Roles in a shop this size: the service manager is the lead tech, the on-call lead rotates weekly among 3 other senior techs (the service manager is not in that rotation), and the bookkeeper is outsourced.

Safety triggers (the one list every step uses)

Any of these on a call, text or visit stops the normal flow:

  • A gas smell
  • A carbon monoxide alarm going off
  • Smoke or a burning smell
  • Arcing or crackling from electrical parts, or water touching electrical equipment

The caller is told to leave the home first, without touching light switches or appliances, then call 911 from outside, and the gas utility as well for a gas smell. A person then calls back within 5 minutes. For these calls the on-call lead and the service manager are paged at the same time, so the promise never depends on one phone.

Flooding or an active leak with no electrical contact is an emergency booking. Tell the customer to shut off the water main if it is safe to reach. It is not a 911 call.

Change this list in one place only. Steps 1, 4 and 5 and the diagram point here. Step 5 holds the tech's on-site safety steps.

After-hours routing rule

After hours, anything routed to the CSR or the office manager goes to the on-call lead if it cannot wait, and otherwise to the 7:30 AM queue. This covers requests for a person, customer questions by text, unpaid balances, out-of-zone addresses and commercial equipment.

The workflow at a glance

8 steps, one owner each

The color shows who carries each step today: AI, rule-based automation, a person, or a mix with a handoff.

STEP 1 Capture the request Google Local Services AdsBusiness text lineAI after hours, CSR by day STEP 2 Triage and book Housecall ProUrgency, history, feeAI books, CSR confirms STEP 3 Dispatch Dispatch boardAI proposes the routeDispatcher confirms STEP 4 Customer heads-up Housecall Pro textsOn-my-way text with photoRule-based, no AI STEP 5 Diagnose and quote Housecall Pro price bookGood, better, best optionsTech decides, AI looks up STEP 6 Complete and collect Tap to pay, card on fileAI writes the job summaryTech approves and sends STEP 7 Books and sync QuickBooks OnlineAI flags mismatchesOffice manager clears them STEP 8 Follow-up, reviews Google Business ProfileLink goes to every customerLow scores get a call Safety exit at any step: any trigger on the safety list goes straight to a person and 911 guidance. STEP 1 Capture the request Google Local Services AdsBusiness text line STEP 2 Triage and book Housecall ProUrgency, history, fee STEP 3 Dispatch Dispatch boardAI proposes the route STEP 4 Customer heads-up Housecall Pro textsOn-my-way text with photo STEP 5 Diagnose and quote Housecall Pro price bookGood, better, best options STEP 6 Complete and collect Tap to pay, card on fileAI writes the job summary STEP 7 Books and sync QuickBooks OnlineAI flags mismatches STEP 8 Follow-up, reviews Google Business ProfileLink goes to every customer Safety exit at any step: any triggeron the safety list goes straight to aperson and 911 guidance.
AI carries itAutomation, no AIPerson carries itShared, with a handoff

Where the AI comes from

Most of this SOP runs on software the shop already pays for. Four sources cover it.

SourceWhat it does hereAI or automation
Field service software (Housecall Pro in this example)Reminders, on-my-way and delay texts, review requests, invoices, payment reminders, the QuickBooks syncAutomation, from rules and templates
AI receptionist add-onAnswers calls and texts after hours, runs intake, books into the scheduleAI
AI features in the software, or an AI assistant connected to itUrgency ranking, history lookup, data plate reading, job summaries from voice notes, dispatch suggestions, review reply draftsAI
Built for the shopThe morning exception list, the call-sampling sheet, the plan offer eligibility checkAI or simple rules, depending on the build

What each platform includes changes often and varies by plan. Check your own plan before counting on a feature.

Before and after

7 handoffs today. 4 are removed. 3 stay, each now with a review point. 11 pieces of new work appear.

The 7 handoffs today: caller to CSR notes, notes into the software, dispatcher phoning the tech, tech phoning the customer, tech's notes back to the office, office typing the invoice, office typing the books.

Removed (4) Stay, with a review point (3) New work (11)
  • Re-typing call notes into the software
  • Phoning the customer with an ETA
  • Typing the invoice from the tech's notes
  • Typing invoices into QuickBooks
  • Caller to CSR notes: the record is read back to the caller
  • Dispatcher to tech: the dispatcher confirms the board
  • Tech notes to office: the tech reads and sends the AI summary
  • Morning exception list (15 minutes)
  • 5 sampled AI calls reviewed weekly
  • Monthly update of the limits on this page
  • Low-score call-backs by the office manager
  • On-call approvals and dispatch
  • 7:30 AM review of after-hours dispatches
  • Re-entering paper forms after an outage
  • Keeping opt-in records
  • Payment plan approvals
  • Monthly safety drill call
  • Approving plan offers for the first 30 days

Counts come from mapping this one sample workflow. Some of the new work, such as payment plan approvals, may already happen informally in your shop. Count it anyway. Map your own before quoting a number to anyone.

The steps

1

Capture the request

Who
CSR during business hours. AI phone and text assistant after hours and when both lines are busy.
Tools
Google Local Services AdsBusiness text line (OpenPhone or Podium)Housecall Pro online booking
Procedure
  1. Answer within 3 rings. A missed call gets a text within 1 minute asking what is going on.
  2. The AI says at the start that it is an automated assistant, and offers a person on request. After hours, that person is the on-call lead if the matter cannot wait, and otherwise the 7:30 AM queue.
  3. Collect the name, mobile number, service address, system type (AC, furnace, heat pump), the symptom, and how long it has been happening.
  4. Ask who lives in the home. Infants, elderly residents and anyone on medical equipment raise the urgency.
  5. Ask the safety questions from the safety triggers list on every call.
  6. Read the address and phone number back to the caller.
  7. Create or match the customer record in Housecall Pro before the call ends.
AI does
Answers after hours, asks the same intake questions in the same order, writes the record, and reads the address back to the caller.
Person does
Takes live calls first, handles upset callers, and picks up anything the AI cannot classify.
AI handles it unless
The caller mentions any safety trigger. The AI gives the 911 guidance, then pages the on-call lead and the service manager at the same time. If neither answers within 3 minutes, it phones the owner and keeps trying until a person picks up.

Done when the record holds address, phone, system, symptom and the safety answer.

2

Triage and book

Who
AI books routine and same-day jobs. A person approves emergencies: the CSR by day, the on-call lead after hours.
Tools
Housecall ProPrice book
Procedure
  1. Rank the call. Emergency: no heat or no cooling with a vulnerable resident, or an active leak. Same-day: no heat or cooling otherwise. Routine: tune-ups, noises, thermostats, booked within 5 business days.
  2. Check the record: past jobs, equipment age, warranty, membership plan, any unpaid invoice.
  3. Quote the diagnostic fee from the price book.
  4. Book the window and send a confirmation text with the date, arrival window and fee.
AI does
Ranks urgency from the intake answers, pulls the customer and equipment history, proposes the slot, and books it when it is open.
Person does
Confirms every emergency booking.
AI handles it unless
The customer has an unpaid balance, the address is outside the service zone, the equipment is commercial, or the job is a warranty callback inside 30 days. Those go to the office manager.
After hours
The AI books the emergency and pages the on-call tech and the on-call lead at the same time, by call and text. The on-call tech heads out on the page and does not wait for approval. If the tech does not acknowledge the page in 5 minutes, the on-call lead assigns the next senior tech. The on-call lead confirms the job in the app. If the lead has not answered in 5 minutes, the page goes to the service manager, and 5 minutes after that to the owner. Once on the road, the tech taps "on my way," which sends the automated ETA text.

Done when a job exists with job type, window and fee, and the confirmation text has gone out.

3

Dispatch

Who
Office manager acts as dispatcher by day. The on-call lead dispatches after hours.
Tools
Housecall Pro dispatch board
Procedure
  1. Open the board at 7:30 AM and again after every emergency booking.
  2. Match each job to a tech by certification (refrigerant, gas, heat pump), location and remaining capacity.
  3. Put emergencies ahead of scheduled work and tell the displaced customers by text.
AI does
Proposes the assignment and drive order, and flags overlapping windows. The 20-minute late alert comes from the step 4 automation.
Person does
Accepts or changes every proposal. The board is not final until the dispatcher says so.
AI handles it unless
The job is an emergency or a warranty callback. By day, the dispatcher assigns those by hand, and a callback goes back to the tech who did the original job when possible. After hours, the on-call path below applies.
After hours
The on-call lead confirms the on-call tech in the app, or reassigns the job if another tech is closer. The office manager reviews every after-hours dispatch at 7:30 AM.

Done when every job today has a tech and a window, and no tech has overlapping windows.

4

Customer heads-up

Who
Automated, on a schedule and from the tech's app.
Tools
Housecall Pro customer notifications
Procedure
  1. The night before a scheduled job, the customer gets a reminder with the arrival window.
  2. When the tech taps "on my way," the customer gets a text with the tech's first name, photo and live ETA.
  3. If the tech runs more than 20 minutes late, the customer gets a delay text and the dispatcher sees an alert.
Automation does
Sends the reminder, on-my-way and delay texts from templates. No AI is involved in sending them.
AI does
Sorts customer replies into questions and confirmations.
Person does
CSR answers replies that contain a question. After hours, the after-hours routing rule applies.
AI handles it unless
The reply contains a complaint, a cancellation, or any safety trigger. It goes to the CSR at once, and a safety trigger follows the step 1 path.

Done when the on-my-way text is sent and the arrival time is logged.

5

Diagnose and quote

Who
Technician. The customer approves.
Tools
Housecall Pro mobile appPrice book with good, better, best options
Procedure
  1. Check for the safety triggers before touching the equipment.
  2. Photograph the data plate and the failed part.
  3. Record a short voice note on what was found.
  4. Pick the repair from the price book and show the customer the options on the tablet.
  5. Get the customer's signature on the option they choose, or log why they declined.
AI does
Reads the data plate photo to fill model, serial and age (the tech confirms them before the warranty lookup), pulls service history and warranty status, drafts the findings from the voice note, and flags a price book item that does not match the part described.
Person does
The tech diagnoses, recommends and sells. AI never sets the diagnosis or the price.
If a safety trigger is found
For a gas smell, do not operate switches, phones or anything electrical near the leak. Get everyone out, shut off the gas at the appliance or meter if it is safe to reach, and call the gas utility from outside. For a carbon monoxide reading, get everyone out, ventilate, and shut the appliance down. For an electrical hazard, kill power at the breaker. Then red-tag the unit, photograph it, and notify the service manager before leaving. Nobody restarts the unit until the service manager clears it. If the customer refuses the red tag, the tech explains the hazard, gets a signed refusal, and attaches the signature and photos to the record. For a gas leak or a carbon monoxide reading, the tech also calls the gas utility, which can shut off or lock the meter, following the utility's rules and local code.
The tech decides alone unless
The quote is above $1,500, the customer asks about replacing the system, or the tech wants to discount more than 10%. The service manager approves by text with photos, usually within 15 minutes. With no reply in 15 minutes, the request goes to the owner. The tech does not start the work until someone approves. With no approval in 30 minutes on a routine job, the tech books a return visit and leaves. On an emergency job, the tech makes the system safe and does a temporary repair within their own limit before leaving, and the on-call lead is told.

Done when there is a signed approval, or a logged decline with the reason.

6

Complete the work and collect payment

Who
Technician. AI drafts the paperwork.
Tools
Housecall Pro invoicingCard reader or card on fileText-to-pay link
Procedure
  1. Finish the repair, then take before and after photos.
  2. Add the parts used to the job.
  3. Read the AI-drafted job summary, fix anything wrong, and send it to the customer.
  4. Collect payment on site by tap to pay, card on file, or a text-to-pay link.
  5. If payment is not collected, leave the invoice open. Automatic reminders go out for 30 days, then the invoice goes to the office manager for collection.
AI does
Turns the voice note into a plain-English summary for the customer and a shorter internal note, and builds the invoice from the approved option and the parts list.
Person does
The tech reads the summary before it goes out. The office manager approves payment plans up to $2,000. The owner approves larger ones.
Stop and escalate when
The customer disputes a charge, asks for a refund, or reports damage from the visit. No automatic reply is sent. The office manager gathers the facts the same day and settles disputes and refunds up to $500. Above $500, or for any damage claim, the owner decides and is told within 1 hour.

Done when the invoice is paid or an approved payment plan is noted, photos are attached, and the job is closed.

7

Books and sync

Who
Office manager daily. Bookkeeper monthly.
Tools
Housecall Pro to QuickBooks Online sync
Procedure
  1. Invoices and payments sync to QuickBooks overnight. This is a built-in integration with no AI in it.
  2. By 8 AM the office manager receives one exception list.
  3. The office manager clears the list in about 15 minutes, giving each open item an owner and a date.
  4. The bookkeeper reconciles the month against the bank and card processor.
AI does
Builds the exception list: payments that differ from the invoice, closed jobs with no parts cost, closed jobs with no photos, and duplicate customer records.
Person does
Fixes each item. AI does not edit financial records.
Escalate to the owner when
The same exception shows up on 3 jobs in a week, or a payment mismatch is above $500.

Done when the list is empty or every item has an owner and a date.

8

Follow-up and reviews

Who
Automated request. Office manager takes the low scores.
Tools
Housecall Pro review requestsGoogle Business Profile
Procedure
  1. 24 hours after the job, every customer gets the same text. It asks for a private 1 to 5 rating and includes the Google review link.
  2. A rating of 1, 2 or 3 also goes to the office manager, who calls within one business day and logs the call. The owner sees the week's low scores every Monday. The call fixes the problem. It never asks the customer to change or remove a review, and nothing is offered in exchange for one.
  3. New Google reviews get a reply within 2 business days.
  4. Customers whose system is 5 or more years old, who are not already members and who opted in to marketing texts, get the maintenance plan offer.
AI does
Drafts review replies and the maintenance plan offer, after checking membership status. Sending the requests and routing the scores is rule-based automation.
Person does
The office manager posts every review reply. For the first 30 days, the office manager also approves each plan offer before it goes out.
Stop and escalate when
A message mentions a lawyer, an injury or property damage. It goes to the owner immediately and gets no automatic reply.
Why everyone gets the link
Google's policy against selectively soliciting positive reviews, and the FTC's guidance to businesses, both rule out sending the link only to customers expected to rate high. The score routes the follow-up call. It never decides who is asked.

Done when the request is sent, every low score has a logged call, and eligible customers have the plan offer.

When the system is down

  • The office manager, or the on-call lead after hours, declares the outage and tells the owner.
  • Calls forward to the CSR's cell. If the outage runs after hours, they forward to the on-call lead.
  • Intake runs on a paper form with the same fields as step 1, including the safety questions.
  • The on-call lead dispatches by phone and text.
  • Within 1 hour of the system coming back, the CSR enters every paper form and the office manager checks for duplicates.
  • The AI identifies itself as an automated assistant at the start of every call and text, and hands off to a person on request. After hours, the after-hours routing rule decides who that is.
  • Call recording follows your state's consent law. Some states need every party's consent, so the greeting says the call may be recorded.
  • Customers agree to service texts (confirmations, ETAs, receipts) when they book. When the AI books by phone, it reads the consent line aloud, the caller confirms, and the AI logs the confirmation to the customer record. Marketing texts, including the maintenance plan offer, go only to customers who gave written opt-in, and every text honors a stop request.
  • Outbound calls to customers stay with a person by default. Under the FCC's 2024 ruling, an AI-generated voice counts as an artificial voice under the TCPA, so an AI placing calls to customers needs the same consent as a prerecorded call.
  • Keep the opt-in record with the customer file in Housecall Pro.

This is an outline of the questions to settle, not legal advice. Have your attorney confirm it for your state before turning on the AI assistant.

Who owns what

R is responsible for doing it, A is accountable for the result, C is consulted, I is informed.

StepRACI
1 CaptureCSR, AI after hoursOffice managerOn-call lead, service managerOwner
2 Triage and bookAI, CSR (on-call lead after hours)Office managerService managerTechnicians
3 DispatchOffice manager, on-call lead after hoursOffice managerService managerTechnicians, CSR
4 Heads-upAutomation, AI for repliesOffice managerCSROn-call lead after hours
5 Diagnose and quoteTechnicianService managerOwner (replacements, discounts)Office manager
6 Complete and collectTechnicianOffice managerOwner (disputes over $500, plans over $2,000)Bookkeeper
7 Books and syncOffice managerOwnerBookkeeperService manager
8 Follow-up and reviewsAutomation, office managerOffice managerCSROwner, technicians

Only the office manager changes AI settings, and every change gets a dated line in the change log. The owner owns the dollar limits, the escalation timeouts, disputes over $500, and anything involving a lawyer or an injury. The owner is the last person paged, never the first. The service manager owns the safety list. The on-call lead owns after-hours approvals. Dispatcher means the office manager by day and the on-call lead after hours.

Live emergency calls and upset callers stay with the CSRs. New hires learn the judgment calls from those, so the AI takes the routine volume and leaves them the hard cases they need to hear.

What to measure

MeasureBaselineStarting targetOwnerHow measured
Safety trigger to a person on the phoneRun a drill call in week 1Under 5 minutes, 100% of casesService managerPage log timestamps, plus a monthly drill call
After-hours emergency page to a tech on the roadRun a drill call in week 1Under 10 minutesService managerPage log and Housecall Pro job timestamps
Calls answered or texted back inside 1 minuteRecord for 2 weeks before go-live95%Office managerPhone system report
Jobs with a complete record at bookingRecord for 2 weeks before go-live98%Office managerWeekly check of 20 jobs
Job closed to invoice paidRecord for 2 weeks before go-liveSame day for 80% of jobsOffice managerHousecall Pro report
Exceptions on the morning listCount during the first 2 weeksUnder 5 a day, trending downOffice managerDaily count
Sampled AI calls that needed a correctionFirst 20 sampled callsUnder 1 in 10Service manager5 calls reviewed each week
Replies posted inside 2 business daysCurrent Google Business Profile history100%Office managerGoogle Business Profile

Hours saved is a weak measure here. Count the handoffs removed and the new work added, because the second number is the one people forget.

Workflow snapshot

Workflow
Same-day service call, first ring to paid invoice
Stuck point
Call details are captured once, then re-keyed by hand at several later handoffs
What AI handles
Intake, urgency ranking, history lookup, summaries, exception spotting
What stays human
Diagnosis, emergencies, quotes above $1,500, refunds, disputes, payment plans
Who was missing
Before this SOP, nobody owned what the after-hours assistant says to a caller or who answers when it pages
First change to test
Connect the phone line to the customer record, then turn on after-hours booking with the on-call path in place

Change log

DateChangeVersionChanged by
2026-10-29First releaseSample v1.0Office manager
2026-10-29Added on-site safety steps, after-hours routing rule, simultaneous safety paging, two safety metricsSample v1.1Office manager
2026-10-29Separated AI from automation, moved approvals off the owner, added the AI layer, red-tag refusals, approval and collection timeoutsSample v1.2Office manager
2026-10-29Emergency rule for stalled approvals, gas utility call on red-tag refusals, on-call tech timeout, automated after-hours ETASample v1.3Office manager

Get the blank SOP template

The same structure as this page, empty and ready for your own workflow. Steps, the unless rules, after hours, owners and metrics.

Get the blank SOP template

Want this mapped for your business?

The AI Readiness Audit maps the workflows that cost you the most time, and the process maps are yours to keep. Fixed price.