All templates
State template

Hiring workflow state machine

From job posting through offer acceptance: candidate states and approval gates.

Every recruiting team has a hiring workflow, and almost none have a shared, visible diagram of it. This template maps the full journey: from the job posting through sourcing, screening, interview loops, management approval, and the offer decision. It shows where candidates move forward and where they exit — making bottlenecks and loss-rates visible to the entire team.

When to use this template

  • Hiring process documentation — new recruiters, hiring managers, and interviewers need a map of the full pipeline before their first week.
  • Bottleneck analysis — overlay real conversion rates on each transition to spot where candidates pile up or drop off unexpectedly.
  • Process redesign — when you want to change the number of interview rounds, add a background check, or run concurrent tracks (e.g., a team interview in parallel with tech), visualize the new states and transitions first.

How to adapt it

Rename the states to your process and adjust the transitions to match:

  • Add concurrent interviews — instead of Tech_Interview → Hiring_Manager_Round, create parallel states and converge them.
  • Insert a rejection reason — split Rejected_Screen into Rejected_Overqualified and Rejected_Not_Ready to track why you said no.
  • Add post-offer stages — extend Onboarding to include a pre-start period, background check completion, or equipment setup, each as its own state.

Visual edits regenerate clean Mermaid code, so you can paste the result into your HR system, Notion, or README without touching syntax.

Mermaid code

Copy it anywhere Mermaid is supported — GitHub, Notion, or your docs.

stateDiagram-v2
    [*] --> Job_Posted
    Job_Posted --> Sourcing: recruiting starts
    Sourcing --> Initial_Screen: resume submitted
    Initial_Screen --> Screen_Approved: pass screening
    Initial_Screen --> Rejected_Screen: fail screening
    Rejected_Screen --> [*]
    Screen_Approved --> Technical_Interview: passes initial
    Technical_Interview --> Tech_Pass: strong signal
    Technical_Interview --> Tech_Rejected: weak signal
    Tech_Rejected --> [*]
    Tech_Pass --> Hiring_Manager_Round: advances
    Hiring_Manager_Round --> Manager_Approved: alignment
    Hiring_Manager_Round --> Manager_Rejected: not a fit
    Manager_Rejected --> [*]
    Manager_Approved --> Offer: approved by hiring manager
    Offer --> Accepted: signs offer
    Offer --> Declined: declines offer
    Declined --> [*]
    Accepted --> Onboarding: hired
    Onboarding --> [*]

Frequently asked questions

What is a hiring workflow state machine?
It maps every stage of a candidate's journey from job posting to offer acceptance: sourcing, screening, interviews, approvals, and the terminal states (rejected, declined, or hired). Each transition represents a decision point or activity that moves the candidate forward or out.
Why use a state diagram instead of a flowchart for hiring?
A state diagram emphasizes the *states* candidates occupy (Initial_Screen, Technical_Interview) and the *transitions* between them. It's ideal for modeling workflows where you care about who is in which stage at any given time — essential for pipeline reporting and bottleneck analysis.
How do I adapt this for our specific hiring process?
Add or remove states to match your real process: for example, add a final-round panel discussion, a background check state, or reference checks. Delete states you don't use. You can also rename the edges (e.g., 'passes initial' → 'strong technical signal') to match your team's language.
How can I use this diagram in our hiring planning?
Drop it into your process docs, HR wiki, or recruiting handbook so new recruiters understand the pipeline. Overlay historical conversion rates on each transition (e.g., '40% pass initial screen') to identify where candidates drop off and where hiring managers or interviewers might need coaching.

Related templates