Published guide

Cold email templates for staffing agencies

On this page

Most staffing cold emails die in the first line

It's 11 p.m. A hiring manager clears their inbox before bed. Your email is in there with forty others.

They read the first line. That's all you get.

Most staffing cold emails open the same way: "Hi, I'm [name] with [agency]. We specialize in placing top talent in..." The reader knows the rest before they finish it. It's about you. Delete.

You already know this move. It's how you clear the vendor pitches out of your own inbox at 11 p.m. - the ones about you, that you never asked for. Your prospect does the exact same thing to you.

Your email might be true. You might be excellent at your job. Doesn't matter. The first line was about your agency, and the reader has never met your agency and doesn't care about it yet. You didn't earn the second line.

This guide fixes the first line. It's built on one rule, then the templates that follow it - filled all the way in, ready to adapt, nothing held back.

One thing before we start: these are for winning clients, not sourcing candidates. Different job, different email.

The one rule: open with their hiring, not your agency

Open with their hiring signal - the surge, the role, the timing - and earn the right to introduce yourself second.

That's the whole rule.

A hiring signal is proof that something changed at their company. Three engineering roles posted in a month when they usually post one. Six warehouse openings in five days. A nursing req that's been reposted three times since spring. You didn't guess - they told you, in public, by posting.

Open with that signal and you do two things at once. You prove you did your homework. And you're talking about their problem, which is the only subject they were ever going to read at 11 p.m.

The pitch - who you are, what you place - comes second. One sentence. After you've earned it.

Every template below keeps that order. Signal first. You second.

Template 1 - the hiring surge, taken apart line by line

The most common signal is a cluster: a company posts several roles at once, well above its own normal. The pattern can indicate approved headcount before the team is built. Here's one filled all the way in. Sample company - the format is real, the employer is made up.

SAMPLE
To: Sarah W., Head of Talent - Cobalt Software
Subject: 3 engineering reqs at Cobalt

Hi Sarah - saw the three senior engineering reqs Cobalt posted
this month. That's about triple your usual pace, and a cluster
like that can signal a roadmap got funded before the team was
in place. I place senior engineers in Austin - that's the whole
desk, nothing else. Worth 15 minutes this week to take one of
those off your plate?

- [Your name], [Agency]

Four parts. That's the whole shape:

  • The signal: "saw the three senior engineering reqs Cobalt posted this month." Specific and checkable. She can see you actually looked.
  • The read: "triple your usual pace... a roadmap got funded before the team was in place." The line a generalist can't write. It tells her you understand what a cluster means, not just that roles exist.
  • The offer: "I place senior engineers in Austin - that's the whole desk." One lane. Narrow beats broad. "The whole desk" says specialist, not body shop.
  • The ask: "Worth 15 minutes this week?" One word answers it. No calendar link, no "hop on a call," no pressure.

Under 70 words. Cold email is not an essay. Here's the same email as a reusable template:

Subject: [number] [role] reqs at [company]

Hi [first name] - saw the [number] [role] roles [company] posted
[this month / this week]. That's well above your usual pace, and a
cluster like that can signal [the read: a project got funded /
a team is scaling / someone senior left and the backfills landed].
I place [your niche] in [your metro] - that's the whole desk.
Worth 15 minutes this week to take one off your plate?

- [Your name], [Agency]

The only hard part is the read - the one line that shows you know the vertical. That's not fill-in-the-blank. If you don't actually know what a cluster means in your niche, the template won't save you.

We do the finding - read the surge, and write the opener. Both, every Monday, on one lane. Finding the signal is the slow part; the opener is the last step - the same one you just took apart. If you'd rather see it done on your own lane than run the hours yourself, the three-company sample is free - hand-built, no card, no call. Get my free sample pack →

Template 2 - the role that won't fill

Use this when a single role has been reposted, or has sat open 60 to 90 days. The story here isn't budget - it's pain. The internal team is worn down and the hiring manager is getting asked why it's still open.

SAMPLE
To: Dana R., Director of Nursing - Meridian Health System
Subject: the ICU RN role you reposted

