Candidate rediscovery desk for your archived Lever applicants
Pick an open role and see which past applicants deserve a second look, with an assistant that ranks the best fits and drafts personal outreach.
Build me a candidate rediscovery desk that my recruiters open whenever a new role opens, so they start from our own archived Lever candidates instead of sourcing from scratch. The app is built on Lever, with Gmail used only for drafting outreach.
The app opens on a role picker. A handler calls Lever List Postings filtered to open and published postings, showing title, team, location, and commitment. Picking a posting takes the recruiter into the rediscovery view for that role.
The rediscovery view loads the archived candidate pool. A handler calls Lever List Opportunities with the archived filter set to true, paging through with the cursor until hasNext is false, and pushing the archive reason, tag, and time range filters down to the API wherever the API supports them. Expand contact, applications, and stage so each row arrives with the person's name, email, the posting they originally applied to, and their stage. Resolve archive reason IDs into readable names with Lever List Archive Reasons and cache that list, since it changes rarely.
Render one card per person showing: their name, the role they originally applied to, the furthest stage they reached, why they were archived and when, their tags, their original source, and two or three highlights from the feedback they got. For the furthest stage, read the stage history on the opportunity (expand stageChanges) rather than the current stage, since an archived candidate simply sits in whatever stage they were in when they were archived. For the feedback highlights, call Lever Retrieve Opportunity for the full profile and Lever List Feedback on an Opportunity, then surface the short written comments and any standout scores. Fetch that detail lazily when a card is expanded so the list itself stays fast.
Give me filters across the top of the list: only people who reached onsite or offer, specific tags, specific sources, and archived within a chosen window such as the last 6, 12, or 24 months. Let me sort by how far they got, so people who reached offer sit above people who reached onsite, above phone screen, and so on down the pipeline. Keep filter state in the URL so a recruiter can share a filtered view with a hiring manager.
Put a "Build a shortlist for this role" button at the top of the role view. It starts a background agent that reads the requirements from the selected posting, scans the archived pool for that team and for adjacent roles with Lever List Opportunities, pulls detail on the plausible ones with Lever Retrieve Opportunity and Lever List Feedback on an Opportunity, and ranks the strongest matches. For each person on the shortlist the agent writes a short reason in plain language, naming the specific requirement they match and the specific thing the panel said about them. Save the shortlist into the app's own storage keyed by posting ID, along with when it was built and who ran it, so the next recruiter to open that role sees the existing shortlist immediately instead of waiting on a rerun. Show a "shortlist built 3 days ago" line with a rebuild button next to it.
On any candidate card there is a "Draft outreach" button. It starts a second background agent that writes a personal re-engagement email for that person: it references how far they got last time and what the panel liked about them, names the new role and why they came to mind for it, and reads like a person wrote it rather than a job alert. The agent creates the email with Gmail Create a Draft in the recruiter's mailbox so a human reviews and sends it. It then logs the touch on the candidate with Lever Create Note on an Opportunity, recording the role and the date, and adds a rediscovery tag with Lever Update Opportunity Tags. The app also records the touch in its own storage with a timestamp, so the mute rule below holds even for touches whose Lever note has since been edited or removed.
When someone says yes, putting them back into the running should be one click from their card: Lever Apply to a Posting to add them to the new posting, or Lever Archive or Unarchive Opportunity to restore an existing opportunity into the live pipeline.
Three rules are not optional and should be enforced in the handlers, not just in the UI. First, exclude anyone archived for a disqualifying reason. Note that in Lever, Hired is itself an archive reason, so hired people are in the archived list and must be filtered out of the pool. Alongside hired, exclude failed reference, withdrew and asked not to be contacted, and anything else the account treats as do not contact. Make that excluded reason list an editable setting, seeded from Lever List Archive Reasons. Second, mute anyone already contacted in the last 90 days, checking both the app's own touch log and recent notes on the opportunity via Lever List Notes on an Opportunity. A muted candidate renders greyed with "contacted 34 days ago" and a disabled Draft outreach button, so we never double tap. Third, no email ever sends automatically. The app only ever creates drafts, and there is no send control anywhere in it.
Two things to get right technically. Lever timestamps are Unix milliseconds, and they are what drive both the archived-in-the-last-N-months filter and the 90 day mute, so convert carefully in both directions. Lever rate limits to roughly 10 requests per second, so batch the detail fetches, stay under that ceiling, and back off on a 429. Design this as a working surface a recruiter returns to rather than a report: a fast list, dense cards, obvious filters, and the shortlist and outreach actions always sitting right where the candidate is.
What does this prompt do?
- Pick one of your open roles and immediately see the past applicants worth a second look, pulled from your own archived Lever candidates instead of a fresh sourcing push.
- Every card shows the role they originally applied to, the furthest stage they reached, why they were archived and when, their tags and original source, and the highlights of the feedback they got.
- Filter to only the people who reached onsite or offer, by tag, by source, or by how recently they were archived, then sort by how far they got.
- One button has an assistant read the job requirements, rank the strongest matches with a written reason for each, and save that shortlist so the next recruiter to open the role sees it. Another writes a personal re-engagement email that names how far they got and what the panel liked, leaves it as a draft for review, and logs the touch on their profile.
What do I need to use this?
- A Lever account with access to your candidates, job postings, interview feedback, notes, and tags
- A Gmail account for the recruiter who will review and send the outreach
- A view on which archive reasons in your account mean do not contact, such as a failed reference or someone who withdrew
How can I customize it?
- Change the archived time window the pool defaults to, such as the last 12 months instead of the last 24
- Edit which archive reasons exclude someone from the pool, and adjust the 90 day quiet period between touches
- Change the tone and length of the outreach drafts, and the tag applied when someone is re-engaged
FAQs
Does this email past candidates automatically?
How does it know someone was already contacted?
Will it surface people we already hired or turned down for good reason?
What makes this outreach different from a generic job alert?
Can we use it across several open roles at once?
Related templates
Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.
Open one role, see every candidate by stage with the longest waiting on top, then move, note, or archive them without opening Lever.
One board showing every party you are onboarding, which documents are still missing or expiring, and a one click chase email for exactly what is outstanding.
Search a person by name or email and get every opportunity they hold across every role, live and archived, with their full feedback history in one place.
Every hour, new email attachments get sorted by document type and vendor, saved under clear names, and logged in a spreadsheet index.
Every Monday, each live role gets a Slack shortlist of five strong candidates already sitting in your archive, with the reason and how far they got.
Your next hire is probably already in your Lever archive.
Stop starting every open role from scratch. Give recruiters one screen for the past applicants worth a second look, with the shortlist ranked and the outreach already drafted.