HRMS migration

Migrate from Bullhorn Connexys ATS to Zoho Recruit

Field-level mapping, validation, and rollback between Bullhorn Connexys ATS and Zoho Recruit. We move data and schema; workflows are rebuilt natively in Zoho Recruit.

Bullhorn Connexys ATS logo

Bullhorn Connexys ATS

Source

Zoho Recruit

Destination

Zoho Recruit logo

Compatibility

75%

9 of 12

objects map 1:1 between Bullhorn Connexys ATS and Zoho Recruit.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Bullhorn Connexys ATS to Zoho Recruit is a structural migration across two fundamentally different ATS architectures. Bullhorn Connexys runs on the Salesforce Force.com platform with a data model built around Candidates, JobOrders, Accounts, Contacts, Placements, and a configurable Job Reporting junction that tracks each candidate's movement through pipeline stages. Zoho Recruit uses a simpler object model with Candidates, Clients, Jobs, and Candidates mapped to Jobs through a Job Submission junction object. The primary migration risks are: Bullhorn's API rate limit ceiling of 100,000 calls per month interacting with Zoho's per-edition credit limits (as low as 500 requests per day on Standard), causing migration to span multiple billing periods for large databases; the Job Reporting stage-history object in Bullhorn having no direct Zoho Recruit equivalent, requiring custom field reconstruction; and Bullhorn Custom Objects on lower-tier Connexys instances (as few as 2 Custom Objects on Bullhorn ATS) needing to map to Zoho Recruit's Custom Module framework, which has different field-type constraints. We do not migrate Bullhorn workflows, automation rules, or GDPR consent-management configurations; we deliver a written inventory for the customer's admin to rebuild in Zoho Recruit's workflow builder.

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

Bullhorn Connexys ATS logo

Bullhorn Connexys ATS

What's pushing teams away

  • The platform lacks native support for temporary or shift-based recruitment workflows, forcing agencies in the temporary staffing segment to build custom workarounds or accept fragmented processes.
  • Value-for-money scores are consistently below average in user reviews, with agencies citing opaque pricing, large annual contracts, and surprise renewal increases of around 20% as key pain points.
  • Steep onboarding complexity and a steep learning curve for new users lead to extended implementation timelines and require significant internal training investment before teams reach productivity.
  • Email deliverability issues have been reported, with candidate communications occasionally landing in spam folders, which disrupts communication workflows critical to recruitment pipelines.
  • Support quality varies by contract tier, and agencies on lower plans report slower response times and limited access to advanced troubleshooting resources.

Choosing

Zoho Recruit logo

Zoho Recruit

What's pulling them in

  • Lowest cost entry point of any major ATS — a free tier with Candidates, Clients, Contacts, Interviews, and a career site lets small teams validate before committing to a paid plan.
  • Deep Zoho ecosystem integration — if the team already uses Zoho CRM, Sheets, or Analytics, candidate data flows between modules without re-keying or third-party middleware.
  • Customizable pipelines and stages — both agency and corporate editions let users define custom pipeline stages and assign candidates through drag-and-drop visual boards.
  • AI-assisted features via Zia — resume parsing, candidate summarization, and job-candidate matching are built in on paid tiers, reducing manual screening time.
  • Job board aggregation at no extra cost — paid tiers include postings to major job boards, extending reach without purchasing separate job ad bundles.

Object mapping

How Bullhorn Connexys ATS objects map to Zoho Recruit

Each row shows how a Bullhorn Connexys ATS object lands in Zoho Recruit, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Bullhorn Connexys ATS

Candidate

maps to

Zoho Recruit

Candidate

1:1
Fully supported

Bullhorn Candidate records map directly to Zoho Recruit Candidates. Core fields (name, email, phone, address, skills, work history, education) map to Zoho's standard Candidate fields. We handle Bullhorn's tax information and compliance custom fields as Zoho custom fields, and flag any GDPR consent data for explicit mapping to Zoho's consent-tracking custom fields, which the customer's admin configures before migration because Zoho Recruit has no pre-built consent-management module.

Bullhorn Connexys ATS

JobOrder

maps to

Zoho Recruit

Job

1:1
Fully supported

