HRMS migration
Field-level mapping, validation, and rollback between In-recruiting and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
In-recruiting
Source
Crelate
Destination
Compatibility
9 of 13
objects map 1:1 between In-recruiting and Crelate.
Complexity
BStandard
Timeline
2-4 weeks
Overview
In-recruiting and Crelate both manage the full recruiting lifecycle, but their object schemas, field naming conventions, and export mechanisms differ significantly. In-recruiting uses a European SMB data model centered on Candidates, Jobs, and Applications with stage-history tracking; Crelate uses a unified People, Organization, and Job model with a REST API 3.0 endpoint that requires typed field values on insert. We extract In-recruiting data via CSV export, normalize field names and date formats to Crelate's API expectations, resolve owner lookups by email against Crelate's User table, and load through Crelate's REST endpoint using the api_key querystring parameter with chunked batch inserts. Workflow configurations, automation rules, and custom form definitions do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Crelate. The migration runs in two passes — a staging import for customer validation followed by a production cutover — with active pipelines handled last to avoid disrupting ongoing placements.
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 In-recruiting 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.
In-recruiting
Candidate
Crelate
People
1:1In-recruiting Candidate records map directly to Crelate People records. The In-recruiting candidate identifier is preserved in a custom field ir_candidate_id__c for cross-system reference. First name, last name, email, phone, and address fields map with direct field correspondence. Any In-recruiting candidate source field maps to Crelate's candidate_type and additionally to a custom field ir_original_source__c to preserve attribution. Candidate tags from In-recruiting map to Crelate's Tags using the Default tag category.
In-recruiting
Company / Client
Crelate
Organization
1:1In-recruiting client or company records attached to a Candidate map to Crelate Organization. The Organization Name maps from In-recruiting's company name field. Industry, website, and address fields transfer directly where populated. If In-recruiting stores client contacts separately from candidate contacts, the client contact maps to a People record with a Client relationship type linked to the Organization via Crelate's contact-account lookup pattern.
In-recruiting
Job / Position
Crelate
Job
1:1In-recruiting Job records map to Crelate Job. The job name, description, employment type, and location fields transfer directly. Job status (Active, Paused, Closed) maps to Crelate's job status field. We flag any In-recruiting job that has a live posting at migration time and sequence it for the final migration pass to avoid disrupting ongoing applications. Owner assignment maps via email lookup against Crelate Users.
In-recruiting
Application
Crelate
Application
1:1In-recruiting Application records link a Candidate to a Job and carry the application date, status, and current pipeline stage. We map Application directly to Crelate Application, preserving the application timestamp and status. The In-recruiting application ID is stored in a custom field ir_application_id__c. If the In-recruiting application record carries custom application-stage notes or ratings, these map to Crelate Application custom fields created during the schema design phase.
In-recruiting
Pipeline Stage
Crelate
Pipeline Stage
lossyIn-recruiting pipeline stages are configurable per job. We create matching pipeline stages in Crelate before migration, using the stage names and ordering from In-recruiting. Each In-recruiting stage transition timestamp is preserved as a custom activity or note entry in Crelate attached to the Application record, since Crelate's stage history field model differs. The mapping is validated during the staging pass before production import.
In-recruiting
Interview
Crelate
Interview
1:1In-recruiting Interview records map to Crelate Interview with interviewer name, scheduled date and time, interview type, and outcome fields preserved. Interviewer contact details are resolved against Crelate's People table via email lookup. If In-recruiting stores interview scorecards or feedback as structured fields, these map to custom Interview fields we provision in Crelate before migration. The interview status (scheduled, completed, cancelled) transfers directly.
In-recruiting
Note
Crelate
Note
1:1In-recruiting Notes attached to Candidate, Job, or Application map to Crelate Note records linked via ContentDocumentLink to the parent People, Organization, or Job record. Note body transfers as rich text. Note creation timestamp and the author (owner) resolve against Crelate's User table by email. Notes that reference other In-recruiting records (e.g., referencing a Job or Application) are preserved as plain-text cross-references in the note body and do not create live Crelate lookups.
In-recruiting
Candidate Attachment / Resume
Crelate
ContentDocument
1:1In-recruiting candidate attachments — primarily resume files in PDF, DOC, or DOCX format — migrate as Crelate ContentDocument records linked via ContentDocumentLink to the associated People record. File names and MIME types are preserved. Files larger than 25 MB are flagged for the customer to review before migration because Crelate's API handles attachments in batch with size constraints.
In-recruiting
User / Team Member
Crelate
User
1:1In-recruiting User accounts resolve against Crelate Users by matching email address. We perform this resolution before any record import so that OwnerId references on Jobs, Applications, and Interviews are satisfied at insert time. In-recruiting Users without a matching Crelate User are held in a reconciliation queue, and the customer's admin provisions the Crelate User account before the production migration pass. Active versus inactive status carries over based on In-recruiting's user active flag.
In-recruiting
Custom Field (Candidates, Jobs, Applications)
Crelate
Custom Field
lossyIn-recruiting custom fields that are not standard-field equivalents require pre-creation in Crelate before migration data is written. We review the In-recruiting export during discovery, map each custom field to a Crelate custom field of the appropriate type (text, number, date, picklist, checkbox), and deploy the Crelate custom field schema into the target account before any test migration runs. Crelate's field-mapping feature from custom forms to parent records is noted as a secondary mapping path but is not used during bulk migration.
In-recruiting
Job Board Posting Distribution
Crelate
Job Integration (Job Board)
lossyIn-recruiting job board distribution records indicate where a Job was posted externally. These are not standard Crelate records but map to Crelate's active job board integrations. We document which job boards were connected for each In-recruiting Job and provide the customer with a list of Crelate-native job board integrations (Indeed, ZipRecruiter, Monster, CareerBuilder, Glassdoor, Dice, and others) to reconnect during post-migration setup.
In-recruiting
Candidate Rating / Score
Crelate
Custom Field on People
lossyIf In-recruiting stores candidate ratings or scores as structured fields on the Candidate record, we map these to Crelate custom number fields on the People record. The rating scale is preserved (e.g., a 1-5 scale from In-recruiting transfers as a custom Crelate field ir_rating__c with the same scale). We validate scale consistency during the staging pass.
In-recruiting
Activity / Communication Log
Crelate
Activity (Note or Task)
1:1In-recruiting activity logs associated with a Candidate — including calls, emails, and internal communications — map to Crelate Activity records (as Note or Task entries) attached to the corresponding People record. Activity timestamps are preserved as ActivityDate. Call duration and disposition, where stored in In-recruiting, transfer to custom Activity fields. Email body content migrates as a Note linked to the People record.
| In-recruiting | Crelate | Compatibility | |
|---|---|---|---|
| Candidate | People1:1 | Fully supported | |
| Company / Client | Organization1:1 | Fully supported | |
| Job / Position | Job1:1 | Fully supported | |
| Application | Application1:1 | Fully supported | |
| Pipeline Stage | Pipeline Stagelossy | Fully supported | |
| Interview | Interview1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Candidate Attachment / Resume | ContentDocument1:1 | Fully supported | |
| User / Team Member | User1:1 | Fully supported | |
| Custom Field (Candidates, Jobs, Applications) | Custom Fieldlossy | Fully supported | |
| Job Board Posting Distribution | Job Integration (Job Board)lossy | Fully supported | |
| Candidate Rating / Score | Custom Field on Peoplelossy | Fully supported | |
| Activity / Communication Log | Activity (Note or Task)1:1 | 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.
In-recruiting gotchas
Public API details are not surfaced in reviewer documentation
Tier structure couples user count, active jobs, and feature flags
Multiposting integrations are tier-gated and per-board configured
Reporting/statistics weakness flagged by reviewers
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 export coordination
We audit the In-recruiting account to identify all active record types: Candidates, Jobs, Applications, Interviews, Notes, custom fields, and user accounts. We review the current In-recruiting export settings to confirm column configurations and identify any fields that require format normalization. We coordinate with the customer to schedule the first In-recruiting data export, which is used for the staging migration pass. We also confirm whether In-recruiting charges for database exports so the customer can budget accordingly.
Data profiling and schema mapping
We run the In-recruiting export through a profiling pass that checks for null required fields, date format inconsistencies, duplicate candidate records, and orphaned application records (applications without a matching Candidate or Job). We map each In-recruiting object to its Crelate equivalent, flagging any custom fields that require pre-creation in Crelate before data can be written. We produce a written mapping document that the customer reviews and approves before any Crelate writes begin.
Crelate custom field provisioning
We create any missing Crelate custom fields — including ir_candidate_id__c, ir_application_id__c, ir_original_source__c, ir_rating__c, and any custom fields mapped from In-recruiting — via Crelate's field management interface before the staging migration. Pipeline stages in Crelate are configured to match the In-recruiting stage names and ordering. User accounts in Crelate are confirmed or provisioned to match the In-recruiting user roster by email.
Staging migration and customer validation
We run a full migration pass into a Crelate staging environment using the first In-recruiting export. The customer reviews a randomized sample of migrated records — typically 25-50 per object type — against the In-recruiting source data, checking field accuracy, date formatting, attachment presence, and pipeline stage assignments. We correct any mapping errors identified during validation and re-run the staging pass if needed. The customer formally signs off on the mapping before the production migration date is scheduled.
Production cutover
We schedule the production migration for a low-activity window, typically a weekend, to minimize disruption to recruiters actively using In-recruiting during the migration. The second In-recruiting export is extracted, processed through the validated mapping, and written to Crelate via the REST API. Active jobs and open applications are migrated last to keep the hiring pipeline functional for the shortest possible window. We freeze In-recruiting writes during the cutover and run a delta pass to capture any records created or modified between the first export and the cutover.
Post-migration validation and workflow handoff
We perform a final row-count reconciliation comparing In-recruiting record counts against Crelate record counts for each object type. The customer validates that search functionality returns expected results, that interview records are linked to the correct People and Job, and that attachments are accessible. We deliver the workflow and automation inventory document for the customer's admin to rebuild in Crelate. We offer a one-week hypercare window for the customer to report any data discrepancies discovered after cutover. We do not rebuild In-recruiting workflows as Crelate automations as part of the standard migration scope.
Platform deep dives
In-recruiting
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 In-recruiting 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
In-recruiting: Not publicly documented.
Data volume sensitivity
In-recruiting doesn't expose a bulk API — REST + parallelization used for high-volume runs.
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 In-recruiting to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your In-recruiting 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 In-recruiting
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.