Flow 04 of 08

Candidate Application Workflow

A streamlined six-stage journey — basic details, email OTP, resume, questions, voluntary self-ID, and review & submit.

Story Line

Arjun lands inside the application flow with a clean 6-step progress bar. Step 1 asks for basic details — name, email, phone, address, plus optional LinkedIn and portfolio URLs. The form validates inline.

Step 2 is Email OTP verification. The platform sends a one-time code to Arjun's inbox. Once he enters it, the system checks whether that email is already known. If yes, his saved profile is pulled forward — resume on file, prior answers, self-ID preferences — and Arjun simply confirms or updates. If it's a new email, he proceeds as a fresh candidate.

Step 3 is the magical one. Arjun drags his CV onto the dropzone. The AI parser reads the PDF, falls back to OCR for any scanned content, and within seconds extracts his work experience, skills, education, and certifications. He just confirms what was auto-detected.

Step 4 fires the screening questions — visa status, salary expectations, notice period, and a knockout: "Do you have at least 5 years of mechanical CAD experience?" If a candidate fails a knockout, they are auto-rejected with a polite message. Arjun passes.

Step 5 is the voluntary self-identification form for compliance — gender, ethnicity, disability, and veteran status, all clearly marked optional. Step 6 is a review & submit screen with the entire application laid out, an electronic signature pad, and a consent checkbox. Arjun signs, submits, and gets a confirmation with a tracking link.

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 Start([Candidate Clicks Apply Now]) --> InitSession[Initialise Application Session] InitSession --> ProgressBar[Render 6-Step Progress Bar] ProgressBar --> Step1[STEP 1: Basic Details] Step1 --> S1Fields[Name, Email, Phone, Address] S1Fields --> S1Optional[Optional: LinkedIn, Portfolio URL] S1Optional --> S1Validate{Fields Valid?} S1Validate -- No --> S1Error[Show Inline Errors] S1Error --> S1Fields S1Validate -- Yes --> Save1[Auto-Save Step 1] Save1 --> Step2[STEP 2: Email OTP Verification] Step2 --> SendOTP[Send 6-Digit OTP to Email] SendOTP --> EnterOTP[Candidate Enters OTP] EnterOTP --> OTPValid{OTP Valid?} OTPValid -- No --> OTPRetry[Show Error & Allow Resend] OTPRetry --> EnterOTP OTPValid -- Yes --> LookupProfile[Lookup Email in Candidate DB] LookupProfile --> ProfileExists{Saved Profile Exists?} ProfileExists -- Yes --> PullSaved[Pull Saved Resume, Answers & Self-ID] PullSaved --> ConfirmReuse[Candidate Confirms / Updates] ConfirmReuse --> Step3 ProfileExists -- No --> NewCandidate[Mark as New Candidate] NewCandidate --> Step3[STEP 3: Resume Upload] Step3 --> Drop[Drag & Drop or Browse] Drop --> FileType{File Type?} FileType -- PDF --> Parse[AI Resume Parser] FileType -- DOCX --> Parse FileType -- Scanned PDF --> OCR[OCR Engine] OCR --> Parse FileType -- Other --> Reject1[Reject & Prompt Re-upload] Reject1 --> Drop Parse --> Extract[Extract Skills, Experience, Education] Extract --> AutoFill[Auto-Fill Profile Fields] AutoFill --> Confirm[Candidate Confirms Extracted Data] Confirm --> Save3[Auto-Save Step 3] Save3 --> Step4[STEP 4: Screening Questions] Step4 --> LoadQ[Load Configured Questionnaire] LoadQ --> QGen[General Questions] QGen --> QJob[Job-Specific Questions] QJob --> Visa[Visa Status] Visa --> Salary[Salary Expectations] Salary --> Notice[Notice Period] Notice --> KO[Knockout Questions] KO --> KOEval{Pass Knockout?} KOEval -- No --> AutoRej[Auto-Reject & Notify] AutoRej --> RejEnd([End: Polite Rejection]) KOEval -- Yes --> Save4[Auto-Save Step 4] Save4 --> Step5[STEP 5: Voluntary Self-ID] Step5 --> ComplianceNotice[Compliance Notice — All Optional] ComplianceNotice --> Gender[Gender Optional] Gender --> Ethnicity[Ethnicity Optional] Ethnicity --> Disability[Disability Status Optional] Disability --> Veteran[Veteran Status Optional] Veteran --> Save5[Auto-Save Step 5] Save5 --> Step6[STEP 6: Review & Submission] Step6 --> Preview[Application Preview Panel] Preview --> EditCheck{Edit Required?} EditCheck -- Yes --> JumpStep[Jump to Specific Step] JumpStep --> Step1 EditCheck -- No --> ESign[Electronic Signature] ESign --> Consent[Consent Checkbox] Consent --> ValidateAll{All Valid?} ValidateAll -- No --> ShowGaps[Highlight Missing Fields] ShowGaps --> Step6 ValidateAll -- Yes --> SubmitFinal([Submit Application]) SubmitFinal --> Confirmation[Confirmation Screen + Email] Confirmation --> ATSEntry[Create Candidate in ATS — Stage: Applied] class Start,Step1,S1Fields,S1Optional,S1Error,Step2,EnterOTP,OTPRetry,ConfirmReuse,NewCandidate,Step3,Drop,Reject1,Confirm,Step4,LoadQ,QGen,QJob,Visa,Salary,Notice,KO,Step5,ComplianceNotice,Gender,Ethnicity,Disability,Veteran,Step6,Preview,JumpStep,ESign,Consent,ShowGaps,Confirmation user class InitSession,ProgressBar,Save1,Save3,Save4,Save5,ATSEntry,SendOTP,LookupProfile action class Parse,OCR,Extract,AutoFill,PullSaved ai class S1Validate,OTPValid,ProfileExists,FileType,KOEval,EditCheck,ValidateAll decision class AutoRej,RejEnd trust class SubmitFinal success
Six Stages

Basic Details · OTP · Resume · Questions · Self-ID · Review & Submit.

Email OTP & Pull-Forward

Verified email recognises returning candidates and reuses their saved profile.

OCR + Parsing

PDF, DOCX, and scanned resumes auto-parsed into profile fields.

Voluntary Self-ID

Optional compliance self-identification, with e-signature on submission.