Solution · HR & people
Employees, payroll, candidates — PII-safe.
HR systems exchange highly sensitive employee, payroll and candidate data across HRIS, ATS and payroll vendors in inconsistent formats. AdaptivMapr maps it while most records never leave your system.
The problem
Why this is hard
HR systems constantly exchange employee, payroll and candidate data — some of the most sensitive PII a company holds — across HRIS, ATS and payroll vendors, each with its own export format. Getting those files into your canonical shape is repetitive, and one wrong column mapping can expose salaries or personal identifiers. The AdaptivMapr HR pack ships four templates — candidates, employees and payroll among them — and because schema-only mode sends only headers plus 3 sample rows, most HR mapping never exposes a single employee record.
How it works
The pipeline, end to end
- 1
Upload the HR export
Send an employee, payroll or candidate file from your HRIS, ATS or payroll vendor. In schema-only mode only the headers and up to 3 short sample rows leave your system — no full employee record is transmitted.
Schema-onlyPII stays in-house - 2
The cascade maps to the HR template
Deterministic layers resolve most columns against the HR pack (candidates, employees, payroll) with multilingual hints, so vendor-specific header names still land on the right field.
candidatesemployeespayroll - 3
Validate the fields
Field-level validators check the identifiers and formats each template defines before a value is accepted, so malformed data is caught at map time.
Field validators - 4
Human review on high-risk, then commit
employees and payroll are high-risk and candidates is medium; the mappings response flags requires_hitl so a person confirms before commit. Every commit writes to the audit trail.
requires_hitlAudit trail
Why AdaptivMapr
What makes it fit
HITL on payroll and employees
Deterministic and cheap
Audit trail per commit
In code
A representative call
Map a payroll export to the HR template — schema-only means no employee record leaves, and the high-risk template gates on review before commit.
# 1. upload (schema-only: headers + <=3 short sample rows)
curl https://api.adaptivmapr.com/v1/uploads \
-H "Authorization: Bearer $MAPR_KEY" \
-F file=@payroll.csv
# 2. map to the HR "payroll" template
curl https://api.adaptivmapr.com/v1/uploads/$ID/mappings \
-H "Authorization: Bearer $MAPR_KEY" \
-X PATCH -d '{"template":"payroll"}'
# 3. commit once a reviewer confirms (high-risk = HITL)
curl https://api.adaptivmapr.com/v1/uploads/$ID/commit \
-H "Authorization: Bearer $MAPR_KEY" -X POST{
"template": "payroll",
"risk": "high",
"requires_hitl": true,
"hitl_status": "pending_review",
"fields": {
"employee_id": { "source": "EmpNo", "ok": true },
"gross_pay": { "source": "Gross", "ok": true },
"net_pay": { "source": "Net", "ok": true }
}
}FAQ
Common questions
Ready when you are
Map hr & people data without shipping raw records.
Test on schema-only for a few tokens per map. Full-data routing under a BAA when you go live.