HRMS migration
Field-level mapping, validation, and rollback between LogicMelon and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
LogicMelon
Source
Bullhorn ATS & CRM
Destination
Compatibility
9 of 12
objects map 1:1 between LogicMelon and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
LogicMelon and Bullhorn take fundamentally different approaches to the candidate record. LogicMelon stores applications as separate entities under each job, meaning the same person applying to three jobs produces three distinct LogicMelon application records. Bullhorn maintains one unified Candidate record linked to multiple JobSubmission records. We resolve this structural difference during migration: we deduplicate by candidate email and phone, create a single Bullhorn Candidate, and generate a JobSubmission per original LogicMelon application tied to the correct JobOrder. The list of job boards targeted per LogicMelon job advert is preserved as Bullhorn tags so your team retains the original posting distribution without re-entering it manually. CV files migrate as binary attachments on the Candidate record. Bullhorn's 191 integrations (versus LogicMelon's 6) and native CRM functions are available from day one. We do not migrate LogicMelon job board posting configurations, multi-posting schedules, or distribution rules; these are documented for your team to rebuild directly in Bullhorn or re-enable the LogicMelon integration from Bullhorn's Marketplace.
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 LogicMelon object lands in Bullhorn ATS & CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
LogicMelon
Job
Bullhorn ATS & CRM
JobOrder
1:1LogicMelon Jobs map directly to Bullhorn JobOrder records. The job advert content (title, description, requirements, salary) migrates to Bullhorn's title, description, and publicDescription fields. Bullhorn JobOrder does not replicate the multi-posting action; instead, we preserve the list of targeted job boards from LogicMelon's per-job board-association list as Bullhorn tags on the JobOrder record. The original job reference ID from LogicMelon is stored in a custom field lm_job_id__c for audit and reconciliation.
LogicMelon
Application
Bullhorn ATS & CRM
Candidate + JobSubmission (split required)
1:manyLogicMelon Application records are the structural pivot point in this migration. Each LogicMelon Application references one Candidate and one Job. Bullhorn maintains a single Candidate record linked to multiple JobSubmission records (one per job applied to). We deduplicate LogicMelon Applications by candidate email and phone during extraction, create one Bullhorn Candidate, and generate a JobSubmission for each original application tied to the corresponding JobOrder. The application status (Applied, Screened, Interviewed, Offered, Placed) migrates to JobSubmission status with a reference back to the original LogicMelon application date and status transition history.
LogicMelon
Candidate
Bullhorn ATS & CRM
Candidate
1:1LogicMelon Candidate profiles (name, email, phone, skills, work history, location) map to Bullhorn Candidate. The Bullhorn Candidate is the canonical record created in the Application split step above. Structured profile fields migrate to typed Bullhorn Candidate fields; any fields that do not map directly become custom fields pre-created in Bullhorn before import. The original candidate reference lm_candidate_id__c is stored for reconciliation.
LogicMelon
CV / Resume
Bullhorn ATS & CRM
Candidate (file attachment)
1:1LogicMelon stores CVs as binary file attachments (PDF, DOCX) linked to Application or Candidate records. We extract the raw file and attach it to the Bullhorn Candidate record using Bullhorn's file attachment API. The CV file name and upload date are preserved. Bullhorn's resume parsing runs on the file after attachment, populating Bullhorn's standard resume fields (education, employment history, skills). We do not parse or transform CV content during extraction; the file is the source-of-truth backup where structured fields are incomplete.
LogicMelon
Company / Client
Bullhorn ATS & CRM
ClientCorporation
1:1LogicMelon organisation or client records map to Bullhorn ClientCorporation. If LogicMelon stores staffing-client details alongside candidate records, these migrate as ClientCorporation with billing contact, address, and industry. ClientCorporation is created before Candidate import so that the client reference on JobOrder is satisfied at insert time.
LogicMelon
Job Board (per-job association)
Bullhorn ATS & CRM
JobOrder tag
1:1LogicMelon stores the list of targeted job boards as a per-job board-association object rather than a global posting template. Bullhorn has no native per-job board list object; we preserve this as Bullhorn tags on the JobOrder record (one tag per targeted board). Tags are created from the LogicMelon board list at migration time and appear on the JobOrder in Bullhorn. The multi-posting action itself is not replicated; tags serve as a record of original posting distribution for audit and reporting.
LogicMelon
Screening Notes
Bullhorn ATS & CRM
Note / Comment
1:1Recruiter screening notes, scoring, and evaluation comments attached to LogicMelon Applications migrate to Bullhorn Note records linked to the corresponding JobSubmission or Candidate. Bullhorn Note supports text content with timestamps and owner attribution. The original note type (screening score, shortlist reason, client feedback) is preserved in the note body or in a custom field lm_note_type__c if a structured type field exists in LogicMelon.
LogicMelon
Pipeline Stage
Bullhorn ATS & CRM
Opportunity workflow or JobSubmission status (configuration)
lossyLogicMelon's configurable pipeline stages (Applied, Screened, Interviewed, Offered, Placed) map to Bullhorn JobSubmission status values. We extract the customer's specific stage name configuration during discovery, map each stage to the nearest Bullhorn status, and configure Bullhorn's JobSubmission status picklist accordingly. Any custom stage names that have no Bullhorn equivalent are added as custom status values or preserved in lm_stage_name__c on the JobSubmission.
LogicMelon
User / Recruiter
Bullhorn ATS & CRM
User
1:1LogicMelon Users are tied to the organisation hierarchy via API credentials (EMEA or US instance, scoped to sub-unit). We extract every User referenced on Jobs, Applications, and Notes, and match by email against Bullhorn's User table in the destination org. Users without a Bullhorn match enter a reconciliation queue for your admin to provision before record import resumes. Inactive LogicMelon users are mapped to inactive Bullhorn users to preserve historical assignment.
LogicMelon
Organisation / Sub-unit
Bullhorn ATS & CRM
Corporate User or Division
1:1LogicMelon's multi-tenant hierarchy (agency-level versus client-level sub-units) maps to Bullhorn's Corporate User structure. If Bullhorn Enterprise or higher is in use, we map LogicMelon sub-units to Bullhorn Divisions. If Professional is the destination tier, we document the hierarchy for your admin to configure post-migration in Bullhorn's Settings > Corporate Structure.
LogicMelon
Talent Pool
Bullhorn ATS & CRM
Candidate List or PlacementSpecialty
1:1LogicMelon talent pools (grouped candidate collections for active or passive sourcing) map to Bullhorn Candidate Lists. We extract the talent pool name, membership, and any pool-level notes, and create Bullhorn Candidate List records with the original members linked. Talent pool category or tag assignments migrate as Bullhorn Candidate tags for ongoing segmentation.
LogicMelon
Custom Field (Job / Application)
Bullhorn ATS & CRM
Custom Field
lossyLogicMelon allows custom fields on Jobs and Applications. We identify all active custom fields during discovery, map them to Bullhorn custom fields on the corresponding entity (JobOrder, JobSubmission, or Candidate), and pre-create the Bullhorn schema (including field type, picklist values, and visibility settings) before migration begins. Any custom fields that exceed Bullhorn's field count limits per entity are flagged in the discovery report for your admin to resolve.
| LogicMelon | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Job | JobOrder1:1 | Fully supported | |
| Application | Candidate + JobSubmission (split required)1:many | Fully supported | |
| Candidate | Candidate1:1 | Fully supported | |
| CV / Resume | Candidate (file attachment)1:1 | Fully supported | |
| Company / Client | ClientCorporation1:1 | Fully supported | |
| Job Board (per-job association) | JobOrder tag1:1 | Fully supported | |
| Screening Notes | Note / Comment1:1 | Mapping required | |
| Pipeline Stage | Opportunity workflow or JobSubmission status (configuration)lossy | Fully supported | |
| User / Recruiter | User1:1 | Fully supported | |
| Organisation / Sub-unit | Corporate User or Division1:1 | Fully supported | |
| Talent Pool | Candidate List or PlacementSpecialty1:1 | Fully supported | |
| Custom Field (Job / Application) | Custom Fieldlossy | 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.
LogicMelon gotchas
EMEA vs USA API instance split affects endpoint routing
API authentication ties credentials to organisation structures
Job board target lists are stored per job, not globally
CV documents are binary attachments without a standard parseable schema
Bullhorn ATS & CRM gotchas
ATS Growth edition has no API access
Attachments excluded from CSV bulk exports
Custom Object limits vary sharply by edition
Opportunity pipeline stages are recruitment-specific
Resume parse quality varies by document format
Pair-specific challenges
Migration approach
Discovery and instance routing
We audit the LogicMelon instance type (EMEA vs US API base URL), the organisation hierarchy, and the data volume across Jobs, Applications, Candidates, CV files, talent pools, and custom fields. We identify the correct API endpoint and credentials scope required for the migration extraction. We also confirm the Bullhorn edition and API access credentials, validate the REST API endpoint, and check the Bullhorn entity limits and custom field allocation for the destination org. The discovery output is a written scope document with record counts, a preliminary object mapping, and a Bullhorn custom field creation checklist.
Schema pre-creation in Bullhorn
We create all required Bullhorn custom fields (lm_job_id__c, lm_candidate_id__c, lm_application_date__c, lm_stage_name__c, and any custom fields identified from LogicMelon's active configuration) before any data import begins. Bullhorn custom fields are created via the Bullhorn REST API or through the Admin > Field Mappings interface. If the destination org has already used all available custom field slots on any entity, we flag the constraint during discovery and the customer resolves it before migration proceeds. Candidate Lists for talent pool migration are also created during this phase.
CV file extraction and deduplication pass
We extract all CV binary files from LogicMelon and assign each to the corresponding candidate record. Simultaneously, we run the deduplication pass: Applications sharing the same candidate email and phone are grouped, one Bullhorn Candidate is created per group, and the original application date and status are recorded per JobSubmission. The deduplication output is a reconciliation report showing how many LogicMelon Application records collapse into each Bullhorn Candidate. Your team reviews and approves the deduplication logic before production migration begins.
Sandbox migration and mapping validation
We run a full migration into the Bullhorn Sandbox (Full Copy or Partial Copy) using the customer's actual data. The customer reconciles record counts against LogicMelon reports: Jobs in equals JobOrders in, Applications in equals JobSubmissions in, Candidate records reflect deduplication output, CV file count matches Candidate count, and job board tag count matches JobOrder count. Any field mapping corrections, custom field additions, or deduplication logic adjustments happen in the sandbox before production migration begins.
Production migration in dependency order
We run the production migration in this order: ClientCorporation records (from LogicMelon company/client data), JobOrder records (with job board tags applied), Candidates (with CV attachments), JobSubmissions (linked to Candidates and JobOrders), Notes (screening notes and comments on JobSubmissions), Candidate Lists (talent pools with member assignments), and Pipeline stage configuration. Owner resolution by email matches LogicMelon Users to Bullhorn Users; any unmatched owners are held in a reconciliation queue. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and job board handoff
We freeze writes to LogicMelon during cutover, run a final delta migration for any records modified during the migration window, then confirm Bullhorn as the system of record. We deliver the migration reconciliation report, the post-migration custom field inventory, and the job board targeting metadata document listing every original posting board per JobOrder. We do not reconfigure Bullhorn job board integrations or republish jobs to job boards; that work is handled by your team using Bullhorn's native posting tools or by re-enabling the LogicMelon-Bullhorn Marketplace integration. We support a one-week hypercare window for reconciliation issues.
Platform deep dives
LogicMelon
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across LogicMelon and Bullhorn ATS & CRM.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
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
LogicMelon: Not publicly documented in available API reference materials.
Data volume sensitivity
LogicMelon 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 LogicMelon to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your LogicMelon to Bullhorn ATS & CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave LogicMelon
Other ways to arrive at Bullhorn ATS & CRM
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.