Internal Playbook

JD Sourcing: From Job Description to Ranked Candidate List... WITH Cells

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.

1. Why JD Sourcing matters

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:

2. How a run works, start to finish

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:

  1. Build the brief

    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.

  2. Read the JD into an ideal-candidate profile

    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.

  3. Generate and run the searches

    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.

  4. Score and rank everyone found

    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.

  5. Enrich and hand off, 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.

The design philosophy

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.

3. Where to find it

  1. Log in to the portal and make sure you are in the Recruiting workspace (JD Sourcing does not appear in the BD view).
  2. In the left sidebar, under the Build group, click JD Sourcing.

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.

4. Running a search: two clicks

  1. 1

    Fill in the role

    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), or tick Remote role to search the whole country instead · 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).

  2. 2

    Press Initiate 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.

5. The settings that shape a run

SettingWhat it doesHow 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.
Remote role Drops the city and radius entirely and searches the whole United States: the passes that find people who already work remotely, plus a sweep of every major US market, ranked on the job title, keywords and job description alone. Nobody is filtered out for where they live. On for any role that can be done from anywhere. Leave the city box empty; it is switched off for you while this is ticked.
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 when relocation is on the table; off otherwise. For a role that is genuinely remote, tick Remote role up in the form instead: that searches the country properly rather than widening a city search.
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.
Only people at these companies Turns the search into an employer search. Name one company or several (comma-separated) and the list holds only people who work there right now in the role you typed. Every other search pass is switched off, so nobody from another firm can appear; the list row says "Only at" the firms you named. Empty for the normal market-wide search. Fill it when a client wants exactly one firm's people, or a short list of named competitors, and nothing else.
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.

6. Dive deeper

Refining the profile in plain English

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.

The tool proposes the next move itself. Under the results right after a run, and under View candidates on every saved list, sit Next move chips with real counts from that run: Widen to +50 mi (about 140 more), Lower Min fit to 35 (about 62 more), Drop a deal-breaker (about 31 more), and a note when target companies came back empty. One click applies the change, turns Fresh only on, and reruns; the new people fold into the same list and campaign. Geography is offered first, the fit bar second, deal-breakers third: that is the order in which widening is cheapest and least likely to change who the role is for.

Running several roles back to back

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.

7. Search from a LinkedIn URL

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.

8. Working a saved list

Saved lists are hands-free. When a search finishes, three things happen without you touching anything:

  1. Enrichment runs. Business emails and cell phones are looked up for the whole list, top-ranked first. Lookups are cached across the workspace, so a person enriched once is never paid for twice.
  2. The list lands in Candidates under the same name, ready to filter, tag, or add to a campaign. Once delivered, the green In Candidates stop on the row's journey strip becomes a link that jumps straight to it.
  3. OS Text receives a campaign that is about 90% built: every merge column filled (first_name, company, job_title, location, and the rest), your recruiter name and email on it, a safe starter message prefilled, and the usual guardrails applied on arrival (mobile-line validation, duplicates absorbed, opted-out numbers never added). Only candidates with a phone number travel.

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.

Seed the search with a person. The Ideal examples box under the role takes up to three LinkedIn profile URLs of people who would be a perfect hire, or a pasted resume. Their real work history shapes the profile (titles, companies, industries, the screening questions) and every candidate is then judged against them, in the ranking and in the full-profile read. "Find me more like her" is one paste.

Screening questions are how must-haves are judged now. When the profile is built, three to five yes/no questions come with it ("Has led an AP/AR team of ten or more?"), each marked must or nice. Click a question to flip it; the × drops it. The full-profile read answers every question for every person it reads, with the line of evidence it used, and ranks on the answers: a must answered No holds the person at weak (still on the list, visibly held), a Yes ranks them up, and "unknown" changes nothing, because a profile that does not say is not a profile that says no.

View candidates opens the people on the list. The strongest are read in full within a few minutes of the search finishing: each carries a verdict (Strong, Possible, Weak, No) and a one-line reason, and the list re-orders by it. The fit number alone only ever said the title line matched; the verdict says whether the work history does. Press Read more profiles to go deeper down the list.

Already contacted, and off-limits. When View candidates opens, anyone this workspace has already reached shows a small line under the contact chips ("texted Aug 12", "emailed earlier"), and one toggle hides them. The Off-limits card above the saved lists is the desk's standing list of companies, email domains, and people never to source from (a client under contract, a placed candidate's employer during the guarantee, a hands-off agreement); every search also blocks its own client company on its own. Off-limits people never make the list, and the run reports how many it held.

Likely to move. Under the verdict, the full-profile read also says whether the person looks restless: "open to work" when the profile says so, "likely to move" past four years in the same role, "may move" for a long employer tenure or a habit of changing jobs every couple of years. It breaks ties between equally strong people; it never changes the score.

Send the client a shortlist. Copy client link (under View candidates) makes a link a hiring manager opens with no login: the strongest people on the list with the verdict, the one-line reason, strengths, gaps, and the screening answers, and no contact details. Their Approve or Decline lands on the rows like your own calls, marked as the client's, so a client's No is held out of every send and teaches the rerun. Paste the link into your own email; it expires on its own after 30 days.

