Blogs
/
How to Run a Lead Reactivation Campaign With AI Calls: List, Cadence and Stop Rules

How to Run a Lead Reactivation Campaign With AI Calls: List, Cadence and Stop Rules

8
 MIN READ
October 16, 2026
How to Run a Lead Reactivation Campaign With AI Calls: List, Cadence and Stop Rules
BACK TO BLOGS
Add Retell AI as a preferred source on Google
ON THIS PAGE
Back to top

A lead reactivation campaign calls people who already know you, such as leads who went quiet and customers who stopped buying, on a fixed cadence with clear rules for when to stop, so an old list turns into booked conversations without anyone being called too often or by two people at once.

A list of thousands is too big for reps to dial by hand and too valuable to burn in one afternoon. The hard part is not the call script but the design around it: who goes on the list, how many attempts each person gets, what stops the calls, and who owns the lead at any moment.

Who should go on a reactivation list?

People who gave you their number and some sign of interest, then went quiet. Good candidates:

  • Opted-in leads that went dark. They filled in a form, took a call, then stopped answering. These are usually the warmest place to start.
  • Lost or stalled deals. They got far enough to see pricing or a proposal, then chose to wait or went elsewhere.
  • Lapsed customers. They bought before and have not bought again.

Set a dormant window with two edges: recent enough that they remember you, old enough that no rep is still working them. Start with the most recent group, then work further back.

Export only what the agent needs, one row per person:

ColumnWhy the agent needs it
Phone number (E.164)The only required field for a batch call
First nameOpens the call personally
Last contact date"We last spoke in March" proves this is not a cold call
What they asked aboutLets the agent say what has changed since
Reason lost, if knownLets the agent ask whether that reason still applies
CRM record IDPassed as metadata so results write back to the right record

In a Retell batch call, every column other than the phone number and a few reserved fields becomes a dynamic variable the agent can use, such as {{last_contact_date}}.

Before the list goes anywhere, confirm what consent each group carries. The FCC has confirmed that AI-generated voices count as "artificial" voices under the TCPA, so these calls generally need the called party's prior express consent, and the FCC's rules set a higher bar, prior express written consent, for telemarketing calls to mobile numbers that use one. A past purchase does not settle that question on its own. Check each list with your counsel; the TCPA guide for outbound AI calls covers what to ask. This is not legal advice.

How do you cut a big list down to the viable few?

Filter twice: once with data before calling, then with the calls themselves.

Before calling, remove duplicates by phone number, numbers marked do-not-call, anyone booked or in an open deal, anyone a rep owns, and anyone without the consent the call needs.

The calls do the second pass. Define a selector field in post-call analysis, for example reactivation_outcome with the values interested, not now, not a fit, wrong person and do not call. Every connected call is transcribed and tagged, so the list that goes back to reps holds only the people worth a conversation. Each batch reports calls sent, picked up and successful, and you can filter call history by batch to compare one list against another.

What cadence should each lead get?

One call a day plus a text after each missed call, for a short run, then a pause. A common starting pattern:

WhenWhat happensOnly if
Day 1AI callNot booked, not owned by a rep, not do-not-call
Day 1, after the callText: "Sorry we missed you, we'll try again tomorrow"Call unanswered or reached voicemail, and the person agreed to texts
Each business day after thatSame call and textStill unreached and still eligible
End of the run you setStop and mark "paused"Never reached
Several weeks laterOne more short runStill paused, still eligible

Retell has no automatic redial, so plan who places each attempt. Two documented patterns work:

  1. A daily batch. Each morning, export the eligible list from your CRM and upload it as a new batch with a calling time window. Pace comes from the concurrency you allocate, and reserved concurrency keeps inbound calls answered. Batch calls have no per-call delay setting.
  2. Your own scheduler. A workflow calls the Create Phone Call API per lead. Before each dial, it can look the number up with Get contact by phone and skip it if last_conversation_timestamp is too recent. Every outbound call counts as a conversation, including unanswered ones, so this cooldown covers dial attempts too.

Vary voicemail by attempt. A batch CSV can set override agent id per row, so early attempts can use an agent that hangs up on voicemail and the last attempt can use one that leaves a short message. Spread attempts out, because carriers can mark a number as spam when it makes many short calls in a short period. Verified numbers and branded caller ID help people recognize who is calling. Keep calling hours inside the law too: federal rules bar telephone solicitations before 8 a.m. or after 9 p.m. at the called person's location, and state rules can add their own limits, so check them with counsel.

How do you send the follow-up text?

Trigger it from the call result. Two options:

  • A post-call SMS function on the agent's workflow, gated on the disconnection reason, such as dial_no_answer or voicemail_reached. The model writes the text, so give it a short, fixed instruction, because an unanswered call has no conversation to draw on. Place a test call that goes unanswered to confirm it fires.
  • Your own workflow. Unanswered calls still send call_ended and call_analyzed webhooks. On those, call the Create Outbound SMS API.

