HRMS migration

Migrate from Ashby to Recruit CRM & ATS

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

Ashby logo

Ashby

Source

Recruit CRM & ATS

Destination

Recruit CRM & ATS logo

Compatibility

83%

10 of 12

objects map 1:1 between Ashby and Recruit CRM & ATS.

Complexity

BStandard

Timeline

2-3 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Ashby to Recruit CRM is a migration from an in-house-focused ATS+CRM built for scaling tech companies to a recruitment-agency-focused platform serving over 100 countries. Ashby's Candidate-Application-Job-Opening-Offer hierarchy maps to Recruit CRM's simpler Candidate-Job structure; multi-opening positions in Ashby become multiple Jobs in Recruit CRM. Ashby's RPC-style API with its 15 req/min rate limit on report endpoints shapes our chunking strategy, and the elevated seat pricing model that surprises teams at renewal is a key driver for the switch. We do not migrate Ashby Interview Plans, Sequences, or automations as code; we deliver a written inventory of these for the customer's admin to rebuild in Recruit CRM.

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

Ashby logo

Ashby

What's pushing teams away

  • Pricing shock when elevated seat model is revealed at renewal—$800/seat/year for hiring managers adds up fast at scale and feels punitive for organizations that include managers broadly in the hiring process.
  • High customizability that was a selling point becomes a burden—teams without dedicated recruiting ops bandwidth feel overwhelmed by implementation choices that simpler ATSs make for them.
  • Feature gaps for non-technical hiring workflows—automation features and advanced analytics require higher tiers, pushing organizations toward add-on costs or compromising on functionality at the Foundations level.
  • Implementation timelines for complex configurations can stretch beyond the promised one-month migration, especially when custom fields, interview plans, and integrations require extensive setup.

Choosing

Recruit CRM & ATS logo

Recruit CRM & ATS

What's pulling them in

  • Agencies choose Recruit CRM for its full customizability — pipelines, stages, and fields can be tailored to any recruitment workflow without developer involvement.
  • Small teams value the built-in CRM and ATS combined in one subscription, eliminating the need to purchase and sync separate systems.
  • The Chrome extension for one-click LinkedIn profile collection streamlines candidate sourcing and reduces manual data entry for recruiters.
  • Responsive customer support with fast issue resolution is consistently cited as a reason teams stick with the platform long-term.
  • Automation options including email sequences and workflow triggers allow recruitment agencies to reduce repetitive manual outreach tasks.

Object mapping

How Ashby objects map to Recruit CRM & ATS

Each row shows how a Ashby object lands in Recruit CRM & ATS, including any object-level transformations, lookup resolution, or schema-design dependencies.

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

Ashby

Candidate

maps to

Recruit CRM & ATS

Candidate

1:1
Fully supported

Ashby Candidate records map directly to Recruit CRM Candidates. We preserve contact info, source attribution, status, and activity history. Ashby's employee-type custom fields (introduced December 2025, linking candidates to internal employees) require pre-creation of equivalent custom fields in Recruit CRM before migration. Activity history (calls, emails, notes) is extracted via separate API calls and merged into the candidate timeline rather than relying on file-based import which omits lifecycle history.

Ashby

Application

maps to

Recruit CRM & ATS

Application

1:1
Fully supported

Ashby Application records linking a Candidate to a Job map to Recruit CRM Applications. We preserve submission date, current stage, and all stage transitions. Application history is reconstructed from Ashby's application endpoints and mapped to Recruit CRM's application record with stage history maintained as status-change timestamps.

Ashby

Job

maps to

Recruit CRM & ATS

Job

1:1
Fully supported

Ashby Job records map to Recruit CRM Job postings. Job title, department, location, status, and description transfer directly. Ashby's job board distribution settings are noted for manual reconfiguration in Recruit CRM's job distribution panel.

Ashby

Opening

maps to

Recruit CRM & ATS

Job (split)

1:many
Fully supported