Bullhorn JobOrders map to Zoho Recruit Jobs. Job title, requirements, salary range, location, and job status transfer as standard Job fields. Bullhorn job fields such as employment type, remote policy, and benefits information map to Zoho custom fields. We resolve the JobOrder-to-Job status mapping during scoping because Bullhorn and Zoho use different stage naming conventions.

Bullhorn Connexys ATS

Account

maps to

Zoho Recruit

Client

1:1
Fully supported

Bullhorn Accounts (representing client companies) map to Zoho Recruit Clients. Company name, industry, billing address, and contact associations transfer to the Client record. We preserve the one-to-many relationship between Client and multiple Contacts. The Account's primary billing contact maps to the Client's primary contact field in Zoho.

Bullhorn Connexys ATS

Contact

maps to

Zoho Recruit

Contact

1:1
Fully supported

Bullhorn Contact records (hiring managers and client-side contacts linked to Accounts) map to Zoho Recruit Contacts. We preserve the Account-Client association during migration and flag any Contact records that lack a parent Account so the customer's admin can link them to the correct Client in Zoho after migration.

Bullhorn Connexys ATS

Placement

maps to

Zoho Recruit

Candidate

lossy
Fully supported

Bullhorn Placements (the final hire outcome linking Candidate to JobOrder with start date, salary, and status) map to Zoho Recruit Candidates with a placement status indicator. Because Zoho Recruit does not have a dedicated Placement object, we model the placement outcome as a Candidate record with custom fields capturing start date, salary, job reference, and placement status. The original JobOrder reference is preserved in a custom field for reporting.

Bullhorn Connexys ATS

Job Reporting (Stage History)

maps to

Zoho Recruit

Custom Fields on Candidate

1:many
Mapping required

Bullhorn's Job Reporting junction object tracks each candidate's movement through pipeline stages (Application through Submittal, Interview, Offer, Placement) with timestamps and associated User. Zoho Recruit has no equivalent junction object. We reconstruct stage history as a series of custom fields on the Candidate record: stage_name_1, stage_date_1, stage_name_2, stage_date_2, and so on, up to the maximum number of stages configured in the source Bullhorn pipeline. If Job Reporting records are incomplete in Bullhorn (a known Connexys gotcha), we flag the gaps and reconstruct what source data allows.

Bullhorn Connexys ATS

User (Owner/Recruiter)

maps to

Zoho Recruit

User

1:1
Fully supported

Bullhorn User records representing recruiters, administrators, and managers map to Zoho Recruit Users. We resolve by email match. Bullhorn Owner assignment on Candidate, JobOrder, and Placement records migrates by resolving the Bullhorn User reference to the corresponding Zoho User record. Any Bullhorn Owner without a matching Zoho User is held in a reconciliation queue for the customer's admin to provision before Candidate import begins.

Bullhorn Connexys ATS

Opportunity

maps to

Zoho Recruit

Job

1:1
Fully supported

Bullhorn Opportunities track potential placements or client deals with revenue estimates. They map to Zoho Recruit Jobs with revenue-related fields. Bullhorn Opportunity custom fields vary by instance and require field-level mapping to Zoho's equivalent custom fields or notes.

Bullhorn Connexys ATS

Custom Object

maps to

Zoho Recruit

Custom Module

1:1
Fully supported

Bullhorn Custom Objects (extending Candidates, Contacts, Accounts, Jobs, and Placements with up to 55 fields each; limits 2 on Bullhorn ATS, 10 on Front Office Growth/Enterprise) map to Zoho Recruit Custom Modules. We pre-create the destination Custom Module schema in Zoho Recruit before data import, mapping each Bullhorn Custom Object API name to a Zoho Custom Module with equivalent field types. Bullhorn lookup relationships to standard objects resolve to Zoho Lookup fields during import. Edition tier differences matter: if the customer has built extensive custom data on a lower-tier Bullhorn instance and is moving to a Zoho Recruit edition with fewer custom module allowances, we scope data culling before migration begins.

Bullhorn Connexys ATS

Attachment and Resume

maps to

Zoho Recruit

Candidate Attachment

1:1
Fully supported

