HRMS migration

Migrate from Greenhouse to Recruit CRM & ATS

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

Greenhouse logo

Greenhouse

Source

Recruit CRM & ATS

Destination

Recruit CRM & ATS logo

Compatibility

82%

9 of 11

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

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Migrating from Greenhouse to Recruit CRM is a shift from a structured-in-house ATS built for enterprise hiring processes to an ATS-plus-CRM hybrid designed for recruitment agencies and staffing teams. Greenhouse organizes hiring around structured scorecards, interview kits, and configurable pipeline stages; Recruit CRM unifies candidate management, client relationships, and job postings in a single recruiting CRM with AI-powered resume parsing and matching. The migration preserves all Candidate profiles, Application histories, Job records, Offers, and Greenhouse custom field values, but Greenhouse Scorecards serialize into text blocks or custom fields since Recruit CRM does not expose a native structured interview evaluation object. We extract from Greenhouse via the Harvest API v3 with cursor-based pagination and load into Recruit CRM via its documented bulk import endpoints, sequencing parent records before child records to satisfy lookup dependencies. Active candidates in flight at migration cutover require a manual export step performed by the customer's team in the Greenhouse UI, which we coordinate within the migration plan. Workflows, interview plans, and scorecard templates do not migrate as configuration; we deliver a written inventory of Greenhouse automation objects 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

Greenhouse logo

Greenhouse

What's pushing teams away

  • Annual contract costs scale steeply with headcount, and add-ons like sourcing automation, texting, and advanced analytics require upgrading to Plus or Pro above Core.
  • Implementation takes 1–3 months to configure workflows, scorecards, integrations, and train hiring managers — a longer ramp than some newer ATS competitors.
  • Some agency users report that outreach and CRM-style candidate nurture features lag behind purpose-built recruiting CRMs, creating manual follow-up work.
  • Reporting requires manual interpretation in Core tier; AI-powered filters and Business Intelligence Connector are locked behind paid upgrades that mid-market teams find hard to justify.

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 Greenhouse objects map to Recruit CRM & ATS

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

Greenhouse

Candidate

maps to

Recruit CRM & ATS

Contact

1:1
Fully supported

Greenhouse Candidate records map to Recruit CRM Contact (candidate mode). We preserve name, email, phone, social URLs, tags, and all Greenhouse custom field values including single_select, multi_select, currency, date, and user-reference types. Phone number formatting is normalized during transform. Tags migrate as label arrays. Source attribution (referral, job board, direct apply) and any UTM data stored in custom fields migrate as Contact fields or custom fields in Recruit CRM.

Greenhouse

Application

maps to

Recruit CRM & ATS

Candidate Record (Application sub-record)

1:1
Fully supported

Greenhouse Application records — which link a Candidate to a Job and store the application date, rejection or hire status, current stage, stage history timestamps, and rejection reasons — map to Recruit CRM's application-level sub-records on the Contact. We preserve the full stage history timeline and application-level scorecards as notes or custom fields. Active applications in flight at cutover require a manual export step from the customer's Greenhouse UI as documented in the gotchas section.

Greenhouse

Job

maps to

Recruit CRM & ATS

Job

1:1
Fully supported

Greenhouse Job records (requisition-level: title, department, office location, open/closed status, opening date, job description) map directly to Recruit CRM Job records. Job posting URLs and job board distribution references migrate as metadata fields. We map Greenhouse office and department assignments to Recruit CRM's organization hierarchy and flag tiered office structures (Plus/Pro) for validation against the Recruit CRM schema before import.

Greenhouse

Offer

maps to

Recruit CRM & ATS

Offer

1:1
Fully supported

Greenhouse Offers (compensation package attached to an Application: start date, salary, equity, custom offer fields, and status) migrate to Recruit CRM Offer records. Offer status values (pending, accepted, declined, retracted) map to Recruit CRM's offer status field. Custom offer fields translate directly to Recruit CRM custom fields by type.

Greenhouse

Scorecard

maps to

Recruit CRM & ATS

