← all playbooks

Win back client companies nobody has called in a long while

For each lapsed client: which of your contacts are still there, who replaced the ones who left, what the company is hiring for today, a checked work email, and a drafted reason to call that is about them. The drafts are staged, nothing is sent, and CRM changes wait for your approval.

use when
there are companies you have placed with or worked for that nobody on the team has spoken to in a long while
starts from
Your database

The prompt

Paste it into Claude Code or the Claude desktop app with Hyreflow connected. The first line tells your agent to use Hyreflow, so it reads the play, asks before it spends anything, and hands the work back to you.

paste this into Claude
Use hyreflow and help me win back the client companies nobody here has
spoken to in a long while.

Here is my cut-off list: <PASTE COMPANY NAMES, OR ATTACH THE CRM EXPORT>.
We last spoke to these companies before <CUT_OFF_DATE>. My CRM is
<CRM_NAME>.

- Read each company and its contacts from the CRM, with what we did for
  them where the record shows it.
- Check which contacts are still at the company. For anyone who has left,
  find who holds that seat today.
- Check what each company is hiring for today, <MY_DISCIPLINE> first.
- Get a work email for the people worth writing to, and check it. Work
  email, this is business development.
- Draft a short reason to call for each company. It must be about them:
  a role they have open, a change in the team. Never "just checking in".

Run five companies first and tell me what the full run costs before you
do the rest. Stage the drafts, do not send anything. Show me the changes
before you write anything to the CRM.

Replace every <PLACEHOLDER> with your own detail. Everything else can stay as written.

What you need first

  • A connected CRM with your client companies and contacts in it
  • Your own cut-off list of lapsed clients. No CRM connection returns a last-contacted date, so the list comes from you
  • LinkedIn URLs on the contacts where you hold them, which makes the still-there check far more reliable
  • A Hyreflow workspace with credits

Tools it can reach for

The agent picks per step from what your workspace has. Nothing here is required by name.

What happens when you run it

Free steps are marked free. Anything that spends credits is marked, and the agent asks before the first paid run of any size.

  1. 1

    Start from your cut-off list

    free

    You supply the companies that have gone quiet, as names or as an export. No CRM connection hands back a last-contacted date, so the agent does not guess which clients have lapsed.

  2. 2

    Read the companies and contacts from the CRM

    free

    Each company on the list is read with the contacts you hold there: name, title, email and LinkedIn URL where the record has one. It is your own data, so the read is free.

  3. 3

    Check who is still there

    credits

    Each contact's LinkedIn profile is compared with the employer on your record, and the check reports whether they have moved. Where the record has an email and no profile, the profile is looked up from the email first. Anyone who cannot be matched comes back as unverified.

  4. 4

    Find who replaced the leavers

    credits

    For each seat that has emptied, a company-scoped people search runs on the leaver's title and its variants. The title filter stays on, so the search returns the successor and not the whole company.

  5. 5

    Check what each company is hiring for today

    credits

    The company's own careers site is scraped for open roles, one company at a time, and the roles in your discipline are marked. You pay per role returned, and an empty result costs nothing.

  6. 6

    Get and check the work email

    credits

    An address already on file is deliverability-checked, not bought again. For successors, the work-email waterfall runs in a set order and stops at the first hit, and that address is checked too.

  7. 7

    Draft a reason to call

    credits

    One short message per company, built on what was found: a role they have open, a successor in the seat, the work you did for them before. A draft to a successor says plainly that the company was the client, not the reader.

  8. 8

    Update the CRM, once you approve

    free

    The proposed changes are shown first: leavers marked, successors to add, emails to correct. Nothing is written until you say so, and nothing is ever deleted.

What a run costs

Credits are spent per company the play actually works, and a lookup that finds nothing usually costs nothing. The two figures are the run where the first provider answers and the run where every lookup walks its full chain.

companiesif the first provider answersif every lookup walks the chain
25$11110 credits$19190 credits
100$43430 credits$77770 credits
500$2152150 credits$3853850 credits
1,000$4304300 credits$7707700 credits

Free before anything is charged

  • Start from your cut-off list
  • Read the companies and contacts from the CRM
  • Update the CRM, once you approve