Keep sourcing a role. Next to Initiate Search, Keep sourcing this role puts the search in the form on the desk's standing rota. The server sweeps it on its own schedule (weekly by default, change it in the Standing searches card), with Fresh only on so each sweep returns only people the earlier ones did not, a few sweeps a day across the whole desk. Pause, resume, sweep now, or remove a role from the card; finished lists land below like any other and flow on to Candidates and OS Text.

Each standing role keeps its own memory of the people its sweeps surfaced, so a person found by the Controller sweep is still available to the Tax Manager sweep. A role added before this had a memory falls back to the workspace-wide set for its first pass, then carries its own from there.

Answer back as you read. Mark people Yes or No on the row. Yes anchors the ranking and the next read. No holds that person out of every send from then on, and the reason you pick (wrong level, wrong industry, agency, and so on) is what teaches the next run. After a handful of calls, press Refine from my picks: your calls become a sharper profile, the search reruns for new people only, and the new list folds into this one and its campaign.

Your pool answers first. Every person a search has ever surfaced now lives in your workspace's pool, along with the best email and phone found for them. A new search answers from that pool first: everyone in it is re-scored against the new role, location and radius, held to the same off-limits list, and the web is only asked to add people your lists did not already hold. People who came back from the pool carry a small "seen before" chip naming the list they were on, and the Next move line under a finished list says how many rows were rediscovered. Tick Fresh only when you want never-seen people; the pool is skipped for that run but still remembers what the run finds. The line "Your pool: N people" above your saved lists is the size of that memory, and it fills on its own from every list you save. People not seen in over a year age out of reruns.

Sort and fit floor. Under View candidates there is a small Sort select and four number chips. Best is the order the list arrived in: people read in full first, then whoever looks likeliest to move. Fit score, Distance, Newest and Contact coverage re-order the same rows on the page; nothing is re-run and nothing is re-scored. The chips (any, 50+, 70+, 85+) hide rows under that bar and show a one-line count such as "38 hidden under 70"; hidden rows are never deleted. Both choices are remembered for that list on that device.

Type your own screening questions. The parse writes three to five; you can add your own, up to eight per role. On the profile card an Add a question box sits under the question chips: the question joins the profile as preferred (click its chip to make it required) and the next run asks it of every profile read in full. On a saved list the same box reads Re-vet with this question: it is written onto the list and the strongest rows are read again, with answers landing beside the others in a few minutes. Every typed question passes the same check the parse is held to, so questions about age, family, health, religion, citizenship, disability, salary history and the like are refused with a one-line reason.

One set of suppression rules on every send. Before any first touch, each person is checked against one set of rules: people someone in your workspace already messaged (within the lookback, 180 days by default), unsubscribes and STOP replies, do-not-contact marks here or in the ATS, bounced addresses, off-limits companies and people, anyone already in a live campaign on the same channel, and people with no address for the channel. Each rule has one action: Send, Hold for review, Skip this channel, or Skip person. Opt-outs and do-not-contact are always skipped and cannot be changed. A touch on one channel never blocks a different channel: an email last week does not stop a text today. On a saved list each person shows a small chip per rule that applies ("Emailed 12 Aug by Josh", "Bounced", "In OS Text: Sr Accountant"); a person the rules skip sits below the untouched rows, stays on the list, and never travels to Candidates or OS Text, while a held person travels flagged for review. An admin sets the action for each rule and the lookback under Integrations.

Likely to respond, measured on your own sends. Rows carry a quiet "Texts reply ~9%" (or Emails, or LinkedIn) chip next to the verdict. It is the measured reply rate for people of that seniority and industry on the channel the row would be reached on first (text when it has a phone, else email, else LinkedIn), built from this workspace's own sends and replies across OS Text, email and the LinkedIn lanes. The tooltip states the count, the group and the start date. A group is trusted only past 30 sends at least 14 days old; thinner groups fall back to the seniority-wide rate, then the channel rate, and the chip says which it used. Nothing appears when the history is too thin. It never changes a score or a verdict; it only breaks ties after the verdict, the move signal and the fit.

Shortlist deadline, PDF and email. Beside Copy client link, pick 7, 14 or 30 days (14 by default); the link stops working on that day and the client page says Please respond by that date. The client page has a Save as PDF button that opens the browser's print dialog with a clean layout: one candidate per block, the verdict and the reason, your own brand, no buttons. Email this link opens a ready-made message in your own mail program with the subject, the link and the deadline filled in; nothing is sent from the platform's senders, you press send.

Credits, when your plan meters them. A credit is only spent when we find something: one per found email, one per found phone, two for a phone found through Boost phones; searches, vetting and empty lookups cost nothing. Credits pool across your team and the monthly allowance renews on your plan's anniversary, shown beside the balance on this page. Unused allowance does not carry over; top-up credits never expire and are used only after the allowance is gone. If you run out, nothing queued is lost: paid lookups wait until renewal or until credits are added, and the free enrichment steps keep running. Open Add credits next to your balance to pick a pack; top-ups are confirmed by hand within a business day and appear in your credit history. Plans without a cap show no balance at all.

