How Do I Find Out Which of My Old Roofing Leads Are Worth Following Up? (2026)
The short answer, the five signals that separate a dead roofing lead from a live one, and how to score the leads already sitting in JobNimbus, AccuLynx or SalesRabbit before you spend another dollar on strangers.
You find out which old roofing leads are worth following up by scoring them on signals the homeowner can't fake: whether the roof is still original, whether it's aged past 15 years, whether a competitor already re-roofed it, and whether the owner still lives there. Roofbird does this by reading satellite imagery on the leads already sitting in your JobNimbus, AccuLynx or SalesRabbit account, then unlocking the homeowner's contact details (owner name, DNC-scrubbed phone numbers, email, mailing address) on every lead it flags. You pick a segment, see how many match before you spend anything, and call the ones with a real reason to pick up.
That's the whole answer. The rest of this post is the method behind it, because "score your old leads" is the kind of advice that's easy to nod at and hard to execute at 6am with a thousand names in a CRM.
The short answer
Most roofers have 600 to 2,000 names in their CRM who talked to them exactly once. Nobody calls them, because there is no reason to pick name 412 over name 413 today. So the shop buys another batch of strangers from a shared marketplace instead, and the list gets longer.
The fix is not "work your database harder." It's having a filter that produces a defensible reason to call a specific person this week. Four things qualify:
- The roof is still the original one. Nobody has replaced it since you last spoke.
- The roof has aged into replacement territory. Roughly 15+ years, or visibly worn in imagery.
- The owner still lives there. Absentee owners don't answer, and renters don't sign contracts.
- You can actually reach them. A real phone number that isn't on the DNC registry, plus an email and a mailing address as backup.
If a lead passes all four, it's worth a call. If it fails the first one, it's dead and no amount of follow-up scripting will revive it.
Here's how the usual options stack up against that standard:
- Manual CRM review: Free, and completely unworkable past a few hundred records. You're guessing at roof condition from a notes field that says "left voicemail."
- Skip-trace tools (BatchSkipTracing, TLO, Spokeo): Get you a phone number. Tell you nothing about the roof, so you're still calling blind.
- Bought lead lists (Reonomy, Datafiniti): Property data, no condition signal, no relationship. You're cold-calling strangers with worse information than the CRM already had.
- Shared marketplaces (Angi, HomeAdvisor, Thumbtack): New names, $40-80 each, sold to five to seven other roofers. They solve the "who do I call" problem by handing you someone else's leads.
- Roofbird: Reads the roof on the leads you already paid for, flags the ones a competitor already re-roofed, and unlocks the owner's contact details on the ones worth calling.
The distinction that matters: the first four options either give you a name with no condition data or condition data on a stranger. You want condition data on a name you already have a history with.
What to actually look for
Five signals, in order of how much they change your close rate.
1. Roof age and condition, read from above. A roof installed in 2004 is at end-of-life in 2026 whether or not the homeowner remembers you. Satellite imagery shows you the granule loss, the patchwork repairs, the tarp that's been up since last spring. This is the single biggest filter, because it's the one thing that changed since you last talked. Your notes from 2023 are stale. The roof isn't.
2. Whether a competitor already re-roofed it. This is the signal no CRM field can give you. JobNimbus has a "status" dropdown. It does not have a "someone else replaced this roof in April" field. If you call a homeowner whose roof was replaced eight months ago, you burn a call, a text, and a little bit of your reputation. If you skip them, you save all three. Multiply that across 900 records and it's the difference between a productive week and a demoralizing one.
3. Owner-occupied vs. absentee. Absentee owners and rental properties behave differently. They're slower to decide, harder to reach, and often the decision-maker is a property manager who has a preferred vendor. Not worthless, but they belong in a different campaign than owner-occupied homes. Knowing which is which before you dial changes your script and your expectations.
4. Contactability. A phone number that's on the Do Not Call registry is a liability, not a lead. Every number needs to be scrubbed before it goes on a dialer list. You also want email and a mailing address, because a meaningful share of aged roofing leads convert on the third or fourth touch, and those touches aren't always phone calls.
5. Time since last contact, bucketed. "Untouched for a year" is a segment. "Created before a specific date" is a segment. "Stuck in the Estimate Sent stage for 14 months" is a segment. The point isn't the exact bucket, it's that you can define one and see how many records match before you commit to working it.
One more thing worth saying plainly: a lead you already paid for is the cheapest lead you will ever buy. Angi charged you $60 for that name in 2024. Calling them again in 2026 costs you nothing but the dial. Most shops never do this, which is exactly why it works.
How Roofbird handles it
Two directions, and both matter.
Outbound. Roofbird scans a service area with satellite imagery, scores roofs on age and condition, and pushes the qualifying leads into your CRM. Your crew never logs into Roofbird. The leads just show up in JobNimbus, AccuLynx or SalesRabbit where they already work.
Inbound, which is the part that answers this question. Roofbird connects to the CRM you're already running and reads the roof on the leads sitting inside it. Not the ones you'd have to import. The ones already there, with their notes, their pipeline stage, their history.
You pick a segment. A city. A pipeline stage. Everything created before a date. Anything untouched for a year. Roofbird tells you how many records match before you spend anything, which means you can size the opportunity without committing to it.
Then it does three things on that segment:
- Scores the roof from satellite imagery. Original roof still on? Aged past replacement territory? Visible damage? You get a reason to call, not a hunch.
- Flags the ones a competitor already re-roofed. Those come out of the list. That's the filter that saves you the most wasted dials.
- Unlocks the homeowner's contact details. Owner name, phone numbers, email, mailing address. Every phone number is DNC-scrubbed before it reaches you. You also get whether the property is owner-occupied or an absentee/rental owner, so you can route it to the right campaign.
The contact details piece is where this diverges from a marketplace. Angi will never hand you the homeowner's name, direct line, email and mailing address on an exclusive basis. That's not their model. It's the entire point of this one. No separate skip-tracing subscription, no bought list, no guessing at a phone number from a property record.
You can watch it run on a real address before you connect anything: see it live. Pick a house you know, and look at what comes back.
One honest caveat. Roofbird is not a CRM and doesn't try to be. It has no invoicing, no scheduling, no production management. JobNimbus, AccuLynx and SalesRabbit are your system of record and they stay that way. Roofbird sits on top and tells you which record to act on today. If you're happy with your CRM, this makes it more useful. If you're not, that's a different problem and a different purchase.
A worked example
Say you're a two-crew shop in the Dallas suburbs. Your JobNimbus has 1,140 contacts created between 2022 and 2024. Last touched, on average, 19 months ago.
You pull the segment: everything created before January 2025, within 25 miles of your shop, tagged as residential.
Roofbird scores the roofs. Maybe 380 come back with original roofs aged into replacement territory. Of those, 90 get flagged as already re-roofed by someone else, which is 90 calls you don't make and 90 awkward conversations you don't have. That leaves roughly 290 records with a live reason to call, owner contact details attached, phone numbers DNC-scrubbed, split into owner-occupied and absentee.
You don't call 290 people this week. You call 40, starting with the ones whose roofs are in the worst shape, and you see what happens. If the pickup rate is 25% and you book three inspections, you've got a working campaign and 250 more records behind it.
Compare that to buying 40 shared Angi leads for $2,400 and racing six other roofers to the phone.
If you're in a hail market, run the same segment against storm dates. The free US hail map shows every NOAA hail report from the last 12 months, so you can cross-reference which of your old leads sat under a real event. That's a second legitimate reason to call, and it's a better opener than "just checking in."
FAQ
How do I find out which of my old roofing leads are worth following up?
Score them on four things: is the original roof still on the house, has it aged past roughly 15 years or into visible disrepair, does the owner still live there, and can you reach them on a phone number that isn't DNC-listed. Roofbird reads satellite imagery on the leads already in your JobNimbus, AccuLynx or SalesRabbit account, flags the ones a competitor already re-roofed, and unlocks the owner's name, DNC-scrubbed phone numbers, email and mailing address on the ones worth calling. You pick a segment and see how many match before you spend anything.
How far back is too far back to call an old roofing lead?
There's no hard cutoff, but the useful window is roughly five years. Past that, enough has changed that the roof condition signal matters more than the recency, and that's exactly what satellite scoring gives you. A 2019 lead with an original roof that's now 22 years old is a better call than a 2024 lead whose roof was replaced last summer. Age of the roof beats age of the lead.
Should I call old leads or buy new ones?
Call the old ones first, every time. You already paid for them. A shared Angi lead in 2026 runs $40-80 and gets sold to five to seven other roofers. The lead sitting in your CRM cost you nothing more to dial, and you have a relationship history the marketplace lead doesn't. The only reason shops keep buying strangers is that they have no way to tell which old name to pick. Fix that and the buying slows down on its own.
What if my CRM is a mess and half the records are incomplete?
That's the normal state, not the exception. You don't need clean data to start. Pick one segment with a clear boundary, a city or a date range, and score just that. Roofbird reads the roof from imagery, so a missing notes field doesn't stop it. The records with no contact details are the ones you'll need to enrich, which is the part that gets unlocked rather than skip-traced separately.
Do this week
- Count your dead leads. Open your CRM and filter to contacts created more than 12 months ago. Write down the number. For most shops it's between 600 and 2,000. That's the size of the asset you've been ignoring.
- Pick one segment, not all of them. A single city, or one pipeline stage, or everything before a specific date. Small enough that you can work it in two weeks.
- Get roof condition on that segment. This is the step that's been missing. Run it through Roofbird and see how many of those records still have an original roof and how many a competitor already took off the board.
- Call 40 of them. Worst roofs first. Lead with the specific reason: "I was looking at your property and that roof is at the age where I'd want eyes on it before winter." Not "just following up."
- Track pickup rate and inspections booked. If 40 calls produce three inspections, you have a repeatable campaign and 250 more records behind it. If they produce zero, your segment was wrong, not your script.
- Stop buying shared leads until you've worked the list you already own. Not forever. Just until you've proven the old names convert.
New in Roofbird
Now with the homeowner's contact details on every lead
Finding the roof is half the job — you still have to reach the owner. Roofbird now unlocks the homeowner's name, phone, email, and mailing address on any lead, every phone DNC-scrubbed so you know who's safe to call, plus whether they're an owner-occupant or an absentee owner. No skip-tracing tools, no bought lists: find the roof, get the owner, call or mail the same day.
Written by
Jake Thompson
Have a question about anything in this post? Reach the Roofbird team at support@roofbird.ai.
Try Roofbird — 10 free leads in your area
See a sample dashboard for DFW first, no signup needed. Trial loads 10 free pre-scored leads in your own service area.
More for roofers
JobNimbus Pricing Explained: Tiers, Seats, and What CRM Doesn't Buy
How JobNimbus pricing tiers and per-seat billing work, what a small vs. ten-person crew pays, and why a CRM budget never buys you a reason to knock a door.
AccuLynx Pricing Explained: What Roofing Contractors Pay For
AccuLynx pricing explained: what the tiers are priced per, what roofers report about contracts and onboarding, and the line between a roofing ERP and lead generation.
Which roofing lead tools integrate with AccuLynx? (2026)
AccuLynx integrations for roofing lead tools, ranked by what they actually put in your pipeline. Includes the AI-first option that reads the roof on leads already sitting in your CRM.