What moves the number

  • The channel. This play buys work email, because these are people you are approaching about work you want to win. A work address is the cheaper of the two to find.
  • Coverage on people search and work email. The chain stops at the first provider that answers, and only that provider bills.
  • How many companies survive the free filters. Everything dropped before the paid steps costs nothing.
  • The scoring and drafting steps run on the metered agent, charged on what they read and write rather than per company, so they sit outside this table.
  • Providers you connect with your own key. Those calls bill your account, not your credits.

An estimate, not a quote, priced at the volume credit rate. Your agent sizes the run against your own workspace and tells you what it will cost before it spends anything.

The easiest clients to win are the ones you already had

Every agency has them. Companies that paid an invoice, were happy enough, and then went quiet because the consultant who owned the account left, or the client paused hiring, or nobody picked up the phone. Nobody there has to be persuaded that you can do the work. Terms may still be in place.

What stops people calling is simple. They do not know who is still there, and they have nothing to say beyond "just checking in". This play answers both before you dial: who sits in the seat today, and what the company is doing that gives you a reason to ring.

What you get back

A table per company. The contacts on your record, each marked as still there, left, or not verified. For each leaver, the successor with title and LinkedIn. The roles the company is advertising today, with the ones in your discipline marked. A checked work email for the people worth writing to, and a drafted reason to call.

Beside it sit the proposed CRM changes: leavers to mark, successors to add, emails to correct. Nothing is written until you approve it, and nothing is sent.

Variations worth knowing

Let the notes suggest the list. JobAdder returns dated notes per company and per contact, so the agent can propose a cut-off list from the latest note on each account. Treat it as a first draft that you correct, because a missing note is not a missing conversation.

Placed-with clients only. Where your CRM returns placements per company, as JobAdder does, the run can be limited to companies you actually placed with. It is a shorter list and a warmer one.

Follow the leavers. A contact who has moved is a second lead. Follow your client contacts when they move company qualifies the company they joined before any money is spent on it.

Keep watching. For accounts with nothing open today, know when a target account opens a role in your discipline tells you when that changes.

Where this goes wrong

Trusting a record-edited date. A bulk import or a data tidy-up touches every record and makes a dead account look active. It is not a conversation date, which is why the list is yours.

Reading unverified as still there. A contact the check could not match is unknown, not confirmed.

No open roles is not no reason. Roles filled through agencies or never advertised do not appear. When nothing is found the draft says less, and it does not invent a hook.

Ignoring why they lapsed. If an account went quiet after a poor placement or a dispute, the CRM may not say so. Read the list before the run and take those off, or make those calls yourself.

Questions

Can the agent work out which clients have lapsed without my list?

Not reliably, which is why the list comes from you. No CRM connection returns a last-contacted date. Some return the date a record was last edited and a few return dated notes, but an edit is not a conversation and notes are only as complete as your team's logging. If your CRM can filter or export by last activity in its own screens, pull the list there and paste it in. A list of names from memory is a fine start too.

What if I hold no LinkedIn URL for a contact?

The still-there check compares a LinkedIn profile with the employer you expect, so it needs the profile. Where the record has a work email, the profile can often be found from that first, as a paid lookup. Where it cannot, the contact comes back as unverified, which is not the same as still there.

Why not send a catch-up email to everyone?

Because 'just checking in' asks the reader to find their own reason to reply. A lapsed client owes you nothing, and some of your contacts there will have left, so a blanket email reaches dead inboxes and people who do not remember you. A message that names the role they have open, or greets the person who took over the team, gives them something to answer.

What happens to the contacts who left?

They are a lead of their own. Someone who bought from you and has moved is worth following to the company they joined, and the check reports the move. That is a separate play with its own qualification step. Here the leaver is marked in the proposed CRM changes and the successor is added beside them.

Can this run every quarter?

Yes, once you have run it by hand and trust the output. It converts into a scheduled workflow that re-checks your saved list and leaves the results waiting in your workspace. It never sends anything. Prove it manually first, because a reactivation run on a badly chosen list produces awkward outreach at volume.