ATS WORKFLOW
How to surface candidates you've already paid for.
Your ATS is a database of people who already wanted to work at your company.
They applied. They went through your process. Some were not quite right at the time. Some were right but the role was filled by someone else. Some were offered and declined because the timing was off.
All of them are warm. None of them need a cold outreach. None of them need a job board to reach.
Before you brief anyone on a new search, run these three searches in your ATS.
Filter: Stage = Final interview OR Offer
Outcome = Not hired
Date = Last 180 days
These people made it to the end. Something did not line up. That something may have changed.
A one-line message: "We have a new role opening that might be a better fit than our last conversation. Worth 10 minutes?"
Response rate from warm ATS candidates: typically 3-5x higher than cold LinkedIn outreach.
Most ATS platforms tag candidates by the job title they applied for. That’s the wrong axis to search on later, because job titles vary wildly between companies while skills don’t. Go through candidates from the last 12 months and add a second tag layer: core skill (e.g. "B2B SaaS closing", "React", "paid social"), seniority band, and a one-line qualification note from the original screen.
This is a one-time investment of a few hours that pays back every time a new role opens, since you’ll search by skill instead of re-reading hundreds of CVs against a new job title that didn’t exist when they applied.
Touch 1 (Day 0): the one-line re-engagement message referencing the specific previous process, not a generic "we have openings" blast.
Touch 2 (Day 5, if no reply): a short follow-up naming the specific new role and why it might be a better fit than the one they didn’t get.
Touch 3 (Day 12, if no reply): a low-pressure close, leaving the door open without pushing. "No worries if the timing’s off — I’ll keep your profile on file for what’s next."
Because these candidates already know your company and already went through your process, the tone should be warmer and more direct than cold outreach. Reference specifics from their original interview wherever you can.
Use the Reports → Candidates view with a custom filter on Stage and Rejection Reason. Export to a sheet for tagging since Greenhouse’s native tagging is limited for bulk re-categorisation.
Use Lever’s Advanced Search with Archive Reason filters. Lever supports custom tags natively, so the skill re-tagging from Step 1 can be done directly inside the platform without exporting.
Ashby’s custom fields and saved views make this the easiest platform to run silver-medallist searches on natively. Build a saved view filtered on interview stage reached and archive reason, and revisit it every time a role opens.
Use Workday Recruiting’s candidate pool functionality with a saved search on disposition codes. Workday’s search is powerful but the interface is dense, budget extra time to build the filter the first time.
Use the Candidate Search module with status and date-range filters. iCIMS supports bulk tagging, which speeds up Step 1 considerably compared to platforms that require tagging candidates one at a time.
These are the frameworks I use inside every engagement. Run it yourself using the guide above, or I can run it for you.
Book 20 minutes โ