Flow 05 of 08

Questionnaire & Screening Engine

Reusable general workflows + job-specific configurations with conditional logic and auto-rejection rules.

Story Line

On the admin side, Priya opens the Questionnaire Builder. She has two libraries: General questionnaires applied across every job (work authorisation, visa sponsorship, notice period, expected salary, years of experience, relocation willingness) and Job-Specific questionnaires tailored to individual roles — programming languages for developers, certifications for healthcare, physical capabilities for warehouse positions.

She drags four question types from the palette: short/long text, multiple choice (single or multi-select), date fields, and file uploads. Each question can be marked mandatory or optional, given conditional visibility ("show this only if previous answer is X"), and tagged with auto-rejection rules ("reject if notice period > 60 days"). A real-time preview pane mirrors the candidate experience.

On the candidate side, the engine renders the configured questionnaire. As the candidate answers, the engine re-evaluates conditions on every change, hides or reveals follow-up questions, and silently checks knockout rules. If a knockout fires, the candidate sees a polite rejection screen and the application closes. Otherwise, answers are saved with the candidate profile and forwarded to the AI scoring engine.

Workflow Diagram

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FFF1E6','primaryTextColor':'#1a1a1a','primaryBorderColor':'#F77020','lineColor':'#F77020','secondaryColor':'#FFE4D1','tertiaryColor':'#ffffff','clusterBkg':'#FFF8F2','clusterBorder':'#F77020','fontFamily':'Inter','fontSize':'14px'},'flowchart':{'curve':'basis','htmlLabels':true}}}%% flowchart TD classDef trust fill:#F77020,stroke:#c4541a,stroke-width:2px,color:#ffffff classDef action fill:#FFF1E6,stroke:#F77020,stroke-width:2px,color:#1a1a1a classDef ai fill:#FFE4D1,stroke:#F77020,stroke-width:2px,color:#7a3a10 classDef user fill:#ffffff,stroke:#F77020,stroke-width:2px,color:#1a1a1a classDef success fill:#F77020,stroke:#9c4214,stroke-width:3px,color:#ffffff classDef decision fill:#ffffff,stroke:#F77020,stroke-width:2px,stroke-dasharray:4 2,color:#1a1a1a subgraph adminSide [HR Admin Builder] StartHR([HR Opens Questionnaire Builder]) --> Library{Choose Library} Library -- General --> GenLib[General Questionnaire Library] Library -- Job-Specific --> JobLib[Job-Specific Library] GenLib --> EditGen[Add / Edit General Workflow] JobLib --> EditJob[Add / Edit Job-Specific Workflow] EditGen --> AddQ[Add Question] EditJob --> AddQ AddQ --> QType{Question Type?} QType -- Short / Long Text --> Text[Text Input Field] QType -- Multiple Choice --> MCQ[Single or Multi-Select] QType -- Date --> DateF[Calendar Date Picker] QType -- File Upload --> FileF[Document Attachment] Text --> QConfig[Configure Question] MCQ --> QConfig DateF --> QConfig FileF --> QConfig QConfig --> Required{Mandatory?} Required -- Yes --> MarkM[Mark Required] Required -- No --> MarkO[Mark Optional] MarkM --> Conditional{Conditional Logic?} MarkO --> Conditional Conditional -- Yes --> SetCond[Define Show / Hide Rules] Conditional -- No --> AutoR{Auto-Reject Rule?} SetCond --> AutoR AutoR -- Yes --> SetReject[Define Knockout Threshold] AutoR -- No --> Order[Drag-Drop Question Ordering] SetReject --> Order Order --> Preview[Real-Time Preview Pane] Preview --> SaveQ[Save & Publish Questionnaire] end SaveQ --> Attach[Attach to Job Opening] subgraph candidateSide [Candidate Runtime] StartC([Candidate Reaches Screening Step]) --> LoadQ[Load Attached Questionnaires] LoadQ --> Combine[Combine General + Job-Specific] Combine --> Render[Render First Question] Render --> Answer[Candidate Answers] Answer --> EvalCond{Conditional Visibility?} EvalCond -- Show More --> NextCond[Reveal Follow-Up Question] EvalCond -- Hide --> SkipQ[Skip Hidden Question] NextCond --> EvalKO SkipQ --> EvalKO EvalKO{Knockout Rule Triggered?} EvalKO -- Yes --> AutoRej[Auto-Reject & Notify] AutoRej --> RejEnd([End: Polite Rejection]) EvalKO -- No --> MoreQ{More Questions?} MoreQ -- Yes --> Render MoreQ -- No --> SaveAns[Save Answers to Profile] SaveAns --> Forward[Forward to AI Scoring] Forward --> Continue([Continue Application]) end Attach --> StartC class StartHR,EditGen,EditJob,AddQ,Text,MCQ,DateF,FileF,QConfig,MarkM,MarkO,SetCond,SetReject,Order,Preview,SaveQ,Attach,StartC,Render,Answer,NextCond,SkipQ user class GenLib,JobLib,LoadQ,Combine,SaveAns action class Forward ai class Library,QType,Required,Conditional,AutoR,EvalCond,EvalKO,MoreQ decision class AutoRej,RejEnd trust class Continue success
General + Job-Specific

Reusable libraries combined with role-tailored questions per job.

Four Question Types

Text, multiple choice, date, and file upload — covering every screening need.

Conditional Logic

Show, hide, and branch follow-up questions based on prior answers.

Auto-Reject Rules

Knockout thresholds short-circuit unqualified applications gracefully.