HRMS migration
Field-level mapping, validation, and rollback between 100Hires and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
100Hires
Source
BambooHR
Destination
Compatibility
9 of 12
objects map 1:1 between 100Hires and BambooHR.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from 100Hires to BambooHR is a migration from a dedicated recruitment ATS to a full HRIS that includes an applicant tracking module. The schema shift is significant: 100Hires organizes hiring around Jobs, Candidates, and Applications flowing through pipeline stages, while BambooHR structures the same data around Employees, Applicants, and hiring workflows. We resolve this gap by mapping 100Hires Candidates to both BambooHR Applicants (for active pipeline candidates) and BambooHR Employees (for candidates who have been hired and need onboarding records), preserving pipeline stage history in custom fields on both records. Active nurture campaigns are paused mid-sequence and documented for rebuild; email templates migrate as raw text for re-import. Workflows, automation rules, and the 100Hires-hosted career site do not transfer. BambooHR's pricing is per-employee per-month ($6-$12 at Essentials or Advantage), so the migration unlocks unified HRIS capabilities beyond recruiting at a cost structure that often replaces two separate subscriptions.
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 100Hires 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.
100Hires
Candidate
BambooHR
Applicant (and Employee post-hire)
1:many100Hires Candidates with active Applications map to BambooHR Applicant records tied to the corresponding Position. Candidates who have been hired (Application status = Hired) map to both an Applicant record (for the hire record) and an Employee record in BambooHR for onboarding. The 100Hires pipeline stage at the time of hire is preserved as a custom text field candidate_original_stage__c on both records for audit and reporting continuity. Candidates with no Application (sourced but never applied) create Applicant records with a Source value only and no Position linkage.
100Hires
Job
BambooHR
Position
1:1100Hires Jobs map to BambooHR Positions. Job title, department, location, and description transfer as Position name, department, location, and description fields. The 100Hires job status (Active/Paused/Closed) maps to BambooHR Position status (Open/Paused/Closed). Job board posting distribution settings (LinkedIn, Indeed, ZipRecruiter) are documented in the export but require reconfiguration in BambooHR's Job Posting settings because BambooHR does not natively auto-post to the same board network.
100Hires
Application
BambooHR
Applicant record (linked to Position)
lossy100Hires Applications link a Candidate to a Job with a pipeline stage, timestamps, and rejection reason. BambooHR Applicants are linked to Positions with an Application Status field (Applied, Rejected, Withdrawn, Offer Extended, Hired). We map 100Hires pipeline stages to BambooHR Application Status values, preserving the last stage date as appliedDate and any rejection reason in the applicationNotes field. Applications that progressed through multiple stages retain the final stage only in BambooHR; stage-by-stage history is written to a custom multi-line text field application_stage_history__c.
100Hires
Interview
BambooHR
Interview (linked to Applicant)
1:1100Hires Interviews (scheduled dates, times, interviewers, interview types) map to BambooHR Interview records linked to the corresponding Applicant. Interviewer names resolve by email match to BambooHR User records. Calendar integration status (G Suite sync flags) is documented but not migrated because BambooHR's calendar integration handles this natively. Interview type (phone screen, technical, behavioral) transfers as interviewType.
100Hires
Evaluation
BambooHR
Applicant Rating and Custom Scorecard
1:1100Hires Evaluation scorecards submitted by interviewers map to BambooHR Applicant Ratings. Custom evaluation criteria (e.g., 1-5 rubric, pass/fail, weighted scores) are exported with their form definitions and written to a pre-migration audit document. We migrate submitted scores as rating values and flag any custom criteria that do not have a direct BambooHR equivalent in the scorecard notes. Customers configure BambooHR's scorecard fields or partner with BambooHR to define custom rating criteria post-migration.
100Hires
Note
BambooHR
Note
1:1100Hires Notes attached to Candidates or Applications transfer to BambooHR Note records linked to the corresponding Applicant or Employee. Note body content, author (User), and creation timestamp migrate directly. Notes attached to Candidates with no Application create Notes linked to the Applicant record only. Notes attached to hired Candidates (Employee context) link to the Employee record for ongoing HR documentation.
100Hires
User
BambooHR
User
1:1100Hires Users (recruiters and team members) map to BambooHR User records resolved by email match. Role and permission assignments do not transfer because BambooHR's role model is destination-specific. We flag any 100Hires Users that do not have a corresponding BambooHR User in a reconciliation queue for the customer's admin to provision before Applicant migration begins. HR admin vs recruiter role differences are documented for post-migration reconfiguration.
100Hires
Attachment
BambooHR
File (linked to Applicant or Employee)
1:1100Hires Attachments (resumes, cover letters, portfolio files) linked to Candidates or Applications download as binary files and re-upload to BambooHR under the corresponding Applicant record. Filenames are preserved. Files linked to hired Candidates (Employee context) attach to the Employee record for onboarding document storage. We verify file type compatibility with BambooHR's supported upload formats during the pre-migration audit.
100Hires
Nurture Campaign
BambooHR
Email Template (documented, not migrated)
1:1100Hires Nurture Campaigns are email sequences with defined steps, timing, and recipient logic. We export campaign definitions and email template body content as raw text with token syntax preserved, but in-flight campaigns are paused before migration and cannot be safely transferred mid-sequence because recipient opt-out states and delivery timestamps are tightly coupled to 100Hires' email infrastructure. Active campaign status and step definitions are written to a Campaign Inventory document for the customer to re-activate manually in BambooHR or a dedicated email cadence tool post-migration.
100Hires
Email Template
BambooHR
Email Template
1:1100Hires Email Templates (subject lines, body content, placeholder tokens) export as raw text with dynamic field tokens preserved in original syntax. Templates re-import into BambooHR Email and Offer Letter Templates manually, with tokens re-mapped to BambooHR's dynamic field syntax. Customers review each template post-migration to confirm placeholder substitution works correctly in BambooHR's template editor.
100Hires
Taxonomy (Skills, Departments, Locations)
BambooHR
Custom Fields (Skills, Departments, Locations)
1:1100Hires structured taxonomy for Skills, Departments, and Locations exports as flat lists. We map these to BambooHR custom fields on the Employee record (for Skills and Location) and Department configuration. Any unresolvable taxonomy values (e.g., a 100Hires skill not representable as a BambooHR custom field value) are flagged in the pre-migration audit for the admin to resolve or archive.
100Hires
Career Site
BambooHR
No direct equivalent (manual rebuild required)
lossy100Hires Career Site job listings and hosted pages export as content documents (job titles, descriptions, requirements) but the public URL is tied to the 100Hires account and cannot be transferred. BambooHR's Employee Portal and Careers section require manual content rebuild. We provide a Career Site Content Export with all job listing HTML and content in a structured format for the customer's admin to re-enter into BambooHR's careers page or an external careers platform of choice.
| 100Hires | BambooHR | Compatibility | |
|---|---|---|---|
| Candidate | Applicant (and Employee post-hire)1:many | Fully supported | |
| Job | Position1:1 | Fully supported | |
| Application | Applicant record (linked to Position)lossy | Fully supported | |
| Interview | Interview (linked to Applicant)1:1 | Fully supported | |
| Evaluation | Applicant Rating and Custom Scorecard1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Attachment | File (linked to Applicant or Employee)1:1 | Fully supported | |
| Nurture Campaign | Email Template (documented, not migrated)1:1 | Fully supported | |
| Email Template | Email Template1:1 | Fully supported | |
| Taxonomy (Skills, Departments, Locations) | Custom Fields (Skills, Departments, Locations)1:1 | Mapping required | |
| Career Site | No direct equivalent (manual rebuild required)lossy | 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.
100Hires gotchas
Free tier candidate cap resets monthly and limits pipeline stages
Email nurture campaigns cannot be exported mid-flight
Custom evaluation forms require manual schema alignment
Chrome extension imports may duplicate Candidate records
Career Site public URL is not transferable across accounts
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 audit
We audit the 100Hires account across tier (Free/Start/Advanced/Enterprise), candidate volume, active and historical jobs, application pipeline stage counts, interview and evaluation history, active nurture campaigns, custom candidate properties, and deduplication state. We pair this with BambooHR edition confirmation (Essentials or Advantage) to ensure the ATS module is available before migration scoping begins. The discovery output is a written migration scope document with record counts per object, identified gotchas, and a BambooHR tier recommendation if one has not already been selected.
Schema design and dual-record mapping
We design the BambooHR schema to accommodate the ATS-to-HRIS gap. This includes configuring Position records to receive 100Hires Job data, setting up Applicant records with custom fields for pipeline stage history and application notes, creating custom fields for Skills and Locations on Employee records, and mapping 100Hires Candidate properties to BambooHR Applicant and Employee field equivalents. The Lead-Contact-style split rule (Candidate to Applicant vs Candidate to Applicant plus Employee) is documented as a configurable decision point for the customer to confirm before migration begins.
Deduplication pass and nurture campaign freeze
We run a deduplication pass on 100Hires Candidate records by email address, merging duplicates while preserving the most recent pipeline stage history in candidate_original_stage__c. All active Nurture Campaigns are paused in 100Hires before export begins to prevent mid-flight migration of email delivery states. Campaign definitions and email template content are exported to the Campaign Inventory document. The customer confirms email consent records are compliant for any post-migration sequence rebuild.
Sandbox validation and reconciliation
We run a full migration into a BambooHR Sandbox environment using representative data volume. The customer's HR lead reconciles record counts (Applicants in, Employees in, Positions in, Interviews in), spot-checks 25-50 records against the 100Hires source, and signs off on the schema mapping before production migration begins. Sandbox validation catches any field mapping errors, custom field type mismatches, and employment status conversion logic before production data is touched.
Production migration in dependency order
We run production migration in record-dependency order: Users (provisioned and validated first), Positions (from 100Hires Jobs), Applicants (from 100Hires Candidates with application history), Applications (stage history merged into Applicant records), Interviews and Evaluations (linked to Applicant), Notes and Attachments (linked to Applicant or Employee), Skills and Taxonomy (custom field values on Employee), and Employee records (created for candidates with Hired application status last, because they depend on Position and Applicant linkage). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and inventory handoff
We freeze 100Hires writes 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 the Nurture Campaign Inventory (with template content and step definitions), the Email Template mapping document, and the Career Site Content Export to the customer's admin team. We support a one-week hypercare window for reconciliation issues. We do not rebuild Nurture Campaigns as email sequences in BambooHR or configure BambooHR's ATS automation workflows inside the migration scope; these are separate engagements or internal admin tasks.
Platform deep dives
100Hires
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between 100Hires and BambooHR.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across 100Hires and BambooHR.
Object compatibility
All 7 core objects map 1:1 between 100Hires 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
100Hires: Not publicly documented on the official API reference page.
Data volume sensitivity
100Hires 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 100Hires to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your 100Hires 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 100Hires
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.