HRMS migration
Field-level mapping, validation, and rollback between Cornerstone Recruiting and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
Cornerstone Recruiting
Source
BambooHR
Destination
Compatibility
10 of 12
objects map 1:1 between Cornerstone Recruiting and BambooHR.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Cornerstone Recruiting to BambooHR is a model simplification. Cornerstone organizes recruiting data across a configurable OU hierarchy of Cost Centers, Divisions, Positions, and Locations with a portal-specific corpname driving every API endpoint. BambooHR uses a flat Department and Location model with applicant records attached directly to Jobs. We resolve the structural gap by flattening Cornerstone's multi-level OU tree into BambooHR's Department and Location fields, using Division as the primary Department and Position as the secondary Department or Job Title as appropriate. Application Workflow stages (portal-specific in Cornerstone) map to BambooHR's applicant stage pipeline. Sensitive PII fields are excluded from migration per Cornerstone's Bulk API restrictions; we deliver an inventory of those fields for manual re-provisioning post-migration. Workflows, sequences, career site configurations, and employment branding settings do not migrate; we provide a written map for the customer's admin to rebuild.
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 Cornerstone Recruiting 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.
Cornerstone Recruiting
Job Requisition
BambooHR
Job
1:1Cornerstone Requisitions map to BambooHR Jobs. The RequisitionId and RequisitionName transfer to BambooHR's Job ID and Job Title. PositionId and DivisionId from Cornerstone map to BambooHR's Department field with Division used as the primary Department. Location from Cornerstone maps to BambooHR's Location field. Job status (Open, On Hold, Closed) migrates directly. We pull the full requisition schema via Cornerstone's GET Requisition API including any custom fields defined at the portal, and map each to a BambooHR custom field or standard field as appropriate.
Cornerstone Recruiting
Candidate
BambooHR
Applicant
1:1Cornerstone Candidate records (the persistent profile object containing Name, Email, Phone, Address, and Ethnicity) map to BambooHR Applicant records. A single Candidate who applied to multiple Requisitions in Cornerstone creates multiple Applicant records in BambooHR, each tied to its respective Job. We use Candidate email as the dedupe key during import. The Candidate's most recent application status becomes the Applicant's current stage in BambooHR.
Cornerstone Recruiting
Job Applicant
BambooHR
Application (Applicant-Job link)
1:1The Cornerstone JobApplicant object (the intersection of Candidate and Requisition, containing ApplicationReceivedDateLocal, AverageRating, CandidateType, and PositionId) maps to a BambooHR Application record. We link each Application to its corresponding BambooHR Job and Applicant by resolving the CandidateId and RequisitionId through the lookup tables we built during extraction. ApplicationReceivedDateLocal preserves the original application timestamp.
Cornerstone Recruiting
Application Workflow Stage
BambooHR
Applicant Stage
lossyCornerstone Application Workflows define portal-specific stage progressions that vary by recruiting process and geography. We retrieve the full workflow state list via GET Application Workflow API during discovery, enumerate every distinct stage value across all active workflows, and map each to a corresponding BambooHR stage name (Applied, Phone Screen, Interview, Offer, Hired, Rejected). Stages with no BambooHR equivalent become configurable stages added to the BambooHR job before migration.
Cornerstone Recruiting
Organizational Unit (Division)
BambooHR
Department
1:1Cornerstone Division OUs map to BambooHR Departments. The OU schema endpoint returns all valid OU types per portal, and we identify which OU type corresponds to the customer's intended Department structure. If the customer uses multiple OU types (e.g., Division and Legal Entity both feeding a reporting hierarchy), we use the top-level OU (Division or Legal Entity) as Department and flag the secondary for manual setup. Cornerstone's configurable OU types require early identification during scoping because the schema varies by customer.
Cornerstone Recruiting
Organizational Unit (Location)
BambooHR
Location
1:1Cornerstone Location OUs map directly to BambooHR Locations. Both platforms use a flat location list, so the mapping is straightforward. We extract all unique Location values from Cornerstone OUs, deduplicate, and create the corresponding Locations in BambooHR before requisition import so that the Location field is satisfied at import time.
Cornerstone Recruiting
Organizational Unit (Position)
BambooHR
Job Title
1:1Cornerstone Position OUs map to BambooHR Job Title fields on the Employee record (post-hire) or as a custom field on the Applicant record. For active requisitions, PositionId becomes a custom field or maps to the Job's designated title field depending on the customer's BambooHR configuration. Position is a second-level OU in Cornerstone's hierarchy and may also inform the Department mapping in cases where Division is not explicitly set.
Cornerstone Recruiting
Candidate Attachment (Resume, Cover Letter)
BambooHR
Applicant Document
1:1Candidate attachments (resumes, cover letters, portfolio files) are extracted via the Cornerstone Attachment API which returns file metadata and binary content. We re-associate each file with the corresponding migrated Applicant record in BambooHR. BambooHR's document attachment limit and file size restrictions are verified during scoping. We note the original file name and MIME type from Cornerstone to preserve document type classification in BambooHR.
Cornerstone Recruiting
Custom Fields (Requisition)
BambooHR
Custom Fields (Job)
1:1Custom fields defined on Cornerstone Job Requisitions (returned by GET Job Requisition Custom Field API) map to BambooHR custom fields on the Job record. We retrieve the full custom field schema per portal during discovery, identify the field type (text, number, date, dropdown), and create matching custom fields in BambooHR before migration. Dropdown custom fields require value mapping between Cornerstone picklist values and BambooHR options list.
Cornerstone Recruiting
Custom Fields (Application)
BambooHR
Custom Fields (Applicant)
1:1Custom fields on Cornerstone Applications map to BambooHR custom fields on the Applicant record. Same schema-retrieval approach via the custom field API. Note that sensitive PII fields (SPII fields marked secure in Cornerstone) are excluded from migration per the Bulk API restriction; we deliver a written list of which fields were excluded for the customer's admin to manually re-create in BambooHR.
Cornerstone Recruiting
Employee Record (post-hire)
BambooHR
Employee
1:1Cornerstone Employee records (Core HR data: employment status, compensation history, manager assignment) map to BambooHR Employee records if the customer also migrates core HR data. If only the ATS module is in scope, we migrate the hired candidate as an Employee record with Name, Email, hire date, Department, and Job Title populated from the requisition and application data. Manager assignment maps by resolving the manager's Employee ID from Cornerstone's Core/HR API.
Cornerstone Recruiting
EEO Response Data
BambooHR
EEO Aggregate Report
lossyCornerstone captures EEOC voluntary disclosure fields (ethnicity, veteran status, disability) on the Candidate record. BambooHR provides aggregate EEO reporting at the organization level rather than tied to individual candidates (per legal requirements). We migrate the EEO response status (responded, declined) at the candidate level into a custom field in BambooHR for compliance records, while the disclosure values themselves are mapped to BambooHR's aggregate reporting categories.
| Cornerstone Recruiting | BambooHR | Compatibility | |
|---|---|---|---|
| Job Requisition | Job1:1 | Fully supported | |
| Candidate | Applicant1:1 | Fully supported | |
| Job Applicant | Application (Applicant-Job link)1:1 | Fully supported | |
| Application Workflow Stage | Applicant Stagelossy | Fully supported | |
| Organizational Unit (Division) | Department1:1 | Fully supported | |
| Organizational Unit (Location) | Location1:1 | Fully supported | |
| Organizational Unit (Position) | Job Title1:1 | Fully supported | |
| Candidate Attachment (Resume, Cover Letter) | Applicant Document1:1 | Fully supported | |
| Custom Fields (Requisition) | Custom Fields (Job)1:1 | Fully supported | |
| Custom Fields (Application) | Custom Fields (Applicant)1:1 | Fully supported | |
| Employee Record (post-hire) | Employee1:1 | Fully supported | |
| EEO Response Data | EEO Aggregate Reportlossy | 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.
Cornerstone Recruiting gotchas
Sensitive PII fields are excluded from Bulk API loads
Portal-specific corpname drives all API endpoints
Throttling limit of 417 requests per minute applies across all Foundational APIs
LoadPrimaryKey setting determines employee identifier behavior
New employees get default password or no password if backend setting is absent
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 portal scoping
We audit the source Cornerstone portal to extract the corpname (portal identifier), enumerate OU types in use, retrieve the full custom field schema for Requisitions and Applications, enumerate Application Workflow stages, and estimate candidate and requisition record counts. We also identify any secure or sensitive PII fields flagged in the schema. On the BambooHR side, we confirm the customer's API key access, enumerate existing Departments and Locations, identify custom field definitions in use, and map the intended BambooHR stage pipeline for each Job. The discovery output is a written migration scope with object mapping, OU flattening rules, and EEO handling confirmed by the customer.
OU hierarchy mapping and Department creation
We extract all unique OU values from Cornerstone's Bulk API schema endpoint, identifying the OU type for each value (Division, Legal Entity, Cost Center, Position, Location). We map the top-level OU to BambooHR Department and the Location OU to BambooHR Location. If Cornerstone uses multiple OU types for organizational reporting, we confirm with the customer which type drives Department and which maps to secondary fields. We create all Departments and Locations in BambooHR before any record migration so that foreign-key references are satisfied at import time.
Custom field and stage configuration
We create all required custom fields in BambooHR matching the types retrieved from Cornerstone's custom field API (text, number, date, dropdown). For dropdown fields, we map Cornerstone picklist values to BambooHR options. We configure BambooHR's applicant stage pipeline to match the Cornerstone workflow stages identified during discovery, adding custom stages where Cornerstone stages have no BambooHR equivalent. This configuration happens in a BambooHR staging environment before production migration.
Sandbox migration and reconciliation
We run a full migration into BambooHR's sandbox environment (or a test account if no sandbox is available) with the production candidate and requisition volume. The customer's HR administrator reconciles record counts, spot-checks 20-30 applicant records against the Cornerstone source for field accuracy, verifies that attachments are correctly associated, and confirms stage mapping reflects the intended workflow. Any mapping corrections, missing custom fields, or stage misalignments are resolved before the production migration begins.
Production migration in dependency order
We run production migration in the following order: Locations and Departments first (so foreign keys are satisfied), then Jobs (from Requisitions), then Applicants (from Candidates with Application linkage to Jobs), then Application records with stage history, then Employee records for hired candidates, then Attachments re-associated to Applicants, then Custom Field values on both Jobs and Applicants. Sensitive PII fields are excluded per the Bulk API restriction and listed in the exclusion inventory. Each phase emits a reconciliation count report before the next phase begins.
Cutover, validation, and Workflow rebuild handoff
We freeze write access to Cornerstone during cutover, perform a final delta migration of any records created or modified during the migration window, then mark BambooHR as the active recruiting system. We deliver the Workflow and Sequence inventory (if applicable), the sensitive PII field exclusion list, and the OU-to-Department mapping documentation to the customer's admin. We support a five-day hypercare window for record-level reconciliation issues. Workflow rebuild, career site reconfiguration, and sequence setup are outside standard migration scope and are documented for the customer's admin to rebuild.
Platform deep dives
Cornerstone Recruiting
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Cornerstone Recruiting and BambooHR.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
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
Cornerstone Recruiting: 417 req/min, 25,000 req/hour, 600,000 req/day for Foundational APIs.
Data volume sensitivity
Cornerstone Recruiting exposes a bulk API — large-volume migrations stream efficiently.
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 Cornerstone Recruiting to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your Cornerstone Recruiting 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 Cornerstone Recruiting
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.