Custom Fields / Candidate Notes

lossy
Fully supported

Greenhouse Scorecards store structured evaluator feedback (rating fields, follow-up questions, interviewer notes) tied to interview plans and pipeline stages. Recruit CRM does not expose a native structured scorecard object. We serialize scorecard content — interview type, scorecard questions, selected ratings, and evaluator notes — into a formatted text block stored in a custom field on the Candidate record, or as a chronological note entry in the activity timeline. The customer receives a written map of every Greenhouse scorecard template for admin-level rebuild as a Recruit CRM form or custom field set if structured evaluation tracking is required.

Greenhouse

User / Hiring Team Member

maps to

Recruit CRM & ATS

User

1:1
Fully supported

Greenhouse Users (Site Admin, Recruiter, Hiring Manager) map by email match to Recruit CRM Users. We extract all distinct owner references from Candidate, Application, Job, and Offer records and reconcile against Recruit CRM's User table. Any Greenhouse user without a matching Recruit CRM account enters a provisioning queue; migration of records owned by unresolved users pauses until the customer provisions the corresponding Recruit CRM User.

Greenhouse

Custom Field

maps to

Recruit CRM & ATS

Custom Field

1:1
Fully supported

Greenhouse custom fields across all supported value types — short_text, long_text, yes_no, single_select, multi_select, currency, number, date, url, user_reference — map directly to Recruit CRM custom fields of the equivalent type. We validate field type compatibility during scoping and flag any Greenhouse field type that requires transformation (e.g., user_reference values resolve to the corresponding Recruit CRM User ID before import). Multi-select values migrate as comma-separated strings or as Recruit CRM's multi-select format depending on destination field configuration.

Greenhouse

Office / Department

maps to

Recruit CRM & ATS

Organization Hierarchy

lossy
Fully supported

Greenhouse flat offices and departments (Core tier) map to Recruit CRM's organizational structure directly. Tiered office and department hierarchies available on Greenhouse Plus and Pro are validated against Recruit CRM's hierarchy model; if the customer's Plus/Pro tier hierarchy is deep or complex, we flag it for admin-level reconstruction in Recruit CRM rather than automated mapping, because Recruit CRM's org hierarchy has different modeling conventions.

Greenhouse

Tag

maps to

Recruit CRM & ATS

Tag / Label

1:1
Fully supported

Greenhouse tags on Candidate and Application records migrate as label arrays in Recruit CRM. Greenhouse allows unlimited tags; Recruit CRM's tagging model supports equivalent labeling. We preserve tag names exactly and map them to the destination's tagging fields on the Contact record.

Greenhouse

Activity / CRM Event

maps to

Recruit CRM & ATS

Activity Log

1:1
Fully supported

Plus and Pro tier CRM events (calls, emails, notes) from Greenhouse migrate to Recruit CRM activity log entries. Core tier customers are limited to a single CRM event type in Greenhouse; we document this constraint during scoping and collapse available events into the single Recruit CRM activity type. Activity timestamp ordering is preserved. For Greenhouse Core customers, we advise upgrading to Plus before migration if comprehensive activity history migration is a requirement.

Greenhouse

Candidate Document / Attachment

maps to

Recruit CRM & ATS

Attachment

1:1
Fully supported

Resume, cover letter, and portfolio files attached to Greenhouse Candidates or Applications migrate as binary blobs linked to the corresponding Recruit CRM Contact record. We handle file type detection during extraction and map file links to the Recruit CRM attachment model. Attachment filenames and file size metadata are preserved for reconciliation validation.

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.

Greenhouse logo

Greenhouse gotchas

High

Bulk candidate import requires Plus or Pro tier

High

Active candidate migration is entirely manual

Medium

Historical migration takes 4–6 weeks for Greenhouse to process

Medium

Developer sandbox and audit log are Pro-only

Medium

