# Pipeline stages & moving candidates

> How the two-axis pipeline works — stages you define, outcomes that never lose history — in board and table form.

_Collection: Jobs & Pipeline (jobs-pipeline) — Kepler Help Center. Canonical: https://keplercrm.com/support/articles/pipeline-stages/_

Each job has a pipeline — the set of candidates in process. Open a job and select the **Pipeline** tab, where you can switch between a **board** (kanban) and a **table** view.

## Stages and outcomes — two separate things

Every application tracks two things independently:

  - **Stage** — *where* the candidate is in your process. Stages are defined by your workspace (the default set is Sourced → Applied → Screen → Submitted → Client review → Interview → Offer) and fully customisable — see [Customising pipeline stages](/support/articles/customising-pipeline-stages/).

  - **Outcome** — *how it ended*: **placed**, **rejected** or **withdrawn**. Outcomes are not stages: rejecting a candidate at Interview doesn't drag their card backwards — it stamps the outcome and preserves the stage they reached, so your funnel history stays honest. See [Recording outcomes](/support/articles/recording-outcomes/).

## The board

The kanban board shows one column per active stage and a **Placed** column for candidates whose outcome is placed. When applicants are awaiting review, an **Inbound** column appears before the pipeline stages (see [Reviewing inbound applicants](/support/articles/review-inbound-applicants/)).

Drag a card to a new column — the stage updates immediately and the move is logged on both the job's and the candidate's History timeline. Cards can show **days in stage** and the candidate's AI match strength, so you can prioritise within a column. While dragging, drop zones for **Reject…** and **Withdraw…** appear so you can record an exit without leaving the board.

## The table

Switch to table view for a full-power list of the pipeline's candidates — the same columns, filters, sorting and saved views as any record list, with application details (stage, outcome, dates) alongside candidate fields.

## Adding candidates to the pipeline

  - From the Pipeline tab, add an existing candidate from your database.

  - From a candidate's **Pipeline** tab, add them to the job.

  - By **accepting an inbound applicant** — they enter at the stage you pick, falling back to the posting's stage and then to the workspace's **Inbound default** stage.

  - By **accepting an AI match suggestion** from the job's Matching tab.

## Submitted tracking

Stages can be flagged as **"Marks submitted"** in settings — when a candidate reaches such a stage (or any stage after it), Kepler stamps their **submitted date** automatically. That's what powers the delivery funnel and the Submitted column on the [Pipeline page](/support/articles/creating-submittals/).

## Pipeline hygiene

  - Keep stage definitions honest — "Interview" should mean a confirmed client interview, not "sent the CV and hoping".

  - Record outcomes when candidates drop — the dashboard and reports read stage and outcome data, and stale pipelines produce fantasy forecasts.

  - Use the **Interviews** tab to log rounds, feedback and scheduling alongside the stage itself.

> **NOTE:** The pipeline records applications — the link between one candidate and one job. A candidate can be in several pipelines at once, each with its own stage, outcome and history.
