Agency Ops10 min read

Home Services CRM: How HVAC, Roofing and Plumbing Businesses Stop Losing Missed Calls

Every missed call on a jobsite is a job booked by a competitor. The GoHighLevel booking page, missed-call text-back and estimate follow-up that turns calls you already get into jobs.

Farhad Hossain, founder of GHL Spark
Farhad Hossain · Founder & Certified GoHighLevel Expert
Updated October 13, 2026

In short

How a home services CRM in GoHighLevel books more HVAC, roofing and plumbing jobs by texting back missed calls, capturing form leads and chasing every unsold estimate.

In home services, the busiest day of the year is also the day you lose the most work. During the first heat wave of July I watched an HVAC company's phone ring 60 times in a day while its techs were stuck in attics and crawlspaces. About 20 of those calls went to voicemail, and most of those callers booked someone else.

A home services CRM should turn those missed calls into booked jobs.

The objective is to book more HVAC, roofing and plumbing jobs from the calls and leads already coming in, the ones you already pay for through truck wraps, yard signs, Google, ads and referrals.

The bottleneck is what happens next. The phone rings while your tech is in a crawlspace or your crew is on a roof. It goes to voicemail. The homeowner does not leave a message. They call the next company on Google, and that company books the job. Meanwhile, estimates you did send sit unanswered, because nobody has time to chase them between jobs.

A home services CRM should fix both leaks without hiring a receptionist. Below is how to build one in GoHighLevel. You will build the funnel that captures calls and requests, the automation that responds in seconds, and the follow-up that closes estimates and brings customers back.

Why is the missed call the single biggest revenue leak in home services?

Because home services buyers are usually in a hurry. The AC is blowing warm, the water heater is leaking or hail just hit the roof. They are not researching. They are calling down a list until someone responds.

That makes a missed call different from a missed email. The caller rarely waits for a callback. By the time you ring them back at 5pm, the job is booked with someone else.

And the calls are already paid for. Every missed call is marketing spend that produced a customer, handed to a competitor. Fixing the missed call is usually the fastest way a contractor can grow without spending another dollar on ads.

Why can a home services CRM like GoHighLevel catch the calls you miss?

Here is the nuts and bolts of it.

In GoHighLevel, the phone line, the texting, the calendar and the job pipeline are one system. They share one contact record, the single page that holds everything about one customer. So a missed call can start the rescue on its own:

  • Trigger: a call to your business number ends with no answer.
  • Action: within seconds, the caller gets a text from your business: "Sorry we missed you, we're on a job. What's going on?" Your phone gets an alert with their reply.
  • Result: the homeowner is in a text conversation with you before they dial the next company.

With a normal phone line, a missed call is just a number in a call log. Nobody sees it until the end of the day, and by then the job is gone.

Part 1: The funnel — capture every call and request

Step 1: Route every public number through a tracked line

In Settings → Phone Numbers, set up a business number in GoHighLevel, then forward your existing number to it or port it across. Use it on the website, Google Business Profile, trucks, signs and ads.

If the owner's personal mobile number is printed on the trucks, those calls are invisible: no text-back, no tracking and no record. Every public number should route through the system.

Step 2: Build an estimate and booking request page

In Sites → Funnels, build a short page:

  1. A headline for the service, such as "Same-day AC repair in Dayton".
  2. A form asking for name, phone, address and "What's going on?" in the customer's own words.
  3. A booking calendar from Calendars for estimates or diagnostic visits, with travel buffers between appointments.
  4. Reviews and a photo of the real team.

The "What's going on?" field is worth more to a dispatcher than any dropdown, and it makes your first reply specific. Capture the address early, so leads outside your service area can be handled differently.

Step 3: Connect your Google Business Profile

In Settings → Integrations, connect your Google Business Profile, so reviews appear in the Reputation tab. Put your tracked number on the profile, and point its "Book" button at your booking calendar. Google turned off Business Profile chat in 2024, so most Google Maps customers now call or book, and both paths now reach your system.

What this sets up: every number on the trucks, website and Google profile routes through one tracked line, and customers can book an estimate online.

Part 2: The automation — respond in seconds and track every job

Step 4: Build missed-call text-back properly

In Automation → Workflows, create a workflow triggered by an inbound call with a status of no answer, busy or voicemail. The very next step sends a text, with no wait:

Hi, this is Dana at Ironwood Heating & Air. Sorry we missed your call, we're out on a job right now. What's going on with your system? I can get you scheduled from here.

