How a hiring decision gets made
A card sits at the top of the hiring manager’s queue. It shows the role, the label the screener landed on, the must-haves met with their quoted lines, the gaps, and the full resume. There are three buttons: advance, hold, and pass. What happens when the manager taps one? The honest answer is that the system does the bookkeeping — but the decision is entirely the person’s. This post walks through the three actions, how each is logged, and how a human can overturn any label the screener produced.
Key takeaways
- Three actions per card: advance (move to interview), hold (park for later), pass (turn down, with a reason).
- Every action is the human’s. The screener does no advancing, holding, or passing on its own.
- A manager can open a parked “no” and advance it — the screener’s label is a suggestion, not a gate.
- Pass asks for a short, job-related reason, so a turn-down is never a silent or unexplained one.
- Every action writes an audit row with the user, the time, the label before, and the action taken.
Three actions on a card
Action 1: advance (move to interview)
The manager reads the card, agrees the candidate is worth a conversation, and taps Advance. The button submits to a Function URL Lambda. The candidate is marked as moving to interview, and an advanced row is written to the audit trail with the manager’s name, the time, and the label the screener had landed on. Optionally, the system drafts a friendly interview invite — pre-filled with the role and a couple of time slots — and shows it to the manager to edit and send. The draft is never sent on its own; a human reads it and presses send.
That “never auto-sent” rule holds for everything that leaves the building. The screener can prepare a message to save typing, but a person always chooses to send it. Reaching out to a candidate is a relationship, and the system doesn’t get to start one by itself.
Action 2: hold (park for later)
Plenty of candidates are neither an obvious yes nor an obvious no. The manager isn’t ready to interview them but doesn’t want to turn them down — maybe they’re a strong maybe to revisit after the first round of interviews, maybe the role might split into two. Hold parks the candidate in a held list. Nothing is sent. The screener’s label isn’t changed. The card can be reopened any time and acted on later.
Hold exists so the manager never feels forced into advance-or-reject on a candidate they’re genuinely unsure about. A held candidate is a deliberate “not yet,” recorded as such, rather than a card that quietly falls off the bottom of the queue.
Action 3: pass (turn down, with a reason)
Sometimes the answer is no, and a human decides it. Pass opens a small box asking for a short, job-related reason — “doesn’t meet the required license,” “not enough hands-on experience for this level,” “role needs on-site, candidate is remote-only.” On save, the Function URL Lambda records the pass with that reason and writes a passed row to the audit trail. As with advance, it can draft a courteous decline message for the manager to review and send — never auto-sent.
Asking for a reason isn’t bureaucracy. It does two things. It nudges the manager to base the turn-down on the job, not a hunch — if you can’t name a job-related reason, that’s worth noticing. And it gives the audit trail something real: months later, “why did we pass on this person” has a plain answer tied to the role, not a blank. A pass is still always a person’s decision; the screener only ever suggested a label.
Overturning a screener label
The screener’s yes/maybe/no is a starting point, not a verdict. A parked no is not a closed door — the manager can open the reviewable list, read a candidate the screener scored low, and advance them anyway. Maybe the resume understated the experience. Maybe a must-have was met in a way the reader didn’t catch. Whatever the reason, the human wins. When a manager advances a candidate the screener marked no (or passes one it marked yes), that override is written to the audit trail as exactly that: a human overriding the suggestion.
Those override rows are worth watching. If managers routinely advance candidates the screener said no to, the rubric’s must-haves or pass marks are probably wrong — too strict, or missing a way people phrase real experience. The override log is how you learn that and fix the doc, instead of trusting a cut-off that’s quietly screening out good people.
Every action is logged, every action is reversible
The audit table records every advance, hold, and pass with the user who acted, the time, the screener’s label at the moment of the action, and the reason where one was given. If a card is acted on by mistake, it can be reopened and re-decided, and that correction is itself an audit row. The trail is the memory of the hiring round: who decided what, on what job-related grounds, and when. That’s exactly what you want to be able to show if anyone ever asks how a role was filled fairly.
Next post: the cost breakdown. The whole pipeline above runs in coffee-money territory at small-business volume; Part 6 explains exactly where the dollars go and why one model read per application keeps it cheap.
All posts