Bullhorn resume parsing extracts structured data from uploaded files, and file attachments export via REST API. We preserve parsed resume data as structured Candidate fields and resume files as Zoho Recruit attachments linked to the Candidate record. Large attachment volumes require chunked handling given Zoho's API credit costs per Bulk Write operation. We batch attachments in groups of 100 records per API call as specified by Zoho's API documentation.

Bullhorn Connexys ATS

Activity and Notes

maps to

Zoho Recruit

Activity and Notes

1:1
Mapping required

Bullhorn activity feeds and notes on Candidate, Contact, JobOrder, and Placement records export via API. We preserve note body text and timestamps as Zoho Recruit Notes linked to the appropriate Candidate, Client, or Job record. Activity timestamps are preserved as Activity records in Zoho with the original Bullhorn timestamp carried forward.

Bullhorn Connexys ATS

Pipeline Stages

maps to

Zoho Recruit

Custom Fields / Status Picklist

lossy
Mapping required

Bullhorn represents pipeline stages as a configurable sequence from Application through Placement. Zoho Recruit uses a Candidate status field and Job Submission status. We map each Bullhorn stage to a Zoho status value (Applied, Screening, Interview, Offer, Hired, Rejected) and configure Zoho's pipeline view to display equivalent stages. The mapping is stored as a configuration document for the customer's admin to validate against their specific Zoho Recruit setup.

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.

Bullhorn Connexys ATS logo

Bullhorn Connexys ATS gotchas

High

API rate limits cap bulk migration throughput

Medium

Connexys edition tier governs Custom Object limits

Medium

Job Reporting stage history can be incomplete

Low

Bullhorn does not publish pricing publicly

Zoho Recruit logo

Zoho Recruit gotchas

High

Daily API rate limits are tier-gated and per-user capped

High

User import hard cap of 2,000 records

Medium

Attachment folder hierarchy must be preserved exactly

Medium

Resume parsing quota varies by plan and resets daily

Low

Custom fields unavailable in Free and Standard editions

Pair-specific challenges

  • Job Reporting stage history has no direct Zoho Recruit equivalent

    Bullhorn Connexys uses a custom Job Reporting junction object to track each candidate's movement through pipeline stages with timestamps and the associated User. Zoho Recruit does not have an equivalent junction object; stage transitions are represented as Candidate status changes or Job Submission status changes without the historical log structure. We reconstruct stage history as numbered custom fields on the Candidate record (stage_1_name, stage_1_date, stage_2_name, stage_2_date, etc.), but this is a flattened representation and does not preserve the full job-reporting granularity if the candidate has moved through the same stage multiple times. If the customer's reporting depends on granular stage-transition timestamps for compliance or performance analytics, they should scope this limitation explicitly before migration begins.

  • Dual API rate limits must be budgeted across both platforms

    Bullhorn enforces 100,000 API calls per month per org and 50 concurrent sessions, which constrains how fast we can export data from Bullhorn. Zoho Recruit enforces a credit-based API limit (10,000-30,000 credits per day on Enterprise with 500 credits per Bulk Write Initialize) plus concurrency limits per user per app (up to 20 concurrent on Enterprise). For large databases, the interaction between these two limits means we must schedule migration across multiple Zoho billing days and stay within Bullhorn's monthly ceiling by running exports during off-peak periods. We notify the customer when throttling requires extending the timeline and adjust batch sizes dynamically.

  • Zoho Recruit requires at least two users before CSV migration can begin

    Zoho Recruit's native migration wizard requires a minimum of two active users in the destination account before the Data Migration tool will accept CSV imports. Bullhorn Connexys instances with only one administrator user need a second user provisioned in Zoho Recruit before migration can start. We advise customers to provision this second user during the discovery phase. Additionally, Zoho will not migrate any user who already has a separate Zoho Recruit account; those accounts must be closed before their records can be imported into the company's Recruit account.

  • Mandatory field requirements can silently drop Bullhorn records

    Zoho Recruit requires data for all mandatory fields during import. For Candidates, Last Name is mandatory. Bullhorn records that lack a Last Name value will be silently ignored unless we pre-process the export to insert placeholder values ('Not Provided', 'None', or similar) before CSV generation. We audit all mandatory field requirements in the customer's Zoho Recruit instance during discovery and pre-process the Bullhorn export to satisfy them. This is particularly relevant for Candidate records sourced from job boards or integrations that may not include full name data.

  • Custom Object tier limits may require data culling before migration

    Bullhorn Connexys edition governs Custom Object allowances: Bullhorn ATS supports only 2 Custom Objects, while Front Office Growth and Enterprise allow 10 Custom Objects with up to 55 fields each. If the customer has built extensive custom data on a lower-tier Bullhorn instance and is migrating to a Zoho Recruit edition with comparable custom module limits, we scope data culling before migration begins. We flag any Bullhorn Custom Objects that exceed the destination edition's capacity and present the customer with three options: upgrade the destination Zoho Recruit edition, cull unused Custom Object records, or accept that some custom data will not migrate.

