HRMS migration

Migrate from Longlist to Bullhorn ATS & CRM

Field-level mapping, validation, and rollback between Longlist and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.

Longlist logo

Longlist

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

58%

7 of 12

objects map 1:1 between Longlist and Bullhorn ATS & CRM.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Longlist to Bullhorn is a migration from a browser-overlay enrichment layer into a full ATS/CRM system of record. Longlist captures candidate contact data (email, phone, LinkedIn), source attribution, and research tags applied by sourcers during the sourcing phase. Bullhorn stores candidates as structured Candidate records with standard fields for contact information and supports up to ten custom objects per entity for enrichment-layer fields that do not map to Bullhorn native fields. We extract candidate profiles and their enrichment metadata from Longlist, map standard contact fields directly to Bullhorn Candidate fields, and route Longlist-specific enrichment attributes into Bullhorn custom objects (customObject1s–customObject10s) that Bullhorn Support provisions per entity. Any lists or group memberships from Longlist become Bullhorn Candidate Lists or Distribution Lists. Bullhorn does not natively store Longlist's research-layer workflow state, so we flag any pipeline or sourcing-stage values that require a Bullhorn custom picklist. We do not migrate automation rules or sourcing sequences as code; we deliver a written inventory of any active Longlist sequences requiring rebuild in Bullhorn's native automation layer.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Longlist logo

Longlist

What's pushing teams away

  • Longlist is positioned for small-to-mid recruiting agencies and lean in-house teams — enterprises with complex hiring workflows, compliance requirements, or large hiring volumes typically outgrow it.
  • No free tier means teams must commit to a paid plan from day one, which is friction relative to free-tier competitors like Recruit CRM trials.
  • Integrated phone calling, SMS, and custom reports are gated to the Plus tier ($79/user/month) and above, pushing the effective price up for teams that need them.
  • SSO and whitelabel options are Enterprise-only with custom pricing, blocking mid-market teams from those features without sales negotiation.
  • Limited public review presence and small market footprint versus Greenhouse, Lever, or Workable creates procurement hesitation for larger evaluators.

Choosing

Bullhorn ATS & CRM logo

Bullhorn ATS & CRM

What's pulling them in

  • Agencies choose Bullhorn because it combines ATS and CRM in one platform, eliminating the need to switch between separate tools for candidate management and client relationship tracking.
  • The resume parser extracts contact details, work history, and skills into structured, searchable candidate profiles automatically without manual data entry, reportedly driving 24% more placements per recruiter.
  • Bullhorn's placement and split-billing model natively supports contract staffing workflows, handling start/end dates, overtime rules, and multi-party pay/charge rates in a single record.
  • The platform offers extensive third-party integrations through its Recruitment Cloud Marketplace, connecting with back-office, onboarding, and payroll systems used by staffing agencies.
  • 72% of Bullhorn customers are teams with fewer than 10 users, and Bullhorn's implementation team handles setup and data migration for small agencies going live within weeks.

Object mapping

How Longlist objects map to Bullhorn ATS & CRM

Each row shows how a Longlist 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.

Longlist

Candidate

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

Longlist Candidate records map to Bullhorn Candidate entities. The Longlist display name maps to firstName and lastName; email maps to email; phone maps to phone; LinkedIn profile URL maps to LinkedIn (custom Char field or Bullhorn standard field depending on Bullhorn edition). We use the Candidate entity as the primary record and resolve any required fields (name, email) before insert. Bullhorn requires at minimum a firstName or lastName; records with no name are flagged during scoping for admin review.

Longlist

Candidate Contact Fields (email, phone, LinkedIn)

maps to

Bullhorn ATS & CRM

Candidate (standard fields)

1:1
Fully supported

Longlist contact fields (email, phone, LinkedIn) map directly to Bullhorn Candidate standard fields: email to Candidate.email, phone to Candidate.phone, LinkedIn URL to Candidate.linkedIn. These are Bullhorn native fields and do not require custom object setup. Longlist also surfaces secondary email addresses and alternative phone numbers; these land in Bullhorn Candidate custom character fields (customText1–customText10) provisioned by Bullhorn Support.

