HRMS migration
Field-level mapping, validation, and rollback between Lever and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
Lever
Source
BambooHR
Destination
Compatibility
8 of 11
objects map 1:1 between Lever and BambooHR.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Lever to BambooHR is an ATS-to-HRIS migration that requires translating Lever's opportunity-centric data model into BambooHR's application-centric schema. In Lever, a single Contact can carry multiple Opportunities, each representing a distinct candidacy with its own pipeline stage, interview history, and scorecards. In BambooHR, candidates and applications are flatter records: a candidate applies to a job and that application carries the stage and feedback. We split Lever's multi-Opportunity records into individual Application objects in BambooHR, preserve interview and offer data as structured fields or note entries, and carry talent pool and nurture campaign associations as Contact-level tags and custom fields. We do not migrate Lever Workflows, nurture sequences, or talent CRM pools as functional automations; we deliver a written inventory for the customer's admin to rebuild in BambooHR's workflow tools.
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 Lever 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.
Lever
Contact
BambooHR
Candidate
1:1Lever Contact records map to BambooHR Candidate records. The Contact's name, email, phone, and address fields map directly to BambooHR's candidate fields. Any custom Contact-level properties migrate to BambooHR custom candidate fields. The Lever Contact's email address serves as the dedupe key. If a Lever Contact has multiple Opportunities, each generates a separate Application record in BambooHR tied to the same Candidate.
Lever
Opportunity
BambooHR
Application
1:manyEach Lever Opportunity attached to a Contact maps to a separate BambooHR Application record linked to the same Candidate. The Opportunity's stage (Applied, Phone Screen, Onsite, Offer, Hired, etc.) maps to the BambooHR Application stage. If the same Contact has three historical Opportunities across different Jobs, we create three Application records in BambooHR, each with its own stage history and linked to the Candidate. This split is the central schema transformation of this migration.
Lever
Job
BambooHR
Job
1:1Lever Job records (requisition, department, location, job board distributions, opening count) map to BambooHR Job records. The Lever Job's status (Open, Closed, Draft, Archived) carries over to BambooHR's job status. Job descriptions migrate as structured fields; any rich-text formatting that BambooHR does not support is flattened to plain text.
Lever
Offer
BambooHR
Employee Record fields
1:1Lever Offer records (compensation amount, pay type, currency, start date, status) map to BambooHR employee record fields: Pay Rate, Pay Type, Hire Date, and Employment Status. The Offer must be linked to a Hired Opportunity. BambooHR requires Job Title to match an existing job title value in the system; we validate this match during the transform phase and flag any mismatches for admin resolution before import.
Lever
Interview
BambooHR
Application Interview record
1:1Lever Interview records (scheduling metadata, interviewer assignment, interview type, date/time) map to BambooHR Application interview entries. Interview history per Opportunity carries over as ordered interview records on the corresponding BambooHR Application. Calendar sync links do not migrate; interviewers reconnect their calendars to BambooHR's scheduling tools post-migration.
Lever
Feedback and Scorecards
BambooHR
Structured Notes on Application
1:1Lever's structured scorecard data cannot be written via Lever's API — only read access exists. We export scorecard records as structured note entries on the corresponding BambooHR Application, preserving interviewer name, rating dimensions, and comments. BambooHR does not have native structured evaluation forms; the customer must rebuild scorecard templates manually in BambooHR's forms or as an approved third-party tool post-migration.
Lever
User
BambooHR
User
1:1Lever User records (name, email, access role, department) migrate for Owner and interviewer remapping in BambooHR. We match by email address. Users without a matching BambooHR account go to a reconciliation queue for admin provisioning before the production migration phase. Active and inactive status is preserved in a custom field on the BambooHR User record.
Lever
Nurture Campaign and Talent Pool
BambooHR
Custom Fields and Tags on Candidate
lossyLever's CRM layer tags (talent pool associations, nurture campaign membership) have no direct equivalent in BambooHR ATS. We carry these as a custom multi-select field 'Talent_Pool__c' on the BambooHR Candidate record and as tag entries on the candidate profile. Automated nurture sequences tied to these pools do not migrate; the customer rebuilds any candidate outreach sequences in BambooHR's email tools or a separate sales engagement tool post-migration.
Lever
Attachment and Resume Files
BambooHR
File attachments on Candidate or Application
1:1Lever stores candidate attachments as session-linked URLs that expire upon credential cutover. We download all attachment files during the export phase before any credential rotation. Files are re-uploaded to BambooHR on a per-record basis as attachments to the corresponding Candidate or Application. Customers must not rotate Lever API credentials until we confirm the export phase is complete.
Lever
Custom Fields (Opportunity)
BambooHR
Custom Fields (Application)
1:1Lever's custom Opportunity fields vary by tenant configuration. We enumerate all custom field definitions during the discovery phase, map field types to compatible BambooHR ATS custom field types, and build a field-level mapping matrix before migration. Custom field values carry over as structured data; any field type that cannot map directly (e.g., Lever-specific structured objects) migrates as text. BambooHR field names must be pre-created by the admin before the migration phase.
Lever
Pipeline Stages
BambooHR
Application Stages
lossyLever's pipeline stages are configurable per Job. We export the full stage configuration (stage order, names, probabilities) and map each to a corresponding BambooHR Application stage value. If BambooHR's default stage set does not match Lever's custom stages, we document the gap and recommend stage-set configuration before migration begins.
| Lever | BambooHR | Compatibility | |
|---|---|---|---|
| Contact | Candidate1:1 | Fully supported | |
| Opportunity | Application1:many | Fully supported | |
| Job | Job1:1 | Fully supported | |
| Offer | Employee Record fields1:1 | Fully supported | |
| Interview | Application Interview record1:1 | Fully supported | |
| Feedback and Scorecards | Structured Notes on Application1:1 | Mapping required | |
| User | User1:1 | Fully supported | |
| Nurture Campaign and Talent Pool | Custom Fields and Tags on Candidatelossy | Fully supported | |
| Attachment and Resume Files | File attachments on Candidate or Application1:1 | Fully supported | |
| Custom Fields (Opportunity) | Custom Fields (Application)1:1 | Fully supported | |
| Pipeline Stages | Application Stageslossy | 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.
Lever gotchas
Lever's Opportunity model requires splitting in most destinations
Scorecards cannot be created via Lever's API
Attachment download must happen before credential cutover
Nurture campaign and talent pool associations do not translate directly
Interview event history is supplementary data only
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 schema inventory
We audit the source Lever environment across packages (LeverTRM Pro or Enterprise), active Jobs, total Candidates, Opportunity count per Contact, custom Opportunity and Contact fields, active nurture campaigns and talent pools, offer history, interview records, and attachment volume. We pair this with a BambooHR destination inventory: existing Job titles, department list, location list, employment status options, and custom ATS field definitions. The discovery output is a written migration scope with the Opportunity-to-Application split design, field mapping matrix, and a list of data that cannot migrate (nurture automations, calendar sync).
BambooHR destination preparation
We work with the customer's BambooHR admin to pre-create any custom candidate fields, Application stages, and job title values required by the mapping. BambooHR field names and picklist values must exist in the destination before import begins. We configure BambooHR ATS job records corresponding to Lever Jobs, matching department, location, and employment type. Any BambooHR configuration changes are deployed in a test environment first for validation.
Attachment export and credential validation
We download all candidate attachment files from Lever during the export phase before any credential rotation occurs. Files are organized by Candidate and Opportunity for re-upload into BambooHR. We validate that all Lever attachment URLs resolve and download successfully. If any URLs have already expired, we flag those records and note the gap in the migration report.
Sandbox migration and reconciliation
We run a full migration into BambooHR using representative data volume. The customer's HR lead reconciles record counts (Candidates in, Applications in, Jobs in, Interviews in), spot-checks 25-50 records against Lever source data, and validates that the Opportunity-to-Application split is correct for candidates with multiple historical applications. Any field mapping corrections, stage configuration issues, or picklist mismatches are resolved before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Jobs first (to establish the job title and department lists BambooHR requires), then Candidates (as the parent records), then Applications (one per Lever Opportunity split), then Offers mapped to hired Applications, then Interview records, then structured notes carrying scorecard data, then attachments. Each phase emits a row-count reconciliation report before the next phase begins. Talent pool and nurture tag associations migrate as custom fields and tags on the Candidate record.
Cutover, validation, and automation handoff
We freeze Lever write access during cutover, run a final delta migration of any records modified during the migration window, then enable BambooHR as the system of record. We deliver a written inventory of Lever nurture campaigns and talent pool automations that require rebuild in BambooHR's workflow tools, plus a scorecard template recreation guide. We support a one-week hypercare window for reconciliation issues. We do not rebuild Lever Workflows or nurture sequences as BambooHR automations inside the migration scope; that is a separate engagement.
Platform deep dives
Lever
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 Lever 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
Lever: Not publicly documented; undocumented limits apply.
Data volume sensitivity
Lever 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 Lever to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your Lever 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 Lever
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.