HRMS migration
Field-level mapping, validation, and rollback between Jobylon and BambooHR. We move data and schema; workflows are rebuilt natively in BambooHR.
Jobylon
Source
BambooHR
Destination
Compatibility
6 of 10
objects map 1:1 between Jobylon and BambooHR.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Jobylon and BambooHR serve different roles in the HR stack. Jobylon is a dedicated ATS built for European enterprises that need employer branding, configurable pipelines, and GDPR compliance baked in by a Stockholm-based team. BambooHR is an HRIS with a hiring module — it covers the full employee lifecycle from offer acceptance through performance management and time off, but its applicant tracking is intentionally lighter than a standalone ATS. Migrating from Jobylon to BambooHR means shifting from a record-centric ATS model (where Jobs, Applications, and Pipeline Stages are first-class objects) into an HR-centric model (where Job Openings are a module attached to the employee database). We resolve this structural difference during scoping, map Jobylon pipeline stages to BambooHR Job Opening stages, and flag that BambooHR's job opening caps per tier (5 on Core, 25 on Pro, 50 on Elite) may constrain the number of active postings in the destination. Workflows, automation triggers, and offer letter document content do not migrate; we deliver a written inventory of the customer's active pipeline automations and a rebuild guide for BambooHR's Workflows and Approvals module.
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 Jobylon 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.
Jobylon
Job
BambooHR
Job Opening
1:1Jobylon Jobs map to BambooHR Job Openings. The Job title, department, location, and description migrate directly. Jobylon's per-company custom fields on Jobs (configured via /config/companies/{companyId}/job) require pre-migration schema discovery per company account; we query each company's configuration endpoint during discovery, then map custom fields to BambooHR custom fields or the closest standard field. BambooHR's Job Opening caps per tier (5/25/50) are flagged during scoping — customers with more active jobs than the destination tier permits must either upgrade or accept inactive archived jobs in BambooHR.
Jobylon
Application
BambooHR
Applicant
1:1Jobylon Applications map to BambooHR Applicants attached to a Job Opening. The application date, current stage, source channel, and rejection reason (Lost Reason) transfer. If the Application references a Candidate who already exists as an Employee in BambooHR (hire-from-within scenario), we map to the existing Employee record rather than creating a duplicate Applicant. Jobylon's application-stage history timeline is preserved as a custom note or activity entry on the Applicant record.
Jobylon
Candidate
BambooHR
Employee (or Applicant)
1:1Jobylon Candidates deduplicate by email address before migration. Active Candidates with open Applications migrate as BambooHR Applicants attached to a Job Opening. Candidates who have already been hired (identified by a 'Hired' status or a 'hire date' custom field) migrate as BambooHR Employee records with the hire date preserved from Jobylon. We carry any GDPR-related fields (consent status, erasure request dates) as custom fields in BambooHR unless the destination's Compliance Intelligence module provides a native equivalent.
Jobylon
Pipeline Stage
BambooHR
Job Opening Stage
lossyJobylon pipeline stages are free-text and per-job, with no standardisation across organisations. We map each active stage name to the closest BambooHR Job Opening stage (Applied, Phone Interview, On-site Interview, Offer, Hired, or Rejected). The original Jobylon stage name is preserved in a custom field original_stage__c for audit. Inactive stages with assigned Lost Reasons are mapped to the Rejected stage with the Lost Reason label carried as a custom field rejection_reason__c. Customers review and approve the stage map before cutover to avoid pipeline process mismatches.
Jobylon
Scorecard
BambooHR
Custom Fields on Applicant
1:manyJobylon Scorecards are tied to Pipeline Stages and record evaluator ratings and comments per Application. BambooHR has no native scorecard object, so scorecard ratings and evaluator feedback migrate as custom fields on the Applicant record (e.g., scorecard_rating__c, evaluator_name__c, evaluation_notes__c). The scorecard schema (field names, rating scale) is extracted from Jobylon during discovery and translated into custom field definitions in BambooHR before migration. We flag that BambooHR's hiring module does not surface scorecard data in a structured evaluation view — the data is present as fields on the Applicant but not displayed as a scorecard summary.
Jobylon
Custom Fields (Job and Application)
BambooHR
Custom Fields
lossyJobylon custom fields are defined per-company via the Partner API and may include dynamic fields that require Jobylon support activation before they appear in the schema. We query the /config/companies/{companyId}/job endpoint for each company during discovery and generate a field map before any data moves. Dynamic fields that are not yet activated are flagged in the discovery report and must be activated by Jobylon support before the migration schema is finalised. BambooHR custom fields are created via the BambooHR API before import begins. The migration does not include dynamic form logic from Jobylon; the form structure must be rebuilt manually in BambooHR's applicant intake form editor.
Jobylon
User
BambooHR
Employee (as Hiring Team member)
1:1Jobylon Users (recruiters, hiring managers, admins) map to BambooHR Employee records. We resolve by email match. The migration does not provision BambooHR user accounts — the customer's BambooHR admin creates the destination users and assigns roles (Employee, Admin, Limited) before migration. User permission levels are not migrated because BambooHR's permission model uses role-based access control that must be configured in the destination separately.
Jobylon
Lost Reason
BambooHR
Custom Field (rejection_reason__c)
1:1Jobylon Lost Reasons are predefined classification labels assigned when an Application moves to an inactive pipeline stage. We carry these as a tagged custom field rejection_reason__c on the Applicant record in BambooHR rather than a native object. The set of unique Lost Reasons across all Pipelines is enumerated during discovery and provided as a picklist of custom field values.
Jobylon
Assessor Feedback
BambooHR
Note or Custom Field on Applicant
1:1Free-text evaluator notes and assessor feedback are exported from Jobylon as structured comment records with author, timestamp, and body content. We map these to BambooHR Notes attached to the Applicant record, preserving the original author name and timestamp. If the feedback includes structured rating data, we split it into custom fields (rating_value__c, feedback_body__c) rather than storing it solely as a free-text note.
Jobylon
Offer Letter
BambooHR
Note (document reference only)
lossyJobylon offer letter documents are stored as attachments associated with Applications. We export the attachment filenames and URLs but do not migrate the document content itself due to the lack of a bulk document export endpoint in Jobylon's Partner API. The document URLs are provided as a reference list attached to the Applicant record in BambooHR. The customer's team must re-upload offer letter documents to BambooHR manually or via e-signature integration post-migration.
| Jobylon | BambooHR | Compatibility | |
|---|---|---|---|
| Job | Job Opening1:1 | Fully supported | |
| Application | Applicant1:1 | Fully supported | |
| Candidate | Employee (or Applicant)1:1 | Fully supported | |
| Pipeline Stage | Job Opening Stagelossy | Fully supported | |
| Scorecard | Custom Fields on Applicant1:many | Fully supported | |
| Custom Fields (Job and Application) | Custom Fieldslossy | Fully supported | |
| User | Employee (as Hiring Team member)1:1 | Fully supported | |
| Lost Reason | Custom Field (rejection_reason__c)1:1 | Fully supported | |
| Assessor Feedback | Note or Custom Field on Applicant1:1 | Mapping required | |
| Offer Letter | Note (document reference only)lossy | 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.
Jobylon gotchas
Partner API is alpha with no bulk export endpoint
Rate limit of 100 req/min restricts migration speed
Custom fields are per-company and require pre-migration schema discovery
Dynamic custom fields must be activated by Jobylon support
Pipeline stage names are free-text and not standardised
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 custom field schema enumeration
We audit the source Jobylon portal via the Partner API, enumerating per-company custom field schemas, active pipeline configurations, scorecard field definitions, and Lost Reason values. We also extract the count of Jobs, Applications, Candidates, and assessor feedback records to scope the migration volume. During this phase we confirm the status of any dynamic custom fields with Jobylon support, because fields not officially activated will not appear in the API schema. The discovery output is a written migration scope document listing all objects, field maps, and any schema gaps requiring activation or manual handling before migration begins.
BambooHR destination schema preparation
We create the custom fields in BambooHR to host scorecard ratings, original pipeline stage names, Lost Reason values, and any Jobylon custom fields that have no BambooHR standard equivalent. We verify that the destination plan tier supports the number of active Job Openings in scope; if not, we recommend upgrading or archiving inactive jobs before migration. The BambooHR admin creates destination User accounts and assigns Employee-level permissions to the team members who will receive the migrated records.
Staged extraction from Jobylon
We extract data from Jobylon in dependency order using the Partner API at the 100 req/min rate limit with request throttling and exponential backoff. Jobs are extracted first, then Candidates (with email-based deduplication), then Applications (linked to resolved Candidate IDs and Job IDs). Scorecard records are extracted with their evaluator and rating fields, and assessor feedback is batched separately. We flag any records that fail extraction (due to missing required fields or API errors) into a reconciliation log for the customer's Jobylon admin to resolve.
Candidate and employee record split
We split the extracted Candidates into two groups: those with a 'Hired' status or hire date (who become BambooHR Employee records) and those with open Applications (who become BambooHR Applicants). The hire date from Jobylon becomes the BambooHR Employee hireDate field. Candidates who appear both as an existing Employee and an open Applicant (internal mobility scenario) are mapped to the existing Employee record with the new Application linked.
BambooHR import in dependency order
We import into BambooHR in dependency order: Employees first (if any hire-date records exist), then Job Openings, then Applicants linked to Job Openings. Custom fields on Applicants are populated during import using the field map generated in discovery. Pipeline stage assignments use the approved stage map, with original stage names preserved in custom fields. We import assessor feedback notes after the Applicant record exists so that the Note is linked correctly.
Cutover, delta sync, and automation handoff
We freeze writes in Jobylon during the final cutover window and run a delta migration of any records created or modified since the initial extraction. We verify record counts in BambooHR against the extraction log, spot-check a sample of Applicant and Employee records for field accuracy, and hand off to the customer's BambooHR admin. We deliver the written automation inventory: every active Jobylon pipeline automation trigger and its recommended BambooHR Workflows and Approvals equivalent. We do not rebuild Jobylon automations as BambooHR Workflows inside the migration scope; that work requires separate scoping with the customer's BambooHR admin.
Platform deep dives
Jobylon
Source
Strengths
Weaknesses
BambooHR
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Jobylon and BambooHR.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Jobylon and BambooHR.
Object compatibility
All 7 core objects map 1:1 between Jobylon 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
Jobylon: 100 requests per minute per organisation.
Data volume sensitivity
Jobylon 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 Jobylon to BambooHR migration scoping. Not seeing yours? Book a call.
Walk through your Jobylon 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 Jobylon
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.