Longlist

Longlist Source Attribution (source tag, original research site)

maps to

Bullhorn ATS & CRM

Candidate (source field) + customChar1 (enrichment source)

lossy
Fully supported

Longlist records carry a source attribution indicating where the candidate data was found (LinkedIn Recruiter, company website, job board, etc.). This maps to Candidate.source (Bullhorn standard). Any enriched data provenance (the specific enrichment provider or scrape source) lands in a Bullhorn custom character field (customChar1) that Bullhorn Support provisions on the Candidate entity. Source values that do not match Bullhorn picklist values are pre-loaded into the picklist during migration configuration.

Longlist

Longlist Tags (sourcer-applied research tags)

maps to

Bullhorn ATS & CRM

Candidate customMultiSelect1 (picklist migration)

lossy
Fully supported

Longlist sourcers apply freeform tags to candidate records during research. Bullhorn does not have a native tag system equivalent; we map these to a Bullhorn custom multi-select picklist field (customMultiSelect1) provisioned on Candidate by Bullhorn Support. Pre-migration, we extract all distinct tag values from Longlist, create the corresponding picklist entries in Bullhorn, and bulk-apply the multi-select values during candidate import. Tags used for segmentation (sourcer name, pipeline stage) are treated as separate custom fields rather than merged into one multi-select.

Longlist

Longlist Lists (group membership)

maps to

Bullhorn ATS & CRM

Candidate List / Distribution List

1:many
Fully supported

Longlist lists (e.g., 'Tech Leaders Q1', 'Passive Candidates', 'VIP Sourced') map to Bullhorn Candidate Lists. Each Longlist list becomes a Bullhorn Candidate List. Candidate membership migrates as a Candidate List membership record linking the Candidate to the List. If Longlist lists overlap (a candidate in multiple lists), Bullhorn Candidate List membership supports many-to-many relationships natively, so no candidate duplication occurs.

Longlist

Candidate (implied company context)

maps to

Bullhorn ATS & CRM

ClientCorporation

1:1
Fully supported

Longlist does not have a native Company entity; company context is embedded in the candidate record (the employer or target company the sourcer was researching). We extract employer or target company names from Longlist candidate records and create Bullhorn ClientCorporation entities during migration. Each Candidate then links to its ClientCorporation via the candidateToClientCorporation relationship. If the employer name is absent or ambiguous, the Candidate is created without a corporation link and flagged for the admin to resolve post-migration.

Longlist

Longlist Enrichment Attributes (fields beyond standard contact data)

maps to

Bullhorn ATS & CRM

Candidate CustomObject1s–CustomObject10s

lossy
Fully supported

Longlist surfaces enrichment attributes that extend beyond standard contact fields—confidence scores, data freshness timestamps, social handle URLs, technology stack signals, or sourcing-tool metadata. Bullhorn supports up to 10 custom objects per Candidate entity (customObject1s through customObject10s). Each custom object must be provisioned by Bullhorn Support before migration. We coordinate with the customer's Bullhorn Support contact to pre-create the custom objects, then populate them via the Bullhorn REST API during migration. Custom object fields are typed (Char, Int, Float, Date, Bool, Lookup) and we map Longlist attribute types to Bullhorn field types during schema design.

Longlist

Candidate (notes and research comments)

maps to

Bullhorn ATS & CRM

Note (attached to Candidate)

1:1
Fully supported

Longlist sourcers frequently add internal research notes to candidate records during the enrichment phase. Bullhorn does not have a native 'research note' field on Candidate; we migrate these as Bullhorn Note records attached to the Candidate via ContentDocumentLink. The Note body preserves the full research comment. If Bullhorn's document management (ContentDocument/ContentVersion) is not enabled on the destination org, we fall back to Bullhorn Note records without ContentDocumentLink attachment.

Longlist

N/A (Longlist has no native job or opportunity entity)

maps to

Bullhorn ATS & CRM

JobOrder (not migrated from Longlist)

1:1
Fully supported

