Resources · Roofing

Roofing CRM workflow pattern map

A printable map of how a roofing lead moves from first contact to a closed job and a referral: which system owns each stage, which fields it needs, what can run on its own, and where a person has to decide.

Pattern map · Updated · Free to use and share with a link to this page.

Compare your setup
Overview

One page for the whole lead-to-referral path.

Most roofing companies already own the pieces: a CRM, a calendar, an estimating tool, job software and a review platform. What they rarely have is one picture of how a homeowner moves between them, who is responsible at each handoff, and which record proves where a signed job started.

This map is that picture. It is a pattern, not a client case study: an anonymized architecture drawn from hands-on CRM and automation work, with no client names and no metrics. Use it as a checklist for your own setup, or as a starting sheet when you plan a new account.

Pattern map

Eight stages, one record of where the job came from.

Read it left to right, then along the bottom row. Magenta marks the steps where a person decides. The dashed line is optional: a referral comes back in as a new, tagged source.

Roofing CRM workflow pattern map Lead sources create one CRM contact. A speed-to-lead step sends the first reply and starts call attempts. An inspection is booked on a calendar, an estimate is sent and followed up, and a signed estimate becomes a job in production. After the job closes, a review request and a referral ask go out, and the referral source feeds attribution, which ties every closed job back to its first source. Lead sourcesForms, ads, calls CRM contactDeduplicated, sourced Speed-to-leadFirst reply, then calls InspectionBooked on a calendar EstimateSent, then followed up JobSigned, in production Review, referralAfter the job closes AttributionSource to closed job Roofing CRM workflow pattern map Lead sources create one CRM contact. A speed-to-lead step sends the first reply and starts call attempts. An inspection is booked on a calendar, an estimate is sent and followed up, and a signed estimate becomes a job in production. After the job closes, a review request and a referral ask go out, and the referral source feeds attribution, which ties every closed job back to its first source. Lead sourcesForms, ads, calls CRM contactDeduplicated, sourced Speed-to-leadFirst reply, then calls InspectionBooked on a calendar EstimateSent, then followed up JobSigned, in production Review, referralAfter the job closes AttributionSource to closed job
Main path Decision or human step Optional or feedback pathGenerated diagram of a generic pattern, not a screenshot of a client system.
Read the flow as text
  1. Lead sources: website forms, lead ads, calls and referrals.
  2. CRM contact: one deduplicated record per homeowner, with the first source saved.
  3. Speed-to-lead: the first reply goes out and call attempts start.
  4. Inspection: a person or a booking assistant books a real calendar slot.
  5. Estimate: sent from the estimating tool, then followed up until a decision.
  6. Job: a signed estimate becomes a job in the job-management tool.
  7. Review and referral: requested after the job closes.
  8. Attribution: every closed job traces back to its first source; referrals come back in as a new, tagged source.

Download and share

Roofing CRM workflow pattern map in eight stages. Top row: lead sources (forms, ads, calls) create one deduplicated CRM contact, speed-to-lead sends the first reply and starts calls, an inspection is booked on a calendar, and an estimate is sent and followed up. Bottom row: a signed estimate becomes a job in production, a review and referral are requested after the job closes, and attribution ties each closed job to its first source. Inspection and job are marked as steps where a person decides.

Download the diagram (PNG)

The eight-stage map on one image, with the owner system for each stage. Use it in a planning doc, a handoff or a team meeting; please credit and link this page.

PNG · 1600 × 900 · 319 KB Download the diagram (PNG)
How to use it

Read the map against your own tools.

  1. Print it (the button above saves a clean PDF) and write your own tool name next to each stage.
  2. Name one owner per stage. A person or a role, not "the office". If two people think they own a stage, nobody does.
  3. Check the fields. For each stage, confirm the listed fields exist in your system and are filled in when the stage starts, not weeks later.
  4. Mark the gaps. Any stage with no owner system, no trigger or no checkpoint is where leads go missing.

The pattern assumes GoHighLevel as the CRM because that is where we work most, but the stages hold for any CRM with pipelines, calendars and workflows.

Stage by stage

Owner system, data, automation and checkpoint.