Hi Dana - I noticed the ICU RN opening at Meridian has been
reposted a couple of times since the spring. A role that keeps
coming back can signal the direct channel has stalled, not
that the need went away. I work one desk - nurse staffing in the
metro - and ICU is squarely in it. If it's still open, I can send
two or three candidates this week. Want me to?

- [Your name], [Agency]

Why it works: you named a specific role and read the repost correctly - a stalled search, not a solved one. The ask ("want me to?") is smaller than a meeting. You're offering to do work, not to talk.

Template 3 - the niche-specialist introduction

Use this when the signal is strong and your whole edge is that you only do their thing. Narrowness is the pitch.

SAMPLE
To: Marcus T., Ops Manager - Northgate Logistics
Subject: your 6 warehouse openings

Hi Marcus - six warehouse and forklift roles in five days is a lot
of headcount to land at once, especially if a peak or a new
contract is driving it. I don't do "all industries." I do light
industrial in this metro, and volume-hire weeks like yours are the
whole reason the desk exists. I can have pre-screened people in
front of you by the end of the week. Worth a quick call?

- [Your name], [Agency]

No claim you can't back - no "we fill 90% of roles," no invented number. Just the signal, the specialty, and an offer to move fast. Specificity does the persuading. It doesn't need a stat.

The template nobody writes: when you have no track record

Every roundup assumes you've got placements to name. New agency owners and independent recruiters don't. So they either lie a little, or they freeze.

Neither is needed. The signal is the credibility. Being new is not a secret you have to keep - you can say it plainly.

SAMPLE
To: [hiring manager] - Cascade Freight
Subject: your reposted shift-lead role

Hi [first name] - the shift-lead role at Cascade has been up for a
while now, so I'll be straight with you: I'm building a new desk
focused only on light-industrial roles in this metro, and yours is
exactly the kind I go deep on. I'd rather earn one placement than
pitch you a track record I don't have yet. If the role's still
open, let me send you two people this week - no retainer, no
paperwork until one of them works out.

- [Your name], [Agency]

Honesty is not a weakness here. It's the differentiator. The buyer has been pitched by ten agencies claiming to be the best; the one who says "I'm new, judge me on the work" stands out because nobody else will risk it.

Follow-ups that don't beg

Most people never follow up. The few who do usually write "just bumping this to the top of your inbox." That's a beg. It adds nothing - and it gives them a reason to hit delete.

A good follow-up adds a new reason to reply. It carries information, not guilt.

Watch it work on one thread. Sarah at Cobalt never answered the first email up top. So you don't repeat yourself - you hand her something she didn't have before.

Follow-up 1 - add something (a few days later):

SAMPLE
Hi Sarah - one more thing on those three engineering reqs. I'm
already talking to a senior backend engineer in Austin who left a
funded startup last month and is quietly looking - right at the
level you're hiring. Happy to send their background either way.
Still worth 15 minutes this week?

That's the whole move. No "just checking in." A real candidate, already in motion - a reason to reply that wasn't in the first email. Here's the reusable version:

Hi [first name] - one more thing on the [role] roles: [a new,
useful detail - a candidate you're already talking to, a market
note about pay in that niche, a second signal you spotted]. Happy
to share what I'm seeing either way. Still worth 15 minutes?

The bracket is the only hard part - and if you don't have a real new detail yet, don't send. Wait until you do.

Follow-up 2 - the breakup (a week or so after that):

Sarah still hasn't replied. So you stop. One last email, and it lets her off the hook:

SAMPLE
Hi Sarah - I'll stop here so I'm not clutter in your inbox. If the
engineering search stalls or the next cluster lands, keep my name -
senior engineers in Austin is all I do. Wishing you a fast fill
either way.

- [Your name]

The reusable version:

Hi [first name] - I'll stop here so I'm not clutter in your inbox.
If the [role] search gets stuck or comes back around, keep my
name - [your niche] in [your metro] is all I do. Wishing you a
fast fill either way.