Longlist does not store job orders, requisitions, or placement records. Bullhorn JobOrder and Placement entities cannot be populated from Longlist data. During scoping, we confirm whether the customer has any job or placement data held outside Longlist (in spreadsheets, email, or another system) that should be migrated in parallel. If no external data exists, JobOrder and Placement entities are created empty in Bullhorn and the customer populates them during Bullhorn onboarding. We flag this gap in the migration scope document.

Longlist

N/A (Longlist has no Opportunity entity)

maps to

Bullhorn ATS & CRM

Opportunity

1:1
Fully supported

Bullhorn Opportunity is a sales-layer entity for tracking candidate-driven business development, not a recruitment-specific object. Longlist does not have an Opportunity equivalent. If the customer's team uses Bullhorn Opportunities to track placement-fee pipelines, these records are created post-migration. We do not create Opportunity records from Longlist data.

Longlist

Longlist Owner (sourcer who owns the record)

maps to

Bullhorn ATS & CRM

Bullhorn User (owner resolution)

1:1
Fully supported

Longlist records carry an owner attribution (the sourcer who created or last edited the record). We resolve Longlist owner email addresses against the Bullhorn User table in the destination org. Any Longlist owner without a matching Bullhorn User is held in a reconciliation queue. The customer's Bullhorn admin provisions any missing Users before record import resumes. Owner resolution is required before Candidate insert because Bullhorn requires an ownerId on all Candidate records.

Longlist

Longlist Sequences (outreach cadences)

maps to

Bullhorn ATS & CRM

N/A — do not migrate

lossy
Fully supported

Longlist email sequences and outreach cadences are automation objects that have no direct Bullhorn equivalent at the individual-sourcer level. Bullhorn's automation layer (Bullhorn Automation) handles outreach at scale but uses a different event and action model. We do not migrate sequences as code. We deliver a written inventory of every active Longlist sequence with its steps, delays, and trigger conditions, mapped to a recommended Bullhorn Automation equivalent for the customer's Bullhorn admin or implementation partner to rebuild.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Longlist logo

Longlist gotchas

High

Outreach history (email sequences, SMS, WhatsApp) must be extracted to preserve candidate context

Medium

Resume parsing data is a separate artifact from the original file

Medium

Chrome extension scope vs CRM scope creates data lineage questions

Low

Integrated phone / SMS depends on telephony provider configuration

Bullhorn ATS & CRM logo

Bullhorn ATS & CRM gotchas

High

ATS Growth edition has no API access

High

Attachments excluded from CSV bulk exports

Medium

Custom Object limits vary sharply by edition

Medium

Opportunity pipeline stages are recruitment-specific

Low

Resume parse quality varies by document format