Ashby's Openings (individual headcount slots within a Job) have no direct Recruit CRM equivalent. Each Ashby Opening maps to a separate Recruit CRM Job posting with a naming convention referencing the original Job and opening number (e.g., 'Senior Engineer - Opening 1 of 3'). We preserve the opening count and headcount allocation as custom fields on each split Job record.

Ashby

Offer

maps to

Recruit CRM & ATS

Offer

1:1
Fully supported

Ashby Offer records including compensation details, start dates, and e-signature status map to Recruit CRM Offers. Offer history and status transitions preserve for compliance and audit purposes. We map Ashby's offer status to Recruit CRM's offer status enum during import.

Ashby

User

maps to

Recruit CRM & ATS

User

1:1
Fully supported

Ashby Users (recruiters, hiring managers, admins) map to Recruit CRM Users. We resolve by email match. Elevated-seat Ashby users who are hiring managers are mapped to standard Recruit CRM users without a tier distinction, which is part of the cost-reduction appeal of the migration. Role and permission structures are mapped to Recruit CRM's user role hierarchy.

Ashby

Interview Plan

maps to

Recruit CRM & ATS

Pipeline Stage (documentation)

1:1
Fully supported

Ashby Interview Plans with their stage definitions and activity triggers do not migrate as code. We export the plan structure (stage names, stage order, activity definitions) to a written inventory document for the customer's admin to configure as pipeline stages and stage-specific tasks in Recruit CRM. Automated activity triggers (booking links, assessment invitations) are documented with their tier requirements; Plus/Enterprise-gated triggers are flagged for manual recreation.

Ashby

Sequence

maps to

Recruit CRM & ATS

Email Template (documentation)

1:1
Fully supported

Ashby email sequence templates export with their body content, stage definitions, and step cadence. The sequence itself does not migrate as an active cadence. We deliver a written inventory of every Ashby sequence with template content, step count, and recommended Recruit CRM template or automation replacement. The customer's admin rebuilds the cadence in Recruit CRM's email workflow tools.

Ashby

Custom Field

maps to

Recruit CRM & ATS

Custom Field

lossy
Fully supported

Ashby custom fields on Candidates, Applications, and Jobs are enumerated via customField.list. We export all custom field definitions and values, pre-create matching custom fields in Recruit CRM (text, number, date, picklist, checkbox types), and map values during migration. Ashby's Employee-type custom fields require particular attention: the linked employee record must exist in Recruit CRM or be resolved as a text field if no equivalent Employee object exists.

Ashby

Activity (calls, emails, notes, scorecards)

maps to

Recruit CRM & ATS

Activity

1:1
Fully supported

Ashby activity records export per candidate and application via the candidates and applications endpoints. We perform a two-step extraction: file-based export for core candidate records plus separate API calls for activity history, then stitch records together before Recruit CRM import. This avoids the lifecycle-history loss that occurs with file-only migration. Customer approval of the two-step approach is required before migration begins.

Ashby

Department and Team

maps to

Recruit CRM & ATS

Department

1:1
Fully supported

Ashby Department and Team records map to Recruit CRM Departments. Department hierarchy and department-level permissions are preserved in the migration. Team assignments on Jobs are mapped to department associations in Recruit CRM.

Ashby

Assessment (HackerRank, CoderPad)

maps to

Recruit CRM & ATS

Activity attachment (documentation)

1:1
Fully supported

Assessments from Ashby integrations (HackerRank, CoderPad, Checkr) link to Ashby as third-party records. We export assessment results attached to applications and map the association as an activity note in Recruit CRM referencing the original assessment tool and result. The assessment tool account and integration must be reconnected independently in Recruit CRM's settings.

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.

Ashby logo

Ashby gotchas

High

Report API rate limits throttle large-scale migrations

High

File-based migrations omit candidate lifecycle history

Medium

Elevated seat pricing not visible at initial pricing discussion

Medium

Automation triggers are tier-gated and may not migrate

Low

Dashboard layouts do not export via API

