Industry & Specialized

Source and screen candidates

Push back on the vague JD, go find people who aren't applying, and reach out to each one like you actually read their background, not a keyword-matched resume screen.

Copy as Markdown to paste into an AI, so it understands your context faster

Copy this prompt to start your first task:

We're hiring a backend engineer. Score incoming resumes against the JD, sort them into recommended, backup, and pass lists with reasoning for each, and draft a few targeted interview questions for the top candidates so I can move fast on scheduling.
Live preview

What is this workflow?

"Source and screen candidates" is a recurring headhunting job: instead of taking the JD at face value, the workflow starts by pushing back on vague terms like "senior" and asking what they actually mean for this team. It then searches for passive candidates who fit that real bar, not just people who already applied, and drafts a personalized outreach message for each one, referencing something specific from their actual background rather than a mail-merge template. The result is a shortlist with reasoning attached, recalibrated whenever the bar turns out to be wrong, on a pipeline that keeps moving on its own.

This screens and ranks. It doesn't reject on your behalf, and it doesn't send outreach without you seeing it first. Every "no" it proposes should get a human glance before a candidate hears anything, both because judgment calls this close deserve a second read and because hiring decisions carry real legal exposure if the criteria weren't applied consistently. Treat the ranked list and the drafted outreach as strong first drafts, not an autopilot.

How to use this workflow

Hire an HR teammate, then write the bio to match this job, not the generic template

Open AI Teammates in the sidebar, click Hire AI Teammate, and pick the HR Manager template. The template's default bio is generic HR admin. Replace it on the Profile step so the teammate starts out already knowing this is a sourcing role, not just ticket triage:

You're our technical recruiter. Before sourcing, push back on vague JD terms like 'senior': ask what they actually mean for this team. Search for passive candidates who fit the real bar, not just inbound applicants, and personalize outreach to each person's actual background, never a generic template. Hold every outreach draft and rejection for my review before anything goes out. Screen inbound applicants against the same bar as sourced candidates.

Confirm the name and click Create teammate. They land in their own channel, which is where you'll send everything below. More on hiring →

Live preview

Connect where candidates actually are

LinkedIn is where the candidates are; a shared sheet or Notion holds the pipeline itself. Connect your tools →

Worth understanding before relying on it: the native LinkedIn connector under Integrations signs the teammate in as your own account, mainly for identity and, eventually, posting as you. It carries no scope for searching, browsing other people's profiles, or messaging. Candidate search and outreach run through something else entirely, a real cloud browser session the teammate drives directly, the same way a person clicking around LinkedIn would.

Live preview

When LinkedIn asks for a human, hand off the browser session

That browser session hits the same login wall, and often the same two-factor prompt, a person would. The teammate can't enter a 2FA code on its own, so instead of stalling it shares the live session link in chat and asks you to sign in there yourself.

Search LinkedIn for [role] who've actually [done the specific thing that matters for this job], not just held the title.
Live preview

This is a shared session, not an isolated hand-off: while that link is open, the teammate has the same access to the browser it had before you logged in, same window, not a copy. It never types your password or 2FA code itself, that part really is you, typing into your own browser tab, but don't leave the session sitting open longer than the login takes.

Don't source against the JD as written: get it to push back first

A JD handed down from a hiring manager is almost always generic. Pasting it in and asking for candidates just launders that vagueness into a search. Ask for the gaps instead:

We're opening a [role] role. Here's the JD [attached]. Before you source anyone, tell me what's underspecified in it that would actually change who you search for.
Live preview

Search for people who aren't applying, and write to them like you read their profile

With the real bar in hand, the actual headhunting step is finding passive candidates and drafting outreach specific enough that it doesn't read as a template:

Good questions — [answers to what you flagged, e.g. what "senior" actually means, what the key skill really requires, whether remote is genuinely open]. Search LinkedIn for 10-15 people who fit that, not just applicants. For each one, draft a short outreach message that references something specific from their actual background, not a generic 'impressive profile' opener.
Live preview

Recalibrate when the bar turns out wrong

The bar from the intake step is still a guess until real candidates test it. When a hiring manager pushes back (too many candidates passing, or the "senior" bar is filtering out people who'd actually be fine), say so directly instead of quietly living with a pipeline that doesn't match what the team needs:

The hiring manager says our last [N] "strong fits" weren't right for what she actually needs — [what was off, e.g. too junior, wrong specialization]. She wants someone who [the real bar]. Re-screen the current pipeline against that bar, and tell me who moves and who drops.
Live preview

Keep the pipeline moving

The daily summary lands in #hiring, and a teammate can only post in channels it's a member of — add this teammate to #hiring first. Then open Automations in the sidebar and click Create via Chat. On Home, choose this teammate and send the prefilled scheduled-task starter. When the interview asks what to schedule, use the recurring job below. This is where inbound applicants get folded in, screened against the same bar the outreach candidates were, not a separate lower bar just because they came to you first:

Every morning, check for new inbound applicants and outreach replies. Screen new applicants against the same bar we set for this role; don't hold them to a looser standard just because they applied instead of being sourced. Update the pipeline sheet and post a one-line summary to #hiring: who's new, who moved stages, who needs a reply from me.
Live preview

What You Need to Know

This flow pauses for your review before anything leaves Helio: sending outreach and proposing a rejection are exactly the sensitive, hard-to-undo actions that wait for sign-off — the teammate holds every outreach draft and rejection for you to approve before a candidate sees or hears anything. Screening, ranking, and drafting run on their own. See Control for how approval works more broadly.

Tips for Better Results

TipDescription
Push back before sourcingVague JD terms like "senior" launder ambiguity into the search. Ask what they actually mean for this team before candidates get sourced.
Search for passive candidates, not just inboundA ranked pile of applicants isn't the same as finding people who fit the real bar but aren't applying.
Personalize every outreach messageReference the one specific thing in a candidate's actual background that made them a match — not a mail-merge template.
Recalibrate when the bar turns out wrongIf a hiring manager flags the bar as off, re-screen the current pipeline against the corrected bar instead of quietly living with a mismatch.

Common Questions

Ready to try this with your own AI teammate?
Start free with 1,000 credits — no credit card required.
Try Helio →

On this page