HRMS migration
Field-level mapping, validation, and rollback between PageUp and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
PageUp
Source
BambooHR
Destination
Compatibility
7 of 11
objects map 1:1 between PageUp and BambooHR.
Complexity
BStandard
Timeline
3-5 weeks
Overview
PageUp and BambooHR are architecturally different platforms. PageUp is an enterprise talent management suite covering recruiting, performance, learning, and succession with complex multi-region datacentre routing and OAuth JWT-protected exports. BambooHR is a core HRIS designed for small to mid-market teams with an optional ATS module, a fixed field-request API model, and HTTP Basic Auth. The migration is primarily a records extraction from PageUp's Exports API, followed by a structured import into BambooHR's employee, applicant, and time-off tables. We extract Candidate records, Position data, Employee records, Performance review data, and Onboarding status. Workflow definitions, approval chains, learning paths, succession plans, and custom E-forms are configuration data that do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in BambooHR or document as gaps. The BambooHR ATS module is an optional add-on requiring separate licensing and does not ship with BambooHR's base Core or Pro plans—migrations scoped around recruiting data must confirm the ATS tier before we configure the destination schema.
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 PageUp 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.
PageUp
Candidate
BambooHR
Employee (with ATS extension)
1:manyPageUp Candidate records contain applicant data, hiring stage status, evaluations, and resume file references. BambooHR does not have a native Candidate object in its base Core or Pro tiers—the ATS module creates a separate applicant tracking schema. We assess whether BambooHR's ATS is in scope during scoping. If ATS is licensed, candidates migrate as Applicants linked to Job Openings; if ATS is not in scope, we extract candidate contact information (name, email, phone, resume) and map it to Employee records with a source_candidate__c custom flag, and the recruiting history is documented as a manual import using BambooHR's CSV import tool. Resume file extraction requires separate file-level handling via PageUp's document endpoints.
PageUp
Position
BambooHR
Job Opening (ATS add-on) or Custom Object
lossyPageUp Positions include job postings, sourcing channel metadata, candidate pipeline metrics, and posting status. If BambooHR's ATS module is in scope, Positions map to Job Openings with status, department, and location preserved. If ATS is not licensed, Positions are documented as a separate record set requiring manual entry or a CSV import post-migration. Job board association metadata from PageUp (e.g., which board a position was posted to) has no direct BambooHR equivalent and is noted as a gap requiring manual documentation.
PageUp
Employee Record
BambooHR
Employee
1:1PageUp Employee records include personal data, employment history, organisational structure, compensation effective dates, and custom fields. We map standard fields (first name, last name, work email, hire date, termination date, job title, department, location) to BambooHR's employee fields. Custom fields on PageUp are fetched by dynamic field ID during export and must be mapped to BambooHR custom fields created via GET /v1/meta/fields before import. BambooHR does not paginate employee list responses—all employees return in a single API call, so large organisations produce substantial payloads requiring chunked processing.
PageUp
Performance Review
BambooHR
Employee (Performance add-on or custom fields)
lossyPageUp Performance Review cycles, ratings, goals, competency scores, and feedback notes are stored per employee. BambooHR's Performance Management module (Pro and Elite tiers only) supports review cycles, 360-degree feedback, 1:1s, and goal tracking. We extract review templates and historical review data from PageUp. If the customer has BambooHR Performance licensed, reviews migrate as Performance Review records; if not, we map review ratings and goals to custom fields on the Employee record and document the gap in the performance module as a post-migration configuration item.
PageUp
Onboarding Record
BambooHR
Onboarding (BambooHR base feature)
1:1PageUp Onboarding tasks, checklist progress, and new hire document completion status migrate to BambooHR's onboarding checklist feature, which is included in Core. We extract the current onboarding task state per employee and map open tasks to BambooHR's task format. Step sequencing, automated task triggers, and new hire document e-signature flows in PageUp are tenant-specific workflow logic and do not migrate as automation; we document the original step sequence for the customer's admin to reconfigure in BambooHR.
PageUp
Time Off
BambooHR
Time Off
1:1PageUp time-off entitlements and request history migrate to BambooHR Time Off management, which is included in Core. We extract accrual balances, approved requests, and pending requests. Note that PageUp may track time off within a broader absence management module; BambooHR's Time Off uses separate Allowance and Request objects. We resolve the mapping between PageUp absence types and BambooHR policy types during scoping and apply the conversion at import time.
PageUp
Employee Document
BambooHR
Employee Files
1:1PageUp stores employee documents (contracts, signed forms, performance records) with binary file content and metadata. We extract document metadata and binary files via PageUp's document endpoints. BambooHR's employee file storage accepts documents attached per employee record via the Files feature. We map document type from PageUp (e.g., employment contract, compliance acknowledgement) to BambooHR file category or custom employee field. Document naming conventions and folder hierarchy in PageUp are flattened into flat file attachments per employee in BambooHR.
PageUp
Background Check
BambooHR
Custom Field or Note
1:1PageUp Background Check status and summary fields export cleanly, but PDF or image report files require separate file-level extraction via document endpoints. We extract background check status data and map it to a custom employee field (background_check_status__c) or a Note attachment in BambooHR. Customers must verify that their background check vendor agreements permit data transfer before migration, as vendor contracts often restrict movement of screening reports across systems.
PageUp
Workflow
BambooHR
N/A
lossyPageUp custom recruiting workflows, approval chains, stage gates, and automation triggers are tenant configuration data, not record data. The Exports API extracts record-level data only. We document every active PageUp workflow with its trigger conditions, stage sequence, and action list and deliver this as a written workflow recreation guide for the customer's PageUp administrator. BambooHR does not have a workflow engine comparable to PageUp's; customers seeking automation after migration use BambooHR's workflow approvals for time-off and document signing, but custom hiring pipelines and approval chains require manual rebuild or a third-party automation layer.
PageUp
Learning Module
BambooHR
N/A
1:1PageUp courses, training records, completion status, scores, and enrollment history are stored in its LMS module. BambooHR has no native learning management capability. We extract training completion records and map them to a custom field group on the Employee record (training_completed__c, training_date__c, course_name__c) or to a custom Learning History object. The customer should evaluate a dedicated LMS (Docebo, TalentLMS, or similar) for ongoing learning management; we flag this as a parallel system decision rather than a direct migration target.
PageUp
Succession Plan
BambooHR
N/A
1:1PageUp Succession Planning records map roles to identified successors with readiness ratings. BambooHR does not have a native succession planning module. We extract succession plan definitions and incumbency data as a structured export and deliver it as a CSV mapping document for the customer's HR team to maintain in a spreadsheet or evaluate BambooHR's partner ecosystem for succession-specific tools. This is a gap that requires a business-process decision rather than a data migration.
| PageUp | BambooHR | Compatibility | |
|---|---|---|---|
| Candidate | Employee (with ATS extension)1:many | Fully supported | |
| Position | Job Opening (ATS add-on) or Custom Objectlossy | Fully supported | |
| Employee Record | Employee1:1 | Fully supported | |
| Performance Review | Employee (Performance add-on or custom fields)lossy | Fully supported | |
| Onboarding Record | Onboarding (BambooHR base feature)1:1 | Fully supported | |
| Time Off | Time Off1:1 | Fully supported | |
| Employee Document | Employee Files1:1 | Fully supported | |
| Background Check | Custom Field or Note1:1 | Fully supported | |
| Workflow | N/Alossy | Fully supported | |
| Learning Module | N/A1:1 | Fully supported | |
| Succession Plan | N/A1:1 | 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.
PageUp gotchas
Multi-datacentre routing requires correct tenant datacentre identification
OAuth JWT token scopes gate export access per endpoint
Custom workflow logic does not export as data and must be manually rebuilt
Background check document files require separate file-level extraction
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
Scoping and datacentre identification
We begin by identifying the customer's PageUp tenant datacentre from their admin portal URL and confirming the OAuth JWT credentials scope (Public.Exporter.Read and Public.Exporter.Write). We audit the PageUp tenant for active modules in scope: Candidates, Positions, Employee Records, Performance Reviews, Onboarding, Time Off, Background Checks, and any custom fields. We simultaneously identify the BambooHR destination domain, confirm the ATS add-on tier if recruiting data is in scope, and create a custom fields sheet by fetching GET /v1/meta/fields. The scoping output is a written migration scope with record counts per object, a custom field mapping table, and a datacentre-confirmed export configuration.
Authentication and export configuration
We configure the export pipeline using PageUp's Exports API with OAuth JWT authentication scoped to the identified datacentre. We configure export field selections for each object to match the BambooHR destination field schema, applying the custom field ID mapping from the scoping phase. Export jobs on PageUp are asynchronous; we poll for completion, handle job failures with retry, and log every exported record with a source ID for reconciliation. File attachments (resumes, background check documents) are queued separately via the document endpoints and packaged alongside the parent record export.
BambooHR schema preparation
We create all required custom fields in the BambooHR destination account using the numeric field IDs returned by GET /v1/meta/fields. Custom fields are named to match their PageUp counterparts as closely as possible. If BambooHR Performance is licensed, we configure review cycle templates to match the extracted PageUp review structure. If the ATS module is not licensed, we configure a custom source_candidate__c field to flag records that originated as candidates. We validate that the API key used for import inherits appropriate permissions from its source user account and confirm the rate limit baseline with a test batch of 10-20 employee records.
Data extraction and transformation
We extract all objects in dependency order: Employee records (as the primary entity with the most relationships), Time Off balances and history, Onboarding task state, Performance review data, and Candidate/Position data. Custom fields are resolved by dynamic field ID. Background check status maps to a custom employee field; PDF documents are extracted separately and stored with the employee file attachment. PageUp E-forms, learning records, and succession plans are extracted as structured CSV exports and documented as gaps requiring manual handling. We apply field type conversions (PageUp date formats to BambooHR date fields, multi-select values to comma-separated strings, etc.) during the transform phase before writing to the import staging area.
Sandbox validation and reconciliation
For organisations with more than 200 records in any object, we run a validation migration into a BambooHR sandbox or parallel test account before production. We reconcile record counts against the PageUp source (total employees imported vs. total employees extracted, total time-off entries, total onboarding tasks, etc.) and spot-check 25-50 random employee records field by field. Reconciliation discrepancies are resolved in the transform layer before the production migration begins. Any BambooHR validation rules (required field formats, conditional requireds) are identified and temporarily adjusted by the customer's BambooHR admin during load if blocking.
Production migration and cutover
We run the production migration in dependency order: Employee records first (with custom fields resolved), Time Off, Onboarding state, Performance reviews, Candidate/Position data (if ATS is licensed), and file attachments last. Each phase emits a row-count reconciliation report. We freeze PageUp writes during the cutover window, extract a final delta of any records modified during migration, apply the delta, then enable BambooHR as the system of record. We deliver the workflow and E-form inventory document to the customer's PageUp administrator for manual rebuild. We support a five-business-day hypercare window for reconciliation issues raised by the HR team post-go-live.
Platform deep dives
PageUp
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between PageUp and BambooHR.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across PageUp and BambooHR.
Object compatibility
All 7 core objects map 1:1 between PageUp 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
PageUp: Not publicly documented.
Data volume sensitivity
PageUp 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 PageUp to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your PageUp 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 PageUp
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.