HRMS migration

Migrate from Teamdoor to Bullhorn ATS & CRM

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

Teamdoor logo

Teamdoor

Source

Bullhorn ATS & CRM

Destination

Bullhorn ATS & CRM logo

Compatibility

100%

15 of 15

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

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Teamdoor and Bullhorn serve different segments of the recruitment market, and the migration between them reshapes how candidate and job data are structured. Teamdoor organizes recruitment as a kanban board — each job candidate is a draggable card with stage-based columns (Applied, Screening, Interview, Offer, Hired) and a centralized talent pool for passive sourcing. Bullhorn uses a different entity model: candidates are the central record, job orders represent open positions, job submissions link candidates to jobs, and placements track successful hires. FlitStack AI maps Teamdoor's kanban card data (candidate profile, pipeline stage, job association, notes) into Bullhorn's Candidate, JobSubmission, and Placement entities, preserving original create dates, stage-transition timestamps, and owner assignments. We handle the API export from Teamdoor, the custom field creation in Bullhorn (using Admin > Field Mappings), and the bulk import via Bullhorn's REST API or CSV ingestion tools. Because Bullhorn caps custom fields at 55 per entity and charges per user at tiers starting at $99/user/month, the migration plan accounts for field consolidation and user-seat planning as part of the project scope. Workflows, email templates, and employer branding pages from Teamdoor do not transfer — those require manual rebuild in Bullhorn.

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

Teamdoor logo

Teamdoor

What's pushing teams away

  • The platform is Taiwan/Japanese-market focused with no English-language support infrastructure, making it unsuitable for English-speaking HR teams or global deployments.
  • API access is gated behind the Pro tier, so mid-market teams on the Basic or Standard plan cannot automate data syncs or build integrations.
  • Recruiters report that pipeline customization options are limited compared to enterprise ATS platforms — complex multi-stage workflows require workarounds.
  • No native HRMS capabilities — Teamdoor manages candidates and jobs but has no concept of employees, onboarding, org charts, or payroll, so companies outgrow it once they hire.
  • Performance degrades when the talent pool exceeds the tier's OCR limit; teams on Basic with no CSV export are forced to manually re-enter data.

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 Teamdoor objects map to Bullhorn ATS & CRM

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

Teamdoor

Candidate (Job Seeker)

maps to

Bullhorn ATS & CRM

Candidate

1:1
Fully supported

Teamdoor's candidate record maps directly to Bullhorn's Candidate entity. The candidate's profile (name, email, phone, resume, skills, work history) transfers as Bullhorn Candidate fields. Bullhorn parses the resume on import using its built-in resume parser. The candidate's original source (job board, referral, career site) is preserved in Bullhorn's source field.

Teamdoor

Job Posting

maps to

Bullhorn ATS & CRM

JobOrder

1:1
Fully supported

Teamdoor's job posting (title, description, requirements, location, employment type, salary range) maps to Bullhorn's JobOrder entity. Bullhorn JobOrder includes address, pay rate, employment type, and status fields that correspond directly to Teamdoor's job configuration. The job's published/unpublished status maps to Bullhorn's JobOrder 'isOpen' field.

Teamdoor

Pipeline Stage / Kanban Card

maps to

Bullhorn ATS & CRM

JobSubmission (with status mapping)

1:1
Fully supported

Teamdoor's kanban card represents a candidate applied to a specific job with a pipeline stage. FlitStack AI splits this into a Bullhorn JobSubmission record linked to the Candidate and JobOrder, with the JobSubmission status mapped from the Teamdoor stage name (Applied, Screening, Interview, Offer, Hired). Bullhorn's JobSubmission status field is used to track the application workflow.

Teamdoor

Talent Pool

maps to

Bullhorn ATS & CRM

Candidate (tagged)

1:1
Mapping required

Teamdoor's Talent Pool stores candidates not attached to an active job. These migrate as Bullhorn Candidate records tagged with a custom 'Talent_Pool__c' field set to true. Bullhorn has no native talent pool concept — all candidates are in one candidate database, so tagging with a custom field distinguishes passive-sourced candidates from active applicants.

Teamdoor

Employer Brand Page

maps to

Bullhorn ATS & CRM

No equivalent (Bullhorn Career Portal)

1:1
Fully supported

Teamdoor's customizable employer branding pages (career site with company logo, banner, job listings) have no direct equivalent in Bullhorn. Bullhorn offers a Career Portal module but it must be configured separately from the ATS data. FlitStack preserves the page content as a structured export so Bullhorn admins can recreate the branding in Bullhorn's career portal builder.

