Managing Your Pipeline
How candidates flow through stages, how to advance or reject them, how auto-advancement works, and what happens when a review needs a decision.
Why It Matters
The pipeline is where hiring decisions happen. Understanding how candidates move through stages — and how your team’s actions trigger transitions — keeps your process moving and prevents bottlenecks.
How the Pipeline Works
Each job posting has an ordered list of stages. Candidates progress through stages one at a time, from first to last. Every stage has a type (e.g. Application Form, Team Review, Live Interview) and optional configuration that controls its behavior.
When a candidate applies, they enter the first stage. From there, your team advances them through subsequent stages until they reach the end of the pipeline or are rejected.
Stage Progress Statuses
Each candidate has a stage progress record for every stage they’ve reached. It tracks where they are:
| Status | Meaning |
|---|---|
| Pending | The candidate hasn’t started this stage yet |
| In Progress | The candidate is actively working on this stage |
| Completed | The stage is finished — candidate can be advanced |
A candidate’s current stage is the one with an In Progress status. All earlier stages the candidate actually went through show as Completed. Stages the candidate was moved past never get a progress record at all — the timeline shows them as bypassed (see Moving a Candidate Past a Stage). A team review that finishes without a clear outcome stays In Progress but is surfaced as a Needs Decision display state — a computed indicator (not a status) so a stalled candidate never blends in with those still moving — see Reviews and Feedback.
Advancing Candidates
The Advance button appears on a candidate’s application page when all three conditions are met:
- The application is active (not rejected or withdrawn)
- The current stage’s requirements are complete (submission received, reviews finished, etc.)
- A next stage exists in the pipeline
When you click Advance:
- The current stage progress is marked Completed
- The next stage progress is created and marked In Progress
- The candidate receives a notification about their new stage (if applicable)
- A Slack notification is sent to the channel (if Slack is connected and the posting isn’t restricted)
What Counts as “Complete”
Different stage types have different completion criteria:
| Stage Type | Complete When |
|---|---|
| Application Form | Candidate submits the form |
| Code Assignment | Candidate submits their code (or Kit auto-submits once the deadline plus grace period has passed) |
| Portfolio Upload | Candidate uploads their files |
| Questionnaire | Candidate submits their answers |
| Video | Candidate watches the required percentage |
| Video Recording | Candidate records and submits their video |
| Team Review | Voting threshold is met, or a person resolves a split review (see Auto-Advancement) |
| Live Interview | Interview is marked complete |
| Reference Check | Required references are collected |
| Offer | Candidate or admin accepts the offer |
Auto-Advancement
Some stages can advance candidates automatically based on configured rules:
Voting Thresholds (Team Review)
Team review stages support a voting threshold. When enough reviewers submit positive recommendations (Yes or Strong Yes), the candidate advances automatically. Configure this with:
- Threshold — Minimum number of positive votes needed (1-10)
- Require all reviewers — Require unanimity: every submitted review must be positive for the candidate to advance. Turning this on overrides the threshold — the number you set there is ignored.
- Veto auto-rejects — A Strong No from a lead reviewer automatically rejects the candidate
Kit always waits for every assigned reviewer to submit before it evaluates a review round — that isn’t what Require all reviewers controls. The setting only changes the bar the votes have to clear once they’re all in: unanimous positive instead of “at least N positive”.
When a review round finishes without a clear outcome — a split vote, votes below the threshold, or a Strong No from a non-lead reviewer — the candidate isn’t advanced or rejected automatically. Instead the stage is flagged Needs Decision and routed to a person to resolve. See Reviews and Feedback for who’s notified and how to resolve it.
Code Assignment Deadline
A code assignment has two deadlines. The one the candidate sees is the deadline; after it passes, a grace period (default: 24 hours, configurable per stage) still accepts late work. Only when that grace period runs out does Kit automatically submit whatever the candidate has pushed.
So auto-submit fires at deadline + grace period, not the moment the deadline passes. This prevents stalled pipelines when candidates don’t explicitly submit, while still giving them a buffer for late work.
Task Deadlines
A stage that carries a brief is a task the candidate takes on themselves, so its clock works differently from a stage you simply advance them into.
- The clock starts when the candidate presses Start, not when you advance them. Until then the brief is closed and no deadline exists. A candidate who takes three days to open their portal still gets the full window.
- The deadline the candidate sees is soft. Past it they get a banner and uploads keep working; nothing is auto-submitted and the candidate is not rejected.
- The grace period closes uploads. Deadline plus the configured grace hours (default 24) is the point where the stage stops accepting files. It isn’t shown to the candidate until the deadline passes.
- One self-serve extension, when you enabled it on the stage. The candidate can take it while the deadline hasn’t passed yet; it moves both the deadline and the grace cutoff by the configured hours.
Work handed in after the deadline is accepted and marked Late on the review screen, which also shows the brief and the deadline next to the files so a reviewer can check the submission against what was actually asked.
A task stage completes when the candidate submits — there is no auto-submit here, so a candidate who never starts or never submits stays In Progress until someone on your team acts. Unlike a code assignment, a task sends no deadline reminder email: the deadline lives on the candidate’s task page, so say in the stage description that the stage is timed.
Rejecting Candidates
You can reject a candidate at any stage. Click Reject on their application page to:
- Enter an optional rejection reason (internal — candidates don’t see this)
- A rejection email is scheduled based on your account’s configured delay
Email Delay
Rejection emails aren’t sent immediately. Your account has a configurable delay (default: 24 hours, range: 0-168 hours). This gives you a buffer to reconsider or batch rejections. You can adjust this delay in your hiring settings.
The delay prevents the awkward situation where a candidate is rejected and emailed within seconds of applying. It also lets you review rejections before notifications go out.
Moving a Candidate Past a Stage
There’s no per-stage “Skip” action. What you can do instead is move a candidate directly to a later stage, jumping over everything in between. On the pipeline board, drag their card to any column further along the pipeline. This is useful when:
- One or more stages don’t apply to a particular candidate
- You want to fast-track a strong referral
- External circumstances make a stage unnecessary (e.g. references already known)
The same rules that gate the Advance button apply here: the application must be active, the target stage must be ahead of the current one, and the current stage’s reviews and submissions must be complete (or overridden with Force Advance).
When a candidate jumps ahead, the stage they were on is marked Completed and the target stage becomes In Progress. The stages in between are never started, so they get no progress record at all — the application timeline renders them as bypassed with a faint, dashed marker rather than as completed steps, so your team can see at a glance which parts of the process this candidate didn’t go through.
The Application Timeline
Every application has a timeline showing the candidate’s journey through your pipeline. Each stage appears as a colored dot:
| Color | Meaning |
|---|---|
| Green | Completed |
| Blue | In Progress (current stage) |
| Violet | Needs Decision (a split review waiting to be resolved) |
| Gray | Pending (not yet reached) |
Click on any stage in the timeline to open a detail modal showing stage-specific information: form responses, review scores, interview details, or submission files. This gives you a quick overview without leaving the application page.
Quick Checklist
- Review applications as they come in — don’t let the pipeline stall
- Advance candidates promptly when stage requirements are met
- Configure voting thresholds on team review stages to enable auto-advancement
- Resolve any stage marked Needs Decision promptly — the candidate is blocked until you do
- Watch task stages for candidates who haven’t pressed Start — their deadline hasn’t started counting
- Set an appropriate rejection email delay in hiring settings
- Move candidates directly to a later stage sparingly — only when the stages you’re jumping genuinely don’t apply
- Check the application timeline for a quick overview of candidate progress