CRM event limits in Core tier constrain activity history

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

  • Harvest API v1 and v2 deprecated before migration window

    Greenhouse will retire Harvest API v1 and v2 on August 31, 2026. Any extraction pipeline built against these versions will stop functioning. We build exclusively against Harvest API v3 with OAuth 2.0 and cursor-based pagination. If the customer's migration planning window extends past that date, the extraction must be updated to v3. This is not a Recruit CRM-specific risk but a timing risk on the source side that affects any Greenhouse migration starting now or in 2026.

  • Active candidates in flight require a manual export step

    Greenhouse's documented migration model handles historical data through a dedicated migration team but requires the customer to perform active candidate migration manually in the Greenhouse UI. Any candidates with applications in progress at cutover — offers pending, interviews scheduled, stages mid-funnel — must be exported by the customer's team and re-imported into Recruit CRM. We provide the export template, field mapping guide, and a structured reconciliation checklist for this manual step, but the re-import action occurs in the Greenhouse UI and cannot be fully automated by FlitStack AI without elevated API access that Greenhouse does not provide for active in-flight records.

  • Greenhouse scorecards have no native equivalent in Recruit CRM

    Greenhouse stores structured interview scorecards with rating fields, evaluation criteria, and interviewer feedback tied to pipeline stages. Recruit CRM does not expose a structured scorecard object. We serialize scorecard content into custom fields or candidate notes, but the structured format (individual rating fields, follow-up questions, pass/fail recommendation) cannot be represented natively. The customer receives a complete written inventory of every Greenhouse scorecard template and its fields, enabling the admin to rebuild evaluation forms in Recruit CRM as custom field sets or assessment records.

  • Data deduplication strategy must be agreed before bulk import

    Greenhouse and Recruit CRM apply different deduplication logic on import. Greenhouse uses a candidate email as the primary dedupe key; Recruit CRM allows dedupe on email plus name combinations. If the customer's Greenhouse instance contains duplicate Candidate records (common in agency use cases with candidate records created across multiple job applications), we must agree a deduplication strategy — merge, keep both, or flag for manual review — before bulk import begins. Running the import without a defined dedupe strategy produces duplicate records that require post-migration cleanup.

  • Tier-gated bulk import on Greenhouse Core requires alternative extraction path

    Greenhouse restricts bulk candidate import to Plus and Pro subscription tiers. Core customers with hundreds or thousands of active candidates must rely on manual export or a workaround through the Harvest API (which is available on all tiers but requires more technical setup than the guided bulk import UI). We validate the customer's Greenhouse tier at scoping and adjust the extraction strategy accordingly. For Core customers with non-trivial candidate volume, we recommend upgrading to Plus for the migration window or accepting the manual export scope as part of the project plan.