Teamdoor

Interview Schedule / Calendar Event

maps to

Bullhorn ATS & CRM

Note (interview type)

1:1
Fully supported

Teamdoor interview schedules with candidate name, job, date/time, interviewer, and location map to Bullhorn Notes of type 'Interview'. Bullhorn does not have a native interview scheduling entity — calendar integration with Outlook/Gmail is managed separately. The interview details (interviewer name, interview type, notes) are preserved as Bullhorn Note records linked to the Candidate and JobSubmission.

Teamdoor

Company / Client

maps to

Bullhorn ATS & CRM

ClientCorporation

1:1
Fully supported

Teamdoor companies (employer clients with name, industry, contact info, size) map to Bullhorn's ClientCorporation entity. Bullhorn ClientCorporation stores the client name, address, industry, website, and a list of associated contacts. The client corporation is the parent entity for JobOrders and Placements in Bullhorn's data model.

Teamdoor

Placement / Hire

maps to

Bullhorn ATS & CRM

Placement

1:1
Fully supported

When Teamdoor's pipeline reaches the 'Hired' stage, FlitStack creates a Bullhorn Placement record linking the Candidate, JobOrder, and ClientCorporation. Bullhorn Placement includes start date, end date, pay rate, bill rate, and employment type — these map from Teamdoor's offer details and the job posting's compensation fields.

Teamdoor

Custom Field (Candidate-level)

maps to

Bullhorn ATS & CRM

Custom Field on Candidate

1:1
Fully supported

Teamdoor custom fields at the candidate level (e.g., clearance level, certification expiry, preferred location, availability date) require Bullhorn custom fields. Bullhorn allows up to 55 custom fields per entity (Front Office Growth/Enterprise tier). FlitStack creates these via Bullhorn Admin > Field Mappings before data loads and maps field values value-by-value. Fields exceeding the Bullhorn per-entity limit must be consolidated or stored on a Bullhorn custom object.

Teamdoor

Custom Field (Job-level)

maps to

Bullhorn ATS & CRM

Custom Field on JobOrder

1:1
Fully supported

Teamdoor job-level custom fields (e.g., security clearance requirements, travel percentage, remote policy) map to Bullhorn JobOrder custom fields. Bullhorn JobOrder custom fields are created in the same Admin > Field Mappings interface. Bullet points from Teamdoor job descriptions that contain structured data (e.g., 'Remote: Yes') can be parsed into Bullhorn custom fields if the data is consistently formatted.

Teamdoor

Note / Comment on Candidate

maps to

Bullhorn ATS & CRM

Note

1:1
Fully supported

Teamdoor notes attached to a candidate record (recruiter comments, interview feedback, screening notes) migrate as Bullhorn Note records linked to the Candidate. Bullhorn Note includes the note body, author (mapped by email to Bullhorn User), and create date. Original timestamps are preserved for audit continuity.

Teamdoor

Email / Communication History

maps to

Bullhorn ATS & CRM

Note (communication type)

1:1
Fully supported

Teamdoor email threads and communication history attached to candidates map to Bullhorn Notes of type 'Communication'. Bullhorn does not store raw email threads as a native object — communication history is surfaced through the Candidate's activity feed. We preserve the sender, recipient, subject, and body as Bullhorn Note records for reference.

Teamdoor

Analytics Report / Stage Conversion Data

maps to

Bullhorn ATS & CRM

No equivalent

1:1
Fully supported

Teamdoor's analytics dashboard (channel-level conversion rates, pipeline stage drop-off, time-in-stage metrics) is a reporting construct that does not transfer. Bullhorn's Reports module rebuilds analytics from migrated data — but historical conversion rates calculated by Teamdoor's engine are not available post-migration. FlitStack exports Teamdoor's report snapshots as CSV reference files for Bullhorn admins to use as benchmarks when configuring Bullhorn reports.

Teamdoor

Recruiter / User

maps to

Bullhorn ATS & CRM

User

1:1
Fully supported

Teamdoor users (recruiters, HR admins) are matched to Bullhorn Users by email address. Bullhorn User records include firstName, lastName, email, and role (internal employee or external recruiter). Unmatched Teamdoor users are flagged before migration — your Bullhorn admin either creates a Bullhorn User record first or assigns the records to a fallback owner.

Teamdoor

Candidate Tag / Skill Label

maps to

Bullhorn ATS & CRM

Candidate Specialty (text field) or Custom Field