Send from your own number with SMS enabled. That requires A2P 10DLC registration on a US number and consent to receive texts. Retell's shared SMS-approved numbers only send a preset template during a live call, so they do not cover this step. When someone replies STOP, Retell marks the contact do-not-call.

When should the agent stop calling someone?

Write the stop rules before the first batch:

OutcomeRule
Booked a meetingStop. Exclude from every batch for a cooldown window you set
Asked not to be calledStop for good. With do-not-contact handling on, the agent confirms once, ends the call and flags the contact
Not a fit or wrong numberStop and record why
Interested but not nowStop this run. Set a follow-up date in the CRM
Run ended with no answerPause, then decide on one more run

One trap: the do-not-call flag only blocks calls where something checks it. Create Phone Call checks it when you pass honor_internal_dnc: true. Batch calls do not check it, so filter flagged contacts out of every export. Federal rules also require honoring a request to stop, made by any reasonable means, within 10 business days, so make sure opt-outs from email, text and calls all reach the same suppression list.

How do you keep AI and reps off the same lead?

Give every lead one owner at a time, recorded in a CRM field. For example, a reactivation_owner field with the values ai, rep and none:

  1. Lock on entry. Set the field to "ai" when a lead joins a batch. Reps' views exclude AI-owned leads.
  2. Build batches from ownerless leads. Exclude rep-owned, booked and open-deal records in the export.
  3. Hand off on interest. When the person wants to talk, the agent places a warm transfer and briefs the rep privately before connecting, or books on the rep's calendar. Then the owner changes to "rep".
  4. Release when the run ends. Set it back to "none" so the lead can be worked again later.

Post-call functions keep the field current. They run after each call and can update the contact or create a task in HubSpot, Salesforce, Microsoft Dynamics 365, GoHighLevel or Zoho CRM, or add a tag in GoHighLevel, each gated on the outcome. One caution: pre-call functions run before an outbound call dials, but they load context rather than decide whether the call happens, so the lock check belongs in the export or your scheduler, not in the agent. The CRM-to-voice AI workflow covers the writeback in detail. If a person calls back, contact memory gives the agent a short brief of earlier conversations, so it knows what was agreed.

How do win-back sequences mix email, AI calls and voicemail?

Each channel does its own job, and all of them read the same status field. In Retell, the agent handles calls, voicemails and texts. Email stays in your marketing or sales engagement tool, and a personal voicemail from a rep stays with the rep. A sample three-week sequence for lapsed customers:

  • Day 1: email with the offer
  • Day 3: AI call that references the offer
  • Day 4: text if the call went unanswered
  • Day 8: second email
  • Day 10: AI call that leaves a voicemail if it reaches one
  • Day 15: personal voicemail from a rep, for high-value accounts only
  • Day 21: final email

A booking or a stop request in any channel ends the sequence everywhere. The offer is your decision; the agent only says what you write. The win-back campaign template and the lead reactivation campaign template are starting scripts.

What if the person you knew has left the company?

Ask who handles it now. On business lists, staff turnover can leave records pointing at someone who has left. Add three extraction fields, new_contact_name, new_contact_phone and new_contact_email, and tell the agent to ask for them politely when the person is gone. Create a new CRM record from the result rather than overwriting the old one, and check consent for the new person before anyone calls them.

Launch checklist

  • Dormant window set, and consent confirmed per list with counsel
  • Booked, open-deal, rep-owned and do-not-call records excluded from every export
  • Owner field in the CRM, with views and batches built on it
  • Cadence written down: attempts per day, length of run, pause, voicemail per attempt
  • Follow-up text gated on unanswered or voicemail outcomes, from an A2P-registered number
  • Outcome selector and new-contact fields in post-call analysis
  • Do-not-contact handling turned on
  • Calling window set for each batch, inside local calling hours

Where to start

Run your most recent dormant group through this design first and read the outcomes before scaling. Retell batch calling runs the calls inside the windows you set, post-call functions write each outcome back to your CRM, and the database reactivation use case shows how teams set it up end to end.

ROI Calculator
Estimate Your ROI from Automating Calls

See how much your business could save by switching to AI-powered voice agents.

All done! 
Your submission has been sent to your email
Oops! Something went wrong while submitting the form.
   1
   8
20
Oops! Something went wrong while submitting the form.

ROI Result

2,000

Total Human Agent Cost

$5,000
/month

AI Agent Cost

$3,000
/month

Estimated Savings

$2,000
/month
Live Demo
Try Our Live Demo

A Demo Phone Number From Retell Clinic Office

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Read Other Blogs

Revolutionize your call operation with Retell