Migration approach

Six steps for a successful Bullhorn Connexys ATS to Zoho Recruit data migration

  1. Discovery and data audit

    We audit the source Bullhorn Connexys ATS instance across edition tier, Candidate and JobOrder volumes, active Custom Object count, Job Reporting stage history completeness, attachment and resume file volumes, and owner distribution. We pair this with a Zoho Recruit edition assessment: Standard covers most small-to-mid agency migrations; Professional adds 10,000 API credits per day and 500 credits per user; Enterprise adds 30,000 API credits per day, 1,000 credits per user, and higher concurrency limits that matter for large attachment migrations. We also verify that at least two users are provisioned in the destination Zoho Recruit account, as required by Zoho's migration tool. The discovery output is a written migration scope, data volume estimate, and a preliminary object mapping document.

  2. Schema design and custom field creation

    We design the destination schema in Zoho Recruit. This includes creating any required Custom Modules for Bullhorn Custom Objects, configuring custom fields for stage-history reconstruction (stage_1_name, stage_1_date, etc.), mapping Bullhorn pipeline stages to Zoho Candidate status values and Job Submission statuses, and setting up any GDPR consent-tracking custom fields since Zoho Recruit has no pre-built consent-management module. We deploy schema changes to the customer's Zoho Recruit sandbox or trial environment first for validation before any data moves. Bullhorn lookup relationships to standard objects (Candidate to JobOrder, Candidate to Placement) resolve to Zoho Lookup fields during import, which we pre-configure.

  3. Data extraction from Bullhorn with rate-limit budgeting

    We extract data from Bullhorn Connexys via the REST API within the 100,000-call monthly ceiling and 50-concurrent-session cap. For large databases, we schedule extraction across multiple months or run during off-peak periods to avoid hitting the monthly limit. We extract Candidates, JobOrders, Accounts, Contacts, Placements, Custom Objects, and Job Reporting stage-history records in CSV format. We pre-process exports to satisfy Zoho's mandatory field requirements (inserting placeholder values for any Candidate records missing Last Name) and chunk resume and attachment files for batched upload. Bullhorn GDPR consent records are extracted with consent timestamps preserved for explicit mapping to Zoho custom fields.

  4. Sandbox migration and reconciliation

    We run a full migration into the customer's Zoho Recruit environment using production-equivalent data volume as a validation pass. The customer's recruitment operations lead reconciles record counts (Candidates in, Clients in, Jobs in, Contacts in, Custom Module records in), spot-checks 25-50 random records against the Bullhorn source, and validates stage-history reconstruction on a sample of Candidates with known pipeline histories. Any mapping corrections happen here, not in production. We specifically validate that Job Reporting stage-history reconstruction captures the expected number of stage transitions for each sampled Candidate.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Users (validated, manual provisioning confirmed), Clients (from Bullhorn Accounts), Contacts (with Client association resolved), Jobs (from Bullhorn JobOrders), Candidates (with GDPR consent fields and stage-history custom fields populated), Custom Modules (from Bullhorn Custom Objects with lookup relationships resolved), and attachments (via Zoho Bulk API in batches of 100 records per API call to stay within credit limits). Each phase emits a row-count reconciliation report before the next phase begins. Bullhorn API extraction runs in parallel with Zoho import to manage the monthly Bullhorn call ceiling across the migration window.

  6. Cutover, validation, and workflow inventory handoff

    We freeze Bullhorn writes during cutover, run a final delta migration of any records modified during the migration window, then enable Zoho Recruit as the system of record. We deliver a written inventory of every Bullhorn workflow, automation rule, and GDPR consent-management configuration for the customer's admin to rebuild in Zoho Recruit's workflow builder. We do not rebuild Bullhorn workflows as Zoho workflows inside the migration scope; that work is handled by the customer's admin or a Zoho implementation partner. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's recruitment team.