1:1
Fully supported

Teamdoor skill tags and candidate labels (e.g., 'Python', 'CPA', ' bilingual') map to Bullhorn's Candidate Specialty field for standard skills, or to a custom multi-select field if Teamdoor uses structured tag categories. Bullhorn's Candidate entity has a 'specialty' text field; for multi-value tags, a custom pick-list field is created and populated with Teamdoor's tag values.

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.

Teamdoor logo

Teamdoor gotchas

High

API access requires Pro tier or higher

Medium

Talent Pool OCR limits vary by plan

Medium

Pipeline stage schemas differ per job opening

Low

Resume attachments are URL-referenced, not embedded

Low

Employer branding pages cannot be migrated

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

  • Bullhorn's per-entity custom field limit requires field consolidation before migration

    Bullhorn caps custom fields at 55 per entity on Front Office Growth/Enterprise tier (2 custom objects on ATS-only). Teamdoor custom fields used for candidate tagging, job requirements, and pipeline metadata may collectively exceed this limit. FlitStack audits your Teamdoor custom field count before migration and presents a consolidation plan — merging related fields into pick-lists or moving overflow fields to a Bullhorn custom object. If your Bullhorn instance is on the ATS-only tier, only 2 custom objects are available, which further constrains field distribution. We surface this constraint in the pre-migration plan so Bullhorn admins can request an upgrade or configure the schema before data lands.

  • Teamdoor's talent pool has no native Bullhorn equivalent — passive candidates need a tagging strategy

    Teamdoor's Talent Pool module stores candidates sourced outside active job postings as a separate repository with its own tags and notes. Bullhorn has no Talent Pool module — all candidates live in one candidate database. Migrating talent pool candidates as plain Bullhorn Candidates risks them being indistinguishable from applicants in list views and searches. FlitStack resolves this by creating a custom Boolean field (Talent_Pool__c) on the Bullhorn Candidate entity set to true for talent pool records, and populating it from Teamdoor's talent pool flag. Your Bullhorn team then uses this field as a filter in saved searches and candidate lists to surface passive candidates separately. Without this custom field, talent pool candidates are searchable but not segmented from active applicants in Bullhorn's default interface.

  • Bullhorn API rate limits can throttle bulk imports at scale

    Bullhorn's REST API enforces rate limits that affect large-scale bulk data imports. For migrations exceeding 100,000 records, FlitStack uses Bullhorn's bulk import tools (CSV-based JobOrder and Candidate bulk loaders) and staggered API batching to stay within rate limits and avoid triggering Bullhorn's 429 Too Many Requests responses. The Bullhorn Knowledge Base article on bulk data import recommends using Bullhorn's native import tools for large datasets rather than exclusively API-based writes. We account for this in the migration timeline — a 200,000-record Bullhorn migration may require additional staging cycles that extend the clock time beyond what a small-database migration would take.

  • Teamdoor employer branding pages must be rebuilt in Bullhorn's career portal builder

    Teamdoor's customizable employer branding pages — with company logo, banner images, color themes, and job listings displayed as a public-facing careers site — do not have a data-equivalent in Bullhorn. Bullhorn offers a Career Portal module but it requires configuration from scratch in Bullhorn's Admin > Career Portal settings. Bullhorn's career portal does not accept a direct data import of Teamdoor's page content. FlitStack exports Teamdoor's employer page content as structured HTML and configuration files that your Bullhorn admin can use as a reference when setting up Bullhorn's Career Portal. The visual branding (logo, banner, colors) must be recreated manually in Bullhorn's portal editor.

  • Pipeline stage names require value-by-value mapping when Teamdoor uses non-standard stage names

    Bullhorn JobSubmission status uses a pick-list controlled by Bullhorn Admins, but Teamdoor allows teams to create arbitrary stage names per job — some agencies use stages like 'Resume Review', 'Phone Screen', 'Panel Interview', 'Manager Approval', 'Offer Sent', 'Background Check' that have no direct Bullhorn equivalent. FlitStack maps each unique Teamdoor stage name to a Bullhorn JobSubmission status value created in Bullhorn Admin > Field Mappings before the migration. The challenge is that Bullhorn's status pick-list is shared across all JobSubmissions in the instance, so if one job uses 'Technical Round' and another uses 'Tech Screen', both must map to the same Bullhorn status or the values must be stored as a custom field. We surface these non-standard naming patterns in the pre-migration review and propose either standardizing on Bullhorn statuses or preserving the original stage names in a custom field.

