Weekly hiring pipeline review board for your Lever roles
Open one board to run your weekly recruiting review: every open role, where its pipeline is actually stuck, and a written brief you can post straight to Slack.
Build an app my recruiting team opens every week to run our hiring pipeline review meeting. It reads everything from Lever and can post to Slack using Slack Bot. Nothing runs on a schedule: a person opens the app before the meeting and works out of it during the call.
The main screen is a board with one row per open job posting. Each row shows the role title, the requisition it belongs to, how many candidates sit in each pipeline stage, the oldest candidate in the pipeline and how many days they have been stuck, whether an offer is out, and who the recruiter and hiring manager are. Build the rows from Lever: List Postings for the open roles, List Requisitions to resolve the requisition each posting belongs to along with its code and headcount, List Stages so the stage columns appear in Lever's own pipeline order rather than an order I invented, List Opportunities filtered by posting and stage for the per stage counts, List Users with Access to a Posting to pull out the recruiter and the hiring manager, and List Offers on an Opportunity to work out whether an offer is already out on the role.
Let me filter the board by team, by recruiter, or by hiring manager, and sort so the roles in the worst shape come first. Clicking any role opens a detail view for that role listing its candidates with their current stage and how many days since they last advanced, longest waiting first. The detail view reads List Opportunities filtered by that posting, and Retrieve Opportunity where it needs the expanded contact or stage history for a single candidate.
Each role page recomputes time in stage from the opportunity timestamps rather than trusting anything cached. Lever timestamps are Unix milliseconds, and lastAdvancedAt is the field that gives days in the current stage: days in stage is now minus lastAdvancedAt. Age in pipeline comes from createdAt the same way.
Three rules matter and should be baked in rather than left as options. First, any role that has been running past one and a half times its normal fill time is flagged in red on the board, because that is the point where roles tend to stall out permanently. Second, stage counts exclude archived candidates, so the numbers on the board match the candidates the team would actually discuss. Third, confidential postings stay out of the app entirely unless the Lever connection has explicitly been granted confidential access, in which case the list calls opt in to confidential data; never show confidential roles by accident.
Put a Prep this week's review button on the board that kicks off a background agent. The agent walks every open posting, gathers the stage counts, candidate ages and offer state, and works out where each pipeline is actually jammed. Jammed means something specific: plenty of candidates at the top but nothing reaching onsite, a single candidate sitting on an offer decision, a stage where nobody has advanced in weeks, or a role with no candidates at all. For each role it writes a short narrative naming the bottleneck and the one action that would unblock it, addressed to the recruiter and hiring manager who own it.
That brief saves into the app, keyed by the week it was generated, so we can read it during the meeting and open last week's brief for the same role next to it to see what actually moved. Show the agent's progress while it runs, since walking every posting takes a moment, and keep the previous brief readable while the new one is still generating.
A second button posts the brief to our hiring channel using the Slack Bot Send a Message action. Let me confirm or change the target channel before it sends, format the message so each role is a short readable block rather than one wall of text, lead with the roles flagged red, and show me when the brief was last posted so nobody double posts it.
What does this prompt do?
- One row per open role showing which requisition it belongs to, how many candidates sit in each pipeline stage, the longest waiting candidate, whether an offer is out, and the recruiter and hiring manager on it
- Filter by team, recruiter, or hiring manager, then click any role to see its candidates with their current stage and how many days since they last moved forward
- A Prep this week's review button sends an assistant through every open role to work out where each pipeline is jammed and write a short narrative naming the bottleneck and the one action that would unblock it
- Every brief is saved in the app so you can read this week's next to last week's, then post the whole thing to your hiring channel in one click
- Roles running well past your normal fill time are flagged in red so the meeting starts with the ones in trouble
What do I need to use this?
- A Lever account with permission to view job postings, requisitions, candidates and offers
- A Slack workspace and the channel where your recruiting team talks about hiring
- At least one open job posting in Lever for the board to show
- A rough sense of how long your roles normally take to fill, so the app knows when to flag one as running late
How can I customize it?
- Change the red flag threshold from one and a half times your normal fill time to whatever your team treats as late
- Point the Slack button at a different channel, or post the brief to more than one
- Add filters beyond team, recruiter and hiring manager, such as location or full time versus contract
- Adjust what the assistant looks at when it decides a pipeline is jammed, for example weighting late stage gaps more heavily than top of funnel
FAQs
Does this change anything in our Lever account?
Will confidential roles appear on the board?
Are rejected or archived candidates included in the stage counts?
Can we compare this week against last week?
How does it decide a role is running late?
Do we need a paid Slack plan for this?
Related templates
Every logo, photo, video cut and ad export in one searchable grid, with previews, campaign tags and rights expiry dates at a glance.
Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.
One board showing every dashboard and Look with its folder, owner and favorite count, so you can find dead content and retire it safely.
Watch every live room on one screen, remove disruptive guests, start recordings and end stuck sessions without anyone opening a terminal.
Every Monday we find leads who never bought, research a real reason to reach out, and send a short personal email instead of another check in.
See the exact hours your chat queue backs up and customers give up waiting, then plan next week's shifts before it happens again.
Stop rebuilding your hiring review in a spreadsheet every Monday.
Give your recruiting team one board that shows where every role is stuck and writes the meeting brief before anyone joins the call.