Platform deep dives

Context on both ends of the pair

Bullhorn Connexys ATS logo

Bullhorn Connexys ATS

Source

Strengths

  • Runs on the Salesforce platform, leveraging global cloud infrastructure and deep integration ecosystem.
  • Offers advanced automation for candidate communication, compliance workflows, and GDPR consent management.
  • Supports up to 10 Custom Objects with 55 fields each on enterprise tiers, enabling complex vertical-specific data capture.
  • Includes resume parsing, career portal, mass email/SMS, and LinkedIn integration out of the box.
  • Centralises candidate, client, job, and placement data in a single searchable database with configurable pipelines.

Weaknesses

  • Lacks native support for temporary or shift-based staffing workflows, limiting appeal for agencies in that segment.
  • Pricing is opaque, requires custom quotes, and reported renewal increases of ~20% create budget uncertainty.
  • API rate limits of 100,000 calls per month and 50 concurrent sessions restrict bulk migration throughput.
  • Steep learning curve and implementation complexity demand significant internal training investment.
  • User-reported email deliverability issues can disrupt candidate communication workflows.
Zoho Recruit logo

Zoho Recruit

Destination

Strengths

  • Free tier includes full candidate management with a hosted career site, making it viable for very small staffing operations.
  • Multi-edition architecture splits agency and corporate HR workflows, with tier-gated features that scale predictably with headcount.
  • Per-user API rate limits (500–1000/day) are generous for mid-size migrations compared to competitors that gate by total org quota.
  • Zoho's own data migration tool supports CSV import from Bullhorn, CATS, Jobdiva, and Workable, validating interoperability with common ATS formats.
  • 45-day money-back guarantee and 15-day full-feature trial reduce financial risk for teams evaluating the platform.

Weaknesses

  • Free edition excludes custom fields, lookup relationships, and formula fields, making data model extensibility unavailable until a paid tier is purchased.
  • Resume parsing quotas are capped: 250/day on Standard, 500/day on Professional, unlimited only on Enterprise — bulk imports of large candidate pools will hit these limits.
  • No bulk/batch API endpoint for inserts or updates — large migrations rely on looping single-record API calls within daily rate limit windows.
  • Custom modules cannot be imported from external ATS; only standard modules (Users, Candidates, Clients, etc.) are in the supported migration list.
  • Attachments require a rigid folder hierarchy to re-associate with records, and any deviation in folder structure during extraction causes silent disassociation.

Complexity grading

How hard is this migration?

Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Bullhorn Connexys ATS and Zoho Recruit.

  • Object compatibility

    B

    1 of 7 objects need a mapping; the rest are 1:1.

  • 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

    Bullhorn Connexys ATS: 100,000 API calls per month per org; 50 concurrent sessions maximum.

  • Data volume sensitivity

    A

    Bullhorn Connexys ATS exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your Bullhorn Connexys ATS to Zoho Recruit 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 Bullhorn Connexys ATS to Zoho Recruit data migrations

Answers to the questions buyers ask most during Bullhorn Connexys ATS to Zoho Recruit migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Bullhorn Connexys ATS to Zoho Recruit migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Migrations under 10,000 Candidates and 2,000 JobOrders with no custom objects land between three and five weeks. Migrations with extensive Job Reporting stage histories, multiple Bullhorn Custom Objects, large attachment volumes (over 10,000 resume files), or clients moving from Bullhorn ATS tier (2 Custom Object limit) to a Zoho Recruit edition that requires data culling move to seven to twelve weeks. The dual API rate limits on both platforms (Bullhorn's 100,000-call monthly ceiling and Zoho's credit-based daily limits) are the primary timeline variable for large databases.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Bullhorn Connexys ATS.
Land in Zoho Recruit, 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