BlogHow-to

How to automate candidate sourcing into your ATS

From LinkedIn search to loaded pipeline: enrich, dedupe, and load candidates into your ATS, with every outreach nudge drafted for your approval.

You found twenty good candidates before lunch. Getting them into the ATS with outreach drafted will take until tonight, and that second half was never the part you were hired to be good at.

Sourcing is judgment: reading a profile and seeing the fit nobody else saw. Everything after that judgment is clerical. Copy the name, switch tabs, paste, hunt for an email, attach the profile URL, set the stage, repeat twenty times, then write twenty messages that must not read like a mail merge.

The clerical mile

The lost afternoons live in the mile between found them and loaded, staged, and nudged. And the mile has potholes: the profile that will not show contact details, the duplicate already sitting in the system under a maiden name, the stage nobody moved after the phone screen.

Skip the hygiene and next week's sourcing starts from a lie. The ATS never updates itself, and every stale row costs a real conversation later.

Then there is the outreach itself. A nudge that says impressive background converts nobody. The one that mentions the actual project, the specific unit they ran, the talk they gave, gets replies, and writing twenty of those by hand is exactly the afternoon you do not have.

What the handoff looks like

You point Agent FM at the shortlist and the job. It opens each profile in your own logins, enriches what it can verify, loads every candidate into the right req with the profile URL attached, and drafts the nudges, each referencing something real from the person's work. The drafts wait for your OK. The pipeline fills, and your judgment stays the bottleneck it is supposed to be.

The quiet win is dedupe. Because it checks what already exists before loading, the same candidate stops appearing under three spellings, and nobody gets the awkward second first-touch.

This is the workhorse ask. Run it whenever a sourcing session ends; what comes back is a loaded pipeline, drafted nudges, and an honest count of what did not load cleanly. It also fixes the half-loaded problem: candidates who exist in the sheet but never made it to the req, or made it twice.

Import the [count, e.g. 20] shortlisted [role, e.g. ICU nurse] candidates from [where, e.g. the Shortlist tab of the sourcing sheet] into Greenhouse. Open each LinkedIn profile, enrich emails and phone numbers where you can find them, and load every candidate into the right Greenhouse job with the profile URL attached. Draft a short nudge for anyone who never answered our first message, but send nothing until I approve. Tell me how many loaded cleanly and flag any profiles you couldn't read.
Use caseImport my LinkedIn shortlist into Greenhouse and draft nudgesImport the 20 shortlisted [role] candidates from LinkedIn into Greenhouse and draft nudges.View →

Weekly shortlists are the recurring version of the same job. This ask sweeps the boards, ranks the fits, and dedupes against everything you have already seen, so Monday starts with fresh names instead of a fresh search. Reposts and gone-quiet postings get noted too, which is its own market signal.

Sweep LinkedIn and Indeed for [role, e.g. senior payroll specialist] candidates who are open to work or recently active, in [market, e.g. Phoenix, hybrid OK]. Shortlist the fits into the sourcing sheet: name, current title, years in role, comp signal if visible, and a one line fit note. Rank them and flag your top three with the evidence. Dedupe against past weeks. No outreach yet. Tell me the final count and flag profiles you couldn't read.
Use caseSweep the job boards and build this week's shortlistSweep the job boards for [role] and build a shortlist with comp and fit notes.View →

For technical roles, titles lie and work does not. This ask sources from the work itself and brings back evidence you can click, which changes the quality of every conversation that follows. It is slower per candidate and much richer per conversation, the right trade for hard roles.

Source [count, e.g. 15] engineers for [role, e.g. a senior Rails contractor] from their actual work. Start on GitHub with contributors to [ecosystem, e.g. active Rails and Sidekiq repos], then find their portfolio sites and LinkedIn. For each: name, links to two pieces of real work, what the work shows, and location and openness signals if visible. Rank the five strongest with a line of reasoning. No outreach, sourcing only. Tell me the final count and flag anyone whose identity you couldn't connect across sites.
Use caseSource engineers from their actual work, not just titlesSource [count] engineers for [role] from GitHub and portfolio sites, with links to real work.View →

Keeping the pipeline honest

Nothing here messages a candidate without you. Sourcing asks are look-and-load only, and every nudge is a draft until you approve the batch. You can watch it work through the profiles live, and the report tells you what it could not read or verify instead of papering over it. If you can audit the pipeline, you can trust it.

The Monday routine

Sourcing compounds when it is weekly, and weekly is exactly the cadence that collapses under a busy desk. Set the board sweep to Routine · Mondays 9am and the ranked shortlist is waiting when you sit down: you spend Monday judging candidates instead of finding them. Miss a Monday by hand and the market moved without you; the routine does not miss. When a finalist emerges, the same handoff can verify the background before the offer drafts, and the whole loop, sweep, judge, load, nudge, verify, becomes a weekly cadence with your judgment sitting exactly where it earns the fee.

See also: How to automate research and vetting and Routines that run themselves.

The judgment is what you were hired for. Get early access on macOS or Windows; when access opens, put the clerical mile first in line.

Related