Pair-specific challenges

  • Longlist has no native Company or Job entity

    Longlist is a candidate-sourcing enrichment tool, not an ATS or CRM. It has no native ClientCorporation, JobOrder, Opportunity, or Placement entity. Bullhorn's full ATS/CRM functionality requires these entities to be populated. We can link Longlist candidate records to Bullhorn ClientCorporation entities (extracted from employer names in Longlist), but JobOrder, Placement, and Opportunity records cannot be sourced from Longlist and must be created in Bullhorn during or after migration. This gap must be acknowledged during scoping so the customer's Bullhorn admin does not expect these records to appear post-migration.

  • Bullhorn custom objects require Bullhorn Support provisioning

    Bullhorn custom objects (customObject1s–customObject10s) cannot be created via the Bullhorn REST API alone; Bullhorn Support must provision them per entity type. We coordinate with the customer's Bullhorn Support contact during the discovery phase to submit custom object provisioning tickets before migration begins. Longlist enrichment attributes that exceed Bullhorn's 10 custom object limit per Candidate entity require a different strategy—consolidation into multi-value custom fields or custom character fields with delimited values. This limit is a hard constraint that we surface during schema design.

  • Longlist enrichment metadata lacks a stable record ID across exports

    Longlist exports candidate records with their enrichment metadata, but the internal record identifiers may not be stable across multiple export passes. We deduplicate by email address during the transform phase, using email as the primary dedupe key for Candidate insert. Candidates with no email address are flagged for manual review before Bullhorn insert because Bullhorn does not support candidate records without an email. Partial email addresses (e.g., stripped by Longlist's privacy filter) are held in a reconciliation queue with a confidence score indicating data quality.

  • Longlist tags are freeform; Bullhorn picklists require pre-defined values

    Longlist sourcers apply freeform text tags that may include typos, inconsistent casing, or duplicate concepts under different names (e.g., 'Tech Lead', 'tech-lead', 'Tech-Lead'). Bullhorn multi-select picklist fields require pre-defined values. We normalize tags during the transform phase: lowercase, trim whitespace, collapse duplicates, and strip special characters before creating the Bullhorn picklist entry. Tags that exceed Bullhorn's character limit for picklist values (255 characters) are truncated. We present the normalized tag list to the customer during scoping for approval before creating the picklist entries in Bullhorn.

  • Bullhorn candidate deduplication is post-insert, not pre-insert

    Bullhorn does not enforce candidate deduplication at insert time. If the same candidate appears multiple times in a Longlist export (e.g., appearing in multiple lists), Bullhorn will create duplicate Candidate records unless we resolve duplicates before insert. We perform email-based deduplication during the transform phase: for each unique email address, we keep one Candidate record and merge the associated list memberships and tags. If two Longlist records share an email but have conflicting enrichment data (different phone numbers), we retain both values as separate custom character fields rather than overwriting, and flag the record for admin review.

Migration approach

Six steps for a successful Longlist to Bullhorn ATS & CRM data migration

  1. Discovery and enrichment field cataloging

    We extract a full export of all Longlist candidate records, including contact fields (email, phone, LinkedIn), enrichment metadata, source attribution, sourcer-applied tags, and list membership. We catalog every distinct enrichment attribute beyond the standard contact fields and identify which map to Bullhorn native Candidate fields and which require Bullhorn custom object provisioning. We extract all distinct tag values for normalization. We identify the Bullhorn destination org, confirm the Bullhorn edition (Starter, Corporate, or Enterprise), and establish the Bullhorn User list for owner resolution. Bullhorn Support custom object provisioning tickets are submitted at this stage to begin the lead time for setup.

  2. Schema design and custom object coordination

    We design the Bullhorn destination schema based on the Longlist enrichment catalog. Standard contact fields (email, phone, LinkedIn) map to Bullhorn Candidate native fields. Any enrichment attributes beyond standard fields are assigned to Bullhorn custom objects (customObject1s–customObject10s) on the Candidate entity. Tag values are normalized and pre-loaded into Bullhorn custom multi-select picklists. Longlist lists are mapped to Bullhorn Candidate Lists. We extract employer and target company names from Longlist candidate records for ClientCorporation creation. The schema design document is reviewed and approved by the customer before any Bullhorn configuration begins.

  3. Owner reconciliation and User provisioning

    We extract every distinct Longlist owner (sourcer) email referenced on candidate records and match by email against the Bullhorn destination org's User table. Owners without a matching Bullhorn User are placed in a reconciliation queue. The customer's Bullhorn admin provisions missing Users in Bullhorn before record import begins. Bullhorn requires an ownerId on Candidate records; migration cannot proceed with unresolved owners because Bullhorn rejects Candidate inserts without a valid owner reference.

  4. Sandbox migration and data reconciliation

    We run a full migration into the customer's Bullhorn Sandbox environment (or a test org if no Sandbox is provisioned) using production-like data volume. The customer reconciles record counts: Candidates in (compared to Longlist total), ClientCorporations created, Candidate List memberships applied, tags distributed, and enrichment custom object records attached. We spot-check 25-50 random candidate records against the Longlist source export for field accuracy, especially enrichment attributes in custom objects and tag assignments. Any mapping corrections are applied before the production migration begins.

  5. Production migration in dependency order

    We run production migration in record-dependency order: ClientCorporations (from Longlist employer names), Candidates (with ownerId resolved, standard contact fields populated, and enrichment custom objects attached via REST API), Candidate Lists (created first, then membership records applied), tags (normalized and applied to multi-select picklist), and Notes (research comments attached via ContentDocumentLink or Note). Each phase emits a row-count reconciliation report before the next phase begins. Bullhorn REST API handles custom object inserts with exponential backoff on rate-limit responses. We do not migrate JobOrder, Placement, or Opportunity records as these do not exist in Longlist.

  6. Cutover, validation, and sequence rebuild handoff

    We freeze Longlist record writes during the cutover window, run a final delta migration of any records modified since the last export pass, then enable Bullhorn as the system of record for candidate data. We deliver a written inventory of all Longlist sequences (email cadence steps, delays, trigger conditions) mapped to recommended Bullhorn Automation equivalents. Bullhorn's automation layer does not automatically replicate Longlist's cadence model; the customer's Bullhorn admin or an implementation partner rebuilds sequences post-migration. We support a one-week hypercare window for reconciliation issues. We do not rebuild sequences or automations as part of the standard migration scope.

Platform deep dives

Context on both ends of the pair

Longlist logo

Longlist

Source

Strengths

  • Chrome sourcing extension connects directly to the CRM/ATS — single workflow from candidate discovery to outreach.
  • Multi-channel outreach (email, SMS, WhatsApp) bundled in the core product.
  • Free data migration from Excel and 10+ competing recruiting CRMs lowers switching cost.
  • Unlimited open jobs even on the entry-level Growth tier.
  • 30-day full refund policy reduces evaluation risk.

Weaknesses

  • No free tier — paid commitment required from day one.
  • Phone calling, SMS, and custom reports gated to Plus tier ($79/user/month).
  • SSO and whitelabel require Enterprise custom pricing.
  • Limited third-party review presence versus Greenhouse, Lever, or Workable.
  • Scope is pre-hire only — no onboarding, performance, or HRMS features.
Bullhorn ATS & CRM logo

Bullhorn ATS & CRM

Destination

Strengths

  • Unified ATS and CRM on one platform purpose-built for staffing agencies, eliminating separate tools for candidates and clients.
  • Automated resume parsing extracts structured candidate data—contact details, work history, skills—into searchable profiles instantly.
  • Native placement and split-billing model handles contract staffing workflows including start/end dates and overtime rules.
  • Bullhorn Recruitment Cloud Marketplace offers 100+ pre-validated third-party integrations spanning the full recruiting lifecycle.
  • 24/7 global support coverage from 350+ support staff with dedicated account management included at all tiers.

Weaknesses

  • Widely regarded as old and bloated with an unintuitive interface and steep learning curve for new recruiters.
  • Slow page loads and performance lag cited in over 200 verified G2 reviews during high-volume recruiting periods.
  • Pricing is opaque—custom-negotiated per organization with significant upfront implementation fees that vary by deal.
  • ATS Growth edition excludes API access entirely, preventing automated data export without upgrading first.

Complexity grading

How hard is this migration?

Moderate HRMS migration. 1 of 7 objects need a manual workaround.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Longlist and Bullhorn ATS & CRM.

  • Object compatibility

    C

    1 of 7 objects need a manual workaround.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    7-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Longlist: Not publicly documented — no published rate limits..

  • Data volume sensitivity

    B

    Longlist doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Longlist to Bullhorn ATS & CRM migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Longlist to Bullhorn ATS & CRM data migrations

Answers to the questions buyers ask most during Longlist to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Longlist to Bullhorn ATS & CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Migrations under 15,000 candidates with fewer than 10 enrichment attributes per record typically land between three and five weeks. Migrations with large enrichment field sets, deduplication scope across a mature sourcing database, multiple Longlist lists requiring Bullhorn Candidate List migration, or existing Bullhorn custom object schemas requiring integration move to eight to fourteen weeks because of Bullhorn Support provisioning coordination for custom objects and the reconciliation work for candidate-to-corporation linking. Longlist has no native job or placement data, so those timelines are independent of the migration scope.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Longlist.
Land in Bullhorn ATS & CRM, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day