Reading a list row

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".

The row buttons

Combine lists: merge repeat runs into one master list

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:

  1. Tick the lists. Every saved list has a tick box on its left edge. Tick two or more. The bar counts your picks as you go and tells you the next step if you are one short.
  2. Read the preview. With two or more ticked, the bar shows what you will get before you commit: about how many unique candidates the master list will hold, and how many duplicate rows fold into one.
  3. Press the blue Combine button in the bar. (The Combine lists button at the top of the card does the same thing.) A window opens to confirm: name the master list, and choose whether to delete the original lists afterward. Deleting them is on by default and is safe: every person and every piece of contact info is kept in the combined list. Keep the suggested name. If one of your ticked lists already has a campaign in OS Text, the window suggests that list's name on purpose: keeping it folds everything into that same campaign (nothing is duplicated, and any replies it holds stay put). Type a different name only when you want a separate fresh campaign.

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.

The simple rule

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.

Manual pushes still work

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.

Spend smart

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.

9. What makes a search stronger

The engine can only target what the brief contains. These are the inputs that sharpen it most, straight from the tool's own guidance:

Do

  • Paste the real JD when you have it. Real detail beats a summary every time.
  • Name the client company even on confidential searches; it is only used to find peer companies, it never appears to candidates.
  • Read the ideal-candidate profile before searching, and refine it if it is off.
  • Start wide (min fit 10), then tighten. You can always filter a big list; you cannot see people a narrow run never found.
  • Name lists consistently: role, client, market. Future you will search for them.

Don't

  • Stack must-haves. Three real ones beat eight aspirational ones; every extra one shrinks the pool.
  • Add deal-breakers by default. They zero people out entirely.
  • Judge a run by its bottom half. It is a ranked list; the bottom is supposed to be weaker.
  • Babysit runs. If a tab closes mid-run, press Enrich on the list and it resumes where it left off; Queue for overnight never needed the tab at all.
  • Rerun a role without Fresh only and wonder why you know everyone on the list.

10. A worked example: one real JD, field by field

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.

Job title
VP of Finance

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.

Company
Your client's name or website

Type it even on a confidential search. It is only used to find peer companies worth poaching from; candidates never see it.

City & state + radius
Dallas, TX  ·  +25mi

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.

List name
VP Finance · [Client] · Dallas

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.

Anything specific
CPA strongly preferred. Must have scaled finance ops to $80M+ revenue, led AP/AR or billing teams of 10+ (this seat manages ~40 incl. contractors), and done a QuickBooks to NetSuite (or similar ERP) migration. Base $250k.

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.

Job description (paste all of it)
Base salary: $250,000 Build & Scale Finance Operations: Lead the development of accounting and finance departments from the ground up. Design and implement standardized SOPs, KPIs, controls, and scalable processes to support high-volume billing operations. Team Leadership: Directly manage and develop an AP/AR team of approximately 40 (mix of in-house and contractors). Provide hands-on oversight, mentoring, performance management, and capacity planning to ensure accuracy, efficiency, and compliance. Systems & Process Transformation: Lead the migration from QuickBooks to NetSuite (or equivalent ERP). Optimize workflows, implement automation where possible, and establish robust month-end close, reporting, and reconciliation processes. Hands-On Accounting Leadership: Be comfortable rolling up sleeves across Controller-level functions including general ledger, financial reporting, and FP&A. Support budgeting, forecasting, variance analysis, and strategic decision-making. Growth Partnership: Partner closely with the COO and Founder to facilitate company scaling. Bring prior experience scaling finance teams in high-growth environments to $80M+ revenue with 10+ headcount in accounting/finance. AP/AR Expertise: Oversee end-to-end accounts payable and receivable operations in a high-volume billing environment, including credit & collections, vendor management, cash flow optimization, and billing accuracy. Compliance & Controls: Ensure strong internal controls, GAAP compliance, and audit readiness while building a culture of accuracy and continuous improvement. Qualifications & Experience - Proven track record building accounting/finance departments from the ground up, including creating and implementing SOPs and KPIs. - Demonstrated success joining companies in growth phase and scaling finance operations to support $80M+ revenue with accounting/finance teams of 10+ headcount. - Direct experience working in or overseeing AP/AR departments in high-volume environments. - Hands-on experience with Controller and FP&A functions; comfortable being tactical while also contributing strategically. - Experience with system migrations, preferably QuickBooks to NetSuite (or similar ERP implementations). - Strong leadership skills with experience managing large teams (including contractors). - Excellent analytical, organizational, and communication skills. - Bachelor's degree in Accounting, Finance, or related field required; CPA strongly preferred.

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.

Search settings for this run
Scan up to 500·Min fit 10·Fresh only off (first run)·Then: press Initiate Search and let it run

Defaults are right for this role. Wide first run; tighten later if Dallas turns out to be deep in finance leaders.

What Analyze should hand back

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 one mistake to avoid on this JD

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.

11. Quick-reference checklist

Every new job order

Every finished list

Refreshing a role