- [Your name]

The breakup email does two quiet things. It respects their time, which makes you the rare vendor who isn't a pest. And it can earn a reply, because it removes the pressure - people answer the email that lets them off the hook.

Two follow-ups is plenty. If both go silent, it's a no for now. The signal was real; the timing wasn't. Email the same person again the next time their hiring spikes.

Subject lines: short, specific, about them

The subject line is the first line before the first line. Same rule: about them, not you.

Keep it short - three to six words. Make it something only their company would see and think "that's about us." No hype, no ALL CAPS, no fake "Re:" to trick the open.

Real examples, tied to a signal:

  • 3 engineering reqs at Cobalt
  • your 6 warehouse openings
  • the ICU RN role you reposted
  • your quality-engineer search - still open?
  • Cascade's shift-lead role, reposted again
  • Cobalt's new eng-manager post

Each one names the thing they did. None of them says "staffing," "recruiting," or your agency name. Your name in the subject line is a reason to delete. Their hiring is a reason to open.

What never to put in a staffing cold email

Four things get you deleted or marked as spam, no matter how good the rest is.

  • Fake familiarity. "Great connecting last week." "As we discussed." You didn't, and they know it. One lie in line one poisons the whole email.
  • A fake "Re:" subject. Pretending a cold email is a reply to an existing thread. It's a cheap trick, buyers spot it, and it torches your credibility on contact.
  • Invented stats. "We boost fill rates 40%." "We cut your time-to-fill in half." You can't back it, so don't write it. A number you can't defend is worse than no number.
  • Claims you can't stand behind. "The best staffing firm in the city." "Top talent, guaranteed." Empty. The signal-plus-specialty opener beats every superlative because it's checkable and theirs.

The rule under all four: write only what's true and only what's about them. That's not just ethics. It's what actually works, because the buyer's whole job at 11 p.m. is deleting the emails that smell fake.

Verify the email before you send it

You can write the best cold email of your life and still lose if it bounces.

A guessed address that bounces hurts your sending domain. Enough bounces and your next hundred emails land in spam - the good ones too. So the last step is not optional: confirm the address is real, at the mail-server level, before it goes out.

The honest rule, the same one we hold ourselves to: if you can't verify it, don't send it. A found name with a guessed email is not ready. Find the real address, or wait until you can.

What to measure, and when to rewrite

Ignore open rates. They're unreliable and they don't pay you. Watch three things instead: replies, positive replies, and meetings booked. Those are real.

Give a template a fair run before you judge it - a handful of sends, not two. If the signal was strong and specific and you still get nothing back, rewrite the read, not the pitch. The read is almost always what's weak.

One honest note: you won't find a "this template gets X-percent replies" claim anywhere in this guide, because we don't have a number that's true for your lane - and neither does anyone selling you one. Track your own baseline. That's the only benchmark that means anything.

The part every template skips: when you have no signal, don't send

Here's the thing most template roundups won't tell you.

If a company hasn't shown a signal - no surge, no reposted role, no cluster, nothing that changed - there's no first line to write. So the honest move is to not send. A cold email with no signal is just "hi, I'm an agency," and you already know where that lands.

Every template here needs a signal to open with. Finding the signal is the five hours - reading the postings, catching the spike against a company's own normal, ruling out the ghosts and the "no agencies" walls, finding the real decision-maker, verifying the email won't bounce. The writing is the last part. The finding is the rest.

That's the exact work we do every week. Every Monday, Monday Pulse runs those hours on one lane and hands you 3-5 companies whose hiring just spiked - each with the decision-maker's name and a verified email. The pack arrives with the signal and the opener already written.

One thing to notice before you go: the openers you took apart up top, line by line, are the same ones the pack ships with. When the signal shows up already written, that writing is the thing you're getting.

So take every template here - they're yours, no gate, nothing held back. If you've got the hours each week to find the signals yourself, run them. If you'd rather the signal and the opener showed up already done, the three-company sample is free - your lane, no card, no call. It lands with the next Monday run.

Get my free sample pack →