HRMS migration
Field-level mapping, validation, and rollback between Cadient and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
Cadient
Source
BambooHR
Destination
Compatibility
8 of 12
objects map 1:1 between Cadient and BambooHR.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Cadient to BambooHR is an ATS-to-HRIS migration with a fundamental platform-model difference. Cadient is purpose-built for high-volume talent acquisition with AI-driven candidate scoring; BambooHR is a core HRIS that bundles a lightweight applicant tracking module alongside employee records, payroll, and time tracking. The migration involves translating Cadient's Candidate-centric data model into BambooHR's Employee-centric structure, preserving requisition history, application records, and scorecard responses while explicitly excluding workflow automations and AI-generated tenure predictions that cannot transfer. We use BambooHR's HTTP Basic Auth API with approximately 100 requests per minute rate limiting, implementing exponential backoff on 503 responses and a field-request model that requires fetching field IDs before bulk import. Cadient's lack of a documented public export API means we coordinate with the customer's IT team to extract available data before loading.
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 Cadient 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.
Cadient
Candidate
BambooHR
Applicant (ATS module) or Employee (HRIS module)
1:manyCadient Candidates map to BambooHR Applicants when the candidate is still in the hiring pipeline, and to BambooHR Employees when a hire record exists. We inspect the Candidate record's status field to determine the split. Active candidates with pending applications become BambooHR Applicants attached to the corresponding Job. Hired candidates become BambooHR Employees with hireDate set to the application close date. We preserve the original Cadient Candidate ID as a custom field cadient_candidate_id__c for cross-reference.
Cadient
Requisition
BambooHR
Job
1:1Cadient Requisitions map to BambooHR Jobs. Requisition metadata (title, department, location, open date, hiring manager) maps to BambooHR Job fields. Cadient's requisition status (open, filled, cancelled, on hold) maps to BambooHR Job status. BambooHR Jobs are scoped per Job Opening rather than per department in some configurations; we consolidate by job ID to avoid duplicate Job records for the same requisition.
Cadient
Application
BambooHR
Application
1:1Cadient Application records map to BambooHR Application records linked to the corresponding Applicant and Job. Apply date, source, referral information, and application status migrate directly. Custom application properties are reviewed during scoping; any that do not map to BambooHR standard fields become custom fields on the Application object.
Cadient
Scorecard
BambooHR
Application Notes or Custom Fields
lossyCadient Scorecard responses follow a structured question-and-answer format tied to a reviewer. We preserve the full response history as Application Notes in BambooHR, tagged with reviewer name and date. Scorecard aggregate values (SmartScore) migrate as a numeric custom field scorecard_composite__c. The component-level scorecard breakdowns (screening score, reference score, tenure prediction contribution) do not separate cleanly in the export; we document the composite value and flag that component-level reconstruction is not in scope.
Cadient
Interview
BambooHR
Application Event or Note
1:1Cadient Interview records (interviewer, date/time, type, disposition status) map to Application Notes in BambooHR when the ATS module does not expose a native scheduling object. Interview type (phone, video, onsite) and outcome (passed, failed, no-show) are preserved as structured note metadata. We document interview scheduling and calendar integration setup post-migration for BambooHR's native scheduling or a third-party tool.
Cadient
SmartScore Aggregate
BambooHR
Custom Numeric Field on Applicant
1:1Cadient SmartScore is a composite signal synthesized from screening, references, and tenure prediction. The composite numeric value migrates as a custom field (cadient_smartscore__c) on the BambooHR Applicant. The component-level breakdowns are not separately exported from Cadient, so we cannot reconstruct the individual signal weights in BambooHR. We flag this as informational data that should not be used as the sole hiring criterion without re-scoring in BambooHR or a third-party assessment tool.
Cadient
SmartTenure Prediction
BambooHR
Custom Informational Field
1:1SmartTenure generates a stay-risk score using a proprietary ML model with non-exposed weights and training data. We migrate the numeric score as a custom field (cadient_tenure_score__c) on the Applicant with an explicit note that this is a static value from the Cadient model and cannot be reproduced in BambooHR. Destination scoring requires re-running a BambooHR-compatible model on the transferred candidate data, which is outside the migration scope.
Cadient
Offer Letter
BambooHR
Document or Custom Field on Application
1:1Cadient offer letter templates and issued offer records can be exported as documents. In BambooHR, offer letters are typically stored as file attachments on the Application or Employee record. We migrate the most recent offer document per candidate as an attachment. The offer status (accepted, pending, declined) migrates as a custom picklist field on the Application because BambooHR does not expose offer status as a standard application sub-field.
Cadient
Referral Source
BambooHR
Application Source Field or Custom Field
1:1Cadient SmartRefer tracks referral sources as structured fields on the Application. We map the referral source to BambooHR's Application source field (with values like Employee Referral, LinkedIn, Job Board) and preserve the specific referring employee name as a custom field if available.
Cadient
Candidate Custom Fields
BambooHR
BambooHR Custom Applicant Fields
lossyCadient custom fields on Candidate records migrate to BambooHR custom fields on the Applicant object. BambooHR requires fetching field IDs via GET /v1/meta/fields per tenant before creating or populating custom fields, as field IDs are unique per account. We discover custom field IDs during scoping and use them in the migration script. Any Cadient custom fields without a BambooHR equivalent are documented as unmapped for the customer to address post-migration.
Cadient
Screening Assessment Results
BambooHR
Custom Fields on Application
1:1Assessment results depend on the screening tool Cadient integrates with (AccurateNow, Paycor, or other). We migrate raw assessment scores as custom numeric fields on the BambooHR Application. We flag any assessments that require re-scoring through a different provider and document the assessment tool dependencies for the customer's HR team to re-establish post-migration.
Cadient
Workflow Configurations
BambooHR
BambooHR Automations (documentation only)
lossyCadient hiring workflow stages, routing rules, and automated triggers do not export as structured data. We capture the current stage definitions during discovery and produce a written stage map that the customer's admin uses to configure BambooHR's hiring pipeline stages. BambooHR automations (time-off approvals, onboarding task triggers) are configured separately post-migration. We do not migrate workflow logic as executable code.
| Cadient | BambooHR | Compatibility | |
|---|---|---|---|
| Candidate | Applicant (ATS module) or Employee (HRIS module)1:many | Fully supported | |
| Requisition | Job1:1 | Fully supported | |
| Application | Application1:1 | Fully supported | |
| Scorecard | Application Notes or Custom Fieldslossy | Fully supported | |
| Interview | Application Event or Note1:1 | Fully supported | |
| SmartScore Aggregate | Custom Numeric Field on Applicant1:1 | Fully supported | |
| SmartTenure Prediction | Custom Informational Field1:1 | Fully supported | |
| Offer Letter | Document or Custom Field on Application1:1 | Fully supported | |
| Referral Source | Application Source Field or Custom Field1:1 | Fully supported | |
| Candidate Custom Fields | BambooHR Custom Applicant Fieldslossy | Fully supported | |
| Screening Assessment Results | Custom Fields on Application1:1 | Fully supported | |
| Workflow Configurations | BambooHR Automations (documentation only)lossy | Mapping required |
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.
Cadient gotchas
No documented public export API
SmartTenure predictions are non-transferable
Workflow stage definitions require manual reimplementation
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 and discovery
We coordinate with the customer's IT team to extract available data from Cadient. Because Cadient has no documented public API, we work with customer-provided CSV exports, database dumps, or direct platform exports where available. We audit the export for field coverage across Candidates, Requisitions, Applications, Scorecards, and Interviews. We flag any objects that are incomplete or require manual re-entry. We simultaneously fetch BambooHR field IDs via GET /v1/meta/fields to build the field mapping table for this specific tenant.
Object mapping and split rule design
We design the Cadient-to-BambooHR object mapping. Cadient Candidates split into BambooHR Applicants (active pipeline) and Employees (hired records) based on application status. Requisitions map to Jobs. We identify which BambooHR module (ATS or HRIS) each object populates and resolve cross-module lookups (Applicant to Job, Employee to Department). SmartScore and SmartTenure migrate as informational custom fields with an explicit data-quality note.
Custom field schema setup in BambooHR
We create any custom fields in BambooHR that are required for the mapping but do not exist as standard fields. Custom fields in BambooHR require field IDs from GET /v1/meta/fields; we provision them per tenant during this step. Custom field creation is done in a sandbox or staging environment first if the customer maintains one. Once validated, we apply the custom field schema to the production BambooHR account.
Candidate and requisition migration
We migrate Requisitions to Jobs first as the parent records. We then migrate Candidates, splitting into Applicants (active pipeline) and Employees (hired) based on Cadient application status. Job assignments are resolved by matching the Cadient requisition ID to the BambooHR Job created in the prior step. We use BambooHR's POST /v1/employees (for hired candidates) and the ATS API for Applicants, with field IDs substituted from the field discovery step.
Application, scorecard, and interview data migration
We migrate Application records linked to the Applicant and Job created in prior steps. Scorecard responses are loaded as Application Notes with structured reviewer and date metadata. Interview records migrate as Application Notes with type and disposition preserved. SmartScore composite values load as custom numeric fields on Applicants. We implement rate-limit handling with exponential backoff on 503 responses throughout this phase.
Validation, documentation, and workflow handoff
We validate record counts, spot-check 25-50 records against the Cadient export for data accuracy, and resolve any field-mapping discrepancies. We deliver the written Workflow Stage Map documenting Cadient's current stage definitions for BambooHR reimplementation. We provide a list of unmapped custom fields for the customer admin to address. We do not rebuild Cadient workflow automations or SmartTenure re-scoring in BambooHR; those are separate engagements or internal admin tasks.
Platform deep dives
Cadient
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Cadient and BambooHR.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Cadient and BambooHR.
Object compatibility
All 7 core objects map 1:1 between Cadient 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
Cadient: Export tooling capped at 1,000 records per pull per G2 reviewer reports; programmatic rate limits not published..
Data volume sensitivity
Cadient 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 Cadient to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your Cadient 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 Cadient
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.