Agency Operations
Candidate Enrichment: How Agencies Keep Their Database Placeable
Candidate enrichment turns half-filled, aging records into complete, searchable profiles. Here is what it adds, how the sources fit together, and how to keep the whole thing GDPR compliant instead of building a liability.
Written by: Saply Team
Candidate enrichment is the process of filling in and refreshing the gaps in a candidate record so it becomes complete, current, and searchable. It takes a profile that started as a parsed CV or a manual entry and adds the fields that make it useful: verified contact details, normalized skills and titles, current employer, seniority, location, and availability, then keeps those fields up to date as the candidate’s career moves on.
The reason it matters to a staffing agency is blunt. A database is only worth what you can find in it. A record with a name and a five year old phone number is not a candidate, it is a dead end you paid to store.
What enrichment actually adds to a record
A raw candidate record, straight from a CV upload or a form, is thinner than it looks. Enrichment works in layers, and each layer answers a different recruiter question.
The contact layer decides whether you can reach the person at all. The structure layer decides whether they surface in a search. The context layer decides whether they are the right person right now. The freshness layer is the one most agencies skip, and it is the one that stops the whole database from quietly rotting.
Why agency databases decay in the first place
Candidate data does not stay accurate on its own. People change jobs, move city, get promoted, and switch phone numbers, and none of that reaches your CRM unless something goes and gets it. A record entered cleanly in 2023 describes a person who no longer exists in 2026.
This is not only an efficiency problem, it is a compliance one. The GDPR sets accuracy as one of its core principles: personal data must be accurate and, where necessary, kept up to date, and controllers must take reasonable steps to erase or rectify inaccurate data without delay (European Commission, principles of the GDPR). A database full of five year old contact details is not just useless, it sits at odds with a rule your clients’ data protection officers will ask about.
Enrichment and the GDPR pull in the same direction on accuracy, and in opposite directions on scope. Keeping a record current is encouraged. Collecting new data fields the candidate never expected you to hold is where the purpose limitation principle bites: personal data may be processed only for the specific, explicit purpose it was collected for. Enrich to keep a profile true, not to build a dossier.
How candidate enrichment works
Enrichment is a pipeline, not a single button. The strongest version runs the same profile through several passes and reconciles what it finds rather than blindly overwriting.
It starts with parsing, which turns the CV into structured fields. Matching then checks whether this person already exists in your database, because enriching a duplicate just doubles your mess. Pulling adds fields from sources you are permitted to use. Reconciling is the step cheap tools skip: when the CV says one job title and another source says another, something has to decide which is current and which to trust. Only then does the verified profile get written back.
Where the enrichment data comes from
Not every source is equal, in either quality or legal footing. In rough order of how defensible they are for an agency:
| Source | What it adds | Notes |
|---|---|---|
| The candidate’s own CV | Skills, history, education | Cleanest source; the person gave it to you for this purpose |
| Your own ATS and CRM | Prior submissions, notes, placement history | Already yours; merging duplicates recovers data you paid for |
| Candidate self-service update | Availability, current role, preferences | Highest accuracy, lowest legal risk, and the candidate does the work |
| VMS and portal activity | Recent roles submitted into Fieldglass, Beeline | Confirms what the candidate is actually doing now |
| Third party data providers | Contact details, employer, seniority | Useful, but check the lawful basis and the provider’s own sourcing |
The pattern worth noticing: the safest and most accurate enrichment often is not scraping the open web, it is reconciling data you already hold and asking the candidate to confirm it. A well built candidate profile plus a self-update link beats a bought data list on both accuracy and compliance.
Manual versus automated enrichment
Most agencies enrich manually without calling it that. A recruiter opens a stale record, googles the person, updates the phone number, and moves on. It works, and it does not scale.
| Manual enrichment | Automated enrichment | |
|---|---|---|
| Trigger | A recruiter notices the gap | Runs on upload and on a schedule |
| Coverage | Only records someone touches | The whole database |
| Consistency | Varies by recruiter | Same rules every time |
| Duplicate handling | Easily missed | Detected at match step |
| Best for | Judgement calls, key accounts | Volume, hygiene, freshness |
Automation is not better at everything. A recruiter deciding whether a senior candidate is genuinely open to a move is doing something no enrichment pipeline can. The right split is to let software carry the volume hygiene so recruiters spend their judgement where judgement pays.
What enrichment unlocks downstream
Enrichment is never the goal, it is the enabler. Clean, current, structured records are what make everything downstream work.
Search stops missing people. A recruiting database only returns candidates whose fields actually contain the terms you search. Enrich the structure layer and your dormant records rejoin the pool. It makes sourcing start from your own database instead of always from a cold external search, which is faster and cheaper. And it feeds matching and analytics: a matcher can only score fields that exist, so an enriched profile scores against more vacancies than a thin one.
The honest limitation: enrichment cannot invent what was never captured, and it cannot make a candidate open to a move. It makes existing records findable and current. It does not replace the recruiter conversation that confirms someone is actually interested. Treat it as database hygiene that returns your existing candidates to circulation, not as a shortcut around talking to people.
In Saply, enrichment is not a separate product you bolt on. The same engine that parses and reformats a CV into your template also structures and normalizes the underlying data, and syncs the clean profile back to your ATS, with processing and storage kept in the EU (see our security overview). The recruiter uploads a document and gets a complete record, without a second data step.
Frequently asked questions
What is candidate enrichment in recruitment?
Candidate enrichment is the process of completing and updating a candidate record so it stays accurate and searchable. It adds missing fields such as verified contact details, normalized skills and titles, current employer, and availability, and refreshes them over time so the record still describes the person today, not the person who applied two years ago.
How is candidate enrichment different from CV parsing?
Parsing is the first step, enrichment is what happens after. Parsing extracts structured fields from a single CV. Enrichment takes that parsed record, checks it against your existing data, fills the gaps from permitted sources, resolves conflicts, and keeps it current. You can parse without enriching, but you cannot enrich without first having structured data to work from.
Is candidate data enrichment GDPR compliant?
It can be, and it can also create risk, depending on how you do it. Keeping data accurate and up to date aligns with the GDPR accuracy principle. Collecting new fields the candidate never expected you to hold runs into purpose limitation and lawful basis. The safe pattern is to reconcile data you already hold and let candidates confirm their own details, rather than quietly building profiles from scraped sources.
How do I stop my recruitment database from going stale?
Make freshness a field, not an afterthought. Stamp every record with a last-verified date, run enrichment on a schedule instead of only on upload, deduplicate on the way in, and give candidates an easy self-service way to update their own details. The goal is that stale data flags itself before a recruiter wastes a call on it.
Should agencies buy third party enrichment data?
Sometimes, but it is the last source to reach for, not the first. Your own ATS history and a candidate self-update are more accurate and far safer than a purchased contact list. If you do use a third party provider, confirm its lawful basis and where its data came from, because you inherit the compliance exposure of whatever you feed into your database.