---
name: candidate-data-extraction
description: Extracts consistent candidate fields from CVs into a review-ready matrix, preserving source wording and marking absent or ambiguous information rather than inferring it. Use for resume parsing, applicant data normalization, recruitment data entry, or candidate profile preparation.
license: Apache-2.0
metadata:
  adlass.categories: "hr-people/recruiting"
  adlass.industries: ""
  adlass.tags: "resume-parsing,candidate-data,cv-extraction,applicant-profile"
  adlass.adaptation: "mapping"
  adlass.source: "n8n:2416, n8n:5752"
  adlass.version: "1"
---

# Candidate Data Extraction

## Purpose

Turn each CV into a consistent candidate record for recruiter and hiring-manager review, retaining the wording and location of every extracted fact.

## Scope

Extract identity, contact details, location, work authorization wording, education, employment history, dates, titles, employers, skills, certifications, languages, and stated achievements. Preserve duplicate CV versions as one candidate with version notes.

**Excluded:** candidate ranking, protected-characteristic inference, employment verification, eligibility conclusions, and edits to the applicant-tracking system.

## Data basis

- CVs and cover letters in the run corpus.
- Role description and competency rubric, when supplied.
- Candidate table columns for candidate_id, name, email, phone, location, employer, title, start_date, end_date, skill, proficiency, education, certification, language, and source_reference.

## Result

A candidate matrix with one row per candidate and linked evidence rows for employment, education, skills, certifications, languages, and missing-field exceptions.

## Quality criteria

- Every populated field has a CV page, section, or paragraph citation.
- Dates use ISO format only when the source gives enough precision; month-only and year-only precision remain visible.
- Skills are copied into a controlled vocabulary only alongside the original wording.
- Overlapping employment dates and contradictory contact details are flagged.
- No blank field is converted to “no” or “none”.

## Instructions

Use the candidate_id from the source filename or candidate table; otherwise create a stable document-based identifier. Separate explicit facts from normalized labels. For current employment, use “present” only when the CV says so. Split multi-valued skills and certifications into evidence rows, but do not infer proficiency from a job title. Record every unreadable page and every field absent from the CV in the exceptions sheet.

## Adapt before use

- Map CV filenames and candidate identifiers to the recruiting system’s columns.
- Add the role description, competency vocabulary, and date-format conventions.
- Set permitted personal fields, retention limits, and reviewer access rules.