Why this wording works:

  • The business name comes first, so it does not read as spam.
  • "Out on a job" signals a busy, in-demand company, not a disorganised one.
  • A person's name invites a reply, even if a shared inbox answers.
  • It ends with a question. The answer tells you what is wrong. Save the booking link for the next message.

For after-hours calls, use different wording. Say you are closed, and ask them to reply EMERGENCY for no heat, a leak or no power. Promise a call when you open.

Missed-call text-back is the single highest-leverage automation here. This is the short version; GoHighLevel missed-call text-back covers the full setup and wording in depth.

Step 5: Add a short follow-up ladder

If the caller does not reply:

  1. After 5 minutes: "No rush. If it's easier, you can grab a time yourself here," with the booking link.
  2. After 1 hour: a reassurance message, such as same-day slots during a heat wave.
  3. Next morning: "Still need help with this?" Then stop.

Every step must stop the moment the customer replies. A homeowner who already answered should never receive "still need help?" an hour later.

Step 6: Push every reply to a person's phone

This is where most setups quietly fail. The homeowner replies in forty seconds, and the reply sits in an inbox nobody on a roof is looking at.

  1. Send an internal notification by SMS to the dispatcher or owner, with the customer's message included.
  2. If nobody responds in ten minutes, notify a backup. At twenty minutes, notify the owner.
  3. Install the mobile app on the owner's and dispatcher's phones and turn notifications on while you watch. Missing notification permissions cause more "the system doesn't work" complaints than anything else.

Step 7: Respond to form leads within a minute

Create a workflow on Form Submitted: a text straight away ("Hi, it's Dana at Ironwood. Got your request about the AC not cooling. I can get someone out today or tomorrow. Which works better?"), an email with the booking link and a notification to the dispatcher. If your team agrees, add a call step that rings the office and connects to the customer when answered, during set hours.

Step 8: Build the job pipeline

In Opportunities → Pipelines, create stages that match the work:

  1. New lead — alert if it sits more than 15 minutes during business hours.
  2. Contacted
  3. Estimate scheduled
  4. Estimate sent — add the dollar value.
  5. Follow-up
  6. Won, job scheduled — notify the crew lead with the address and notes.
  7. Job complete
  8. Lost — with a required reason: price, timing, competitor, no response or out of area.

After ninety days, the lost reasons show whether you lose quotes to price or to silence. Those are very different problems. For roofing insurance work, use a separate pipeline for inspection, adjuster meeting, scope approval, build and final invoice.

What this changes: on the next busy day, every missed caller gets a text within seconds. Most reply, and the office books them between jobs.

Part 3: The follow-up — close estimates and win repeat work

Step 9: Chase every unsold estimate

Trigger a sequence when an opportunity moves to Estimate sent:

  • Same day: thanks and a recap of the quote, with the link.
  • Day 2: a short check-in text from the estimator.
  • Day 4: financing options or warranty details, to handle price without discounting.
  • Day 7: a task for the estimator or owner to call.
  • Day 14: "Is this still on your list, or should we close it out?"
  • Monthly after that: light, seasonal check-ins until they buy or decline.

Every step must stop the moment the opportunity moves to Won or Lost. A customer who said yes on day three should never get "still thinking it over?" on day four.

Step 10: Request a review after every job

When a job moves to Job complete, wait two hours and send a review request by text with your Google review link. Ask every customer, not only the happy ones, which keeps you within Google's rules. Steady reviews improve your map ranking, which brings more calls.

Step 11: Run seasonal maintenance campaigns

Build campaigns once and trigger them by date every year:

  • Late spring: AC tune-up offers to past HVAC customers.
  • Early autumn: furnace and heating checks.
  • First cold snap: pipe-freeze prevention for plumbing customers.
  • After the first autumn storms: gutter and roof inspections.

Past customers already trust you, so these campaigns fill quiet weeks with high-margin work.

Step 12: Switch to storm mode during surges

When a hail storm or heat wave multiplies calls, your normal "we'll call you right back" promise becomes untrue. Keep a storm-mode text ready to swap in:

Thanks for contacting Ironwood Roofing. Since Tuesday's hail we're booking inspections about 4 days out. Reply with your address and a photo of any damage. If water is coming inside, reply LEAK and we'll prioritise you today.

Tag replies as active leak, visible damage or insurance claim, and send everyone on the list a daily update on where they stand. Honest expectations hold customers through a week of waiting. Silence loses them.

What changes once this runs?

