Back to blog
Sales systemsNov 2, 20268 min read

CRM for Roofers and Contractors: What It Should Do, What to Skip, and a 7-Day Setup

A plain guide to a CRM for roofers and contractors: the jobs it must do, what to skip, a pipeline for estimates and insurance jobs, and copy-paste follow-ups.

By NexaCloser Team

A CRM for roofers and other contractors has a harder job than most. Your leads come in bursts (a hail storm, a spring of leaks), every job needs a site visit before a price, estimates sit for weeks while homeowners compare three bids or wait on an insurance adjuster, and the person who sold the job is on a roof when the next call comes in.

This guide covers what a CRM must do for a roofing or contracting business, what you can skip, a pipeline that fits estimate-first sales, and the exact follow-up messages to load in. It applies to roofing, siding, gutters, remodeling, HVAC, plumbing, electrical and most trades that quote before they work.

Why contractors lose jobs between the call and the contract

Walk through a typical roofing lead:

  1. A homeowner notices a leak on Saturday and fills out your form, or calls while you're on a job.
  2. They do the same with two or three other roofers.
  3. The first roofer to call back with something useful books the inspection.
  4. After the inspection, your estimate goes out. So do two others.
  5. The homeowner waits: on their spouse, on the insurance adjuster, on the bank. Two weeks pass.
  6. Whoever follows up politely during those two weeks tends to get the job. The others assume they lost it.

None of that is about price or workmanship. It's about who answered first and who stayed in touch. That's the work a CRM does for you.

The bar isn't high. When Harvard Business Review audited 2,241 US companies with test web leads, only 37% responded within an hour, and 23% never responded at all (Harvard Business Review, 2011). Reply within the hour and you're already ahead of most of your competition.

What a roofing or contractor CRM must do

Six jobs. If a tool does these, it's the right category, whatever it calls itself.

  1. Catch every lead in one place. Form, call, text, Facebook or Google message, referral, door-knock note. One inbox, one record per homeowner.
  2. Reply within minutes, even from a roof. A missed-call text-back and an auto-reply to forms buy you the hour you need: "Got it, we'll call you by 4 p.m. to set up an inspection."
  3. Book the inspection. A link where the homeowner picks a slot, with a reminder the day before, so you don't drive out to an empty house.
  4. Track estimates like a pipeline, not a pile. Every open estimate with a date, a value and a next follow-up. Insurance jobs get their own stage, because they move at the adjuster's pace, not yours.
  5. Follow up automatically. Day 2, day 7, day 14, day 30. Most estimates don't close on the first call, and most contractors stop following up after one.
  6. Keep the job record. Photos, measurements, the material choice, the deposit, who the homeowner spoke to. When a referral comes from that street two years later, you can look it up.

What you can skip

  • Per-seat pricing. You, your office manager, two sales reps and a crew lead all need a login. If the CRM charges per user, the bill triples before you've used it. Look for a flat price or a plan that doesn't count seats.
  • Satellite measurement and material ordering inside the CRM. Useful at scale, but it's a different, pricier category. Many contractors keep their measurement tool and let the CRM handle leads, estimates and follow-up.
  • Twelve-stage pipelines. Six stages is plenty. More stages means more that nobody updates.
  • Big reporting dashboards. You need five numbers: leads this month, inspections booked, estimates sent, estimates won, average job value. Add more later.
  • Email newsletters to thousands. Your list is past customers and open estimates. A short text or a plain email from the CRM beats a designed newsletter.

Step 1: Build a pipeline for estimate-first sales

Most trades fit six stages. Write yours down before you touch software.

StageWhat it meansWhat moves it forward
New leadSomeone asked for helpFirst reply within the hour, inspection booked
Inspection bookedA date on the calendarReminder the day before; photos and measurements at the visit
Estimate sentA price in their handsFollow-up day 2, 7, 14, 30
Insurance pendingClaim filed, adjuster involvedA check-in every 10 days; help with the adjuster meeting if you do that
SignedContract and deposit inMaterial order, crew date, "what to expect" message
CompleteJob done, final payment inReview request, warranty info, referral ask

Add "Lost" with a reason field: price, timing, went with someone else, no insurance approval. After three months, the reasons tell you what to fix.

Our post on your first sales pipeline covers how to set stages up in any CRM.

Step 2: Make sure no lead waits until Monday

List every way a homeowner can reach you and what happens tonight if they use it:

  • Website form: should create a contact in the CRM and send an automatic reply with your inspection booking link.
  • Phone: missed calls get a text back within a minute. "Hi, this is [Company]. Sorry we missed you, we're on a roof. Text us your address and what's going on, and we'll call you back today."
  • Facebook, Instagram, Google Business Profile messages: turn on the away reply with your number and link.
  • Storm season: when calls spike, the same auto-replies keep every lead warm until you can get to them. Decide in advance how you'll triage: active leaks first, then insurance claims, then replacements.

