StartupKit
EN

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.

Adding a Stage to an Existing Posting

Hiring admins and that posting’s hiring managers can add a stage in the browser or ask a connected AI assistant to use hiring_create_stage. The assistant follows a read → create → read-back workflow: it reads the current order, inserts the configured stage, then verifies the final order, reviewer roster, and warnings.

MCP positions are zero-based: 0 is first and 1 is second. If the assistant omits position, Kit inserts immediately before a trailing Offer stage, or appends when there is no Offer. The first stage must remain an Application Form and Offer must remain last.

Warning

A new stage does not move existing candidates backward. Candidates currently before the insertion may encounter it later; candidates already at or beyond it keep their current stage and show the new stage as skipped. On a published posting with active candidates, Kit reports that impact and requires explicit confirmation before creating the stage.

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; the timeline shows them as skipped (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

An active application (not hired, rejected, or withdrawn) that has a later stage shows an advance button on its page. The label tells you what happens next:

  • Advance to Next Stage: the current stage’s requirements are complete (submission received, reviews finished, etc.)
  • Force Advance: reviews or the submission are still missing. It opens the same confirmation, which names what’s missing and asks for a reason
  • Move to: the next stage can’t take the candidate yet, such as a work sample without a brief. The confirmation opens on the first later stage that can

When you click Advance to Next Stage, Kit opens a confirmation before changing the pipeline. Review the recipient, company sender, reply-to inbox when the posting inbox is enabled, and the resolved standard email for that stage. You can add an optional personal note; Kit appends it to the standard email and signs it with your saved hiring signature when one is set.

When you confirm:

  • The current stage progress is marked Completed
  • The next stage progress is created and marked In Progress
  • The candidate receives the configured stage email, including your personal note when provided (if applicable)
  • A Slack notification is sent to the channel (if Slack is connected and the posting isn’t restricted)
  • Interviews on the stage the candidate leaves that haven’t started yet are cancelled, including when you skip stages or force the move. The confirmation lists them first. The candidate and interviewers get the usual cancellation emails, even if you don’t send the stage email

Offer stages are different: moving a candidate into Offer sends no stage email. Candidate contact happens when the offer is extended. After any email is sent, open the application’s Communications thread and choose View sent email to review the sent subject and rendered body in a read-only preview.

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 shares files or links to work they created previously
Work Sample Candidate submits the requested work; when reviewers are assigned, all assigned reviews must also be completed
Questionnaire Candidate submits their answers; when reviewers are assigned, all assigned reviews must also be completed
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
Screening Call A call is logged as Reached; see Screening Calls
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, meaning 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.

When an Interview Is Still Booked

Automatic moves never cancel an interview. When a review round or the candidate’s submission would advance the candidate, but an interview on their current stage hasn’t happened yet, Kit leaves them on the stage and waits for a person to decide. The people who resolve split reviews get a notification saying an interview is still booked. Advance the candidate yourself when you’re ready (the confirmation lists the interviews it cancels), or wait until after the interview.

A ✅ reaction in Slack asks too: Kit posts a confirmation naming the booked interviews before it moves the candidate. See Slack Candidate Channels.

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 Work Sample stage carries a private brief and is a task the candidate starts themselves, so its clock works differently from a stage you advance them into. Existing Portfolio Upload stages with a brief keep this behavior for backward compatibility.

  • 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 asked.

A task stage completes when the candidate submits. There is no auto-submit here, so it stays In Progress until the candidate or your team acts. Kit sends a deadline warning 24 hours before the task is due. Candidate stall nudges cover the wait before the candidate starts; after that, tracking ends when the grace period closes uploads. With the default 24-hour grace period, the task closes before a post-deadline stall nudge would be due. The deadline also 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:

  1. Enter an optional rejection reason (internal; candidates don’t see this)
  2. A rejection email is scheduled based on your account’s configured delay

Email Delay

Your account has a configurable rejection-email delay (default: 24 hours, range: 0-168 hours). At 0, Kit does not wait before sending. A longer delay 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

To move a candidate straight to a later stage, choose it in Move to at the top of the advance confirmation. You can also open the confirmation with a stage already chosen: from the Move to group in the menu next to Advance to Next Stage, from the menu on the candidate’s card on the pipeline board, or by dragging the card to a later column. A dragged card only moves once you confirm. 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 confirmation lists the stages you’re skipping. Kit sends none of their emails, tasks or review requests; only the stage you move the candidate to sends its email. Add an optional note under Why skip? to say why. Only your team sees it: the application timeline shows each skipped stage as “Skipped by” with the teammate’s name and the date, followed by your note.

To spot a stage your team keeps skipping, open Hiring insights. Its Skipped stages section shows, for each role, the stages skipped most in the last 90 days, who skipped them, and the latest notes.

The application must be active. A later stage that can’t take the candidate yet, such as a work sample without a brief, is listed but can’t be chosen.

If the current stage isn’t finished (reviews are still out, or the candidate hasn’t submitted), the confirmation says why and offers Force advance. Enter the required Reason, which Kit saves as a confidential note, and confirm with Force advance to the chosen stage.

The candidate never sees that a stage was skipped. On their portal, every stage before the current one looks done.

On an application page, you can also press Cmd+K (Ctrl+K on Windows and Linux) and type a stage name. Each Move to or Move back to command opens its confirmation with that stage already chosen.

Moving several candidates at once

To move a group, tick the candidates in the job’s applications list (or Select all), choose Move to stage, then pick the stage. Up to 100 at a time.

  • Each candidate moves exactly as a single move would: skipped stages are recorded with your optional Why skip? note, and each candidate gets the stage email unless you untick it.
  • Anyone who can’t move yet stays where they are, and the confirmation says why: their stage still waits on reviews or a submission, they’re already at or past the stage, or they’re no longer active. Force advance stays a one-candidate action.
  • The confirmation also says how many of them have upcoming interviews the move cancels.

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 so the pipeline doesn’t stall
  • Advance candidates promptly when stage requirements are met
  • Review the candidate email preview and add a personal note when it will improve the experience
  • 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 don’t apply
  • Check the application timeline for a quick overview of candidate progress

Closing a role

Open the job posting’s Actions menu and choose Close role. Hiring admins and the posting’s hiring managers can close it.

  1. Choose whether you hired someone or are closing without a hire. When the role is filled, select everyone hired; you can record several hires at once.
  2. Decide what happens to the remaining candidates. Keep open for follow-up leaves their applications active and sends no rejection emails. Reject and email remaining candidates requires a message and schedules rejection emails using your account’s configured delay. Review the candidate count and message before confirming.

If a remaining candidate has already accepted an offer, select them as hired or choose Keep open for follow-up. Kit will not complete bulk rejections while a remaining candidate has an accepted offer.

Closing stops new applications. Selected hires receive a dated entry in their application timeline and leave the active pipeline. Recording a hire does not send an offer or hiring confirmation. Any upcoming interviews for those hires are cancelled, and the usual cancellation emails are sent. If connected and available, you can also share the hires in their existing Slack candidate threads. Restricted postings are excluded from these announcements.

Hired candidates cannot advance to another stage. Deadline reminders and extension emails for their outstanding tasks stop, including emails queued before the hire was recorded.

A filled role shows a brief celebration and a summary linking to the people hired. Reduced-motion preferences are respected. Reopening the posting preserves its hiring records. If the candidate list changes before you confirm bulk rejections, Kit asks you to review it again.

When a role goes quiet

Kit checks published roles daily. After 30 days without recorded team activity, it privately reminds the role’s hiring managers to review whether hiring is still open. If no eligible manager is assigned, the reminder goes to eligible Hiring admins. Roles with no applicants are included; drafts, paused roles, and closed roles are excluded.

Reviews, hiring decisions, confirmed recruiter messages and information requests, interview invitations, calls and follow-ups, staff-granted deadline extensions, manual notes, reply triage, and confirmed candidate imports count as team activity. Changes your team makes to a role, its pipeline, or its team assignments in Kit also count, including through MCP or the assistant. Candidate applications, replies, page visits, background updates, and payment administration do not. A future interview, an offer with a future expiry date, or an outstanding task deadline postpones the reminder.

The reminder appears in Kit and uses your existing hiring email preferences and quiet-time settings. Each recipient is reminded once per quiet period, with no public Slack escalation or candidate messages. If responsibility changes, newly responsible managers or admins can receive the reminder for that same period. On the role page, Still hiring starts a new 30-day window. Review closure opens the closing flow above so you can decide what happens next. Kit never closes a role automatically.

Type to search...