Stage Owner system Data fields Automation Human checkpoint
Lead sources Each channel (site form, ad form, phone line, referral link) Channel, campaign, ad or form name, landing page Send every source into the CRM through one intake path Someone reviews new or untagged sources weekly
CRM contact CRM Name, phone, email, property address, first source, consent record Match on phone and email before creating a record Merge suspected duplicates by hand when the match is unclear
Speed-to-lead CRM workflows and phone system First-reply time, call attempts, reply status Confirmation text and email, call task or call attempt The person on duty owns the first conversation
Inspection CRM calendar Appointment time, inspector, homeowner timezone, access notes Confirmation, reminders, reschedule link Inspector confirms the slot fits travel and capacity
Estimate Estimating or job tool Estimate amount, date sent, scope notes, decision status Follow-up reminders until a yes, a no or a pause The estimator decides when to call instead of text
Job Job-management tool Signed date, job ID, production status, crew Create or update the job from the signed estimate, sync status back Production manager schedules the crew
Review and referral CRM Job-closed date, review request status, referral link Review request after close, referral ask later Owner handles any unhappy reply personally
Attribution CRM reporting First source, pipeline stage, won or lost reason, job ID Stage changes recorded automatically from the steps above Monthly look at sources that book inspections but rarely close

Two rules make the table work. Each field is written by one system only, and the job ID links the CRM contact to the job record so neither side has to match on names.

Handoffs

Four places the map either holds or tears.

Contact to first reply. The first reply is only as fast as the slowest intake path. A lead form that lands in an inbox instead of the CRM skips every later stage. Send all channels into one intake path before you tune any message.

Inspection to estimate. The inspection result is often written on paper or in a phone note. Decide where the outcome is recorded (estimate needed, not a fit, insurance follow-up) and make that field required before the stage can move.

Estimate to job. This is the handoff between two systems. Pick one event that means "signed", such as a status in the estimating tool, and let only that event create the job. Manual job creation alongside an automatic one is how duplicates start.

Job to review. The review request should wait for a real "closed" signal from production, not a fixed number of days after the estimate. Homeowners asked for a review while crews are still on the roof tend to say so in public.

Failure points

Where this pattern usually breaks.

  • The source is overwritten. A later form fill or import replaces the first source, so attribution credits the last click. Store the first source in its own field that nothing else writes to.
  • A field changes and nobody knows why. Reminders arrive at the wrong hour, or a stage jumps backward. Check the CRM's audit history for the record before editing any workflow; often a form or an integration is writing to the same field.
  • Two calendars, one inspector. Bookings from the CRM and from someone's personal calendar collide. Keep one calendar as the source of availability.
  • Follow-up that never stops. A homeowner who signed, declined or asked to pause still gets estimate reminders. Every follow-up sequence needs exit conditions tied to the decision field.
  • Sync without an ID. Records are matched on name or address, so a typo creates a second job or links the wrong homeowner. Match on IDs and keep a log of each sync.
  • Referrals with no tag. A referred homeowner looks like a direct call. Give referrals their own link or source value so they show up in attribution.
  • Automation that speaks for the business. A bot or template promises dates, prices or insurance outcomes. Keep those topics with a person and keep automated wording to confirmations, reminders and booking.
  • No owner for the exceptions. Leads that fit no rule (outside the service area, commercial roofs, repeat customers) sit untouched. Route them to one named person.
Adapting it

Make the map fit your business.

Roofing businesses differ in where the inspection happens, who writes estimates and how insurance work flows, so treat the stages as defaults. A retail-only roofer may merge inspection and estimate into one visit. A storm-restoration team may add a stage for insurance paperwork between estimate and job. Keep the same columns for any stage you add: owner system, fields, automation and the human checkpoint.

If you want a deeper look at the roofing side, the roofing industry page covers routing and field ownership in more detail, and the GoHighLevel service page explains how we audit and repair accounts.

Important: This is a pattern, not a client case study. It describes no specific business, account or result, and it is free to adapt.

Start here

Want this map drawn for your own tools?

Tell us which CRM, job software and lead sources you run. The brief form opens with GoHighLevel and roofing selected, and we reply with questions first.