HRMS migration
Field-level mapping, validation, and rollback between Unatrix and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
Unatrix
Source
BambooHR
Destination
Compatibility
7 of 10
objects map 1:1 between Unatrix and BambooHR.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Unatrix to BambooHR is a structural shift from an ATS-CRM hybrid built for engineering and consulting staffing firms to a mainstream HRIS designed for small and medium businesses. Unatrix organizes data around Candidates, Clients, Jobs, and staffing-engagement Projects with CV-extracted Qualifications; BambooHR uses Employees, Applicants, and Job Openings as its primary records. We sequence the migration by extracting data from Unatrix via a manual support-negotiated export, normalizing the tenant-specific qualification taxonomy during transformation, mapping the Unatrix Project object to Employee custom fields since no native equivalent exists in BambooHR, and loading through BambooHR's REST API with HTTP Basic Auth and rate-limit-aware chunking. Workflows, sequences, KPI dashboards, and report configurations do not migrate; we deliver a written inventory of Unatrix automation and reporting objects requiring manual rebuild in BambooHR's workflow builder and reporting module.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Unatrix object lands in BambooHR, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Unatrix
Candidate
BambooHR
Employee (with Applicant flag)
1:1Unatrix Candidates map to BambooHR Employee records with a custom hireStatus field distinguishing active employees from pre-hire applicants. Standard fields (firstName, lastName, email, phone, address) migrate directly. The original Unatrix candidate status (Application Received, Interview Scheduled, Offered, Hired, Rejected) is preserved in a custom field candidate_source_status__c for admin reference. Custom Candidate properties discovered during discovery are created in BambooHR via the custom field builder before import begins.
Unatrix
Client
BambooHR
Directory company or manual reference
1:1Unatrix Clients (hiring companies) do not have a native equivalent in BambooHR's standard data model, which treats the hiring organization as implicit rather than a tracked entity. For staffing teams migrating to BambooHR as their primary HRIS (managing their own employees rather than placed candidates), we note Client records as out of scope. If the customer uses BambooHR's ATS module for recruiting, Client records are flagged for manual entry or a one-time spreadsheet import to BambooHR's company directory if that feature is enabled on the plan.
Unatrix
Job
BambooHR
Job Opening
1:1Unatrix Jobs map to BambooHR Job Openings if the destination account includes the BambooHR ATS add-on ($99-$199 per month). BambooHR Job Openings include title, department, location, employment type, and description fields that map from Unatrix Job title, client assignment, and job description. Unatrix Job status (Open, On Hold, Filled, Cancelled) maps to BambooHR Job Opening status. If the BambooHR ATS module is not included in the destination plan, Job records are migrated as BambooHR custom fields on the Employee object or noted as out of scope pending ATS purchase.
Unatrix
Qualification
BambooHR
Custom Employee field (Skills)
lossySkills and qualifications extracted from CVs in Unatrix are tagged using a tenant-specific taxonomy that varies by organization. We discover the full taxonomy during the discovery phase by querying Unatrix for all unique qualification tags across Candidate records. During migration, we create a corresponding custom multi-select picklist field in BambooHR (or a text field if the tag count exceeds picklist limits) and normalize the taxonomy by deduplicating synonyms and mapping category hierarchies into dot-separated values (e.g., 'Programming.Python' or 'Cloud.AWS'). The normalization map is delivered as a written reference document alongside the migration.
Unatrix
Project
BambooHR
Employee custom fields + Note attachment
lossyUnatrix Projects represent staffing engagements tying a Candidate to a Job under a Client, often including placement metrics and performance data. BambooHR has no native Project or engagement object. We map Projects to a combination of custom fields on the Employee record (projectName__c, clientName__c, jobReference__c, placementDate__c) and Note attachments that carry the full project metadata as structured text. The customer's admin reviews the custom field set during Sandbox validation and can request consolidation or renaming before production migration.
Unatrix
Interview and Event
BambooHR
Employee time-off request or Note
1:1Unatrix interview schedules and team events with date ranges and assigned team members migrate to BambooHR as structured Notes attached to the relevant Employee record, preserving the date range, interviewer names, and event description. Native BambooHR calendar or scheduling functionality does not support importing external interview data, so event records are migrated as reference documentation rather than live calendar entries. The customer should plan to rebuild interview scheduling workflows in BambooHR's workflow builder post-migration.
Unatrix
Document (CV and attachments)
BambooHR
Employee file attachment or custom URL field
1:1CVs and attachments stored against Unatrix Candidate records are extracted as binary files where accessible via the REST API. We preserve file names, content type, and association to the correct Candidate. During BambooHR import, files are re-attached to the corresponding Employee record using BambooHR's file attachment API. Binary files that cannot be extracted programmatically are flagged with a file reference note and the original file name so the customer's admin can manually re-upload if needed.
Unatrix
User and Team Member
BambooHR
BambooHR User
1:1Unatrix user accounts representing recruiters, sales managers, and administrators map directly to BambooHR user accounts. Role assignments (Admin, Recruiter, Hiring Manager, Read-Only) are mapped to BambooHR permission roles during discovery. Active versus inactive status is preserved in BambooHR user status. The BambooHR API key for the migration user is scoped to the permissions of the account that generated it; we use a dedicated service account with employee data access rather than an admin's personal key.
Unatrix
KPI and Report Configuration
BambooHR
Not migrated
1:1Unatrix KPI dashboards and report configurations are generated from underlying raw data and do not export as self-contained objects. We do not migrate these. We extract the raw data records (Candidates, Jobs, Projects, engagement dates) so that KPI recalculation is possible in BambooHR's reporting module. The customer receives a written inventory of every Unatrix report and dashboard with its configuration summary so the admin can rebuild equivalent reports in BambooHR's Standard and Custom Report builder.
Unatrix
Tag and Custom Field
BambooHR
BambooHR Custom Field
lossyUnatrix custom fields defined on Candidate and Job objects are discovered during the scoping phase by querying the Unatrix schema via the REST API. Each custom field is typed (text, number, date, picklist, checkbox) and mapped to the equivalent BambooHR custom field type. BambooHR's self-serve custom field builder is available without contacting support, which accelerates schema setup. Multi-value tags in Unatrix map to BambooHR multi-select picklists where the value set is bounded; free-form tags map to text fields.
| Unatrix | BambooHR | Compatibility | |
|---|---|---|---|
| Candidate | Employee (with Applicant flag)1:1 | Fully supported | |
| Client | Directory company or manual reference1:1 | Fully supported | |
| Job | Job Opening1:1 | Fully supported | |
| Qualification | Custom Employee field (Skills)lossy | Fully supported | |
| Project | Employee custom fields + Note attachmentlossy | Fully supported | |
| Interview and Event | Employee time-off request or Note1:1 | Fully supported | |
| Document (CV and attachments) | Employee file attachment or custom URL field1:1 | Fully supported | |
| User and Team Member | BambooHR User1:1 | Fully supported | |
| KPI and Report Configuration | Not migrated1:1 | Fully supported | |
| Tag and Custom Field | BambooHR Custom Fieldlossy | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Unatrix gotchas
No documented bulk export API endpoint
Qualification taxonomy is tenant-specific
Project object is not a standard CRM concept
BambooHR gotchas
Undocumented API rate limits can trigger 503 errors
Per-employee pricing model requires active record count verification
API credentials must be sent on every request to avoid extra round trips
Custom field schema varies per account and requires manual inventory
Document and attachment exports are not covered by standard report exports
Pair-specific challenges
Migration approach
Export coordination with Unatrix support
We initiate the data export request with Unatrix support immediately upon scope confirmation. Since no programmatic bulk export endpoint exists, we negotiate the export format (preferred: JSON for schema fidelity), the delivery timeline, and the record completeness window (all records as of a cutoff date). We validate the received export file against the expected schema (Candidates, Clients, Jobs, Qualifications, Projects, Users, Events) before beginning transformation. If the export arrives incomplete, we identify gaps and request supplemental extraction before proceeding.
Discovery and qualification taxonomy extraction
We run a parallel discovery pass on the Unatrix data to extract every unique qualification tag across Candidate records, producing the tenant's full taxonomy. We categorize tags by type (skill, certification, language, degree), identify hierarchical parent-child relationships, and build a normalization map. We simultaneously audit custom fields on Candidate and Job objects by querying the Unatrix REST API for field definitions. The discovery output is a written schema map, a qualification normalization map, and a recommended BambooHR custom field schema using the self-serve custom field builder.
BambooHR custom field schema setup
We configure the destination BambooHR account's custom field schema before any data loads. Using the field normalization map, we create custom picklist fields for normalized qualifications, text fields for free-form tags, and custom fields for Project metadata (projectName__c, clientName__c, jobReference__c, placementDate__c, engagementStatus__c). If BambooHR ATS is included in the plan, we configure Job Opening fields to match the Unatrix Job schema. All schema changes are made in a BambooHR Sandbox or staging account first, validated, then replicated to the production account.
Sandbox migration and reconciliation
We run a full migration into the customer's BambooHR Sandbox environment using production-like data volume. The customer's HR lead reconciles record counts (Employees in, Applicants in, custom field values populated, Project metadata attached), spot-checks 20-40 records against the Unatrix source export, and signs off the schema and mapping before production migration begins. Any field mapping corrections, qualification normalization adjustments, or custom field additions are made during this phase. BambooHR's Employee Record Importer tool (a built-in CSV loader) is used for bulk employee loads; the REST API handles custom field population and file attachments.
Production migration in dependency order
We run production migration in dependency order: Users (validated against BambooHR user list), Employees (with custom fields created before Employee import), Applicants (from Unatrix Candidates not yet hired), Qualifications (loaded into custom picklist fields via API after Employee records exist), Project metadata (mapped to Employee custom fields), Documents (file attachments via BambooHR file API), and Events (as Note attachments). Each phase emits a row-count reconciliation report. We implement exponential backoff on 503 responses from BambooHR's API, treating 503 as the rate-limit signal since BambooHR does not publish exact thresholds or return standard 429 headers.
Cutover, validation, and rebuild handoff
We freeze writes to Unatrix during the cutover window, run a final delta migration of any records modified during the migration period, then enable BambooHR as the system of record. We deliver the qualification normalization map, the custom field schema diagram, the Unatrix report and KPI inventory, and the automation handoff document listing any workflow configurations that require rebuild in BambooHR's workflow builder. We support a one-week hypercare window for reconciliation issues. We do not rebuild Unatrix workflows, sequences, or report configurations as part of the migration scope.
Platform deep dives
Unatrix
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Unatrix and BambooHR.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Unatrix and BambooHR.
Object compatibility
All 7 core objects map 1:1 between Unatrix and BambooHR.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Unatrix: Not publicly documented.
Data volume sensitivity
Unatrix doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Unatrix to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your Unatrix to BambooHR migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Unatrix
Other ways to arrive at BambooHR
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.