Most small companies hire with three disconnected tools: a job board that sends applications to a shared inbox, a spreadsheet of candidates with a "status" column, and an HR system where someone retypes the new starter's details after the offer is accepted. Each hand-off loses something. Interview feedback lives in chat, the agreed salary sits in an email, and the new joiner's first-week checklist starts late because nobody told IT.
This guide follows one hire through WorkPro, our self-hosted company management platform, from the job request to the employee's first day. It is written for founders, hiring managers and operations leads who want recruitment and onboarding in the same system. We cover what the recruitment module does, the order in which to set it up, and where it stops.
The chain we want
A hire should produce one connected trail of records:
- A job requisition that someone drafts and someone else approves.
- A public job post on your careers page, live only within its publish window.
- Applications that are screened as they arrive.
- Interviews with a panel, a calendar invite and written scorecards.
- An offer, recorded against the application.
- An employee record created from the candidate, with onboarding checklists already assigned.
In WorkPro each step creates or updates the next record, so the person who approves the start date never has to retype the candidate's name.
Step 1: Draft and approve the requisition
Jobs live under Recruitment → Jobs. Each requisition gets a number (JOB-000123 style) and holds:
- title, department, location, work model (on-site, hybrid, remote) and employment type
- number of openings
- a hiring manager and a recruiter
- a salary range with currency and period (per year, month or hour), plus a switch for whether to show it on the public page
- summary, description, requirements and benefits
- screening questions and scorecard criteria (more on both below)
- an optional publish window: a start date and a close date
Requisitions follow a fixed workflow:
| Status | How it gets there |
|---|---|
| Draft | Created, or sent back by an approver |
| In review | Submitted by the requester; the department head and hiring manager are notified |
| Published | Approved by someone with job-approval permission |
| Closed | Closed by hand once the role is filled |
| Archived | Closed or abandoned jobs, kept for the record |
Two rules prevent common mistakes. An approver cannot publish a job without a description, or one whose close date has already passed. Sending a job back requires a note saying what to change. A job that has applications cannot be deleted, only archived, so the hiring history is kept.
AI can draft the job ad (summary, description, requirements, benefits and suggested criteria) from the basics you enter. It is optional, the text is sanitised, and nothing is saved until you accept it.
Step 2: Design the pipeline and screening
Pipeline stages
Every job uses the same stage keys: Sourced, Applied, Screening, Interview, Offer, Hired, with Rejected as a side exit. For each job you can rename a stage, switch it off, and decide whether moving a candidate into it emails them. Applied and Hired cannot be switched off. You also cannot switch off a stage that still has candidates in it; move them first.
Screening questions
Questions can be short text, long text, yes/no, single choice or a number. Each can be required, and each can carry a knockout rule:
- for yes/no and single-choice questions, one or more answers that disqualify
- for number questions, a minimum (for example, years of experience)
An application that trips a knockout is stored, but goes straight to Rejected with the reason "Failed a screening question". It does not disappear, so you can review it if the rule was too strict.
Scorecard criteria
List what interviewers should rate. The default set is role expertise, problem solving, communication, collaboration and motivation. Each criterion is scored from 1 to 5.
Step 3: Publish to your careers page
Each organisation gets a public careers board at /careers/<your-org> with one page per live job. A job is live only while it is Published and inside its publish window. The pages include schema.org JobPosting structured data, so search engines can list the role in job search, and the boards appear in the site map.
The apply form asks for name, email, contact details, optional LinkedIn and portfolio links, a cover letter, the screening answers and a résumé. Résumés can be PDF, Word (.docx) or text, up to 5 MB, and you can make the résumé optional per job. Privacy consent is recorded with the candidate.
The form is protected against spam:
- a hidden honeypot field, plus a minimum time to fill the form; bots get a fake success and nothing is stored
- a limit of five applications per IP address per hour
- one application per candidate per job; a second attempt gets a polite "you have already applied"
Step 4: Work the pipeline
Candidates appear on a Kanban board for each job, or across all jobs. Some things to know:
- One person, many applications. Candidates are matched by email, so someone who applies for two roles is one candidate with two applications. Notes, emails and the latest résumé stay on the candidate profile.
- Sourced candidates. Recruiters can add people found elsewhere, choosing the source (referral, LinkedIn, agency, event and so on) and the stage to start in.
- Spreadsheet import. Existing candidate lists can be imported, matched by email and linked to jobs. A batch can be rolled back, but not once an imported candidate has an interview.
- Every move is recorded. Each stage change goes into the application's history with who moved it and when. If two people drag the same card at once, the second is told to refresh rather than overwriting the first.
- Rejections need a reason, such as not qualified, salary expectations, candidate withdrew or position filled. Whether the candidate is emailed is your choice.
- Email templates. Candidates can be emailed from their profile using built-in templates with placeholders such as first name and job title.
Optional AI tools help at this stage: reading a résumé into suggested profile fields, and a match score for a candidate against the job's requirements, showing which requirements look met, partial or missing. The score is cached on the application and only re-run when the inputs change or you ask. Each organisation can switch AI off.
Step 5: Interview and score
Schedule an interview from the application. You choose the type (video, on-site or phone), date, time, duration, panel and location or meeting link. Times are entered in the organisation's time zone.
- Conflict check. If a panel member already has an interview at that time, WorkPro names them and refuses to book unless you explicitly accept the clash.
- Invitations. The panel is notified in the app and by email. If you choose, the candidate gets an email with a calendar (.ics) attachment.
- Automatic stage move. Booking the first interview moves a candidate in Sourced, Applied or Screening to Interview.
- Scorecards. Panel members file their own scorecard once the interview has started: a 1–5 rating per criterion, a recommendation from strong yes to strong no, and notes. Recruiters and hiring managers can read every scorecard but only write their own.
The application shows the average rating, per-criterion averages and the spread of recommendations. AI can draft tailored interview questions and summarise the panel's scorecards, but only when scorecards exist.
Step 6: Offer and hire
Moving a candidate to Offer lets you record the amount, currency, period, proposed start date and a note. The offer stays on the application.
Hired is deliberately not a drag-and-drop stage. You use the Hire action, which asks for the job title, department, start date, work email, employment type, work model, location and salary (prefilled from the offer). Then, in one database transaction, WorkPro:
- creates the employee record with status Onboarding and an employee number
- adds the agreed pay as the first salary history entry, effective from the start date
- marks the application Hired and records which employee it became
- generates the onboarding checklists that match the employee's employment type
If any step fails, none of it is saved. A candidate cannot be hired twice, and an employee work email must be unique. The hiring manager, recruiter and department head are notified, and when the number of hires reaches the job's openings you are prompted to close the job.
Step 7: Day one is already planned
Because the employee starts in Onboarding, the HR module takes over without a hand-off meeting:
- each checklist task is assigned to its owner team (HR, IT or the new starter's manager) or a fixed person
- due dates are calculated from the start date, so "order a laptop" can fall due before day one
- task owners are notified and tick their tasks off from their dashboard
- repeating the status change never duplicates a checklist that is already open
The HR side, covering employee records, attendance, leave and self-service, is covered in our HR guide.
Who sees what
Recruitment uses the same role grid as the rest of WorkPro, with Own, Team, Department or All scope. A hiring manager with "own" scope sees only the jobs, applications and candidates they are linked to as hiring manager or recruiter. Organisations never see each other's data. Both rules are covered by integration tests in the source.
What it does not do
So you can plan around it:
- No offer letters or e-signatures. The offer is recorded, but WorkPro does not generate a letter or collect a signature.
- No login on hire. Hiring creates the employee record, not a user account; you invite the person as a user separately.
- No job-board syndication. Jobs are published on your own careers pages with structured data; posting to external job boards is not built in.
- No background checks or calendar sync. Invites go out as .ics files; there is no two-way calendar integration.
Any of these can be added as a customisation.
Set-up checklist
- Departments and department heads in place (they review requisitions)
- Approvers given job-approval permission
- Default scorecard criteria agreed
- Onboarding checklist templates written for each employment type
- Careers page linked from your website
- Stage emails decided per job
- Hiring managers' scope checked
Next step
The behaviour above is covered by 25 recruitment integration tests in the source (13 in tests/integration/recruitment.test.ts and 12 in tests/integration/ai-recruitment.test.ts). You can get the source from the WorkPro marketplace page, and DEV3 can install it or adapt the pipeline to your hiring process. For how the modules fit together, read the case study.



