HRMS migration
Field-level mapping, validation, and rollback between Eploy and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
Eploy
Source
BambooHR
Destination
Compatibility
8 of 12
objects map 1:1 between Eploy and BambooHR.
Complexity
BStandard
Timeline
4-8 weeks
Overview
Moving from Eploy to BambooHR crosses from a UK-specialist ATS with integrated onboarding into a US-built all-in-one HRIS where the ATS module is a bundled component rather than the core product. Eploy organises hiring around Jobs, Candidates, Workflow Stages, and Talent Pools with per-user API rate limits; BambooHR stores employees as the primary record with Jobs as a related ATS object and limited pipeline customisation. We preserve Eploy's custom workflow stage names as typed BambooHR custom fields, migrate Offers to BambooHR's Job Offers object, and handle Eploy's document attachments through a download-then-upload pass. We do not migrate Eploy's recruitment Workflows, Hiring Manager Portal configurations, or the Eploy-specific onboarding module records that live in a separate schema; we deliver a written inventory of these for your admin to rebuild or manually complement.
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 Eploy 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.
Eploy
Job Requisition
BambooHR
Job
1:1Eploy Jobs (title, department, location, salary band, workflow assignment) map directly to BambooHR Jobs. Custom job fields migrate as BambooHR custom fields on the Job object. Eploy's job-to-workflow linkage does not have a native BambooHR equivalent; we document the stage sequence as a written workflow map and recommend configuring BambooHR's ATS pipeline stages to match the original sequence.
Eploy
Candidate
BambooHR
Employee
1:1Eploy Candidate records (contact details, application history, skills, notes, status) map to BambooHR Employee records. We preserve the candidate's application context by linking the BambooHR Employee to the migrated BambooHR Job via the Employee History field. Duplicate detection uses email as the dedupe key. Custom candidate properties migrate as BambooHR custom fields on the Employee file; any properties without a matching field type are flagged for scoping review.
Eploy
Workflow Stage
BambooHR
Job Stage (custom)
lossyEploy workflow stages are customisable per organisation with no canonical list in the API. We discover stage names by querying active jobs during scoping, aggregate the distinct values, and map each to a custom picklist field on the BambooHR Job object (e.g., eploy_stage__c). The stage-to-stage transition timestamps migrate as structured note entries on the BambooHR Employee or Job record for audit. Customer confirms the mapping table before production migration.
Eploy
Hiring Manager Portal
BambooHR
User Role / Permission
lossyEploy hiring manager assignments tie specific users to jobs and workflow stages. These do not map to a native BambooHR object. We export the assignments as a written role matrix (which Eploy user has access to which job and stage) and recommend that BambooHR permissions are configured manually as Employee visibility and Job posting permissions in BambooHR's ATS settings after migration.
Eploy
Offer
BambooHR
Job Offer
1:1Eploy Offers (salary, start date, role details, e-signature status) map to BambooHR Job Offers. E-signature audit trails migrate as a file attachment on the BambooHR Job Offer record. Active offers migrate at migration time; withdrawn or expired offers are excluded from the primary migration but can be included as historical records if the customer requires a full audit trail.
Eploy
Onboarding Record
BambooHR
Employee File / Custom Field
1:1Eploy's onboarding module (reference collection, contracts, compliance documents) lives in a separate schema not fully accessible via the standard API. We migrate what is available through the onboarding API endpoints as structured fields on the BambooHR Employee record, and flag any objects that return partial schemas. For records that cannot be extracted automatically, we document the gap and recommend a manual CSV export of the onboarding module as a complement to the automated migration.
Eploy
Employee Referral
BambooHR
Custom Field on Employee
1:1Eploy referral records (employee who referred, candidate referred, reward status) map to a BambooHR custom field pair: referral_source__c (naming the referring employee) and referral_reward_status__c. We preserve the referral attribution at migration time and link the referred candidate to the referring employee's BambooHR Employee record where applicable.
Eploy
Talent Pool
BambooHR
Tag / Employee File Note
1:1Eploy Talent Pools are saved candidate collections for future roles. BambooHR has no native Talent Pool object. We migrate pool memberships as BambooHR employee file tags (one tag per pool name) and add a structured note field talent_pool_memberships__c listing all pools the employee belongs to. The customer selects this strategy during scoping.
Eploy
Custom Property (Job)
BambooHR
Custom Field on Job
lossyEploy organisations add custom fields to jobs. We detect custom job property schemas during discovery, create corresponding custom fields in BambooHR's ATS Job object via the API during the schema design phase, then populate them during the job migration pass.
Eploy
Custom Property (Candidate)
BambooHR
Custom Field on Employee
lossyEploy candidate custom properties map to BambooHR employee custom fields. We detect the full custom property schema during scoping, pre-create the destination fields in BambooHR, and migrate values during the candidate-to-employee migration. Fields that do not have a compatible BambooHR field type (e.g., complex multi-value structures) are flagged for review and may be stored as long-text notes.
Eploy
Document / Attachment
BambooHR
Employee File Attachment
1:1Eploy resume and document attachments are served as download URLs, not inline blobs. We enumerate all attachment URLs, download each file to temporary storage, then upload each to the BambooHR Employee file attachment endpoint. Large attachment volumes (hundreds per candidate in compliance-heavy sectors) extend migration time significantly and require sufficient storage headroom. We run the download pass before the record migration pass so that attachments can be linked at insert time.
Eploy
Communication History
BambooHR
Employee File Note
1:1Eploy email and SMS threads tied to candidates migrate as structured notes on the BambooHR Employee record. Thread content and timestamps are preserved; thread formatting may flatten in transit. We cannot migrate real-time email send/receive functionality as that requires API integration beyond data migration scope.
| Eploy | BambooHR | Compatibility | |
|---|---|---|---|
| Job Requisition | Job1:1 | Fully supported | |
| Candidate | Employee1:1 | Fully supported | |
| Workflow Stage | Job Stage (custom)lossy | Fully supported | |
| Hiring Manager Portal | User Role / Permissionlossy | Fully supported | |
| Offer | Job Offer1:1 | Fully supported | |
| Onboarding Record | Employee File / Custom Field1:1 | Fully supported | |
| Employee Referral | Custom Field on Employee1:1 | Fully supported | |
| Talent Pool | Tag / Employee File Note1:1 | Fully supported | |
| Custom Property (Job) | Custom Field on Joblossy | Fully supported | |
| Custom Property (Candidate) | Custom Field on Employeelossy | Fully supported | |
| Document / Attachment | Employee File Attachment1:1 | Fully supported | |
| Communication History | Employee File Note1:1 | 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.
Eploy gotchas
API rate limits cap daily call volumes per tier
API keys are tied to individual user records
Onboarding module data may live in a separate schema
Custom workflow stages require mapping table creation
Document attachments require separate download-then-upload passes
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 scoping
We audit the Eploy instance across subscribed API tier (determining rate limit ceiling), active Jobs, Candidate records, custom properties on jobs and candidates, active workflow stage names (aggregated from all jobs), Offers, Employee Referral records, Talent Pool memberships, document attachment volumes, and any onboarding module records accessible via API. We pair this with a BambooHR tier assessment to confirm job-opening limits against the customer's active hiring volume. The discovery output is a written migration scope with object counts, custom field inventory, and a confirmed or flagged ATS capacity check.
Schema design and workflow stage mapping
We design the BambooHR destination schema before any data moves. This includes creating custom fields on the Employee object for migrated candidate custom properties, creating custom fields on the Job object for Eploy job custom properties and the workflow stage mapping field, configuring BambooHR ATS pipeline stages to approximate the Eploy workflow sequence where possible, and setting up the referral and talent pool custom fields. We build the stage mapping table during this phase and submit it for customer confirmation before proceeding.
Document download pass
We run the Eploy document attachment enumeration and download pass before record migration. This harvests all resume files, cover letters, compliance documents, and other binary attachments linked to candidate records into temporary storage. Files are organised by candidate identifier and validated for type and size compatibility with BambooHR's file limits. This pass runs asynchronously to the record migration to avoid blocking the main data pass on large attachment volumes.
Production migration in dependency order
We run the migration in record-dependency order: BambooHR Employees (from Eploy Candidates, with Account/company context preserved), BambooHR Jobs (from Eploy Job Requisitions), BambooHR Job Offers (from Eploy Offers), Employee referral and talent pool data (as custom fields), employee file notes for Eploy communication history, and finally document attachments linked to the correct Employee records. Each phase emits a row-count reconciliation report. We throttle migration workers to stay within the customer's Eploy API tier rate limit and implement exponential backoff on 429 responses.
Onboarding module complement and handoff
We document any onboarding records that could not be extracted via the Eploy API and deliver a written complement guide specifying which onboarding fields require manual export from Eploy and where to enter them in BambooHR. We deliver the full workflow inventory (stage names, ordering, job associations) as a written map for the customer's BambooHR admin to configure ATS pipeline stages. We do not configure BambooHR ATS permissions or hiring manager access as part of the migration; this is done by the customer's admin using the role matrix we deliver.
Cutover, delta pass, and validation
We freeze Eploy writes during the cutover window, run a final delta migration of any records modified during migration, then mark BambooHR as the system of record. We support a one-week post-cutover window where we resolve reconciliation issues. We do not migrate Eploy Workflows or Hiring Manager Portal configurations; these are delivered as written inventories for the customer's admin to rebuild in BambooHR's ATS settings. ATS pipeline configuration, permissions, and hiring manager access settings are outside the migration scope and handled by the customer's administrator.
Platform deep dives
Eploy
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Eploy and BambooHR.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Eploy and BambooHR.
Object compatibility
All 7 core objects map 1:1 between Eploy 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
Eploy: 10 requests per second; daily tier caps of 1,000 / 5,000 / 10,000 / 50,000 depending on subscribed tier.
Data volume sensitivity
Eploy 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 Eploy to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your Eploy 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 Eploy
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.