HRMS migration
Field-level mapping, validation, and rollback between Pinpoint and Bullhorn ATS & CRM. We move data and schema; workflows are rebuilt natively in Bullhorn ATS & CRM.
Pinpoint
Source
Bullhorn ATS & CRM
Destination
Compatibility
8 of 12
objects map 1:1 between Pinpoint and Bullhorn ATS & CRM.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Pinpoint to Bullhorn is a migration from a UK-built compliance-focused ATS into a US-market staffing platform with native CRM capabilities. Pinpoint structures its data around Vacancies, Candidates, and Applications as a join table; Bullhorn mirrors this with JobOrders, Candidates, and JobSubmissions, but adds ClientCorporations (the hiring company) and Placements (the hired candidate) as distinct lifecycle objects. We sequence every migration to create JobOrders first, then map Candidates and JobSubmissions to those identifiers, resolving the ClientCorporation relationship for each JobOrder. Scorecard ratings, Interview schedules, Offer terms, and Reference Check outcomes migrate with field-level precision. Bullhorn has a documented REST and Bulk API, which gives us a cleaner migration path than Pinpoint's CSV-only export constraint. Workflows, automations, DEIJ anonymization settings, and reporting dashboards do not migrate; we deliver a written inventory for the customer's Bullhorn admin to rebuild post-cutover.
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 Pinpoint 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.
Pinpoint
Vacancy
Bullhorn ATS & CRM
JobOrder
1:1Pinpoint Vacancies map directly to Bullhorn JobOrder records. We migrate title, department, location, employment type, salary range, and status fields. The Bullhorn JobOrder requires a ClientCorporation reference, which Pinpoint does not provide as a separate object; we either derive the client from the Vacancy name or workspace context, or create ClientCorporation records from the Vacancy workspace during migration. Status values (open, on-hold, filled, cancelled) map to Bullhorn JobOrder status with a custom field pinpoint_original_status__c preserving the source value.
Pinpoint
Candidate
Bullhorn ATS & CRM
Candidate
1:1Pinpoint Candidate records map to Bullhorn Candidate records with a direct field-to-field mapping for name, email, phone, LinkedIn URL, and custom properties. Pinpoint custom fields outside the standard template require Bullhorn custom field pre-creation before migration. We validate email addresses and flag duplicates using Bullhorn's dedupe rules during import so that the same candidate appearing across multiple Vacancies does not create duplicate Candidate records.
Pinpoint
Application
Bullhorn ATS & CRM
JobSubmission
1:1Pinpoint Applications (the join table linking Candidate to Vacancy) map to Bullhorn JobSubmission. We resolve the CandidateId and JobOrderId references during migration using the lookup IDs established during Vacancy and Candidate import. Application status maps to JobSubmission status; source attribution (direct, agency, job board) migrates as a custom field pinpoint_application_source__c on JobSubmission.
Pinpoint
Scorecard
Bullhorn ATS & CRM
CandidateReference
1:1Pinpoint Scorecards are structured evaluation forms attached to Applications by interviewers. Bullhorn does not have a native Scorecard object; we migrate Scorecard ratings to Bullhorn CandidateReference records, mapping each evaluator's rating to a custom field on CandidateReference. Scorecard template structure (rating criteria, weightings) migrates as a structured note attached to the JobSubmission for the customer's Bullhorn admin to rebuild as a custom object or intake form if needed.
Pinpoint
Interview
Bullhorn ATS & CRM
CandidateReference (Interview section)
1:1Pinpoint Interview records (date, time, interviewer, format, status) map to the Interview section of Bullhorn CandidateReference. Format (video, in-person, phone) migrates as a text field; interviewer name and scheduling notes migrate as structured fields. Bullhorn's separate scheduling integration (Bullhorn Scheduling or Calendly connector) replaces Pinpoint's native scheduling for future interviews.
Pinpoint
Offer
Bullhorn ATS & CRM
Placement (pre-hire status)
lossyPinpoint Offer records (salary, start date, conditional clauses, status) map to Bullhorn Placement records with a custom field pinpoint_offer_status__c tracking whether the offer is pending, accepted, declined, or withdrawn. Complex conditional clauses and bespoke offer letter documents require validation; offer letter PDFs migrate as ContentDocument attached to the Placement. Once a Placement is confirmed, it transitions to an active placement record in Bullhorn's placement lifecycle.
Pinpoint
Reference Check
Bullhorn ATS & CRM
CandidateReference (Reference Check section)
1:1Pinpoint Reference Check records (status, responses, ratings, notes) map to the Reference Check section of Bullhorn CandidateReference. Reference contact name, relationship, and response outcome migrate as structured fields. Custom reference check templates from Pinpoint migrate as a template note for the customer's Bullhorn admin to configure as Bullhorn forms post-migration.
Pinpoint
Job Posting
Bullhorn ATS & CRM
JobOrder (Posting status and destinations)
1:1Pinpoint Job Postings track where a Vacancy has been distributed (internal careers page, Indeed, LinkedIn, etc.). Bullhorn JobOrder does not have a native multi-destination posting object; we migrate posting status and destination list as a multi-select picklist field on JobOrder (pinpoint_posting_destinations__c). Third-party job board posting IDs and engagement metrics (impressions, clicks) do not transfer because Bullhorn does not have an equivalent metric field.
Pinpoint
Pipeline Reports (Analytics Views)
Bullhorn ATS & CRM
Report Data Export
lossyPinpoint pipeline reports are aggregate views of vacancy pipeline health and hiring metrics. Bullhorn has a native reporting engine with standard reports for pipeline health, submission activity, and placement analytics. We export Pinpoint pipeline report data as structured CSV at the time of migration. These are treated as report data snapshots for the customer's analytics team to manually recreate in Bullhorn's reporting environment post-migration.
Pinpoint
Vacancy (workspace and team)
Bullhorn ATS & CRM
JobOrder + User (Owner and team access)
lossyPinpoint Vacancies have workspace and team associations that govern who can view and edit them. Bullhorn JobOrder has an Owner (User) and supports team-based access via Bullhorn's Share functionality or Bullhorn Teams. We map the Pinpoint workspace owner to Bullhorn User by email match and configure JobOrder sharing rules to replicate the workspace access scope.
Pinpoint
Candidate (document attachments)
Bullhorn ATS & CRM
Candidate + ContentDocument/ContentVersion
1:1Pinpoint CVs, resumes, and attachments on Candidate records migrate as Bullhorn ContentVersion and ContentDocument records linked to the Candidate via ContentDocumentLink. We extract documents from Pinpoint's export, validate file formats, and attach them to the corresponding Bullhorn Candidate record using Bullhorn's REST API file upload endpoint.
Pinpoint
Candidate (custom properties)
Bullhorn ATS & CRM
Candidate (custom fields)
lossyPinpoint custom Candidate properties beyond the standard template require Bullhorn custom fields pre-created on the Candidate object before migration. We work with the customer during scoping to identify all active custom properties, map them to Bullhorn field types (text, picklist, number, date, checkbox), and deploy the custom schema into a Bullhorn Sandbox for validation before production migration.
| Pinpoint | Bullhorn ATS & CRM | Compatibility | |
|---|---|---|---|
| Vacancy | JobOrder1:1 | Fully supported | |
| Candidate | Candidate1:1 | Fully supported | |
| Application | JobSubmission1:1 | Fully supported | |
| Scorecard | CandidateReference1:1 | Fully supported | |
| Interview | CandidateReference (Interview section)1:1 | Fully supported | |
| Offer | Placement (pre-hire status)lossy | Fully supported | |
| Reference Check | CandidateReference (Reference Check section)1:1 | Fully supported | |
| Job Posting | JobOrder (Posting status and destinations)1:1 | Fully supported | |
| Pipeline Reports (Analytics Views) | Report Data Exportlossy | Mapping required | |
| Vacancy (workspace and team) | JobOrder + User (Owner and team access)lossy | Fully supported | |
| Candidate (document attachments) | Candidate + ContentDocument/ContentVersion1:1 | Fully supported | |
| Candidate (custom properties) | Candidate (custom fields)lossy | 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.
Pinpoint gotchas
CSV migration is job-by-job with mandatory vacancy pre-creation
No public bulk API documented for programmatic migration
PDF exports require explicit Customer Success Manager opt-in
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 scoping
We audit the source Pinpoint instance across Vacancy count, Candidate volume, Application count, Scorecard templates, Offer records, Interview histories, and custom field usage. We confirm PDF bulk export availability with the customer's Pinpoint CSM. We assess Bullhorn edition requirements based on record volume, placement complexity, and any required Bullhorn modules (Bullhorn Automation, Bullhorn Analytics, Bullhorn Engage). The discovery output is a written migration scope, a Vacancy-to-JobOrder mapping plan, and a client derivation strategy for Bullhorn ClientCorporation records.
Bullhorn schema preparation
We design the destination Bullhorn schema in a Sandbox org. This includes pre-creating custom fields on Candidate (for Pinpoint custom Candidate properties), JobSubmission (for Application source attribution and Pinpoint-specific fields), and Placement (for Offer terms and Pinpoint Offer status). We create the ClientCorporation records (either derived from Vacancy names or from a customer-supplied client list) before JobOrder import so that the ClientCorporation reference is satisfied at import time. Record validation rules are reviewed and temporarily disabled or scoped to migration-context bypass during data load.
Pinpoint export and document extraction
We extract Pinpoint data using the CSV self-service export tool per Vacancy. We coordinate with Pinpoint's internal migrations team if the export volume exceeds self-service file size limits. We extract candidate documents (CVs, resumes, attachments) in parallel, validating file formats and flagging any corrupted or password-protected files. If PDF bulk export is not yet enabled, we pause this step until CSM approval is confirmed.
Sandbox migration and reconciliation
We run a full migration into the Bullhorn Sandbox using production-like data volume. The customer's Bullhorn admin reconciles record counts (JobOrders in, Candidates in, JobSubmissions in, Placements in), spot-checks 25-50 random records against the Pinpoint source, and validates document attachment completeness. Any field mapping corrections, custom field additions, or client derivation issues surface here before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: ClientCorporations (from Pinpoint Vacancy workspace context or customer-supplied list), JobOrders (from Pinpoint Vacancies), Candidates (with dedupe by email), JobSubmissions (with CandidateId and JobOrderId resolved), Scorecard data (to CandidateReference), Interview data (to CandidateReference Interview section), Offer data (to Placement pre-hire records), Reference Check data (to CandidateReference Reference Check section), and document attachments (via Bullhorn REST API file upload). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation handoff
We freeze Pinpoint 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 written inventory of Pinpoint workflows, DEIJ settings, job posting configurations, and reporting dashboards requiring rebuild in Bullhorn. We support a one-week hypercare window for reconciliation issues. We do not rebuild Pinpoint workflows as Bullhorn Automation inside the migration scope; that is a separate engagement or an internal Bullhorn admin task.
Platform deep dives
Pinpoint
Source
Strengths
Weaknesses
Bullhorn ATS & CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. All 7 core objects map 1:1 between Pinpoint and Bullhorn ATS & CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Pinpoint and Bullhorn ATS & CRM.
Object compatibility
All 7 core objects map 1:1 between Pinpoint 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
Pinpoint: Not publicly published as a single global ceiling — confirmed with Pinpoint for high-volume scenarios..
Data volume sensitivity
Pinpoint 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 Pinpoint to Bullhorn ATS & CRM migration scoping. Not seeing yours? Book a call.
Walk through your Pinpoint 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 Pinpoint
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.