How to Pull Your Dead Roofing Leads Out of JobNimbus
A step-by-step guide to building a JobNimbus report of unsold estimates and lost jobs, exporting it, cleaning it, and getting it ready for a reactivation campaign.
Key Takeaways
- Only 16% of roofing contractors follow up the same day on unsold estimates (ServiceTitan, 1,000+ roofing companies with revenue above $5 million).
- 66% of homeowners say they gather three quotes, and 62% say they would contact a roofer they have worked with before (Roofing Contractor and Owens Corning survey).
- JobNimbus exports a saved Custom Report to CSV or Excel from a three-dot menu, but the file is a snapshot and later CRM edits never reach it.
- At the 2% to 5% response range we have found on reactivation campaigns, a clean list of 1,000 dead leads produces roughly 20 to 50 replies.
- Calls and texts to the list stop at 8 a.m. and 9 p.m. in the lead's local time, and opt-out requests must be honored within 10 business days.
Every roofing shop with a few years in JobNimbus has a pile of old estimates in there. Pull that pile into one file and look at it. The list is the first real step of any reactivation campaign, and it takes an afternoon. This guide walks through building it, exporting it, cleaning it, and checking the rules before anyone sends a message.
Why pull a dead lead list out of JobNimbus at all?
Because the list is the campaign. Every unsold estimate and lost job in your CRM already cost you a click, a call, or a trip up a ladder. Putting them in one file lets you sort by age and value, remove the people you should leave alone, and decide who gets a text this week.
The gap this fills is wide. ServiceTitan's 2026 roofing report, built from a Thrive Analytics survey of more than 1,000 roofing-focused companies, found that only 16% of contractors follow up the same day on unsold estimates. It is a vendor press release with no published methodology, so treat the figure as a direction.
Homeowners also shop. In a Roofing Contractor and Owens Corning survey, 66% said they would gather three quotes and 1% would accept one. That survey was sponsored, did not disclose its sample size, and paid respondents a $10 gift card, so read it loosely. Still, it likely explains why many of your estimates sit unsigned: the homeowner compared you with two other roofers and went quiet. Our roofing reactivation playbook covers what that pile is worth.
Which JobNimbus records count as a dead lead?
A dead lead is any contact who asked for work, got a number or a conversation from you, and has no booked job and no activity. In JobNimbus that usually means three groups of records. Pull all three, then decide what to do with each.
A dead lead is a person who asked for roofing work, was quoted or contacted, and has no booked job and no recent activity in your CRM. A dead estimate is the same person after you sent a price.
- Unsold estimates: estimates sent but never accepted. These are the highest-intent records because a rep already inspected the roof and priced it.
- Lost or cancelled jobs: jobs your team moved to a lost status. Your status names are your own, so use whatever your crew calls lost, dead, or no sale.
- Cold contacts: inquiries that never reached an estimate. They are the weakest group and usually the largest.
Leave out anyone with a job in progress, an open invoice, or a warranty claim. A reactivation text to a customer whose crew is on the roof today is a good way to earn a bad review.
How do you build the report in JobNimbus?
JobNimbus builds reports from the Insights tab. Its help center describes a Job Report that finds jobs in certain statuses and an Estimate Report that can be grouped by status, which are the two you want. Menu names change between releases, so trust your screen over this post and use these steps as a map.
- Open the Insights tab and select the Classic Reports button at the top right, as JobNimbus documents. Reports you create appear under My Saved Reports.
- Create a new Job Report. JobNimbus says you can add or remove columns, add filters, and add calculations while you build it.
- Pick columns for contact name, phone, email, city, sales rep, job status, estimate amount, and the date of the last activity. JobNimbus's help page does not list every available column, so use the closest ones your builder offers.
- Filter to your lost statuses and a date range, then save the report. Repeat with an Estimate Report grouped by status to catch estimates that were sent and never accepted.
- Check that the report is available to the people who need it. JobNimbus notes that reports must be made visible to the intended users.
How do you export the list from JobNimbus?
Save the report, open its overview page, select the three dots to the right of the report title, and choose Export to CSV or Export to Excel. That sequence comes from JobNimbus's help article on exporting custom reports. JobNimbus keeps Classic and Custom reports in separate help articles, so if your account shows only one type, follow the article for that type.
Two limits from that same article matter here. The export only includes records in the report you are viewing, and JobNimbus says later edits in the CRM will not automatically carry into the file. Build the report with everything you need before you download it, and re-export when you start a new campaign wave.
How do you clean the export before anyone sends a message?
Open the file in Excel or Google Sheets and work through five passes. Plan on a couple of hours for a few thousand rows. This is the part that protects your reputation. A sloppy list sends the wrong message to the wrong person.
- Remove duplicates by phone number first, then by email. One homeowner can appear as several contacts after a few years of estimates.
- Delete live customers: anyone with an active job, open invoice, or warranty ticket.
- Delete opt-outs: anyone who ever replied STOP, asked to be removed, or told a rep not to call again.
- Fix the phone column: strip dashes and spaces, drop landlines you cannot text, and flag blank cells.
- Add an age column from the last activity date, then sort the file oldest to newest.
Then split what is left into groups by age. The segment table below is a starting point. The older the record, the lighter the first touch. Our guide to reactivating unsold roofing estimates goes deeper on sorting each group by the original objection.
| Segment | Who is in it | First message | Channel |
|---|---|---|---|
| Estimate under 90 days | Priced, never signed | Short text from the rep who quoted | Text, then a call |
| Three to 12 months | Went quiet or marked lost | Text from the company with one specific reason to reply | Text, then voicemail |
| Over 12 months | Old inquiries and lost jobs | One-line check-in | Text only, then stop |
| Past customers | Finished jobs | Maintenance or referral check-in | Text or email |
What is a list of 1,000 dead leads worth?
Fewer jobs than the list size suggests, but real ones. In the campaigns we have run, response rates have landed in the 2% to 5% range, which means 1,000 clean contacts produce roughly 20 to 50 replies. A reply is a conversation, not a signed job.
To size your own list, multiply replies by the share that book an inspection, by your close rate, by your average ticket. Use your own numbers for the last three, because job values and close rates vary too much by market to borrow from a blog. If the result beats what the same effort in new leads would cost, the list earns its afternoon. Our roofing lead cost breakdown shows how to price that comparison.
One more point in the list's favor. The Roofing Contractor survey above found that 62% of homeowners would contact a roofer they have worked with before. Past customers in your export are the warmest records in it. Residential contractors also say retention now matters more than acquisition: 53% rank retention as a priority against 31% for new customers, per ServiceTitan's 2026 survey of 1,000 residential contractors.
What are the texting and calling rules before you upload the list?
The federal telemarketing rules in 47 CFR 64.1200 bar calls to residential subscribers before 8 a.m. or after 9 p.m. in the called party's local time, and they require a revocation request to be honored within a reasonable time that cannot exceed ten business days. Set your sending window inside those hours and process opt-outs the same day.
Consent is the harder question. Whether a lead who filled out a form in 2023 agreed to receive marketing texts depends on the wording of that form and how you stored the record. Our TCPA guide to texting old leads lays out the framework. This is general information, not legal advice, so have your attorney review your consent language before a large send.
Who should run the campaign once the list is clean?
If your office manager has four free hours a week and knows how to run a text platform, run it in-house. If not, hand the cleaned file to a team that does this daily. The cleaning work above is the same either way, and it is the part that decides how the campaign goes. Our lead reactivation service starts from exactly this file, and the definition of database reactivation explains the full cycle.
Frequently Asked Questions
Can JobNimbus export my leads to CSV?
Yes. JobNimbus documents a CSV and Excel export from the three-dot menu on a saved Custom Report. The file only contains the records in that report and does not update when you edit the CRM afterward. If your account shows Classic Reports, check JobNimbus's help center for that report type.
What should I filter for in a dead lead report?
Start with jobs in your lost statuses and estimates that were sent but never accepted, then narrow by date range. Exclude active jobs, open invoices, warranty tickets, and anyone who opted out. Keep the date of last activity so you can sort the list by age.
How old is too old to text an old roofing estimate?
There is no verified cutoff, so use judgment. A reasonable rule is one short message to records over 12 months old, then stop if nobody replies. Records under 90 days old get a text and a follow-up call because the estimate is still fresh to the homeowner.
How should I store the exported file?
The export holds names, phone numbers, emails, and addresses, so keep it in a folder only office staff can open. Delete old copies when a campaign ends, and re-export from JobNimbus for the next wave so you work from current data.
Does the same process work in AccuLynx or another roofing CRM?
The cleaning, segmenting, and compliance steps are the same in any CRM. The export steps differ, so check your CRM's help center for how to download a filtered report. The reactivation campaign guide covers the rest of the sequence.