HRMS migration
Field-level mapping, validation, and rollback between Recright and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Recright
Source
Bullhorn ATS & CRM
Destination
Compatibility
9 of 12
objects map 1:1 between Recright and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Recright to Bullhorn is a migration from a purpose-built video interviewing platform into a full staffing ATS and CRM. Recright organizes hiring around Positions, Candidates, structured Interview Guides, Pre-recorded Interviews, and Assessment Scores, but it has no publicly documented API for automated export, which means the migration runs on a CSV extraction coordinated with Recright support. Bullhorn receives the candidate, job, and company data via its REST API with standard rate limits (50 concurrent sessions, 100,000 calls per month, 1,500 calls per minute on paid tiers; ATS Growth edition excludes API access). We map Recright's structured interview guides and scoring rubrics to Bullhorn custom fields on the Candidate object since Bullhorn does not expose a native structured interview template object. Video interview metadata (completion timestamps, question text, watch counts) migrates as structured data; the actual video blob files require separate manual coordination because Recright does not expose a download endpoint. Workflows, automations, and sequence cadences do not migrate; we deliver a written inventory for the customer's Bullhorn admin to rebuild using Bullhorn Automation or Flow.
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 Recright 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.
Recright
Candidate
Bullhorn ATS & CRM
Candidate
1:1Recright Candidate records (name, email, application date, status, and custom properties) map directly to Bullhorn Candidate. The Bullhorn Candidate object receives all standard fields including firstName, lastName, email, phone, and status. We resolve the dedupe key by email match and set the Candidate status field to correspond with the Recright application status. Any Recright custom candidate properties migrate to Bullhorn custom fields on the Candidate entity via Admin > Field Mappings, using unused customText, customDate, or customFloat slots.
Recright
Position
Bullhorn ATS & CRM
Job (Job Order)
1:1Recright Positions (defining the job opening with associated interview templates and publication settings) map to Bullhorn Job records. The Recright position title becomes the Job title; description fields map to the Bullhorn description; published status in Recright maps to a Bullhorn job status value. We create Bullhorn Job records before Candidate records so that the Job reference is satisfied at Candidate insert. If the Recright position references multiple interview stages, we create corresponding Bullhorn JobSubmissions or custom fields to preserve pipeline structure.
Recright
Pre-recorded Interview
Bullhorn ATS & CRM
Candidate (structured fields) + Note/Attachment
1:manyRecright Pre-recorded Interviews are the core data object: a Candidate's video response to a structured Interview Question. We export interview metadata (question text, response duration, completion timestamp, watch count per question) as structured fields on the Bullhorn Candidate record or as a custom Interview Responses custom object. The video blob itself cannot be downloaded programmatically from Recright; we flag this as a separate manual transfer action and coordinate an SFTP share or encrypted drive delivery. Bullhorn does not natively support video embedding on Candidate records, so video links are stored as Bullhorn Note records with the Recright interview URL as the Note body or as a Document/Attachment upload.
Recright
Interview Guide
Bullhorn ATS & CRM
Custom Object (Assessment Template)
lossyRecright Interview Guides (Prepare module) with ranked questions, time limits, and scoring rubrics do not have a direct Bullhorn equivalent. Bullhorn does not expose a native structured interview template object. We create a Bullhorn Custom Object named Recright_Interview_Guide__c with fields for guide name, question text, intended order, time limit, and scoring rubric. We document the original Recright guide structure in the migration validation report so the customer's Bullhorn admin can rebuild guides as Bullhorn Automation triggers or manual checklist fields per Job if preferred.
Recright
Assessment Score
Bullhorn ATS & CRM
Custom fields on Candidate
1:1Recright Assessment Scores (numerical or qualitative scores assigned by team members per question and per reviewer) map to Bullhorn custom fields on the Candidate record. We create customNumber or customFloat fields for each distinct reviewer-question combination or aggregate the scores into customSummary fields per section. We preserve the reviewer name and timestamp as custom fields or as a JSON blob in a customText long-text field. If the number of unique reviewer-question combinations exceeds available custom fields, we create a child Custom Object (Assessment_Score__c) with lookup to Candidate to handle the one-to-many relationship.
Recright
Interview Question
Bullhorn ATS & CRM
Custom fields or Custom Object
1:1Recright Interview Questions (text prompts, time limits, recording settings, tied to specific Interview Guides) export as structured data that we map to Bullhorn custom fields on the Interview Guide custom object or as question-text entries in a Questions__c child object. We preserve the question order, required time limit per question, and whether the question allows multiple attempts. Bullhorn's lack of a native question bank or rubric object means this structure requires custom object configuration before migration.
Recright
Recruitment Team Member
Bullhorn ATS & CRM
User
1:1Recright team members (name, email, role, and access permissions per position) map to Bullhorn User records by email match. Bullhorn roles and permissions are assigned using Bullhorn's standard permission sets and teampacements. We reconcile any Recright role (Interviewer, Hiring Manager, Admin) to the nearest Bullhorn equivalent. Owners without a matching Bullhorn User are held in a reconciliation queue for the customer's Bullhorn admin to provision before Candidate import resumes.
Recright
Custom Candidate Properties
Bullhorn ATS & CRM
Custom fields on Candidate
1:1If the customer has added custom fields to candidate records in Recright, we map these as Bullhorn custom fields on the Candidate entity via Admin > Field Mappings. We match Recright field names and data types (text, number, date, picklist) to Bullhorn customText, customFloat, customDate, or customDropdown fields. Bullhorn has a finite number of custom field slots per entity; we audit available slots during scoping and flag if the customer's Recright custom field count exceeds available Bullhorn slots, in which case we create a child Custom Object to absorb overflow fields.
Recright
Position Status
Bullhorn ATS & CRM
Job Status
lossyRecright position publication status (Draft, Published, Closed) maps to Bullhorn Job status (Open, Interview, Offer, etc.). We capture the original Recright status in a custom field original_position_status__c for audit and reporting continuity. If the Recright position has a scheduled publish date, we store that in a Bullhorn custom field and advise the customer's Bullhorn admin to set up a Bullhorn Automation or Flow reminder for activation.
Recright
Interview Watch Count
Bullhorn ATS & CRM
Custom field on Candidate
1:1Recright tracks how many times each team member watches a candidate's video response. This watch history has no Bullhorn native equivalent. We store the watch count per reviewer as a customInterview_watch_count__c field or as a JSON list in a long-text custom field on the Candidate record. If granular per-reviewer watch history is required, we create a child Custom Object (Interview_Watch__c) linked to Candidate with fields for reviewer User, interview reference, and watch_count.
Recright
Candidate Application Metadata
Bullhorn ATS & CRM
Custom fields on Candidate
1:1Recright captures application metadata including source (referral, job board, direct), application date, and any UTM or tracking parameters. These map to Bullhorn custom fields on the Candidate record. Candidate source maps to a Bullhorn customDropdown field; application date maps to a customDate field. We preserve any original URL or UTM parameters in a customText field for marketing attribution continuity if the customer later runs campaign analytics.
Recright
Interview Completion Status
Bullhorn ATS & CRM
Candidate Status + Custom Date fields
1:1Recright tracks the completion status of each Pre-recorded Interview (Not Started, In Progress, Completed) and records timestamps for each stage transition. We map Recright interview completion status to Bullhorn Candidate status values and store the completion timestamp in customDate fields (interview_started_date__c, interview_completed_date__c). The completed_by_reviewer timestamp maps to Bullhorn customDate fields for audit trail. Bullhorn's Candidate status is a picklist that the customer's admin configures; we coordinate the status value mapping during schema design.
| Recright | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Position | Job (Job Order)1:1 | Fully supported | |
| Pre-recorded Interview | Candidate (structured fields) + Note/Attachment1:many | Fully supported | |
| Interview Guide | Custom Object (Assessment Template)lossy | Fully supported | |
| Assessment Score | Custom fields on Candidate1:1 | Fully supported | |
| Interview Question | Custom fields or Custom Object1:1 | Fully supported | |
| Recruitment Team Member | User1:1 | Fully supported | |
| Custom Candidate Properties | Custom fields on Candidate1:1 | Mapping required | |
| Position Status | Job Statuslossy | Fully supported | |
| Interview Watch Count | Custom field on Candidate1:1 | Fully supported | |
| Candidate Application Metadata | Custom fields on Candidate1:1 | Fully supported | |
| Interview Completion Status | Candidate Status + Custom Date fields1: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.
Recright gotchas
No public API for data export
Video files not exportable via API
Candidate PII embedded in interview records requires GDPR-aware handling
Interview guides map imperfectly to standard ATS assessment templates
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
Data export coordination and scoping
We request a full CSV export from Recright support covering all Positions, Candidates, Interview Guides, Interview Questions, Pre-recorded Interview metadata, Assessment Scores, and Recruitment Team Members. We validate the export completeness against the customer's scoping checklist and identify any missing fields or malformed records before mapping begins. We also confirm the customer's Bullhorn edition and available custom field slots per entity during this phase to determine whether a custom object is required for Interview Guide and Assessment Score storage.
Bullhorn schema pre-configuration
We create the Bullhorn custom objects and custom fields required to hold Recright's structured interview data. This includes Recright_Interview_Guide__c (for Interview Guide and Interview Question data), Assessment_Score__c (for per-reviewer, per-question scores with lookup to Candidate), and any additional custom fields on the Candidate record for interview metadata (completion status, watch count, application source, original position status). Bullhorn custom fields are limited per entity; we audit available slots and flag overflow cases before field creation. This configuration deploys to a Bullhorn Sandbox first for validation by the customer's Bullhorn admin.
CSV transformation and validation
We parse the Recright CSV export into our ingestion schema, applying field-level type mapping (date formats, numeric precision, picklist normalization) and applying the Interview Guide to custom object split. We run a validation pass that flags missing required fields, invalid email formats, orphaned records (Candidates without a matching Position), and duplicate candidate email addresses. Validation errors are returned to the customer for correction in Recright before we proceed to Bullhorn ingestion. We do not correct source data; we flag and return discrepancies for the customer's Recright admin to resolve.
Sandbox migration and reconciliation
We run a full migration into the customer's Bullhorn Sandbox using production-like record volume. The customer's Bullhorn admin reconciles record counts (Candidates in, Jobs in, Interview Guides in, Assessment Scores in), spot-checks 25-50 random Candidate records against the Recright source, and validates that custom field data appears correctly. Any mapping corrections happen in this phase. Bullhorn's Field Mappings tool can be adjusted by the admin after migration if field display labels or edit types need tweaking; we document any post-migration field mapping changes made by the admin in the final validation report.
Video file manual transfer handoff
We coordinate the separate video file transfer as a parallel track to the structured data migration. Recright's video files cannot be downloaded via API, so we prepare a secure transfer plan: SFTP share with encrypted credentials, an encrypted cloud drive link with expiration, or a Recright-assisted bulk download if available. We provide a manifest linking each video file to its corresponding Candidate record and Interview metadata so the customer's Bullhorn admin can attach or link video files correctly after Bullhorn go-live. We document the recommended Bullhorn attachment approach (Document, Note with URL, or third-party video hosting link) based on the customer's Bullhorn edition and storage quota.
Production migration, cutover, and automation inventory handoff
We run the production migration in dependency order: Jobs (from Recright Positions), Candidates (with custom fields and Interview Guide references), Assessment Score records (child objects linked to Candidate), and Team Members (User reconciliation). We freeze Recright write access 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 written inventory of every active Recright Interview Guide and workflow structure with a recommended Bullhorn equivalent, plus Bullhorn Automation or Flow rebuild guidance for the customer's admin. We do not rebuild Recright interview workflows as Bullhorn automations inside the migration scope.
Platform deep dives
Recright
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Recright and Bullhorn ATS & CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Recright and Bullhorn ATS & CRM.
Object compatibility
All 7 core objects map 1:1 between Recright and Bullhorn ATS & CRM.
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
Recright: Not publicly documented.
Data volume sensitivity
Recright 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 Recright to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Recright 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 Recright
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.