Almost every CRM I open has the same thing buried in it: a pile of leads that got a call or two, then nothing. Unsold estimates. No-shows. Homeowners who said "not right now" last spring. Past customers nobody has talked to since the job was finished.

You already paid for every one of those leads. Dead lead reactivation is the process of working them again, the right way, until they turn into booked jobs or a clear no. It's often the fastest win I find for a home service company, because the leads are already sitting there. Here's the playbook I use.

Why old leads are worth working

A lead going cold rarely means the homeowner stopped needing the work. Usually something else happened:

  • The timing was wrong. They wanted a new roof, just not before tax season. Now things are different.
  • Nobody followed up. One call, one voicemail, and the lead dropped off the list.
  • They got busy. The appointment slipped, and rescheduling felt like a hassle.
  • The problem got worse. The water heater that was making noise in March is leaking in October.

These homeowners already know your name, and in a lot of cases your competitors never followed up either. That's an easier conversation than a brand-new cold call.

Step 1: Pull the list and segment it

Don't blast the whole database with one message. Export everything and split it into groups, because each group needs a different conversation:

  • Unsold estimates. They met with you, got a price and didn't move forward. These are usually your highest-value contacts.
  • No-shows and cancellations. They booked once, so the interest was real.
  • Never reached. Leads that came in but never had a real conversation with anyone.
  • Lost on price or timing. Worth a new offer or a check-in on whether the timing has changed.
  • Past customers. People who already paid you and may need maintenance, an upgrade or a second service.

Sort by age, too. A lead from two months ago and a lead from three years ago need different openings.

Step 2: Clean the data and check consent

This step isn't optional. Before anyone gets a text or a call:

  • Remove duplicates, bad numbers and anyone who has already opted out.
  • Check every contact against the national and state Do Not Call registries and your own internal DNC list.
  • Confirm what consent you have for each contact. Texting and automated outreach carry stricter consent requirements than a manual call, and web leads and past customers may have given different permissions.
  • Honor every opt-out right away, across every channel.

I'm not a lawyer, and this isn't legal advice. Follow TCPA and Do Not Call rules and consent requirements, and have counsel review your process before you start. Running reactivation the right way protects your business and your phone numbers.

Step 3: Pick an offer for each segment

"Just checking in" doesn't book jobs. Give people a specific, low-pressure reason to raise their hand. Some offers that fit well by trade:

  • HVAC: a seasonal tune-up before summer or winter, or a second look at an old repair quote.
  • Roofing: a free re-inspection after storm season, especially for unsold estimates.
  • Water treatment: a free in-home water test, or a filter and system check for past customers.
  • Pest control: a seasonal treatment ahead of the months when calls pick up.
  • Solar: an updated proposal based on their current electric bill.
  • Remodeling: a fresh design consult for a project they shelved.
  • Insurance agencies: a coverage review ahead of their renewal date.
  • Landscaping: a spring cleanup or fall aeration for past customers.

For past customers, maintenance is usually the easiest yes. It gets you back in the home, and your tech can spot the next job while they're there.

Step 4: Build the AI follow-up sequence

This is where AI does most of the heavy lifting. An AI follow-up sequence can reach an entire segment, handle the replies and sort out who's interested, without a person reading every message.

Keep messages short, personal and easy to answer. Here's an example for an unsold roofing estimate:

Hi Sarah, it's the team at [Company]. We put together a roof estimate for you last year. With storm season behind us, want us to take a free look and make sure nothing has changed?

A few rules I follow:

  • One question per message. Make it easy to reply yes.
  • Reference what they asked about before, so it doesn't feel like spam.
  • Space messages out over a couple of weeks instead of sending five in a day.
  • When someone says stop, stop.
  • Let AI answer simple questions (hours, service area, what a tune-up includes) and route everything else to a person.

Step 5: Hand replies to a setter fast

The biggest mistake I see in database reactivation is getting a "yes, call me" and then waiting a day to call. Speed matters just as much for an old lead as a new one. The moment someone replies with interest, a setter should see the conversation, the lead's history and the offer, and call within minutes. I explain why in my guide to speed to lead.

The setter's job is to confirm the need, answer questions and book the appointment. AI gets the hand up. A person books the job.

Step 6: Call your highest-value segments

For unsold estimates and past customers with big-ticket needs, don't rely on text alone. Have setters call those segments directly, where you have the right consent to do so. A real conversation with someone who already got a price from you is one of the best calls a setter can make. It's also the easiest place to start outbound appointment setting.

Step 7: Track what comes back

Track results by segment and by offer so you know what to repeat:

  1. Reply rate and opt-out rate
  2. Conversations with a setter
  3. Appointments booked
  4. Appointments that showed
  5. Jobs sold and revenue

Then feed the results back in. If the water test offer beats the filter check, lead with it next time. Contacts who say "not now" get a follow-up date, not a delete button.

Mistakes to avoid

  • Blasting everyone with the same message.
  • Skipping the DNC scrub and the consent check.
  • Sending vague "checking in" messages with no offer.
  • Letting replies sit overnight.
  • Treating reactivation as a one-time project instead of a monthly habit.

How my team runs reactivation

When I start with a new company, reactivation is often the first thing we turn on, because it produces booked jobs from leads they already own. We segment the list, clean it, write offers by trade, run the AI follow-up and put trained setters on every reply within minutes. It all runs inside your existing CRM, and you see the results in our weekly revenue meeting.

You can read how it works on my lead reactivation page, see the HVAC and water treatment playbooks, or book a 30-minute call and we'll look at what's sitting in your CRM.

FAQ

How do you follow up with old leads without being annoying?

Segment the list, reference what each person asked about before, lead with a specific offer and ask one easy question per message. Space messages out over a couple of weeks, and stop immediately when someone opts out.

Is it legal to text or call old leads?

It depends on the consent you have and how you contact them. Follow TCPA and Do Not Call rules and consent requirements, scrub your list and honor every opt-out. I'm not a lawyer, so have counsel review your process before you start.

How old is too old for a lead?

There isn't a hard cutoff. Older leads just need a different opening. Segment by age, and for older contacts lead with reasons that don't depend on the original conversation, like a seasonal tune-up, a free re-inspection or a water test.