Recruitment process
A recruitment process flowchart (or hiring process flowchart) shows how a vacancy is filled. Once the headcount is approved, the role is written up, posted and sourced; candidates pass a CV screen, a screening call and an interview panel before a hiring decision. A successful candidate receives an offer, which may be negotiated, accepted or declined, and pre-employment checks are completed before the new hire is handed over to onboarding.
Hiring managers and recruiters draw this to agree who decides at each stage, to set expectations with candidates, and to see where a hiring process loses time. Candidates can be rejected at every stage, so each of those exits needs someone responsible for telling them. When an offer is declined, or a check does not clear, the role can be offered to a runner-up the panel has already approved, and sourcing starts again only when there is no such candidate.
Mermaid source
---
title: Recruitment process
---
flowchart LR
vacancy([Vacancy identified]) --> approve{Headcount approved?}
approve -->|No| onhold([Role on hold])
approve -->|Yes| spec[Write the job description]
spec --> post[Post the job and source candidates]
post --> screen{Passes the CV screen?}
screen -->|No| reject([Candidate rejected])
screen -->|Yes| screenCall[Screening call]
screenCall --> progress{Progress to interview?}
progress -->|No| reject
progress -->|Yes| panel[Interview panel]
panel --> decision{Hiring decision}
decision -->|No| reject
decision -->|Yes| offer[Make an offer]
offer --> answer{Response?}
answer -->|Counter-offer| negotiate[Negotiate terms]
negotiate --> offer
answer -->|Declines| runnerUp{Approved runner-up?}
runnerUp -->|Yes| offer
runnerUp -->|No| post
answer -->|Accepts| checks[Pre-employment checks]
checks --> clear{Checks clear?}
clear -->|No| withdraw[Withdraw the offer]
withdraw --> runnerUp
clear -->|Yes| onboarding([Hand over to onboarding])Stock Mermaid vs Line9 on this recruitment process
Run the same source through the stock Mermaid engine and it often will not look as good. In some cases, Mermaid is able to deliver a usable graph, but not always. On this one:
Stock Mermaid draws this process as a strip about six times wider than it is tall, so to fit into a page or screen it has to be scaled down and the labels become small. Its decision diamonds grow to fit their text and end up much larger than the steps around them. The two edges from ‘Approved runner-up?’ back to ‘Make an offer’ and to ‘Post the job and source candidates’ run across most of the width of the diagram, because nodes are not placed near the ones they relate to. Line9 lays out the same source in a more compact shape, with every decision the same size, so it can be shown at a size where every label is readable.
For a fuller product comparison — layout, export, CLI, and pricing — see Line9 vs mermaid.live.
Render your own
Paste any Mermaid flowchart into the free online editor — no account needed. Prefer the terminal? Install the line9 CLI (free for personal use).
Related diagrams
- User authentication flow (with MFA)
- GitHub pull request workflow
- CI/CD pipeline (with rollback)
- AI coding agent workflow
- Incident response runbook
- Database migration rollout
- Feature-flag canary rollout
- Webhook delivery, retry, and dead-letter flow
- Decision tree
- Payment flow
- Content approval workflow (with legal review)
- Support ticket lifecycle
- Peer-review process
- Procure-to-pay process
- Kubernetes cluster architecture
- E-commerce order processing
- RAG application architecture
- Data flow diagram
- Network topology diagram
- System context diagram
- Event-driven architecture
- User flow diagram
- CONSORT flow diagram
- HACCP flow diagram
More scenarios on the Mermaid examples hub.