HRMS migration
Field-level mapping, validation, and rollback between Pinpoint and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
Pinpoint
Source
BambooHR
Destination
Compatibility
7 of 10
objects map 1:1 between Pinpoint and BambooHR.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Pinpoint and BambooHR serve different phases of the people lifecycle. Pinpoint is an Applicant Tracking System built around Vacancies, Candidates, and Applications; BambooHR is a Human Resources Information System built around Employees, their employment terms, and ongoing HR processes. The migration is not a like-for-like swap — it is a transformation from a hiring-centric model to an HR-of-record model. We extract Candidate and Vacancy data from Pinpoint via per-vacancy CSV exports, map hired Candidates to Employee records in BambooHR, preserve scorecard outcomes as custom fields or notes, and carry over offer terms as compensation data. Active recruitment pipelines (open applications not yet hired) do not transfer into BambooHR because BambooHR ATS is a separate product that customers license independently; we document the open pipeline state for the customer's admin to re-enter in BambooHR ATS or another recruitment tool. Workflows, scorecard templates, and job board distribution settings do not migrate — these are destination-configured in BambooHR.
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 Pinpoint 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.
Pinpoint
Vacancy
BambooHR
Job (BambooHR ATS) or reference record
lossyPinpoint Vacancies map to BambooHR Job records if the customer has BambooHR ATS licensed. If BambooHR ATS is not part of the scope, Vacancy data (title, department, location, status) is mapped to a structured CSV inventory delivered to the customer's admin for manual entry or as custom fields on a Hiring Tracker object in BambooHR. Vacancies must be resolved first because Candidates and Applications reference Vacancy identifiers during export. Open Vacancies with active pipelines are inventoried but not fully migrated to BambooHR ATS without an explicit ATS scope decision.
Pinpoint
Candidate
BambooHR
Employee
1:1Pinpoint Candidates with a final Hire decision map to BambooHR Employee records. The mapping uses Candidate name, email, phone, and address fields to populate BambooHR's standard Employee fields (firstName, lastName, workEmail, workPhone, and address fields). Custom Candidate properties from Pinpoint that have no standard BambooHR equivalent (such as source channel, referral type, or screening score) are mapped to BambooHR custom fields created in the destination account before import. Candidates who were not hired (rejected, withdrawn, or disqualified) are inventoried as a separate record set; they do not become Employees in BambooHR by default unless the customer requests otherwise.
Pinpoint
Application
BambooHR
Employment history / onboarding record
lossyPinpoint Applications are the join table linking Candidates to Vacancies with stage, status, and source attribution. For hired Candidates, the Application captures the Vacancy they accepted and their source (direct, agency, referral, job board). This data is mapped to a combination of BambooHR Employee fields and a custom Employment History table: the source field maps to a custom field hireSource__c, and the accepted Vacancy title maps to jobTitle or a custom field originalVacancyTitle__c. The Application stage progression is preserved as an audit trail rather than an active pipeline state.
Pinpoint
Scorecard
BambooHR
Custom fields or notes on Employee
1:1Pinpoint Scorecards are structured evaluation forms attached to Applications by interviewers. We migrate the scorecard outcome — evaluator name, rating, and written feedback — as notes attached to the BambooHR Employee record. If the customer uses a consistent scorecard template across Vacancies, we map specific rating fields to named custom fields on the Employee (interviewRating_hiringManager__c, interviewRating_recruiter__c) to enable reporting on evaluation outcomes post-migration.
Pinpoint
Offer
BambooHR
Employment details / compensation fields
1:1Pinpoint Offers bundle salary, start date, conditional clauses, and status. We map salary to BambooHR's payRate or a custom pay fields section, start date to the Employee hireDate field, and conditional clause outcomes (background check passed, drug screen completed) to custom fields or the onboarding checklist. Bespoke offer letter PDFs are attached to the Employee record via BambooHR's document attachment on the onboarding tab. Complex conditional clauses are flagged in the migration inventory for the customer's HR admin to review post-migration.
Pinpoint
Interview
BambooHR
Not migrated (or documented as notes)
1:1Pinpoint Interview records are standalone scheduled events with date, time, interviewer, format, and status. These are hiring-specific records that do not map to any standard BambooHR object. We export interview records as a structured data set in the migration inventory for the customer's records, but they do not become part of the BambooHR HRIS. If BambooHR ATS is in scope, interview scheduling would be rebuilt using BambooHR ATS interview tools rather than carried over from Pinpoint.
Pinpoint
Reference Check
BambooHR
Onboarding documentation or custom fields
1:1Pinpoint Reference Checks carry status, responses, and any attached notes or ratings from nominated referees. We map reference check status (pending, completed, passed, failed) and high-level outcomes to a custom referenceCheckStatus__c field on the Employee record. Full referee response text migrates as notes attached to the Employee. Custom reference check templates do not carry over; BambooHR's onboarding checklist tool replaces the reference check template workflow.
Pinpoint
Job Posting
BambooHR
Inventory record (not migrated as live data)
1:1Pinpoint Job Postings track where a Vacancy was distributed — internal careers page, Indeed, LinkedIn, or other job boards — with posting status and posting metrics. We export posting destination and status as a structured inventory (CSV) but do not create records in BambooHR because BambooHR HRIS has no Job Posting object. If BambooHR ATS is in scope, job postings are created fresh in BambooHR ATS rather than imported from Pinpoint.
Pinpoint
Candidate Custom Fields
BambooHR
BambooHR Custom Fields
lossyPinpoint custom Candidate properties beyond the standard name/email/phone template require explicit mapping to BambooHR custom fields. We use BambooHR's Custom Field Builder to pre-create equivalent fields before import: short answer Pinpoint properties map to BambooHR Short Answer fields; list-based properties map to Single-Select or Multi-Select List fields depending on the Pinpoint field type. We confirm field creation and placement (tab and section) with the customer during scoping. Custom fields do not sync with BambooHR integrations, so any downstream automation relying on custom fields is noted for the admin to reconfigure post-migration.
Pinpoint
Owner
BambooHR
Employee (as supervisor reference)
1:1Pinpoint Owners (recruiters and hiring managers) who are active in BambooHR as Employees are mapped by email match. Owner name and email are preserved in a custom field recruitingOwner__c on the Candidate record during import. Any Pinpoint Owner without a matching BambooHR Employee is flagged in the reconciliation report for the customer's admin to provision or map manually.
| Pinpoint | BambooHR | Compatibility | |
|---|---|---|---|
| Vacancy | Job (BambooHR ATS) or reference recordlossy | Fully supported | |
| Candidate | Employee1:1 | Fully supported | |
| Application | Employment history / onboarding recordlossy | Fully supported | |
| Scorecard | Custom fields or notes on Employee1:1 | Fully supported | |
| Offer | Employment details / compensation fields1:1 | Fully supported | |
| Interview | Not migrated (or documented as notes)1:1 | Fully supported | |
| Reference Check | Onboarding documentation or custom fields1:1 | Fully supported | |
| Job Posting | Inventory record (not migrated as live data)1:1 | Fully supported | |
| Candidate Custom Fields | BambooHR Custom Fieldslossy | Fully supported | |
| Owner | Employee (as supervisor reference)1: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.
Pinpoint gotchas
CSV migration is job-by-job with mandatory vacancy pre-creation
No public bulk API documented for programmatic migration
PDF exports require explicit Customer Success Manager opt-in
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 Pinpoint account across active and closed Vacancies, total Candidate and Application counts, custom Candidate properties per Vacancy template, scorecard usage (per Vacancy or shared), and Offer records. We confirm whether BambooHR ATS is in scope or only the core HRIS, and whether BambooHR ATS is already licensed. We extract a list of all Pinpoint Owners by email to map against BambooHR Employees. The discovery output is a written migration scope, a Vacancy inventory, and a decision brief on BambooHR ATS licensing if the customer has an active recruitment pipeline they intend to preserve.
Pinpoint export coordination
We coordinate with the customer or Pinpoint's CSM to enable bulk PDF export, then guide the customer through per-Vacancy CSV extraction using Pinpoint's self-service export tool. For organizations with more than 20 Vacancies, we engage Pinpoint's migrations team directly for batch-assisted export to avoid the sequential per-Vacancy constraint. We receive raw CSVs for Vacancies, Candidates, Applications, Scorecards, Offers, and Reference Checks. Each CSV is validated for field count, required field completeness, and encoding consistency before transformation begins.
BambooHR custom field and schema preparation
We use BambooHR's Custom Field Builder (available under Settings > Custom Fields) to pre-create all custom fields required for the migration: fields for Pinpoint custom Candidate properties, fields for source attribution, fields for evaluation outcomes, and fields for recruiting Owner references. We confirm field placement (tab and section) with the customer's BambooHR admin. If BambooHR ATS is in scope, we coordinate with BambooHR setup to ensure the Job object is available and the ATS module is configured before Vacancy and hired-Candidate data loads.
Transformation and candidate split
We apply the transformation logic: hired Candidates (Application status = Hired) become Employee records; non-hired Candidates are written to a separate reconciliation inventory CSV. For each hired Candidate, we merge Application data (Vacancy title, source, stage progression), Scorecard outcomes (as notes and custom fields), and Offer terms (as pay and start date fields). Vacancy titles map to jobTitle or a custom originalVacancyTitle__c field. The transformation map is documented in a field-level mapping sheet reviewed by the customer's HR admin before import begins.
Sandbox or test-account import validation
For BambooHR accounts with more than 100 Employee records to migrate, we run a test import into a BambooHR sandbox or a clone of the production account. The customer's HR admin reviews 25-50 randomly sampled Employee records for field accuracy, placement, and completeness. Any mapping corrections (wrong field type, misplaced section, missing required field) are resolved before the production import. BambooHR's Import Tool has no undo, making this step critical for large datasets.
Production migration and reconciliation
We execute the production migration in records: Employees first (hired Candidates), with custom fields populated via BambooHR import tool or API. Each phase emits a row-count reconciliation report comparing source record count to destination record count. Document attachments (offer letter PDFs, CVs, scorecard PDFs if exported) are attached to the relevant Employee record via BambooHR's document attachment on the onboarding tab. Active recruitment pipelines are delivered as structured CSV inventory for the customer's admin to re-enter in BambooHR ATS or an alternative recruitment tool.
Cutover, delivery, and handoff
We freeze Pinpoint writes during cutover, run a final delta migration of any records modified during the migration window, then deliver the migration inventory and field mapping documentation. We do not rebuild Pinpoint hiring workflows in BambooHR ATS; that is a separate engagement or an admin-configuration task. We deliver a written reference guide covering the 10 object mappings, the custom field setup, and the active pipeline handoff CSV. We support a five-business-day post-migration window to resolve data integrity issues raised by the customer's team.
Platform deep dives
Pinpoint
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Pinpoint and BambooHR.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Pinpoint and BambooHR.
Object compatibility
All 7 core objects map 1:1 between Pinpoint 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
Pinpoint: Not publicly published as a single global ceiling — confirmed with Pinpoint for high-volume scenarios..
Data volume sensitivity
Pinpoint 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 Pinpoint to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your Pinpoint 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 Pinpoint
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.