Migration approach

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

  1. Export Teamdoor data via API and audit schema

    FlitStack connects to Teamdoor using your Teamdoor API credentials (Pro and Enterprise plans include API access). We extract all candidate records, job postings, talent pool entries, pipeline stage history, notes, and custom field values. We also export employer branding page content as HTML. Before mapping, we audit the schema — counting custom fields per entity, identifying non-standard pipeline stage names, and flagging any candidate records without an email address (Bullhorn requires an email for Candidate records). The audit report is shared with your team for review before field mapping begins.

  2. Create Bullhorn custom fields and configure entity schema

    Bullhorn admins create the custom fields identified in the audit — using Admin > Field Mappings in Bullhorn. FlitStack provides a field creation checklist including field names, data types, pick-list values, and the custom field name to use in Bullhorn's interface. For custom fields that exceed Bullhorn's 55-field per-entity limit, we propose a consolidation plan. Bullhorn User records are also verified at this stage — any Teamdoor recruiter without a corresponding Bullhorn User account is flagged for the admin to create or assign a fallback owner before migration.

  3. Run a sample migration with field-level diff

    A representative slice of records — typically 200–500 candidates spanning multiple jobs, pipeline stages, talent pool entries, and notes — migrates into Bullhorn first. FlitStack generates a field-level diff report comparing source values in Teamdoor against the destination values in Bullhorn for every mapped field. Your team reviews the diff to verify talent pool tagging, pipeline stage mapping, owner resolution, and custom field population. This step catches value-mapping gaps and Bullhorn validation errors (e.g., required fields without data) before the full run commits.

  4. Execute full migration with delta-pickup window

    After sample migration sign-off, FlitStack runs the full migration using Bullhorn's bulk import tools and REST API, importing candidates, job orders, talent pool records, client corporations, and notes in dependency order (ClientCorporation → JobOrder → Candidate → JobSubmission → Placement). A delta-pickup window of 24–48 hours captures any records modified or created in Teamdoor during the cutover. All operations are logged in an audit report. One-click rollback is available if reconciliation fails — this reverts Bullhorn to its pre-migration state using the audit log.

  5. Post-migration reconciliation and rebuild handoff

    FlitStack runs a reconciliation report comparing record counts, field population rates, and a random-sample data accuracy check across migrated entities. Candidate and job order totals are validated against Teamdoor exports. For the items that do not migrate — Bullhorn Career Portal content, Teamdoor workflows, email templates, and analytics report snapshots — we deliver structured export files and rebuild reference documents so your Bullhorn admin can recreate them. Teamdoor access is retained in read-only mode for 30 days post-migration as a cross-reference.

Platform deep dives

Context on both ends of the pair

Teamdoor logo

Teamdoor

Source

Strengths

  • Visual Kanban pipeline with drag-and-drop candidate cards that mirrors how HR teams mentally track recruiting progress.
  • Multi-channel inbox aggregates applications from 104, LinkedIn, Facebook, and manual sources into a single candidate view.
  • Built-in analytics with stage-level conversion rates and source attribution without requiring a BI tool.
  • OCR-enabled searchable talent pool on Standard and above — up to 10,000 resume scans on Pro.
  • Employer-branded careers page builder with custom colors and banners, no-code.

Weaknesses

  • API access is gated behind Pro tier, limiting automation and migration options for Basic and Standard customers.
  • Platform has no employee management, onboarding, org chart, or payroll features — it is ATS-only.
  • English-language documentation and support are minimal; the product is primarily designed for Mandarin and Japanese-speaking markets.
  • Custom pipeline stage configuration is per-job, which creates schema variation that complicates bulk migrations.
  • Data residency is Taiwan/Japan/Singapore — problematic for GDPR-sensitive EU deployments.
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?

Standard HRMS migration. All 7 core objects map 1:1 between Teamdoor and Bullhorn ATS & CRM.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 7 core objects map 1:1 between Teamdoor and Bullhorn ATS & CRM.

  • 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

    Teamdoor: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Teamdoor 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 Teamdoor to Bullhorn ATS & CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Teamdoor-to-Bullhorn migrations complete within 48–72 hours of migration clock time for databases under 50,000 records. Larger setups with 100,000+ candidate records, extensive talent pool data, or more than 40 custom fields extend to 5–10 days because Bullhorn's per-entity field limits require schema consolidation planning and its bulk import validation adds review cycles. Pre-migration planning and sample migration review typically add 3–5 business days before the migration run starts.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Teamdoor.
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