Test it tonight. Fill out your form at 9 p.m. and see what happens. Our after-hours leads post has the full setup.

Step 3: Load the estimate follow-ups

Estimates die of silence. Load these as templates, or as an automation that runs while a deal sits in "Estimate sent".

Day 2 (text):

Hi [First name], [Your name] from [Company]. Did the estimate for the [roof / siding / repair] come through okay? Happy to walk you through it or adjust the scope. Reply STOP to opt out.

Day 7 (text):

Hi [First name], checking in on the [project] estimate. We have crew openings the week of [date] if you'd like to get on the schedule. If you're still comparing, no problem, happy to answer questions.

Day 14 (email):

Subject: Questions on your [project] estimate? Hi [First name], most people have a few questions at this point: materials, timing, payment options, what the warranty covers. Reply with yours and I'll answer today. The estimate stands until [date].

Day 30 (text):

Hi [First name], last check-in from me on the [project]. If the timing changed, just tell me when to reach back out and I'll make a note. Thanks for considering [Company].

Insurance jobs, every 10 days (text):

Hi [First name], any word from the adjuster on the claim? If it helps, we can be on site for the adjuster meeting. Just tell us the date.

Texting homeowners in the US needs their consent and a clear opt-out; see our plain-English guide to business texting. For more templates and timing, see how to follow up on a quote.

Step 4: Confirm and remind, from inspection to install

Three messages per appointment:

  1. Confirmation when it's booked: date, time window, what you'll do, how long it takes.
  2. Reminder the day before: "We'll be there tomorrow between 9 and 11 to inspect the roof. Reply C to confirm or R to reschedule."
  3. Day-of update: "Heading your way, about 30 minutes out."

For install days, add a "what to expect" message two days before: start time, noise, where to park cars, what to move off the walls, how long the job runs. Fewer surprised homeowners, fewer calls to your office.

Step 5: Keep the job record where everyone can see it

For each homeowner, the record should hold:

  • Address, gate or access notes, dogs, where the crew can park
  • Inspection photos and measurements
  • Estimate amount, material and color choices, financing or insurance details
  • Deposit date and amount, balance due
  • Crew assigned and install date
  • Every call, text and email, in order

Tags make it searchable: roof-replacement, repair, insurance, storm-2026, financing, referral. Later, "everyone tagged repair from 2024 who never got a replacement estimate" is a filter, not a weekend with a spreadsheet.

Step 6: Turn finished jobs into the next ones

Two automations that pay for the system:

  • Review request, day after completion, only to homeowners who told you the job went well: "Thanks for trusting us with your roof. If you have 30 seconds, a Google review helps a local company like ours more than anything: [link]."
  • Neighbor and referral nudge, 30 days after completion: "Hi [First name], hope the new roof is holding up well. If a neighbor or friend needs a look at theirs, we'd be glad to help. Just send them our number."

Add a yearly check-in for past customers ("Want a free inspection before storm season?") and a note on the record of when their roof was installed. Twenty years later, that's a replacement lead with your name already on it.

A 7-day setup plan

  • Day 1: Write your six stages and your lost reasons.
  • Day 2: Connect your form and your business number. Turn on missed-call text-back and the form auto-reply with your booking link.
  • Day 3: Import your customer list and open estimates (name, phone, email, address, job, amount, date).
  • Day 4: Build the estimate follow-up automation (day 2, 7, 14, 30) and the inspection reminders.
  • Day 5: Send the review request to this month's completed jobs and the "any word from the adjuster?" text to open insurance claims.
  • Days 6 and 7: Use it on real leads. Fix what slows you down.

How to test a CRM before you pay

  1. Fill out your own form from your phone. Did it become a contact and send a reply?
  2. Call your number and hang up. Did you get a text back?
  3. Build the day-2 follow-up automation. Under 15 minutes?
  4. Add your office manager and a sales rep. Did the price change?
  5. Attach a photo and a note to a record. Can your rep see it on their phone?

If it fails two of these, keep looking.

NexaCloser does the six jobs above: forms with auto-replies, a shared inbox for WhatsApp, email and SMS with calls logged, missed-call text-back, a simple pipeline with tags, booking pages, automations for follow-ups and reminders, and payments through your own Stripe or PayPal account, for one flat price however many people you add. It's one option; the test above works for any tool.

The bottom line

Roofers and contractors don't lose jobs on the roof. They lose them in the gap between the first call and the signed contract: slow replies, estimates nobody chased, insurance jobs that went quiet. A CRM that catches every lead, replies fast, books the inspection, chases the estimate and keeps the record closes that gap.

Start with the first reply and the follow-up cadence. Our free Speed-to-Lead Playbook has the scripts, a 14-day plan and a one-page tracker you can use with any CRM.

Keep reading

Build with us, now.

Try it free for 30 days. Card needed, $0 today, cancel anytime. Onboarding call with a founder after you start.