← all playbooks

Find personal emails for candidates who are not looking

Your candidate list with a personal email where one exists, checked for deliverability and marked with the provider it came from. Everyone else is marked LinkedIn only, with their profile link kept as the way to reach them.

use when
the people you want are in a job and not looking, and your approach must not land in an inbox their employer owns
starts from
A list

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 find a personal email for each candidate on this list.

The list is <FILE_PATH_OR_PASTED_ROWS>, and the current employer is in
<EMPLOYER_COLUMN>. These people are in jobs and not looking, so nothing I
send may land at their employer. Personal email only. Never their work
email, not even as a fallback.

How I want it run:
- Before spending anything, tell me which rows have no LinkedIn URL and
  which have no employer domain, and what that means for the match.
- If a provider returns an address on the person's current employer's
  domain, do not accept it as personal. Mark the row and move on.
- Do not guess an address. If nothing is found, mark the row LinkedIn only
  and keep the profile link.
- Check the addresses you find for deliverability, last. Mark failures.
- Skip anyone marked <DO_NOT_CONTACT_COLUMN>.

Run five rows first and tell me what the full run costs before you do the
rest. Wait for my go-ahead.

Give me back my list with the personal email, its source, the verdict and
a status on every row. Do not send anything to anyone.

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

What you need first

  • The candidate list as a file or pasted rows, with a LinkedIn URL per person where you have one
  • The current employer on each row, ideally with its web domain, so an address at that employer can be recognised and refused
  • A Hyreflow workspace with credits, or your own provider keys connected

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

    Read the list and confirm these are candidates

    free

    The agent counts the rows and confirms who they are. Candidates get a personal email and LinkedIn, never a work email, and that answer fixes which providers are used. Rows you mark as do-not-contact are set aside.

  2. 2

    Check the LinkedIn URL and the employer on each row

    free

    The first provider in the chain works from a LinkedIn profile URL, and the rest also accept a name and an employer. The employer's web domain is what lets a work address be recognised later. Rows missing either are counted and shown to you before anything is spent.

  3. 3

    Pilot five rows and price the run

    credits

    Five rows run end to end so you see real output and real cost. The agent then states the most the full list could cost and waits for your go-ahead.

  4. 4

    Run the personal-email chain

    credits

    Each row walks three providers in a fixed order and stops at the first personal address. A row where nothing is found costs nothing.

  5. 5

    Refuse anything on the employer's domain

    free

    An address on the domain of the person's current employer is not a personal email, whichever provider returned it. It is not accepted and not charged, and the row carries on to the next provider.

  6. 6

    Verify deliverability last

    credits

    Only addresses that were found and accepted are checked, so nothing is spent verifying a miss. The ones that fail are marked.

  7. 7

    Mark the rest LinkedIn only

    free

    Rows with no personal email keep their profile link and are marked LinkedIn only. No address is guessed and no work email is substituted.

  8. 8

    Hand the list back

    free

    Your list with the personal email column, the provider behind each address, the verdict and what each row cost. Every other row says whether it is LinkedIn only or could not be matched at all.

What a run costs

Credits are spent per candidate 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.

candidatesif the first provider answersif every lookup walks the chain
25$441 credits$12120 credits
100$14140 credits$43430 credits
500$68680 credits$2052050 credits
1,000$1361360 credits$4074070 credits

Free before anything is charged

  • Read the list and confirm these are candidates
  • Check the LinkedIn URL and the employer on each row
  • Refuse anything on the employer's domain
  • Mark the rest LinkedIn only
  • Hand the list back

What moves the number

  • The channel. This play buys personal email, because these are candidates, and a work inbox is the wrong place to approach one. A personal address costs more to find than a work one.
  • Coverage on personal email. The chain stops at the first provider that answers, and only that provider bills.
  • How many candidates survive the free filters. Everything dropped before the paid steps costs nothing.
  • 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.

A work inbox is the wrong place to ask someone to leave

A passive candidate is in a job and not looking. The easiest address to find for them is their work email, and it is the one address you must not use. Their employer owns that inbox. It can be monitored, archived and read by whoever inherits it, and a message about leaving sits there next to their manager's.

So this play looks for one thing: an address the person keeps whoever employs them. It walks the personal-email chain, three providers in a fixed order, and stops at the first hit. One rule sits over all three. If the address that comes back is on the domain of the person's current employer, it is not a personal email, whatever the provider called it. It is refused, it is not charged, and the row carries on down the chain.

Plenty of people have no findable personal address. For them the play does not reach for a work email and does not guess. The row is marked LinkedIn only, and the profile stays the way to reach them.

What you get back

Your candidate list with a personal email column. Each address carries the provider that supplied it and a deliverability verdict.

Rows without an address are split in two. LinkedIn only means nothing was found, or the only find was an employer address. Unmatchable means the row gave the providers nothing to work with.

Nothing is sent.

Variations worth knowing

Engineers. Public code commits often carry a personal address, and reading them costs nothing. See engineering sourcing on GitHub. Employer addresses found there are discarded, and a commit address is a follow-up to a LinkedIn approach, not the opener.

Straight from a talent map. A list built with a talent map of passive candidates comes with LinkedIn URLs, which is the input this chain matches best on.

A mixed list. Hiring managers get a work email, which is a different chain. Split them out, or use get emails and mobiles for a list you already have, which asks who is who and routes each group.

Where this goes wrong

No employer domain on the row. The employer rule compares the found address with the employer's web domain on the row. With no domain there is nothing to compare, and a work address can come back labelled as personal. The same happens if the row names a company the person has left.

No LinkedIn URL. The first provider in the chain works from a profile URL and nothing else. Rows with only a name and an employer skip it and start further down, so they are found less often.

Reading LinkedIn only as a failure. It is a normal result on any passive list. Coverage depends on the person, not on how hard anyone looks, and the profile link is a channel in its own right.

Questions

A work email is far easier to find. Why not use it?

Because the employer owns that inbox. It can be monitored, archived and handed to a successor, and a message about leaving sits in it next to the person's manager. An interested candidate will not reply from there, and an uninterested one may forward it. Work email is the right address when you are selling to a company. It is never the right address for asking someone to leave one.

What counts as a personal email here?

An address the person keeps whoever employs them: a webmail account or a domain of their own. The test the play applies is the other way round. Any address on the domain of the person's current employer is refused as personal, whatever the provider called it. That test needs the employer's domain on the row, which is why the agent asks for it first.

Do I pay for the people it cannot find?

Not on this chain. A row where no personal email is found costs nothing, and an address refused for being on the employer's domain is not charged either. The deliverability check is billed per address checked, whatever the verdict, and it only runs on addresses that were found. The pilot shows what each row was really charged.

What do I do with the rows marked LinkedIn only?

Approach them on LinkedIn. For many passive candidates a connection request and a short message is the better first move anyway, and the profile link is on the row for that. What the play will not do is fill the gap with a work address or a guessed one. If a run stopped early because your workspace reached its spending cap, those rows are marked as not attempted, which is different: run it again later.

Is it all right to write to a personal address the candidate never gave me?

That is your decision and your responsibility. A personal email is personal data, so under GDPR and similar rules you need a lawful basis for holding it, you should be able to say where you got it, and you need to honour the first no. The list records the source of every address, which helps if anyone asks. Nothing is sent by this play.