The Talent Sourcing Playbook: Role Brief to Ranked Shortlist
You will run a full sourcing cycle for one open role, from brief to ranked shortlist, sized against real funnel drop-off instead of gut feel.
Key takeaways
- In Refolk's index there are 36,895 senior Python engineers in the US but only 382 senior Rust engineers, a 96.6x gap that decides whether a brief is fillable at all.
- Inbound funnels convert at roughly 3% application-to-interview and about 0.5% application-to-hire, so a shortlist must be sized against drop-off, not decided by gut feel.
- Sourced candidates are reported about 5x more likely to be hired than inbound applicants because they are pre-qualified before first contact.
- US median time-to-fill is 44 days, but referral hires close in about 29 days and scheduling automation saves 10 to 15 days, so process design often beats adding sourcers.
- Concentration hides in the pool: about 44% of US senior Rust engineers sit at Meta, Apple, or Google, and about 40% of German senior Python engineers are in Berlin.
- LinkedIn enforces a roughly 13% InMail response floor over 100+ sends per 14 days, so high-volume generic outreach lowers reply rate and risks throttling.
This is the playbook for running one open role through a full sourcing cycle: from the intake brief to a ranked shortlist you hand a hiring manager. It is written for in-house recruiters, sourcers, talent leaders, and founders doing their own hiring. Follow it start to finish and you will not lose a week to the wrong pool.
Sourcing is the proactive work of finding and engaging potential candidates before a role is filled. It is distinct from recruiting, which evaluates and closes, and from talent acquisition, which is the strategic whole. This guide covers the sourcing arc end to end, with what to do at each stage, how long it takes, and what a good result looks like.
Why source at all instead of posting the role
Sourcing beats posting because the inbound funnel is brutal, not because it is trendy. When you post a role and wait, most of what arrives becomes screening work rather than hires.
The numbers are stark. Only about 0.5% of applicants now receive offers, and application-to-interview conversion sits around 3%. Against that, sourced candidates are reported about 5x more likely to be hired than inbound applicants, because a sourced person is pre-qualified against the brief before you ever contact them. Posting still works for high-supply, low-bar roles where volume is friendly. For anything scarce or senior, outbound is the mechanism that moves.
The market backdrop reinforces this. In February 2026 the US hires rate fell to 3.1% while roughly 6.9 million jobs stayed open, per BLS JOLTS. Openings without hires means competition for the same qualified people, and competition rewards the recruiter who reaches candidates first rather than waits for them.
The six-to-eight stages of a sourcing cycle
A sourcing cycle runs in order: define the role, size and map the pool, select channels, build a longlist, send personalised outreach, screen to a shortlist, then nurture and measure. Published frameworks converge on this shape, though they disagree on where sourcing ends.
The disagreement matters for scope. Some sources end the sourcer's job at handoff to the hiring manager. Others treat pipeline nurture and measurement as part of sourcing itself. Treat the first six stages as non-negotiable and the last two as owned scope you should claim if nobody else does, because an unmeasured cycle repeats its own mistakes.
The sourcing cycle, end to end
- Role briefAgreed written profile of skills, seniority, location, persona
- Pool sizingDefensible headcount plus target companies and regions
- Channel selectionRanked channel list with expected yield
- LonglistDeduped list sized to survive funnel drop-off
- OutreachPersonalised messages sent, replies logged
- ShortlistRanked candidates handed to the hiring manager
The single most common way to waste a week is to skip stages two and three. A recruiter who jumps straight from brief to outreach is guessing at supply and channel, and a wrong guess is not visible until the replies fail to arrive ten days later.
Size the pool before you write a single message
Pool sizing is the step that decides whether the brief is fillable at all, and it takes half a day. Estimate how many qualified people exist and where they cluster, then check the brief against that number before spending a cent on outreach.
The reason this comes second, not last, is the scarce-skill premium. In Refolk's index of professional profiles, the gap between common and rare skills spans roughly two orders of magnitude.
| Segment | People | Multiple vs smallest |
|---|---|---|
| Senior SWE, Python, US | 36,895 | 96.6x |
| Senior SWE, Python, Germany | 2,309 | 6.0x |
| Senior SWE, Rust, US | 382 | 1x |
The German Python pool is about 6.3% of the US Python pool, and the US Rust pool is about 1.04% of it. A "Senior Rust engineer, US" brief implies roughly 382 people. If the hiring manager assumes Python-scale supply, the role will blow past the 44-day median no matter how good the outreach is. Size first, then have the flex-the-brief conversation early rather than at week three.
Pool sizing also surfaces where supply concentrates, which is often more actionable than the headcount itself. About 40% of German senior Python engineers sit in Berlin, and about 44% of sampled US senior Rust engineers are at Meta, Apple, or Google. Those facts change your channel plan and your geography before you write a word of outreach.
Select channels by role type and expected yield
Channel selection is a ranking exercise: pick from LinkedIn, Boolean and X-ray search, referrals, and GitHub, and put an expected yield next to each. This takes a few hours and prevents the common error of defaulting to one channel for every role.
X-ray search means using a search engine to find profiles on a site by restricting results to that site's domain, which surfaces candidates you would miss inside a platform's own search. For engineering roles, the public GitHub graph is a primary X-ray source because it shows shipped code, not claimed skills. For most other roles, LinkedIn and referrals carry the load. The right mix depends on the role, and the fastest signal is where your pool actually concentrates.
Referrals deserve a permanent slot in the ranking because they are the fastest channel, not merely a cheap one. That speed advantage is measurable and it compounds across every req you run.
The procedure, stage by stage
Here is the full cycle as a procedure you can execute with your hands. Time estimates assume one open role and a sourcer plus a hiring manager. The done-state for each stage is the artifact that lets the next stage begin.
Run one role from brief to shortlist
- Run intake and write the role briefSit with the hiring manager and document must-have skills, seniority, location, and a candidate persona. Done is a written, agreed profile, in one to three days.
- Market map and size the poolEstimate how many qualified people exist and where they cluster before sourcing anyone. Done is a defensible headcount plus target companies and regions, in half a day to a day.
- Select channels and rank by yieldPick from LinkedIn, Boolean and X-ray, referrals, and GitHub by role type. Done is a ranked channel list with expected yield, in a few hours.
- Search and build the longlistRun Boolean and X-ray queries, then dedupe against active and known profiles. Done is a longlist sized to survive funnel drop-off, in one to three days.
- Send personalised outreachWrite short targeted messages under 400 characters across multiple channels. Done is replies logged and a response rate tracked, over one to two weeks.
- Screen to a ranked shortlistQualify responders against the brief and rank them. Done is a ranked shortlist handed to the hiring manager, in three to five days.
- Nurture the pipelinePut not-yet candidates into a CRM workflow for future reqs. Done is a warm pipeline you can revisit, maintained continuously.
- Measure and fix one bottleneckTrack response rate, sourced-to-hire, and time-to-fill each week. Done is one bottleneck identified and fixed per cycle.
Size the longlist against the funnel, not gut feel
A shortlist is not a number you pick; it is the output of a funnel you work backward through. There is no single published standard for shortlist size, so size the longlist against expected drop-off at each stage.
Use inbound conversion as your reference floor, because outbound-sourced candidates convert better but not infinitely so.
| Stage | Rate |
|---|---|
| Application to interview | ~3% (Jobvite 12-mo: 8.4%) |
| Screen to interview | 37% |
| Interview to offer | 47.5% |
| Offer acceptance | ~69% |
| Overall application to hire | ~0.5 to 0.6% |
Read this as a warning against the ten-person longlist. At a 3% inbound-to-interview rate, ten names rarely yield anything you could call a shortlist. Calling three CVs a shortlist is a false positive that hides the real problem: the longlist was too thin for the funnel it had to survive. Sourced candidates lift these rates, but the discipline is the same. Decide how many interviews you need, apply your expected reply and qualified-reply rates, and build the longlist to hit that number.
Inbound funnel, widest to narrowest
- 100%Applications
Full inbound volume
- 3%Interview
Jobvite 12-mo figure is 8.4%
- 0.5%Offer
Overall application-to-offer
This is exactly where a search that understands the brief saves days. Instead of harvesting hundreds of loosely matched profiles and screening the noise out, you want a longlist that already reflects the persona.
Refolk turns a plain-English brief into that longlist directly, across public LinkedIn records, the public GitHub graph, and the open web, which is the friction the funnel math just exposed. Where a role is scarce or concentrated, a query that respects the concentration - "not currently at Meta, Apple, or Google", for instance - reaches the reachable candidates instead of the three logos everyone else is emailing.
Write outreach that clears the response floor
Outreach performance is engineered by the platform, so tight targeting beats volume by design. LinkedIn's reported average InMail response rate is about 13%, and that figure is also a performance floor over 100+ InMails per 14-day window.
The mechanics reward restraint. Personalised InMails perform about 15% better than bulk, and recommended or Open to Work candidates are about 35% more likely to respond. LinkedIn refunds one InMail credit for every reply within 90 days, so precise sending is literally cheaper. Cold email response averages 3.43% across sectors, well below a well-targeted InMail, which is another reason to invest in the message rather than the mailing list.
More InMails is self-defeating: generic volume lowers your reply rate and risks throttling at the same time.
Keep messages under 400 characters, name the specific reason you reached out, and work more than one channel. Track qualified-reply rate, not raw reply rate, because a "no thanks" counts as a response and a healthy-looking 20% can still yield zero interested candidates.
Hi [first name], I came across your work on [specific project or skill] and it lines up closely with a [role] I'm sourcing for at [company]. [One sentence on why the role fits their trajectory.] Worth a 15-minute call to see if it's interesting? No pressure either way. [your name]
Swap the bracketed fields; keep it under 400 characters and lead with the specific reason you reached out.
How this goes wrong: failure modes and false positives
Most sourcing failures are false positives - things that look like progress but are not. Each has a check that catches it before it costs you a week.
- Brief looks fillable but the pool is tiny. A "Senior Rust engineer, US" brief implies about 382 people in Refolk's index, roughly 1% of the Python pool. The false positive is a hiring manager assuming Python-scale supply. Check by sizing the pool in Step 2 before sourcing.
- Response rate looks healthy but is negative replies. LinkedIn counts "no thanks" as a response, so a 20% rate can yield zero interested candidates. Check qualified-reply rate, not raw reply rate.
- Shortlist too short for the funnel. At about 3% inbound-to-interview, a ten-person longlist rarely produces a shortlist. The false positive is calling three CVs a shortlist. Size against the funnel table above.
- Bulk InMail triggers throttling. Falling under LinkedIn's 13% floor over 100+ InMails per 14 days can restrict sending. The false positive is "more volume equals more hires." Fix personalisation and targeting first.
- Concentration blindness. About 44% of sampled US senior Rust engineers sit at Meta, Apple, or Google. A "diverse pipeline" that is really three logos is a false positive. Check employer spread across the longlist.
- Time-to-fill blamed on sourcing when scheduling is the drag. Automating scheduling can cut 10 to 15 days. The false positive is adding sourcers to fix a coordination problem. Instrument each stage separately.
- Geo mismatch. About 40% of German senior Python talent is in Berlin. A nationwide search that ignores this wastes outreach on thin regions. Check regional density before channel spend.
The throughline is that raw activity metrics lie. Volume, reply rate, and headcount all look like progress while pointing you at the wrong lever. The instrumented version of each - qualified replies, sourced-to-hire, per-stage time - tells you the truth.
Where the real time savings hide
The fastest lever is often not sourcing at all. Referral hires close about 15 days faster than the all-channel median, and scheduling automation saves 10 to 15 days, so process design frequently moves time-to-fill more than adding sourcers does.
| Channel | Days to fill |
|---|---|
| Employee referral | ~29 |
| Job board | ~39 |
| All-channel median | 44 |
| Career-site applicant | ~55 |
Set the 44-day US median as your baseline and read every channel against it. A referral pipeline that closes in 29 days is not just cheaper, it is a two-week head start on the median. If your cycles run long, instrument the stages before you conclude sourcing is the problem, because a coordination bottleneck between screen and interview is invisible in a top-line time-to-fill number.
For context on interview load, expect roughly 20 interviews per hire, a 3:1 interview-to-offer ratio, and about 82% offer acceptance per SHRM's 2025 data. That interview volume is why a thin longlist fails silently: the funnel needs feeding at the top.
Keep the playbook current and hand it off clean
Finish every cycle by updating two things: the pool sizes and the conversion rates you sourced against. Both drift, and a playbook that runs on stale numbers reintroduces the failure modes you just avoided.
Benchmarks like the 44-day median and the 3% interview conversion are re-published on a cadence, so re-check them each quarter rather than memorising a value. Pool sizes shift with the market, so re-run your sizing query at the start of each new req for the same role family instead of trusting last quarter's count. The mechanism matters more than the number: know that scarce skills sit two orders of magnitude below common ones, and re-measure the exact gap when it counts.
Before you call the cycle done
- The role brief is written, agreed, and signed off by the hiring manager
- The pool was sized before outreach, and the brief was flexed if supply was thin
- Channels are ranked with an expected yield, not defaulted to one platform
- The longlist is sized to survive funnel drop-off, not a round number
- Outreach messages are under 400 characters and personalised to a specific signal
- Qualified-reply rate is tracked separately from raw reply rate
- The shortlist is ranked against the brief before handoff
- Not-yet candidates are in a CRM nurture workflow for future reqs
- Per-stage time is instrumented, and one bottleneck is identified for the next cycle
Hand the shortlist off ranked, with a one-line reason for each candidate's position, and attach the pool size and channel yields you observed. That last artifact is what turns a single sourcing cycle into a reusable playbook: the next person who runs this role family starts from your numbers, not from zero.
Questions practitioners ask
How many people should be on a candidate shortlist?
There is no single published standard, so size it against funnel drop-off rather than a fixed number. Inbound funnels convert at roughly 3% application-to-interview and about 0.5% application-to-hire. Sourced candidates convert far better because they are pre-qualified, but you still need enough qualified responders that a handful survive screening. Work backward from the interviews you need and the reply rate you expect, then build the longlist to match.
How long should a full sourcing cycle take?
US median time-to-fill is 44 days per SHRM's 2025 benchmarking, up from 33 days in 2021. Referral hires close faster at about 29 days, job-board hires around 39, and career-site applicants around 55. A sourcing cycle inside that window typically runs one to three days of intake, up to a day of pool sizing, one to three days of longlist building, and one to two weeks of outreach before a shortlist lands.
Is sourcing better than posting a job?
Yes, and the reason is the funnel, not fashion. Only about 0.5% of applicants receive offers and roughly 3% reach an interview, so inbound volume mostly manufactures screening work. Sourced candidates are reported about 5x more likely to be hired because they are qualified before first contact. Posting still fills easy, high-supply roles, but it is a poor fit for scarce skills.
Why is my LinkedIn InMail response rate low?
Volume is usually the culprit. LinkedIn's reported average InMail response rate is about 13%, which is also a performance floor over 100+ InMails per 14-day window, and falling under it can restrict your sending. Personalised InMails perform about 15% better than bulk, and recommended or Open to Work candidates are about 35% more likely to respond. Tighten targeting and personalise before you add volume.
How do I size a candidate pool before I start sourcing?
Estimate how many qualified people exist and where they sit, then check the brief against that number. For reference, Refolk's index holds 36,895 US senior Python engineers but only 382 US senior Rust engineers. A brief that assumes Python-scale supply for a Rust role will blow past the 44-day median. Size the pool in Step 2, before any outreach spend, so you can flex the brief early if it is unrealistic.