Paste a job description, or just a title and a company, and get back a ranked, scored list of real candidates with business emails and cell numbers found for you automatically, delivered into Candidates and OS Text without another click. This is how to use it well.
The old way: read the JD, guess at search strings, run a dozen LinkedIn searches, open profiles one by one, keep a spreadsheet on the side. An afternoon per role, and the quality depends on your search strings.
JD Sourcing does it in minutes. Give it the role. It reads the JD like a researcher, builds the ideal-candidate profile, runs searches you would not have thought to run, scores everyone it finds, and hands you a ranked list. Then it keeps going on its own: contact enrichment (business email and cell phone) runs automatically, and the finished list lands in your Candidates pipeline and in OS Text as a ready-to-edit campaign without you pressing anything else.
What that buys you:
You do not need to know this to use the tool, but knowing what each stage does makes you better at feeding it. A run moves through five stages:
The AI takes whatever you gave it (a full JD, or just a title, company, and a few notes) and refines it into a strong, wide-net hiring brief: it fills gaps, standardizes the language, and widens the target so the search does not miss adjacent talent.
The brief becomes a structured profile: the titles that qualify, the seniority band, the target companies worth poaching from (it lists real peer and adjacent companies, not just the ones you named), the geographies, and up to a handful of true must-haves. This profile, not your raw JD text, is what drives the search.
The profile is turned into a batch of live people-searches: one per target company, plus broader geography and industry sweeps. These run against real, current profile data, so you are seeing where people work now, not a stale database.
Every person gets a fit score against the profile: does the title match, is the seniority right, are they at a target company, are they in the geography, do they show the must-haves. The list comes back ranked best-first, and anyone your workspace already surfaced in a past run can be skipped automatically.
The moment a search finishes, enrichment starts on its own: business emails and cell phones are looked up for the list, top-ranked first. The finished list is then sent to your Candidates pipeline and into OS Text as a campaign under the same name. You come back to a list that is ready to work, not a list that needs three more clicks.
JD Sourcing casts a wide net on purpose. It would rather show you a 500-person ranked list where the gold is at the top than a "perfect" 12-person list that silently missed 40 great people. Your judgment is applied where it is cheap: scanning a ranked list top-down, not hand-building it.
There is a "How this works" dropdown on the page itself that defines every button, and a progress bar shows where a run is while it works.
Under "Start with the role", enter what you know. Pasting a JD is optional; if the Job description box is empty, the AI writes a sourcing-ready brief from your fields automatically.
Job title (e.g. VP of Sales, Director of Nursing) · Company (name or website; used to find peer companies to poach from) · City & state plus a radius (Exact, +25, +50, +100, or +250 miles) · List name (name it after the role and client) · Anything specific (seniority, certs, must-have experience, deal-breakers) · Job description (paste the real JD if you have it; the more real detail, the stronger the search).
That one button runs the whole process: it writes the brief (if the JD box is empty), analyzes it into the ideal-candidate profile, searches, ranks the strongest matches to the top, and saves the finished list into "Your saved candidate lists" at the bottom of the page. A progress bar tracks the run and shows the time left; when it reaches 100%, the list is saved.
A cost pill next to the button shows the estimated spend for the run. When it says Done, the list is already saved, and the hands-free chain takes it from there: enrichment, then delivery into Candidates and OS Text on its own (section 8).
Right above the button sits Set the depth of the search: the choices that shape how wide the run goes (Search breadth, Scan up to, Min fit, Fresh only, and the out-of-area switches), each explained in place. The defaults are right for most roles; section 5 covers when to move them.
Next to Initiate Search sits Queue for overnight: the same search, but the server runs it, and the full enrichment, entirely on its own. No tab needed. Queue a desk's worth of roles at the end of the day and the finished lists are waiting under Your saved candidate lists in the morning, already enriched and already delivered to Candidates and OS Text. An Overnight queue card on the page shows what is still cooking.
| Setting | What it does | How to set it |
|---|---|---|
| Search breadth | How wide the net is cast. Focused sticks to the closest title matches. Balanced also runs every title variation of the role. Wide net digs deepest and adds passes that catch people whose profiles word the location differently. | Balanced (the default) fits most roles. Pick Wide net when you want the biggest possible pool; the same location rules and ranking apply on every setting, so a wider net never means weaker matches at the top. |
| Min fit | The match-strength bar, 0 to 100. Candidates scoring below it are filtered out. | Default 10 is a deliberately wide net. Set 0 to see every profile found. 40 and up runs tight; use that only when a wide run already proved the market is deep. |
| Scan up to | The ceiling on how many candidates a run gathers. It is a ceiling, not a minimum: you get however many qualified people the search finds, up to this number. | Default 500. Leave it there for a normal role; raise it for high-volume roles in deep markets. |
| Fresh only | Skips anyone this workspace already surfaced in past runs, so you see new market entrants instead of repeats. | Off for the first run on a role. On for reruns and refreshes. |
| Include out-of-area | Keeps candidates whose profile shows a location outside the city and radius you set. By default they are dropped; people with no visible location are always kept. | On for remote roles or when relocation is on the table; off otherwise. |
| Also list out-of-area (separate list) | Keeps a location search inside your area, but adds a clearly separated "Outside target area" section under the in-area results instead of throwing those people away. | Off by default so nothing is spent on non-local people. Turn it on when you want a relocation bench without mixing it into the local list. |
| Radius | Expands the location beyond the exact metro by estimated drive distance, pulling in all surrounding cities within it. | Most on-site roles deserve at least +25. Exact-metro-only searches quietly starve the list. |
A Search power row sits at the top of the depth panel: green pills for each search and phone source that will run, greyed pills for anything currently off, each with a plain-English note on what to do about it. Glance at it before a big run; a greyed pill explains a thin result before you burn time re-running.
After Analyze, the "dive deeper" box takes a natural-language instruction and edits the profile accordingly. Type it the way you would say it to a researcher:
Then press Initiate Search again; the refined profile drives the next run. Refine-then-rerun is cheap; hand-reviewing a mistargeted 500-person list is not.
Each run saves, enriches, and hands off its list automatically, so batching a desk's worth of roles is just: fill in the role, press Initiate Search (or Queue for overnight), and start typing the next one. Every finished list lands in your saved lists and flows to Candidates and OS Text on its own (section 8).
A strong habit: run or queue every new job order for the day in the morning, work replies and calls while they finish, then spend the afternoon on the finished lists: check the contact coverage, boost phones where the textable count is thin, polish each OS Text message, and launch. The texts go out the same day.
Already built the perfect search inside LinkedIn Sales Navigator, LinkedIn Recruiter, or a plain LinkedIn people search? Copy the URL from the address bar, paste it into the Search from LinkedIn box on the JD Sourcing page, name the list, and press Search & Enrich. Three things happen:
Under Add results to you can pick an existing list instead of naming a new one. Adding to a list never creates duplicates: people already on it are kept once, and anything the new pull knows (title, company, location, contact info) fills in their blanks. It is the easiest way to grow a role's master list from several angles.
Saved lists are hands-free. When a search finishes, three things happen without you touching anything:
Your job on a finished list is small: read the row, decide if the textable count is good enough, then open OS Text, polish the message so it sounds like you, and launch.
Every saved list opens with a one-glance verdict: a status chip that reads Ready to launch (done, with phones to text), Working now (something is running), Needs a press (a button below is highlighted amber), or Runs by itself (the next step happens automatically), next to a step counter and a freshness stamp ("3 of 4 steps · updated 12 min ago") so you can tell a moving list from a stuck one without opening anything. When a finished list still has candidates missing a phone, a Boost phones suggestion appears right in that header showing how many more people it could unlock.
Under the verdict sits the progress tracker: four connected stops, Searched › Enriched › Candidates › OS Text, with a line that fills green as work completes. A green check means that stop is done, a pulsing blue dot means it is happening right now, an amber dot is a real button (press it to start or resume that step), and a grey dot means it is coming up automatically on its own. Each stop shows its own detail line (how many found, how many emails and phones filled, how many delivered), and the plain sentence under the tracker says what is happening and what, if anything, to do next, so you never have to guess where a list is.
Next to the list name, the reach pills give you the numbers: how many candidates it holds, how many have a valid email, how many have a phone, plus how many search credits the run used. The tracker answers "where is it"; the reach pills answer "how good is it".
For when you ran the same role a few different ways: a first pass, a Fresh-only rerun, a wider-radius retry, a LinkedIn URL pull. Combining merges them into one master list with no duplicate people, so you review once, launch once, and nobody can be texted twice from two copies of the same search. The Combine searches bar sits right above your saved lists whenever you have two or more, and it walks you through the whole thing:
The merge is smart about people, not just rows: the same person appearing on two lists becomes one row with their best score, and an email or phone found on any list fills the blanks on the others. The combined list then behaves like any other saved list: it finishes its own enrichment and flows to Candidates and OS Text by itself under its own tag, so one tag pulls the whole set up in Candidates and one campaign covers the whole role.
Search first. Combine second. Send time last.
Every list delivers itself to OS Text as a draft campaign, and a draft never texts anyone until you set its send date & time. So there is nothing to wait for and nothing to time: run the role as many ways as you like, combine when you are done searching, then set the send time on the one combined campaign. And if you ever combine after a campaign already went live, relax: anyone already texted is automatically skipped, so nobody ever hears from you twice.
The automatic handoff covers JD Sourcing lists. For anything else in your Candidates pipeline, select rows (or pull up a saved search) and use Push to OS Text. Pushing the same list again tops up the existing campaign instead of creating a copy, and the push tells you how many contacts are missing a phone.
Discovery, scoring, and the standard enrichment run on the workspace's plan. The one button that spends extra money is Boost phones, and it always shows the estimate before a cent goes out; lookups cost fractions of a cent each, and every run stops itself before it can pass your monthly Boost budget (your Daily Checklist shows that budget at all times). Use it when a strong list's textable count is thin, not on every list by default; Boost spend is visible per recruiter in Outbound Performance.
The engine can only target what the brief contains. These are the inputs that sharpen it most, straight from the tool's own guidance:
Here is a real search, filled in the way it should be entered: a VP of Finance role with a $250,000 base, building the accounting and finance department for a company scaling past $80M in revenue. The panel below mirrors the "Start with the role" form on the JD Sourcing page. Copy this pattern for every role you run.
One exact title at the right level. Do not type five titles here; Analyze expands it to the neighbors (Corporate Controller, Director of Finance, Head of Finance) on its own.
Type it even on a confidential search. It is only used to find peer companies worth poaching from; candidates never see it.
The client's real HQ metro (Dallas here is the example). A leadership seat that sits on-site deserves at least +25 miles; exact-metro-only quietly starves the list.
Role, client, market. This exact name follows the list into Candidates and becomes the OS Text campaign name, so make it one you can find in three months.
The three or four facts that define the hire, plus the comp. The base salary is a strong seniority signal for the AI: $250k tells it VP-caliber operators, not senior accountants.
Paste the whole thing, including the pay. The AI reads all of it when it builds the profile, and later when it scores candidates and drafts replies. Add the base salary at the top if the JD does not state it.
Defaults are right for this role. Wide first run; tighten later if Dallas turns out to be deep in finance leaders.
The run shows the ideal-candidate profile as chips as soon as the analyze stage finishes. For this role, good looks like:
If the profile came back with the wrong altitude (senior accountants, or CFOs only), fix it in the dive-deeper box and re-run. Plain-English instructions that work well on this role:
The JD lists a dozen qualifications. The search must not. The whole JD goes in the Job description box (the AI reads every line), but the typed must-haves stay at the three that would make you reject someone: AP/AR scale, the ERP migration, the $80M growth story. CPA, "excellent communication," and the bachelor's degree are scoring signal, not filters; promote them to must-haves and you filter out great operators over a resume word.