HRMS migration
Field-level mapping, validation, and rollback between TalentWall and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
TalentWall
Source
Bullhorn ATS & CRM
Destination
Compatibility
11 of 12
objects map 1:1 between TalentWall and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Migrating from TalentWall to Bullhorn is a multi-source extraction because TalentWall does not function as a standalone ATS — all Jobs, Candidates, and Pipeline Stages originate in the connected upstream ATS and sync to the Wall in real time. We treat the ATS as the primary data source for canonical records and extract TalentWall-specific data (job health rankings, candidate freshness scores, custom widget configurations, and any TalentWall-native scorecards) separately. We then combine both extracts into a unified migration dataset and load it into Bullhorn through the REST API with proper parent-record dependency resolution. TalentWall does not publish a public API, so every migration requires coordinating a data snapshot with TalentWall support or extracting from the upstream ATS directly. We do not migrate TalentWall workflows, custom widgets as reusable components, or pipeline visualization layouts; we deliver a written inventory of these for the customer's Bullhorn admin to rebuild as Bullhorn Record Types, Sales Processes, and custom fields post-migration.
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 TalentWall 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.
TalentWall
Job
Bullhorn ATS & CRM
JobOrder
1:1Jobs originate in the upstream ATS (Greenhouse, Lever, or Jobvite) and sync to TalentWall. We extract the canonical job record from the ATS API — not TalentWall — preserving title, department, location, employment type, and the job description. Bullhorn JobOrder fields map directly: title to title, department to jobBoardCategory or a custom department field, and the ATS job ID preserved as an external reference field. If multiple ATS instances are connected to TalentWall, we run separate ATS API extracts per instance and merge by external ID before Bullhorn ingestion.
TalentWall
Candidate
Bullhorn ATS & CRM
Candidate
1:1Candidate records come from the upstream ATS as the system of record. We export all application data, contact information, work history, education, and resume from the ATS. Bullhorn's Candidate entity is the direct equivalent. Resume files export from the ATS file storage and attach to Bullhorn Candidate records via ContentDocumentLink. We preserve the TalentWall card position (pipeline stage at time of extraction) as a custom Candidate field if the customer requires historical position tracking.
TalentWall
Pipeline Stage
Bullhorn ATS & CRM
JobOrder Status / Record Type
lossyTalentWall reflects ATS pipeline stages as visual columns on the Wall. We extract stage names and ordering from the ATS job configuration. Each distinct ATS pipeline maps to a Bullhorn JobOrder Record Type with its own Sales Process that defines the allowed Status values. Stage probability percentages from the ATS migrate to Bullhorn's JobOrder probability field.
TalentWall
Job Health Ranking (Red/Yellow/Green)
Bullhorn ATS & CRM
Custom Field on JobOrder
1:1Job health status is a TalentWall-native annotation not stored in the ATS. We extract it from TalentWall's storage (via support-coordinated export or direct access if available) and write it as a custom picklist field job_health_status__c on the Bullhorn JobOrder. We also extract any health annotation notes and write them to a custom text area field job_health_notes__c. If the customer's Bullhorn edition is ATS Growth (which has no Custom Objects), we use standard Bullhorn custom fields instead.
TalentWall
Candidate Freshness Score
Bullhorn ATS & CRM
Custom Field on Candidate
1:1Candidate freshness is TalentWall-computed or -entered metadata indicating last activity and pipeline position. We extract it as a numeric or categorical value and write it to a Bullhorn Candidate custom field candidate_freshness_score__c. If the freshness score is a composite value not exposed in the ATS, we coordinate with TalentWall support to retrieve the full freshness dataset. Bullhorn ATS edition customers with limited custom fields use a single custom field to store the score as a text value for filtering.
TalentWall
Custom Widget (Job-level)
Bullhorn ATS & CRM
Custom Field on JobOrder
1:1TalentWall's custom widget library maps widgets to specific ATS custom fields scoped at the job level. We extract the widget-to-field mapping table from TalentWall, identify the corresponding ATS custom field, and recreate the display logic as Bullhorn JobOrder custom fields and section headers in the Page Layout. Widget visual placement does not migrate; the customer configures the Bullhorn Page Layout post-migration based on the inventory we deliver.
TalentWall
Custom Widget (Offer-level)
Bullhorn ATS & CRM
Custom Field on Placement
1:1Offer-level custom widgets in TalentWall reference offer-level custom fields in the ATS. These map to Bullhorn Placement custom fields (Placement being Bullhorn's record for a placed candidate). We extract the widget configuration and write key-value pairs as Placement custom fields. If the customer does not use Bullhorn Placements (only tracking candidates through the pipeline), we map to Candidate custom fields instead.
TalentWall
Scorecard / Evaluation (TalentWall-native)
Bullhorn ATS & CRM
Custom Object or Custom Field on Candidate
1:1Interview scorecards entered directly into TalentWall (rather than the ATS) exist only in TalentWall storage. We audit both TalentWall and the upstream ATS during discovery. If TalentWall holds scorecard data not present in the ATS, we extract it and write it to Bullhorn Custom Objects if the edition supports them (Front Office Growth/Enterprise: 10, Bullhorn ATS: 2, ATS Growth: none), or to Candidate custom fields. Bullhorn ATS Growth customers receive scorecard data as text-area fields on the Candidate record.
TalentWall
Interview / Calendar Event
Bullhorn ATS & CRM
PlacementSchedule or Event
1:1Interview scheduling data shown in TalentWall originates from the ATS calendar integration. We pull interview records (scheduled time, interviewer, interview type, meeting link) from the ATS calendar export and write them to Bullhorn PlacementSchedule (if the customer's Bullhorn edition supports it) or to Event records linked to the Candidate. Bullhorn's Event object stores StartDateTime, EndDateTime, Location, and interviewer as EventRelation records.
TalentWall
Tag / Label (TalentWall-native)
Bullhorn ATS & CRM
Custom Field on Candidate or ClientCorporation
1:1Recruiters may apply tags or labels on TalentWall cards that are not mirrored back to the ATS. We extract any TalentWall-native tags per candidate or job and write them as Bullhorn Candidate tags (if Bullhorn's tag feature is enabled) or as a multi-select picklist custom field candidate_tags__c. Tags used for candidate classification migrate to TopicAssignment records if the customer uses Bullhorn's Topic feature.
TalentWall
Client Corporation
Bullhorn ATS & CRM
ClientCorporation
1:1Client companies are not managed in TalentWall (it is candidate- and job-focused). We export ClientCorporation records from the upstream ATS if they exist there (Lever and Greenhouse store client or organization data). Bullhorn ClientCorporation maps directly to ATS organization records, with the ATS organization ID preserved as an external reference field. If the upstream ATS does not store client data, we extract it from any CRM connected to TalentWall or coordinate a separate export.
TalentWall
Attachment / Resume
Bullhorn ATS & CRM
ContentDocument via ContentDocumentLink
1:1Resumes and attachments live in the ATS as the system of record. We export from the ATS file storage at migration time and deliver them as a structured file package alongside the record data, then attach to Bullhorn Candidate records via ContentDocumentLink. File naming follows the convention CandidateID_Filename to maintain association during ingestion. Bullhorn parses resumes through its built-in resume parsing on Candidate insert if the Bullhorn parsing feature is enabled.
| TalentWall | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Job | JobOrder1:1 | Fully supported | |
| Candidate | Candidate1:1 | Fully supported | |
| Pipeline Stage | JobOrder Status / Record Typelossy | Fully supported | |
| Job Health Ranking (Red/Yellow/Green) | Custom Field on JobOrder1:1 | Fully supported | |
| Candidate Freshness Score | Custom Field on Candidate1:1 | Fully supported | |
| Custom Widget (Job-level) | Custom Field on JobOrder1:1 | Fully supported | |
| Custom Widget (Offer-level) | Custom Field on Placement1:1 | Fully supported | |
| Scorecard / Evaluation (TalentWall-native) | Custom Object or Custom Field on Candidate1:1 | Fully supported | |
| Interview / Calendar Event | PlacementSchedule or Event1:1 | Fully supported | |
| Tag / Label (TalentWall-native) | Custom Field on Candidate or ClientCorporation1:1 | Fully supported | |
| Client Corporation | ClientCorporation1:1 | Fully supported | |
| Attachment / Resume | ContentDocument via ContentDocumentLink1: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.
TalentWall gotchas
TalentWall-native annotations are not in the ATS
Scorecard data may reside in TalentWall or the ATS
Custom fields have job-level vs. offer-level scoping
No publicly documented API for programmatic 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
Discovery and multi-source audit
We audit the upstream ATS (Greenhouse, Lever, or Jobvite) via its API to enumerate Jobs, Candidates, Pipeline Stages, and any client or organization records. In parallel, we audit TalentWall for job health rankings, candidate freshness scores, custom widget configurations, any TalentWall-native scorecards, tags, and interview calendar data. We also identify which data lives exclusively in TalentWall (not in the ATS) and determine whether TalentWall support can provide a machine-readable export. The discovery output is a multi-source data map: for each object, we document the source system, the extraction mechanism (ATS API, TalentWall export, or manual), and the destination Bullhorn entity.
TalentWall support coordination and snapshot retrieval
Because TalentWall has no public API, we coordinate directly with TalentWall support to request a full data snapshot of TalentWall-native objects. We submit the request on the customer's behalf, specifying the objects required (health rankings, freshness scores, custom widget configurations, scorecards, tags) and the preferred export format (CSV or JSON). If TalentWall cannot produce a structured export, we document the limitation and proceed with ATS-only extraction, noting that TalentWall-specific enrichment will be excluded from the migration dataset unless the customer arranges a manual export.
Bullhorn schema design and edition check
We review the customer's Bullhorn edition (Starter, Core, Front Office Growth, Enterprise) and confirm the Custom Object allocation before migration begins. For each TalentWall-native object, we design the Bullhorn destination: job health as a picklist custom field on JobOrder, freshness score as a numeric custom field on Candidate, scorecards as a Custom Object (Front Office Growth/Enterprise) or custom fields on Candidate (ATS Growth). We create Bullhorn custom fields via Admin Field Mappings before any record migration starts. We also configure the JobOrder Record Types and Sales Processes to match the pipeline stages extracted from the ATS.
Sandbox migration and reconciliation
We run a full migration into a Bullhorn Sandbox (Full Copy or Partial Copy) using the extracted ATS records plus the TalentWall-native enrichment. The customer's Bullhorn admin reviews record counts, spot-checks 25-50 candidate and job records against the source data, and validates that custom field values populated correctly. Any mapping corrections (wrong field type, missing values, scope mismatches) happen in the Sandbox. We do not begin production migration until the customer signs off on the Sandbox results.
Production migration in dependency order
We run production migration in dependency order: Bullhorn Users (validated against ATS user emails), ClientCorporation (from ATS organization records), Candidate (with resume files attached via ContentDocumentLink), JobOrder (with Record Type and Sales Process resolved), Placement (for placed candidates with offer-level custom fields), then TalentWall-native enrichment (health, freshness, scorecards, tags as custom fields and Custom Objects). Bullhorn REST API batch endpoints handle the load with rate-limit handling and row-count reconciliation after each phase.
Cutover, validation, and automation rebuild handoff
We freeze TalentWall and upstream ATS writes during cutover, run a final delta migration of any records modified during the window, then mark Bullhorn as the system of record. We deliver a written inventory of TalentWall workflows (none exist in TalentWall natively, but any ATS automations surfaced by TalentWall are documented for Bullhorn rebuild), custom widget configurations, and pipeline stage definitions. We support a one-week hypercare window for reconciliation issues. We do not rebuild Bullhorn automations as part of the migration scope; that work is delivered as a configuration document for the customer's Bullhorn admin.
Platform deep dives
TalentWall
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between TalentWall and Bullhorn ATS & CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across TalentWall and Bullhorn ATS & CRM.
Object compatibility
All 7 core objects map 1:1 between TalentWall 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
TalentWall: Not publicly documented — TalentWall is constrained by the upstream ATS's API rate limits rather than its own published quota.
Data volume sensitivity
TalentWall 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 TalentWall to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your TalentWall 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 TalentWall
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.