Recruit CRM & ATS logo

Recruit CRM & ATS gotchas

High

API rate limits are license-scaled and can throttle bulk migration

Medium

Custom field schemas vary per organization and require field-level mapping

Medium

Files and email attachments require separate extraction and re-upload

Low

Email sequences and automation logic do not transfer between platforms

Pair-specific challenges

  • Ashby RPC API rate limits slow large candidate exports

    Ashby's report.synchronous endpoint limits your org to 15 requests per minute and a maximum of 3 concurrent report operations. For organizations with thousands of candidates and applications, this makes large-scale data exports slow and prone to retry loops. We handle this by chunking export requests across time windows, pre-fetching report metadata, and pacing our API calls to stay within the 3-concurrent limit. We scope the total record count before exporting so we can budget migration time accurately and avoid unexpected delays during the extraction phase.

  • File-based migrations omit candidate lifecycle history

    Ashby's self-serve bulk import tool only supports CSV format, which does not capture the full candidate lifecycle with a team—including stage history, activity logs, and application associations. We handle this by combining file-based exports for candidate records with separate API calls for activity history, then stitching the records together before import into Recruit CRM. Customers must explicitly approve this two-step approach before migration begins. Without it, activity timelines are lost in Recruit CRM.

  • Multi-opening jobs require manual splitting

    Ashby's Job-Opening hierarchy (one Job with multiple headcount Openings) has no equivalent in Recruit CRM's flat Job structure. Each Ashby Opening must become a separate Job in Recruit CRM. For organizations with hundreds of multi-opening positions, this creates a significant mapping task that cannot be automated generically. We document the opening-to-job split rule during scoping and apply it consistently during migration, preserving opening counts as custom fields.

  • Ashby Interview Plans and automations do not migrate as code

    Ashby Interview Plans with automated activity triggers (sending booking links, assessments, or questionnaires when candidates enter a stage) are only available on Plus and Enterprise tiers. These structures do not export as executable code and have no direct Recruit CRM equivalent. We export the plan structure as a written inventory document listing every plan, its stages, activities, and trigger conditions for manual rebuild in Recruit CRM. The customer's admin handles the rebuild; we do not include workflow rebuild in the migration scope.

  • Dashboard layouts and report definitions require manual rebuild

    Ashby Analytics dashboards export as PDF but the dashboard layout definitions (widget positions, filters, date ranges) are not accessible via the API. Report definitions export as CSV but the visual configuration must be manually rebuilt in Recruit CRM. We include dashboard reconstruction as a post-migration task in the scope, with a checklist of the customer's top 10 dashboards prioritized for rebuild. Recruit CRM's reporting module differs from Ashby's analytics; some visualizations may not have direct equivalents.

Migration approach

