HRMS migration
Field-level mapping, validation, and rollback between Candidate Management System and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
Candidate Management System
Source
BambooHR
Destination
Compatibility
7 of 10
objects map 1:1 between Candidate Management System and BambooHR.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Candidate Management System to BambooHR is a category shift, not a direct ATS replacement. Candidate Management System is a recruiting-focused ATS that organizes Jobs, Candidates, Applications, and Assessments within configurable pipelines, but it has no publicly documented API and its G2 profile has been inactive for over a year, raising concerns about long-term vendor support. BambooHR is a full HRIS with an ATS module, built-in onboarding workflows, time-off tracking, and performance management under one per-employee subscription. The migration requires mapping recruiting-specific objects (pipeline stages, application status, ranking scores) to BambooHR's hire-to-retire employee lifecycle model, and handling custom fields that BambooHR's API cannot pass—specifically information fields, section headers, and multiple-selection lists. We do not migrate workflows, approval chains, or staffing agency portal configurations as code; we deliver a written inventory for the customer's admin to rebuild in BambooHR's workflow builder.
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 Candidate Management System 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.
Candidate Management System
Job (Requisition)
BambooHR
Job
1:1Candidate Manager Job records map 1:1 to BambooHR Job requisitions. We preserve the job title, description (as rich text), department, location, and internal job ID as a reference field. Job status (Open, Closed, Draft) maps to BambooHR's status field. If BambooHR's ATS add-on is not active, Jobs may be created as Employee records with a Hire Date in the future rather than as formal Job requisitions—customer confirms their BambooHR tier and ATS module status during scoping. Posting dates and expiration dates transfer as-is.
Candidate Management System
Application
BambooHR
Applicant
1:1Each Candidate Manager Application record maps to a BambooHR Applicant record linked to the corresponding Job. We preserve application status (Applied, Under Review, Interview, Offer, Hired, Rejected), submission timestamp, and source attribution. If the candidate was already hired and is now an employee in BambooHR's HR module, the Applicant record is linked to the Employee record. Active applications in pipeline stages that have no BambooHR equivalent are flagged for explicit status mapping during scoping.
Candidate Management System
Candidate
BambooHR
Employee or Applicant
1:manyCandidate Manager Candidate records map to either BambooHR Applicant (if the candidate is still in the hiring pipeline) or BambooHR Employee (if the candidate was hired and is now an active or terminated employee). We separate active candidates from historical hire records during the transform phase. Name, email, phone, address, work history, education, and skills transfer to the corresponding BambooHR object. Any candidates with duplicate email addresses are flagged for customer review before import.
Candidate Management System
Custom Properties (Candidate)
BambooHR
Custom Employee Fields
1:1Tenant-specific custom properties on Candidate Manager Candidate records map to BambooHR custom fields on the Employee object. We enumerate every custom field during discovery, match by name, and resolve type conflicts (e.g., a text field used as a numeric score is mapped to a BambooHR Number field). BambooHR API cannot pass information fields, section headers, or multiple-selection lists; these are flagged as manual-reentry candidates and stored in a written inventory for the customer's admin to handle post-migration. Any custom properties without a clear destination are held in a catch-all text area field for review.
Candidate Management System
Custom Properties (Application)
BambooHR
Custom Applicant Fields
1:1Application-level custom properties from Candidate Manager map to BambooHR Applicant custom fields. These include screening questions, scored criteria, and intake form responses that vary by organization. BambooHR's applicant custom field API supports text, number, date, dropdown, and checkbox types. Fields that do not match these types (e.g., section headers used as visual separators) are excluded from the API pass and documented for manual rebuild in BambooHR's applicant form builder.
Candidate Management System
Pipeline Stages
BambooHR
Applicant Status Values
lossyCandidate Manager's configurable per-job or global pipeline stage sequences do not have a direct BambooHR equivalent. BambooHR uses a fixed Applicant Status model (Applied, Phone Screen, Interview, Offer, Hired, Rejected) with limited customization. We map each Candidate Manager stage explicitly to the nearest BambooHR status value, flag any stages that cannot map cleanly (e.g., custom stages like Background Check or Skills Assessment), and deliver a written pipeline configuration guide for the customer's admin to implement the closest equivalent in BambooHR's ATS settings.
Candidate Management System
Assessments / Rankings
BambooHR
Custom Number Fields
1:1Numeric ranking scores and pre-profiling ratings on Candidate Manager Application or Candidate records migrate to BambooHR custom number fields on the Applicant object. We preserve the original field name and value range. Textual scoring rubrics or matrix-based assessments that are not reducible to a single numeric value are flagged as candidates for manual re-entry in BambooHR's applicant notes or a separate assessment tool. The customer confirms during scoping whether rubric-based assessments need a dedicated workflow rebuild.
Candidate Management System
Notes (Recruiter)
BambooHR
Employee Notes or Applicant Notes
1:1Recruiter notes attached to Candidate Manager Candidates or Applications export as free-text blobs. We preserve note content and authorship (recruiter name and timestamp) and map to BambooHR Employee Notes or Applicant Notes depending on whether the candidate is a current employee or still in the pipeline. Because BambooHR does not support structured note fields, all free-text content migrates into a single Notes text area per record. If notes reference other records (e.g., cross-candidate notes), those references are stored as plain text and flagged for the customer to resolve manually.
Candidate Management System
Attachments (Resumes, Cover Letters, Portfolio Files)
BambooHR
Employee Files or Applicant Files
1:1Candidate Manager exports resume files, cover letters, and portfolio documents as binary blobs. We extract text content where parsable (PDF text extraction, DOCX body text) and re-upload the original file type to BambooHR's document storage under the corresponding Employee or Applicant record. Large attachments are chunked for upload to stay within BambooHR API size limits. Any attachments that cannot be parsed to text are re-uploaded as-is. If the original file type is not supported by BambooHR's file viewer, the file is attached as a downloadable link.
Candidate Management System
Hiring Manager Portal Assignments
BambooHR
Workflow and Permission Configuration
lossyCandidate Manager's hiring manager self-service portal assignments (which managers can review which candidates, leave scorecards, move pipeline stages) have no direct BambooHR equivalent. We document the existing portal configuration during discovery—including role-based access assignments, manager-to-job mappings, and self-service permission scopes—and deliver a written configuration guide for the customer's admin to implement equivalent permissions in BambooHR's role-based access settings and ATS sharing rules.
| Candidate Management System | BambooHR | Compatibility | |
|---|---|---|---|
| Job (Requisition) | Job1:1 | Fully supported | |
| Application | Applicant1:1 | Fully supported | |
| Candidate | Employee or Applicant1:many | Fully supported | |
| Custom Properties (Candidate) | Custom Employee Fields1:1 | Mapping required | |
| Custom Properties (Application) | Custom Applicant Fields1:1 | Fully supported | |
| Pipeline Stages | Applicant Status Valueslossy | Mapping required | |
| Assessments / Rankings | Custom Number Fields1:1 | Mapping required | |
| Notes (Recruiter) | Employee Notes or Applicant Notes1:1 | Fully supported | |
| Attachments (Resumes, Cover Letters, Portfolio Files) | Employee Files or Applicant Files1:1 | Fully supported | |
| Hiring Manager Portal Assignments | Workflow and Permission Configurationlossy | 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.
Candidate Management System gotchas
Inactive G2 profile signals vendor neglect
No documented public API complicates exports
Custom properties vary by tenant configuration
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
Discovery and export capability audit
We audit the Candidate Manager tenant for all Jobs, Candidates, Applications, custom properties (both Candidate-level and Application-level), pipeline stage configurations, attachment file inventory, and recruiter notes volume. We confirm the native export interface availability and any volume limits. We pair this with a BambooHR tenant audit covering ATS module status (Core, Pro, Elite with or without ATS add-on), existing custom field definitions, job requisition settings, and applicant status configuration. The discovery output is a written migration scope that includes the record count per object, any fields that BambooHR's API cannot pass, and a BambooHR ATS tier recommendation if the current tier does not support the migration's job posting volume.
Schema design and custom field mapping
We design the BambooHR destination schema based on the discovery audit. This includes creating custom fields on the Employee and Applicant objects to receive Candidate Manager custom properties, enforcing field types that match the source data (text, number, date, checkbox, dropdown). Fields that BambooHR's API cannot pass (information fields, section headers, multiple-selection lists) are explicitly excluded from the API mapping and listed in a manual-rebuild section of the migration deliverable. We also design the pipeline stage mapping table mapping each Candidate Manager stage name to the nearest BambooHR Applicant Status value, with unmappable stages flagged for the customer to handle in BambooHR's ATS settings.
Sandbox migration and field reconciliation
We run a full migration into a BambooHR test environment using production-like data volume. The customer's HR lead reconciles record counts across all objects (Jobs in, Applicants in, Employees in, Notes in), spot-checks 25-50 records against the Candidate Manager source for field accuracy, and validates that BambooHR's applicant pipeline reflects the original stage mapping. Any field mapping corrections, type mismatches, or stage reconciliation gaps are resolved in this phase. The customer signs off on the schema and mapping before production migration begins.
Attachment extraction and re-upload
We extract all binary attachments from Candidate Manager (resumes, cover letters, portfolio documents). Where file text is parsable, we extract the text content. We then re-upload each file to the corresponding BambooHR Employee or Applicant record via the BambooHR file API, chunking large files to stay within API size limits. Files that cannot be parsed to text are uploaded as-is and attached as downloadable links. Any file types not supported by BambooHR's previewer are documented for the customer.
Production migration in dependency order
We run production migration in object dependency order: Jobs (as the parentrequisition), Employees (for hired candidates), Applicants (for active candidates not yet hired), Application-level custom fields, Candidate-level custom fields, Notes, and Attachments. Each phase emits a row-count reconciliation report before the next phase begins. Any records rejected due to missing required fields or type mismatches are held in an error queue and retried after customer review. We use BambooHR's API with appropriate rate-limit handling and exponential backoff for all production inserts.
Cutover, delta sync, and workflow rebuild handoff
We freeze Candidate Manager writes during cutover, run a final delta migration of any records created or modified during the migration window, and enable BambooHR as the system of record. We deliver the pipeline configuration guide, staffing agency portal documentation, and workflow rebuild inventory to the customer's HR admin. We support a one-week post-cutover window to resolve reconciliation issues. We do not rebuild Candidate Manager approval chains or workflow rules in BambooHR's workflow builder inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Candidate Management System
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Candidate Management System and BambooHR.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Candidate Management System and BambooHR.
Object compatibility
All 7 core objects map 1:1 between Candidate Management System 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
Candidate Management System: Not publicly documented.
Data volume sensitivity
Candidate Management System 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 Candidate Management System to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your Candidate Management System 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 Candidate Management System
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.