The message is the bottleneck, not the list

Most recruiters who struggle to source good candidates don't actually have a finding problem. After a decent Boolean search, they're staring at thirty strong, relevant leads. The problem is the next step: turning a name on a screen into a reply in an inbox. And that step lives or dies on a single cold message that a busy, employed, skeptical person decides — in about four seconds — to answer or delete.

Passive candidates are not waiting to be rescued from their jobs. They get a steady drip of recruiter spam: copy-pasted, role-irrelevant, obviously sent to a hundred people at once. Your message lands in that pile. The good news is that the bar is so low that a little genuine effort stands out dramatically. This is a practical guide to writing outreach that earns a response, with a reusable structure underneath it.

Why most outreach gets deleted

Before the template, understand what you're competing against. The default recruiter message fails for predictable reasons:

  • It's obviously mass-sent. "Hi {FirstName}, I came across your impressive profile" tells the reader you came across nothing. No specific detail means no real attention was paid, so why should they pay any back?
  • It leads with the company, not the person. Three paragraphs about how exciting the startup is, before a single word about why this candidate. People skim for "what's in it for me," don't find it, and bounce.
  • It asks for too much, too soon. "Do you have 30 minutes for a call this week?" to a stranger who has no idea if the role is even relevant is a big ask attached to zero context.
  • It hides the actual details. No salary range, no real sense of the role, no location/remote answer — just vague excitement and a calendar link. Smart candidates have learned that vagueness usually hides bad news.

Fix those four things and you've already beaten most of the field.

The five-part structure that works

A strong outreach email is short — under 150 words — and does five things in order:

  1. A specific, true reason you're reaching out. Not flattery, a reason. "I saw you led the migration to Go at [their company] and have been at it for three years" proves you read something real. One concrete detail tied to this person does more than a paragraph of adjectives.
  2. The role in one honest line. What it is, where (remote/hybrid/onsite), and the level. Respect the reader's time by letting them disqualify themselves fast.
  3. The hook — why them, why now. What about their background makes this a genuine fit, and what's actually interesting about the opportunity from their angle (scope, problem, growth), not yours.
  4. The number, or a range. Including a compensation range up front is the single biggest trust signal you can send. It says you're serious, you're not wasting their time, and you have nothing to hide. If you've done the work to build real compensation bands, use them here.
  5. A small, easy ask. Not "30 minutes." Try "Worth a quick chat, or should I keep you in mind for later?" A low-commitment question is far easier to answer than a meeting request — and a "later" is a real, warm lead.

A template you can actually adapt

Here is the structure as a worked example for a backend role. Treat it as a skeleton to personalize, never as a copy-paste:

Subject: Your Go work at [Company] — backend role at [Your Company]?

Hi [Name] — I came across the talk you gave on cutting your API latency and the way your team handled the Postgres migration. That's close to a problem we're hiring for.

We're a [one-line description] team hiring a senior backend engineer, remote within the US, focused on [the actual interesting problem]. The band is [range], and the stack leans Go and Postgres, which is why your background jumped out.

Not asking for a call yet — just: is this the kind of thing you'd want to hear more about, or should I keep you in mind down the road?

— [Your name]

Notice what it does and doesn't do. It proves attention, states the role plainly, names a number, and asks something a busy person can answer in one line. It does not gush, hide details, or demand a meeting from a stranger.

Follow up like a human, then stop

Most replies come from the second message, not the first — people are busy, not uninterested. One short, polite follow-up a week later ("No worries if the timing's off — wanted to make sure this didn't get buried") is worth sending. A third is usually noise. Two thoughtful touches respect the person; a five-message sequence to someone who never responded is the spammy behavior you were trying to avoid.

When someone does reply with interest, the conversation should move quickly into a real, structured process — a phone screen and then a consistent, structured interview, the same as any applicant. Sourcing changes where a candidate comes from; it should never change how fairly they're evaluated once they're in the door. And every person who replies — yes, no, or "not now" — should land in your pipeline so a good "not now" lead in March is a warm conversation in September instead of a name you've forgotten.

The habits that compound

  • Personalize the first two lines, templatize the rest. The opening detail and the hook must be specific to the person; the role description and the ask can be reused. That's how you stay fast without being generic.
  • Always include a range. It costs you nothing and buys enormous credibility. Candidates who are out of band self-select out, saving everyone time.
  • Measure reply rate, not send volume. Sending 200 generic messages to get five replies is worse, and more damaging to your brand, than sending 40 sharp ones to get eight.
  • Save your winners. A subject line and structure that pulled replies for one role is most of the work for the next. Build a personal library by role family, the same way you'd save your best Boolean strings.

Great outreach isn't about clever copywriting. It's about proving, in a few honest sentences, that you actually looked at the person and aren't going to waste their time. Do that consistently and the candidates everyone else can't reach start replying to you.