Six steps for a successful Ashby to Recruit CRM & ATS data migration

  1. Discovery and scoping

    We audit Ashby across all object types: candidate volume, application count, job and opening structures, offer records, user count, custom field inventory, interview plan definitions, sequence templates, and activity volume. We identify which Ashby tier the customer is on (Foundations, Plus, Enterprise) because automation triggers and activity automations are gated at Plus and above. The discovery output is a written migration scope that includes the opening-to-job split rule, the two-step activity extraction approach, and an explicit list of what will not migrate as code (Interview Plans, Sequences, automations, dashboard layouts).

  2. Schema design and Recruit CRM configuration

    We pre-configure Recruit CRM to receive the Ashby data. This includes creating custom fields that match Ashby custom field types (text, number, date, picklist, checkbox), defining pipeline stages that correspond to Ashby application stages, setting up departments and teams to match Ashby's org structure, and configuring the opening-split naming convention for Jobs. We verify that any Ashby Employee-type custom fields have a valid resolution path in Recruit CRM before migration begins. All schema work happens in Recruit CRM's admin panel before any data is loaded.

  3. Data cleaning and deduplication

    We clean and deduplicate Ashby candidate records before export. Duplicate candidates (same email address, conflicting names) are flagged in a reconciliation report for the customer's admin to resolve. Custom field values are standardized to match Recruit CRM's expected formats. Any malformed data (incorrect date formats, missing required fields) is corrected or documented for manual resolution. Data quality issues identified here are resolved before extraction to prevent import errors in Recruit CRM.

  4. Rate-limited extraction and record stitching

    We extract Ashby data using the RPC API with the 15 req/min rate limit handled through time-window chunking and the 3-concurrent-operation cap respected throughout. Core records (candidates, applications, jobs, offers, users) are exported via file endpoints. Activity history (calls, emails, notes, scorecards) is extracted separately via the candidates and applications API endpoints and stitched to the candidate records before Recruit CRM import. We scope total record counts before extraction so the migration timeline is predictable even under rate limiting.

  5. Recruit CRM import in dependency order

    We load data into Recruit CRM in dependency order: Departments and Teams first, then Users, then Jobs (with opening-split records created), then Candidates, then Applications linked to the correct Jobs and Candidates, then Offers, then Activities via bulk import. Each phase emits a row-count reconciliation report against the Ashby source before the next phase begins. Any records that fail import (required field missing, custom field type mismatch) are logged to a remediation queue for resolution before re-import.

  6. Cutover, validation, and handoff documentation

    We freeze Ashby writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Recruit CRM as the system of record. We validate record counts across all object types and spot-check 25-50 records against the Ashby source. We deliver the Interview Plan inventory document, the Sequence template inventory, and the dashboard rebuild checklist to the customer's admin team. We support a one-week hypercare window for reconciliation issues. We do not rebuild Ashby Interview Plans, Sequences, or automations as Recruit CRM workflows; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Ashby logo

Ashby

Source

Strengths

  • All-in-one ATS, CRM, sourcing, and analytics platform eliminates tool sprawl for recruiting teams.
  • Advanced analytics and AI Report Builder available without third-party BI tools.
  • Interview scheduling automation removes coordinator overhead for smaller teams.
  • Contract buyout program reduces switching costs from incumbent ATS platforms.
  • Strong integrations with developer hiring tools (HackerRank, CoderPad, Checkr) for technical recruiting.

Weaknesses

  • Elevated seat pricing model for hiring managers creates unpredictable cost scaling.
  • High customizability requires significant implementation bandwidth that smaller teams may not have.
  • Automation and advanced analytics gated behind higher pricing tiers.
  • File-based migrations do not capture full candidate lifecycle history.
  • No native bulk export—all data pulls require pagination and scripting.
Recruit CRM & ATS logo

Recruit CRM & ATS

Destination

Strengths

  • Fully customizable pipelines, stages, and fields without requiring developer involvement
  • Combines recruitment CRM and ATS in one subscription for staffing agencies and small teams
  • Built-in email sequences and automation reduce manual outreach work
  • Chrome extension enables one-click LinkedIn profile collection directly into the CRM
  • Responsive customer support cited across multiple reviews with fast resolution times

Weaknesses

  • Several features are gated as paid add-ons rather than included in the base subscription
  • Email functionality has been reported as unreliable by multiple users
  • Interface occasionally lags during high-activity periods in large pipelines
  • Pricing is considered higher than comparable recruitment CRMs by some customers
  • Limited native reporting — users request pre-made report exports rather than manual data pulls

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 Ashby and Recruit CRM & ATS.

  • 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

    Ashby: 15 requests per minute per org; max 3 concurrent report operations (shared between report.generate and report.synchronous).

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between two and three weeks for organizations under 10,000 candidates, 500 jobs, and limited custom fields. Migrations with multi-opening job structures requiring split mapping, extensive custom field libraries (over 50 custom fields), large activity histories (over 200,000 records), or Plus/Enterprise-tier automation configurations move to four to five weeks because of the RPC rate-limit pacing on extraction, the two-step activity extraction process, and the opening-split mapping work.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Ashby.
Land in Recruit CRM & ATS, 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