HRMS migration
Field-level mapping, validation, and rollback between Greenhouse and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
Greenhouse
Source
Crelate
Destination
Compatibility
9 of 14
objects map 1:1 between Greenhouse and Crelate.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Greenhouse to Crelate is a structural translation from Greenhouse's Candidate-to-Application-to-Job hierarchy into Crelate's unified People and Jobs model. Greenhouse's structured scorecards, custom fields, and tier-gated features (bulk import, CRM events, tiered offices) require careful mapping at migration time. Crelate's self-serve bulk import tools mean customers do not pay Greenhouse's fee-for-service migration costs, but active candidates in-flight at cutover require a planned parallel-run export that we coordinate. Workflows, interview kits, and offer letters do not migrate as configured objects; we deliver a written inventory of these for the customer's admin to rebuild in Crelate.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Greenhouse object lands in Crelate, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Greenhouse
Candidate
Crelate
Person (People)
1:1Greenhouse Candidate records map to Crelate Person records. We preserve all standard fields (name, email, phone, social URLs, tags) and map Greenhouse's custom field values by type: single_select to Crelate's picklist, multi_select to multi-select, currency to currency, date to date. Phone number formats are normalized during transform to match Crelate's expected format. Any Greenhouse-specific free-text notes migrate as activity entries on the Person record.
Greenhouse
Application
Crelate
Application
1:1Greenhouse Application records link a Candidate to a Job. We preserve application date, rejection or hire status, current pipeline stage, and stage history timestamps as an activity log. Rejection reasons and anonymized notes migrate as Activity records attached to the Application. Application UUID from Greenhouse is preserved as a reference field for audit trails.
Greenhouse
Job
Crelate
Job (Job Order)
1:1Greenhouse Job records map to Crelate Job (Job Order) records. We preserve job title, department, office location, open/closed status, opening date, and full job description as structured fields. Job posting URLs are migrated as reference links on the Job record rather than re-created in Crelate's job board distribution tool. Pipeline stage names and order are mapped separately as part of the Pipeline Stages configuration.
Greenhouse
Offer
Crelate
Offer
1:1Greenhouse Offers attached to Applications map to Crelate Offer records. We preserve start date, salary, equity, and any custom offer fields. Offer status (pending, accepted, declined, retracted) migrates as a status field on the Offer. The Application linkage is preserved by resolving the Application UUID to the Crelate Application record during import.
Greenhouse
Scorecard
Crelate
Activity or Custom Field Group
lossyGreenhouse Scorecards store structured evaluator feedback tied to Interview Plans. We map scorecard questions and selected ratings to Crelate as Activity records with a custom structured format (question text as label, rating as value) because Crelate does not have a native scorecard object equivalent to Greenhouse's Interview Kit structure. Free-text evaluator comments migrate as Activity notes. The customer's admin rebuilds Greenhouse's scorecard templates as Crelate's form or checklist templates post-migration.
Greenhouse
User / Hiring Team Member
Crelate
User
1:1Greenhouse Users (Site Admin, Recruiter, Hiring Manager) map to Crelate Users. We resolve by email match and map role assignments from Greenhouse to Crelate's permission model. Owner assignment on records (Candidates, Applications, Jobs, Offers) is remapped to Crelate User IDs during import. Any Greenhouse User without a matching Crelate User is held in a reconciliation queue for the customer's admin to provision before record import resumes.
Greenhouse
Custom Field
Crelate
Custom Field
lossyGreenhouse custom fields across all value types (short_text, long_text, yes_no, single_select, multi_select, currency, number, date, url, user_reference) are pre-created in Crelate with equivalent types before data import. We handle Greenhouse's field value transforms: multi_select arrays become comma-separated strings or Crelate's multi-select format; user_reference fields are resolved via the User mapping. Greenhouse's custom field on applications vs on candidates distinction is preserved by linking to the correct parent object in Crelate.
Greenhouse
Office / Department
Crelate
Office / Department
lossyGreenhouse's flat office/department structure (Core) maps directly to Crelate's org units. Greenhouse's hierarchical tiered structure (Plus/Pro) requires flattening or preserving as a parent-child relationship in Crelate depending on the customer's preferred org model. We validate the customer's Greenhouse tier at scoping time and discuss whether to flatten or preserve the hierarchy. Crelate's org structure is configurable without tier gating, so all customers have access to the same structural options.
Greenhouse
Tag / Tagset
Crelate
Tag
1:1Tags on Greenhouse Candidates and Applications migrate as Tags on Crelate Person records. Greenhouse allows unlimited tags; we preserve them as label arrays and map them to Crelate's tagging system. Tagsets (grouped tag collections) in Greenhouse are mapped to Crelate's tag categories if used, or flattened to a single tag list if the customer prefers simplicity.
Greenhouse
CRM Event / Activity
Crelate
Activity
1:1Greenhouse Plus and Pro CRM events (calls, emails, notes, meetings) map to Crelate Activity records. For Core customers, all activity types are collapsed into Crelate's unified activity timeline since Greenhouse Core only supports a single CRM event type. We preserve timestamps, disposition notes (for calls), and body text (for notes and emails) as structured Activity fields. Activity parent links are resolved to the Person or Job record in Crelate.
Greenhouse
Pipeline Stage
Crelate
Pipeline / Stage
lossyGreenhouse Pipeline Stages define the hiring workflow and map to Crelate's Pipeline and Stage configuration. We preserve stage names, order, and any stage-specific questions as Stage metadata in Crelate. Custom stage names and stage-dependent scorecards are mapped field-by-field. The pipeline name from Greenhouse maps to a Crelate Pipeline with the same name, and stage probability percentages are preserved as informational fields on each Stage.
Greenhouse
Source Tracking
Crelate
Source
1:1Greenhouse tracks candidate source (referral, job board, direct apply) as a field on the Application. We preserve source attribution and migrate it to Crelate's Source field on the Person or Application. Sourcing campaign UTM data stored in Greenhouse custom fields migrates to Crelate custom fields on the Person record for marketing attribution continuity.
Greenhouse
Candidate Document / Attachment
Crelate
Attachment / File
1:1Resumes, cover letters, and portfolio files attached to Greenhouse Candidates or Applications migrate as binary attachments in Crelate. We handle file type detection, preserve the original filename, and link files back to the correct Person or Application record. Crelate's file storage limits are validated against the total attachment volume during scoping.
Greenhouse
Job Post
Crelate
Reference Link (metadata)
lossyGreenhouse Job Posts (published listings on job boards and careers pages) are not re-created in Crelate. We preserve the Job Post reference URL and job board name as metadata fields on the Crelate Job record. The customer's admin republishes active job postings in Crelate's job board distribution tool post-migration. Job description content migrates in full as structured fields on the Job record.
| Greenhouse | Crelate | Compatibility | |
|---|---|---|---|
| Candidate | Person (People)1:1 | Fully supported | |
| Application | Application1:1 | Fully supported | |
| Job | Job (Job Order)1:1 | Fully supported | |
| Offer | Offer1:1 | Fully supported | |
| Scorecard | Activity or Custom Field Grouplossy | Fully supported | |
| User / Hiring Team Member | User1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| Office / Department | Office / Departmentlossy | Fully supported | |
| Tag / Tagset | Tag1:1 | Fully supported | |
| CRM Event / Activity | Activity1:1 | Fully supported | |
| Pipeline Stage | Pipeline / Stagelossy | Fully supported | |
| Source Tracking | Source1:1 | Fully supported | |
| Candidate Document / Attachment | Attachment / File1:1 | Fully supported | |
| Job Post | Reference Link (metadata)lossy | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Greenhouse gotchas
Bulk candidate import requires Plus or Pro tier
Active candidate migration is entirely manual
Historical migration takes 4–6 weeks for Greenhouse to process
Developer sandbox and audit log are Pro-only
CRM event limits in Core tier constrain activity history
Crelate gotchas
120 req/min API rate limit throttles bulk migrations
20 custom field per-entity cap forces data model decisions
15,000-record export ceiling on single operations
Sequences and automation workflows do not migrate
API key is a querystring parameter, not a header
Pair-specific challenges
Migration approach
Discovery and Greenhouse tier validation
We audit the source Greenhouse account across tier (Core/Plus/Pro), active candidate volume, custom field count and types, pipeline count, scorecard templates, office and department structure, and engagement history volume. We validate the customer's Greenhouse tier to determine the bulk import approach: Plus and Pro customers can use Greenhouse's guided bulk export; Core customers rely on Harvest API extraction. The discovery output is a written migration scope document with record counts per object, a custom field inventory, and a recommended Crelate import sequence.
Schema pre-creation in Crelate
We pre-create the destination schema in Crelate before any data import. This includes provisioning all custom fields with matching types (picklists, multi-selects, currency, date, url), configuring the Pipeline and Stage structure to match Greenhouse's pipeline stages, and setting up offices and departments to match the Greenhouse org structure. For Plus/Pro customers with tiered hierarchies, we discuss whether to flatten or preserve the parent-child relationship in Crelate. For Core customers, we pre-create all picklist values referenced in Greenhouse's single-select and multi-select custom fields so the bulk import does not fail on unknown values.
Sandbox import and reconciliation
We run a full import into a Crelate test environment using a representative data sample from the Greenhouse export. The customer's recruiting operations lead spot-checks 25-50 random records (Candidates, Applications, Jobs) against the Greenhouse source, verifies that custom field values appear correctly, confirms that pipeline stage names match, and signs off on the field mapping before production import begins. Any mapping corrections happen here, not in production.
User and owner provisioning
We extract every distinct Greenhouse User referenced on Candidate, Application, Job, Offer, and Activity records and match by email against the Crelate destination's User table. Any Greenhouse User without a matching Crelate User goes to a reconciliation queue. The customer's Crelate admin provisions missing Users (active or inactive depending on whether the original Greenhouse user is still employed). Owner references on records are resolved at migration time using the User mapping table. Migration cannot proceed past the record import phase until OwnerId references are satisfied.
Production import in dependency order
We run production migration in record-dependency order: Jobs (Job Orders) first since Applications reference them; People (Candidates) with all custom fields and tags; Applications linked to People and Jobs with stage history preserved; Offers linked to Applications; Activity history (calls, emails, notes, meetings) linked to People and Applications via Bulk API with parent-record resolution. Scorecards are imported as structured Activity records. Each phase emits a row-count reconciliation report before the next phase begins. Active candidates in-flight at cutover are handled as a separate coordinated step using the manual export and Crelate bulk import template.
Cutover, validation, and scorecard rebuild handoff
We freeze Greenhouse writes during cutover, run a final delta migration of any records modified during the migration window, then enable Crelate as the system of record. We deliver the Scorecard and Interview Kit inventory document to the customer's admin team as a rebuild reference. We support a one-week hypercare window where we resolve any reconciliation issues raised by the recruiting team. We do not rebuild Greenhouse scorecard templates as Crelate forms inside the migration scope; that is an admin task using Crelate's form builder. We do not migrate Greenhouse workflows or automations as code.
Platform deep dives
Greenhouse
Source
Strengths
Weaknesses
Crelate
Destination
Strengths
Weaknesses
Complexity grading
Standard HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Greenhouse and Crelate.
Object compatibility
1 of 7 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
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
Greenhouse exposes a bulk API — large-volume migrations stream efficiently.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Greenhouse to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your Greenhouse to Crelate migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Greenhouse
Other ways to arrive at Crelate
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.