What this produces: by the end of summer, missed calls turn into booked jobs, and the estimate follow-up closes work that used to go quiet.

Calls that used to go to voicemail become text conversations and booked jobs. Form leads get a reply before they call someone else. Estimates get followed up every time, so more of them close. Reviews grow every week, which brings more calls. And seasonal campaigns turn past customers into repeat work. More booked jobs, a higher estimate close rate and repeat work, from the calls and leads you already pay for.

Does GoHighLevel replace my field service software?

Not necessarily. Field service tools are strong at dispatch, technician routing, inventory and invoicing. GoHighLevel is strong at the front end: capturing calls and leads, responding instantly, online booking, estimate follow-up, reviews and marketing. Many contractors use both, with jobs syncing between them.

The same front-end build is not unique to contractors. Multi-location home services brands run it as a franchise marketing rollout.

The fast-response pattern carries straight over to an auto dealership service department, a gym or fitness studio chasing trials, a nonprofit answering supporters and a staffing and recruiting firm replying to applicants.

For smaller companies, GoHighLevel often works as the main service appointment scheduling software as well, with online booking and reminders built in.

The same subscription also covers:

  • Websites and landing pages
  • Two-way texting, email and website chat in one inbox
  • Voice AI to answer calls and book jobs
  • Review management and website review widgets
  • Invoices and payments
  • Reporting by lead source

Who sets this up for you?

The platform under job follow-up is GoHighLevel, and HighLevel bills you for it, not us. The licence is yours and ours is the labour on job follow-up; GHL Spark resells nothing. Take a free HighLevel trial and job follow-up is yours to build at your own pace.

Setting up GoHighLevel for home services companies is what we do most. We set up your phone routing, booking page, missed-call text-back and reply alerts. We add the job pipeline, estimate follow-up, review requests and seasonal campaigns. Then we test every call path and hand it over working.

  • $12 an hour for a single defined piece of the missed-call and job follow-up build, quoted up front.
  • $995 one-time, everything described above for the missed-call and job follow-up build, handed across working.
  • $1,495/month when there is always another missed-call and job follow-up build to stand up.

Where to go next

Anyone short on time for the missed-call and job follow-up build can take it from the done-for-you GoHighLevel snapshots instead, already built.

Or talk the missed-call and job follow-up build over on a free consultation — no pitch, just a plan and a fixed figure.

Frequently asked questions

What is the best CRM for home services businesses?
One that answers missed calls, books jobs and follows up estimates automatically, not just one that stores contacts. Field service tools are strong at dispatch and invoicing, while GoHighLevel is strong at the front end: missed-call text-back, online booking, estimate follow-up, reviews and marketing campaigns. Many contractors run both.
How does auto missed call text back work?
When a call to your business number goes unanswered, GoHighLevel sends the caller a text within seconds, such as "Sorry we missed you, we're out on a job. What's going on with your system?". The reply lands in your inbox and notifies your phone, so you can continue the conversation by text or call back.
Is GoHighLevel good HVAC appointment scheduling software?
Yes for booking and reminders. Customers can book online from a link in the text-back, and every appointment gets confirmations and reminders. For complex dispatch with technician routing, inventory and invoicing, many HVAC companies keep a field service tool alongside it.
Does this work for cleaning companies?
Yes. CRM software for cleaning companies needs the same things: fast replies to quote requests, easy online booking, reminders, review requests and recurring service reminders. The same setup works with cleaning-specific services and message wording.
Do I need to change my business phone number?
Not usually. You can add a GoHighLevel number and forward calls, or port your existing number. Every number customers see on trucks, signs and ads should route through a tracked line, so missed calls are caught and you can see which marketing drives calls.
What is the best scheduling software for service business owners?
The best scheduling software for service business owners books jobs online, sends reminders and connects to missed-call text-back. GoHighLevel works as online scheduling software for the service industry and as an easy appointment booking app for customers, all from one calendar.

About the author

Farhad Hossain, founder of GHL Spark

Farhad Hossain

Founder & Certified GoHighLevel Expert

Farhad is the founder of GHL Spark, where he builds and white-labels GoHighLevel SaaS platforms for agencies and SaaS operators. He writes about the parts of GoHighLevel that actually break in production — A2P registration, onboarding, support load and automation.

More from Farhad Hossain

Want this handled for you?

We set up, configure and white-label your GoHighLevel SaaS — so you can sell it instead of building it.

Fixed quote · No lock-in · Launch-ready in ~7 days