HRMS migration
Field-level mapping, validation, and rollback between Webrecruit and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Webrecruit
Source
Bullhorn ATS & CRM
Destination
Compatibility
7 of 12
objects map 1:1 between Webrecruit and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Webrecruit ATS to Bullhorn ATS is a migration from a UK mid-market hiring platform to a staffing-industry CRM built for agency scale. Webrecruit organizes data around Candidates, Jobs, Applications, and fixed pipeline stages; Bullhorn uses Candidate, JobOrder, JobSubmission, ClientCorporation, and Opportunity entities with configurable pipeline stages and custom objects available from Growth and Enterprise tiers. The primary technical challenge is that Webrecruit does not publish API documentation publicly, requiring us to perform live schema discovery using customer-provided credentials before field mapping begins. GDPR consent flags at the candidate level require explicit handling: we export the consent timestamp and boolean alongside each record and recreate them as custom fields in Bullhorn so suppression and withdrawal requests remain enforceable post-migration. Bespoke stage types such as aptitude or competency assessments have no native pipeline equivalent in either platform; we migrate these as notes or file attachments on the Candidate record and flag them during scoping so the customer can decide on replacement workflow strategy.
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 Webrecruit 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.
Webrecruit
Candidate
Bullhorn ATS & CRM
Candidate
1:1Webrecruit Candidate records map directly to Bullhorn Candidate. Contact details, application history, stage progression, and GDPR consent flags transfer as standard fields or custom fields. Webrecruit consent timestamp and boolean flag require Bullhorn Support configuration of a custom Candidate field; we export these as separate columns and create the destination field via Support ticket during schema setup. Candidates with withdrawn or expired consent are flagged during scoping and migrated as suppressed records per the customer's GDPR policy.
Webrecruit
Job
Bullhorn ATS & CRM
JobOrder
1:1Webrecruit Job records map to Bullhorn JobOrder. Title, description, department, location, status, and posting dates transfer directly. JobOrder's title field is limited to 200 characters; we truncate with an ellipsis and store the full title in a custom field if truncation occurs. Inactive or archived Webrecruit jobs are migrated with status reflecting their source state and flagged for the customer to review post-migration.
Webrecruit
Application
Bullhorn ATS & CRM
JobSubmission
1:1Each Webrecruit Application links a Candidate to a Job with a timestamp and current stage. We map to Bullhorn JobSubmission with the CandidateId and JobOrderId resolved at migration time, submission date preserved, and current status reflecting Webrecruit's rejection, withdrawal, or active stage. Application history including rejection dates and withdrawal timestamps transfers as part of the JobSubmission record.
Webrecruit
Stage
Bullhorn ATS & CRM
Pipeline Stage
lossyWebrecruit uses a fixed set of pipeline stages. Bullhorn pipeline stages are configurable per JobOrder record type. We map each Webrecruit stage to the closest Bullhorn stage name and probability, flagging any that cannot be represented in Bullhorn's stage model. Webrecruit stages that have no Bullhorn equivalent (such as bespoke assessment stages) are migrated as notes on the Candidate record rather than as pipeline transitions.
Webrecruit
Hiring Manager
Bullhorn ATS & CRM
ClientContact or User
1:1Webrecruit Hiring Managers are assigned to jobs and can leave feedback. Bullhorn has separate User (internal staff) and ClientContact (external hiring manager) entities. We map Webrecruit Hiring Managers with an email domain match: if the email domain matches the organization's domain, we map to a Bullhorn User record; otherwise, we map to ClientContact linked to the relevant ClientCorporation. Assignment of Hiring Manager to Job migrates as a User or ClientContact assignment on the JobOrder.
Webrecruit
Workflow
Bullhorn ATS & CRM
Task (configuration inventory)
lossyWebrecruit approval workflows define job requisition steps from creation to posting. Bullhorn does not store approval workflows as a code object that migrates. We export workflow step definitions as a written configuration inventory document listing each step, its conditions, and its actions. The customer's Bullhorn admin uses this inventory to rebuild equivalent workflows using Bullhorn's Task assignment and approval routing features post-migration.
Webrecruit
Document
Bullhorn ATS & CRM
ContentDocumentLink
1:1CVs, cover letters, and attachments stored per Webrecruit application migrate as Bullhorn ContentDocument records linked via ContentDocumentLink to the corresponding Candidate or JobSubmission record. Document file names and MIME types are preserved. Binary blobs are extracted from Webrecruit's export and re-attached to the Bullhorn record at migration time. Files exceeding Bullhorn's attachment size limits are flagged for alternative handling.
Webrecruit
Custom Field
Bullhorn ATS & CRM
Custom Field
lossyWebrecruit custom fields vary by account. We export field definitions and all values during discovery. Bullhorn custom fields are created via Admin > Field Mappings by Bullhorn Support or the customer's admin. We provide a field creation checklist mapping each Webrecruit custom field to its Bullhorn equivalent, including field type, required status, and picklist values. Custom fields that exceed Bullhorn's field type options are flagged for manual re-entry or alternative handling.
Webrecruit
User
Bullhorn ATS & CRM
User
1:1Webrecruit User accounts include name, email, role, and permissions. We export user records and provision corresponding Bullhorn User accounts by email match. Bullhorn User provisioning requires the customer's Bullhorn admin to create accounts through the Admin menu; we provide a user import template with all sourced fields pre-populated. Users without an email match in Bullhorn go to a reconciliation queue for manual provisioning before record migration begins.
Webrecruit
Company
Bullhorn ATS & CRM
ClientCorporation
1:1Webrecruit stores employer companies within its job context. Bullhorn uses ClientCorporation for agency client companies and ClientContact for individual hiring managers. We map Webrecruit company records to Bullhorn ClientCorporation, preserving company name, address, and any associated notes. If the customer's Webrecruit instance stores candidate-employer affiliations separately, those map as text on the Candidate record or as a custom field.
Webrecruit
Bespoke Assessment (aptitude, competency)
Bullhorn ATS & CRM
Note or Attachment on Candidate
lossyWebrecruit does not natively support aptitude tests or competency assessments as pipeline stages. Reviewers note these are tracked outside the system or not at all. We migrate any assessment results exported from Webrecruit as Bullhorn Note records or ContentDocument attachments on the Candidate record. We flag this during scoping and ask the customer to confirm whether assessment data exists in a separate system or spreadsheet. Bullhorn custom objects (Growth/Enterprise) can also be configured to store structured assessment results if the customer requires a searchable home for this data.
Webrecruit
GDPR Consent
Bullhorn ATS & CRM
Custom Field on Candidate
lossyWebrecruit stores candidate GDPR consent as a boolean flag with a timestamp. UK law requires this status to be honored in the destination system. We export consent timestamp and boolean alongside each Candidate record and create a custom Candidate field in Bullhorn via Bullhorn Support ticket. Candidates with withdrawn or expired consent are flagged but not migrated unless the customer explicitly requests suppression overrides. Post-migration, the customer's Bullhorn admin uses this custom field to enforce suppression lists and honor withdrawal requests.
| Webrecruit | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Job | JobOrder1:1 | Fully supported | |
| Application | JobSubmission1:1 | Fully supported | |
| Stage | Pipeline Stagelossy | Fully supported | |
| Hiring Manager | ClientContact or User1:1 | Fully supported | |
| Workflow | Task (configuration inventory)lossy | Fully supported | |
| Document | ContentDocumentLink1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| User | User1:1 | Fully supported | |
| Company | ClientCorporation1:1 | Fully supported | |
| Bespoke Assessment (aptitude, competency) | Note or Attachment on Candidatelossy | Fully supported | |
| GDPR Consent | Custom Field on Candidatelossy | 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.
Webrecruit gotchas
No public API documentation exists for Webrecruit ATS
Bespoke stage types have no system representation
Integration connections do not export or migrate
GDPR consent flags require explicit handling at migration
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
Credentials and schema discovery
We request Webrecruit API credentials from the customer and perform live schema discovery against the Webrecruit API. We enumerate all entity types, field names, data types, and relationship fields visible through the API. If credentials cannot be provided, we fall back to CSV export and manual field mapping, which extends discovery by three to five business days. The discovery output is a Webrecruit field inventory mapped to our standard entity list (Candidate, Job, Application, Stage, Hiring Manager, Document, Custom Field, User) and a Bullhorn destination field recommendation based on Bullhorn's documented entity schema.
Bullhorn edition review and custom object provisioning
We confirm the customer's Bullhorn edition (Starter, Core, Pro, or Enterprise) to determine available custom object slots and field limits. Bullhorn Support tickets are raised for custom Candidate fields (GDPR consent, bespoke assessment fields) and any required Custom Object slots. We wait for Bullhorn Support confirmation before proceeding to field creation. Bullhorn editions without Custom Object support (ATS Growth) are flagged early so the customer can upgrade or accept note/attachment-based migration for structured assessment data.
Schema design and mapping document
We produce a written mapping document covering every Webrecruit entity and field, its Bullhorn destination equivalent, transformation rules (character truncation, date format, picklist mapping), and any fields that require custom field creation in Bullhorn. The GDPR consent mapping, bespoke assessment handling, and stage equivalence table are included as separate sections. The customer reviews and approves the mapping document before any data extraction begins.
Data extraction and transformation
We extract data from Webrecruit via API (with credentials) or CSV export (without). GDPR consent flags, application timestamps, and bespoke assessment results are extracted as separate columns. We transform data to match Bullhorn field types, apply character truncation for fields with length limits, and generate the target records in a staging format ready for Bullhorn API import. Records with missing required fields are flagged in a reconciliation report for the customer to resolve.
Sandbox validation and reconciliation
We perform a test migration into a Bullhorn sandbox environment using production-like data volume. The customer reconciles record counts, spot-checks 25-50 migrated records against the Webrecruit source, and approves the sandbox results before production migration begins. Any field mapping corrections, character truncation adjustments, or missing-field resolutions happen in this phase.
Production migration and cutover
We run production migration in record dependency order: Users (provisioned manually), ClientCorporations (from Webrecruit company data), Candidates (with GDPR custom field and assessment notes), JobOrders (from Webrecruit Jobs), JobSubmissions (linking Candidates to JobOrders), and Documents (CVs and attachments via ContentDocumentLink). We freeze Webrecruit writes during cutover, run a final delta migration of any records modified during the migration window, then enable Bullhorn as the system of record. We deliver a post-migration checklist including integration re-connection steps, workflow rebuild inventory, and Bullhorn Support ticket status for any pending custom object setups.
Platform deep dives
Webrecruit
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 Webrecruit 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
Webrecruit: Not publicly documented..
Data volume sensitivity
Webrecruit 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 Webrecruit to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Webrecruit 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 Webrecruit
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.