Migration approach

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

  1. Discovery and tier validation

    We audit the source Greenhouse instance across subscription tier (Core/Plus/Pro), candidate volume, job count, active application count, custom field inventory (count, types, dependencies), scorecard templates, tag sets, and engagement volume. We extract a sample of 50-100 records via the Harvest API v3 to validate field-level type compatibility and identify any Greenhouse-specific data (e.g., user_reference fields, tiered office hierarchies, anonymized scorecard fields) that requires special handling. The discovery output is a written migration scope document with record counts per object, custom field mapping table, and a tier-gating assessment that flags any Core-tier limitations requiring manual steps.

  2. Active candidate manual-step planning

    We coordinate the active candidate migration step with the customer before any automated extraction begins. This includes defining the export template from Greenhouse (which fields, which status filters for active applications), agreeing the dedupe strategy for candidates with multiple applications, and scheduling the manual export window. For Plus/Pro customers, we evaluate whether the Harvest API extraction covers all active candidates programmatically; if so, we remove the manual step from the plan. For Core customers, we document the manual step requirements clearly and provide a structured checklist so the customer's team can complete it withoutFlitStack AI intervention in the Greenhouse UI.

  3. Recruit CRM schema preparation

    We pre-create the destination schema in Recruit CRM before any data loads begin. This includes provisioning all custom fields required by the Greenhouse custom field inventory, configuring organization hierarchies to match Greenhouse office/department structures, setting up job record types for each Greenhouse job pipeline, and creating custom fields for serialized Greenhouse scorecard content. Recruit CRM's bulk import requires that all referenced lookups (e.g., User owner assignments) exist before child records import; we validate that the Recruit CRM User table is provisioned with the correct users before candidate import begins.

  4. Data extraction, transformation, and sandbox import

    We extract all Greenhouse objects via the Harvest API v3 with cursor-based pagination, handling rate-limit responses with exponential backoff. Transformation applies field-type mapping (Greenhouse value types to Recruit CRM types), owner resolution (Greenhouse user email to Recruit CRM User ID), dedupe application per the agreed strategy, and scorecard serialization to custom fields or candidate notes. We load transformed data into a Recruit CRM sandbox or staging environment first, validate record counts against source extraction totals, spot-check 25-50 records per object for field-level accuracy, and resolve any import errors before staging sign-off.

  5. Production migration in dependency order

    With staging validated, we run production migration in record-dependency order: Recruit CRM Users first (validated against the owner reconciliation queue), then Organizations or organizational units, then Job records, then Candidate records with Application data embedded, then Offers, then Activity history (call logs, emails, notes as available on the source tier), then Attachments. Each phase emits a row-count reconciliation report. Any records rejected on import are captured in an error log for customer admin review and reimport within the migration window.

  6. Cutover, validation, and automation rebuild handoff

    We freeze Greenhouse writes during cutover, run a final delta migration of any records modified during the migration window (captured via a timestamp filter on the Harvest API), then enable Recruit CRM as the system of record. We deliver a written inventory of Greenhouse workflows, interview plans, scorecard templates, and automation objects with a Recruit CRM rebuild recommendation for each. Post-migration, we support a one-week reconciliation window where we resolve data quality issues raised by the customer's team. We do not rebuild Greenhouse workflows or scorecard templates as Recruit CRM configuration within the migration scope; those are documented for the customer's admin to implement as a follow-on configuration engagement.

Platform deep dives

Context on both ends of the pair

Greenhouse logo

Greenhouse

Source

Strengths

  • Structured hiring workflows built into the platform enforce consistent evaluation and reduce ad-hoc process variation across teams.
  • Clean, well-documented Harvest API v3 with OAuth 2.0 and published rate limiting policy supports reliable integration and export work.
  • Business Intelligence Connector delivers nightly ETL of candidate, application, job, and process data for reporting teams on Plus and Pro.
  • User-friendly candidate profile UI keeps all candidate data — resume, scorecards, activity log, offers — in a single scrollable view.
  • Configurable interview kits and scorecards let teams embed their evaluation rubric directly into the platform.

Weaknesses

  • Bulk candidate import is gated behind Plus and Pro tiers, meaning Core customers must perform manual candidate migration work post-go-live.
  • Historical data migration takes 4–6 weeks to complete, requiring customers to run two systems in parallel during that window.
  • Sourcing automation, texting, and advanced analytics are add-ons above Core that significantly increase the total cost of ownership.
  • Tiered offices and departments, audit logs, and developer sandbox are Pro-only, making those capabilities inaccessible to mid-market teams on Core or Plus.
  • Implementation timelines of 1–3 months delay time-to-value, particularly for organizations without dedicated HRIS integration resources.
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 Greenhouse 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

    Greenhouse: Not publicly documented with specific numbers; rate limits are applied separately for custom integrations and partner integrations with separate policies for each.

  • Data volume sensitivity

    A

    Greenhouse exposes a bulk API — large-volume migrations stream efficiently.

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Typical migrations land between three and five weeks for accounts with under 5,000 active candidates, clean custom field schemas, and no tier-gating complications. Migrations above 5,000 candidates, with complex scorecard history, multi-level office hierarchies, or a Greenhouse Core tier requiring manual active-candidate work extend to eight to twelve weeks. The active candidate manual step — if required — adds one to two weeks to the timeline depending on candidate volume and the customer's capacity to complete the export in the Greenhouse UI.

Adjacent paths

Related migrations to explore

Ready when you are

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