HRMS migration
Field-level mapping, validation, and rollback between Recruiterflow and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.
Recruiterflow
Source
Recruit CRM & ATS
Destination
Compatibility
11 of 12
objects map 1:1 between Recruiterflow and Recruit CRM & ATS.
Complexity
CModerate
Timeline
3-5 weeks
Overview
Recruiterflow and Recruit CRM share a similar ATS-plus-CRM data model, which makes the core object mapping straightforward, but the extraction layer introduces specific complexity. Recruiterflow has no publicly documented bulk API endpoint and requires the RF-Api-Key header on every request, so we use targeted API reads for standard record volumes and fall back to Advanced Search XLS exports for large candidate databases to avoid long-duration polling against undocumented rate limits. The Off-Limits compliance feature has no dedicated export endpoint in Recruiterflow, so we identify those records by scanning candidate tags and custom fields during scoping and recreate the compliance boundary as a Tag or custom property in Recruit CRM. Custom fields on all six core objects require schema extraction from Recruiterflow support or UI before migration, because the API does not return field definitions alongside record data. Workflows, automations, and multi-channel sequence definitions do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Recruit CRM's automation builder.
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 Recruiterflow 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.
Recruiterflow
Candidate
Recruit CRM & ATS
Candidate
1:1Recruiterflow Candidates map 1:1 to Recruit CRM Candidates. Standard fields (name, email, phone, status, source) carry over directly. We identify Off-Limits candidates by scanning candidate tags and custom fields during scoping since Recruiterflow exposes no dedicated Off-Limits endpoint; these records receive a compliance tag in Recruit CRM to preserve client exclusivity boundaries. Custom candidate fields require schema extraction from Recruiterflow support or UI export before migration; the API does not return field definitions alongside record data.
Recruiterflow
Contact
Recruit CRM & ATS
Client Contact
1:1Recruiterflow Contacts (client-side relationships) map to Recruit CRM Client Contacts. The company association migrates as a lookup to the Organization record, which is created before Contact import to satisfy the foreign key. Lifecycle stage and contact role fields carry over as custom or standard fields depending on the Recruit CRM account configuration.
Recruiterflow
Job
Recruit CRM & ATS
Job
1:1Recruiterflow Jobs map 1:1 to Recruit CRM Jobs. Title, description, location, employment type, and owner fields transfer directly. Job pipeline stages are configurable per job type in Recruiterflow; we document the stage mapping and create equivalent stage values in Recruit CRM before job import. Job-status custom fields migrate to Recruit CRM custom fields of the same type.
Recruiterflow
Placement
Recruit CRM & ATS
Placement
1:1Recruiterflow Placements track hired candidates tied to a Job and Company, carrying compensation data, start dates, and placement status. These map to Recruit CRM Placements with the candidate, job, and organization lookups resolved at migration time. Placement-specific fields like fee percentage and billing terms migrate as custom fields.
Recruiterflow
Company
Recruit CRM & ATS
Organization
1:1Recruiterflow Companies (client organizations) map to Recruit CRM Organizations. Address, industry, size, and associated contact data transfer directly. The Organization is created before any Client Contact or Deal import so that lookup relationships are satisfied at the moment of insert. Custom company fields migrate as typed fields in Recruit CRM after schema extraction from the source.
Recruiterflow
Deal
Recruit CRM & ATS
Deal
1:1Recruiterflow Deals track revenue opportunities tied to Companies, analogous to Deals in Recruit CRM. Deal value, stage, probability, and owner migrate directly. Deal-specific fields like close date probability weighting map to Recruit CRM deal fields of equivalent type. We configure deal pipeline stages in Recruit CRM before migration to match the source stage set.
Recruiterflow
User
Recruit CRM & ATS
User
1:1Recruiterflow Users map to Recruit CRM Users by email match. All owned records (Candidates, Contacts, Jobs, Placements, Deals) are re-linked to the corresponding User identity in Recruit CRM after the User records are confirmed in the destination. Owners without a matching Recruit CRM User go to a reconciliation queue for the customer to provision before record import resumes.
Recruiterflow
Activity: Call
Recruit CRM & ATS
Call Log
1:1Recruiterflow call logs migrate to Recruit CRM Call Log entries linked to the parent Candidate or Contact. Call duration, disposition, and timestamp transfer to equivalent fields. We resolve the parent record reference (Candidate or Contact) by the original Recruiterflow record ID carried through the migration transform.
Recruiterflow
Activity: Note
Recruit CRM & ATS
Note
1:1Recruiterflow notes migrate to Recruit CRM Notes linked to the parent record. Note body, author, and timestamp carry over. For notes attached to candidates or contacts, we resolve the parent record lookup by ID; for notes attached to jobs or companies, the parent reference migrates to the equivalent Recruit CRM record.
Recruiterflow
Activity: Custom Activity Type
Recruit CRM & ATS
Custom Activity
lossyRecruiterflow exposes separate API endpoints for custom activity types. These map to Recruit CRM custom activity records configured before migration. We request the custom activity type definitions from Recruiterflow during scoping and create matching custom activity types in Recruit CRM, then migrate the activity records with their type associations preserved.
Recruiterflow
Document
Recruit CRM & ATS
Document
1:1Documents attached to Candidates or Jobs in Recruiterflow are accessible via GET /api/external/document/get. We download each document and re-upload it to the corresponding record in Recruit CRM as an attachment. Document filenames and associated metadata (upload date, author) transfer alongside the binary file.
Recruiterflow
Tag
Recruit CRM & ATS
Tag
1:1Recruiterflow tags stored on Candidates, Contacts, Jobs, and Companies migrate to Recruit CRM Tags. Tags used for compliance marking (Off-Limits, for example) are flagged during scoping and receive a corresponding Tag or custom property in Recruit CRM to maintain the compliance boundary. Tag counts and tag-to-record associations migrate as tag assignment records in Recruit CRM.
| Recruiterflow | Recruit CRM & ATS | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Contact | Client Contact1:1 | Fully supported | |
| Job | Job1:1 | Fully supported | |
| Placement | Placement1:1 | Fully supported | |
| Company | Organization1:1 | Fully supported | |
| Deal | Deal1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Activity: Call | Call Log1:1 | Fully supported | |
| Activity: Note | Note1:1 | Fully supported | |
| Activity: Custom Activity Type | Custom Activitylossy | Fully supported | |
| Document | Document1:1 | Fully supported | |
| Tag | Tag1: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.
Recruiterflow gotchas
API uses static API key with no OAuth 2.0 flow
Email campaign send limits and sender throttling
Off-Limits records enforce compliance but have no export endpoint
No publicly documented bulk export or batch API endpoint
Custom field schema varies by object and is not self-describing via API
Recruit CRM & ATS gotchas
API rate limits are license-scaled and can throttle bulk migration
Custom field schemas vary per organization and require field-level mapping
Files and email attachments require separate extraction and re-upload
Email sequences and automation logic do not transfer between platforms
Pair-specific challenges
Migration approach
Scoping and API access verification
We audit the Recruiterflow account for record volumes across all six core objects, identify custom field schemas by requesting definitions from Recruiterflow support or extracting them from the UI, map pipeline stage values, and verify the RF-Api-Key access scope by running read tests against the Candidates, Contacts, Jobs, Placements, Companies, and Deals endpoints. We also identify the Off-Limits record strategy by scanning for compliance tags or requesting the explicit list. The scoping output is a written migration scope with object counts, field mapping draft, and a timeline estimate.
Data extraction via API and XLS fallback
For standard record volumes we use the Recruiterflow REST API with the RF-Api-Key header, chunking records into batches of 500 and throttling to 60 requests per minute. For accounts exceeding 10,000 candidates, we supplement API reads with the Advanced Search XLS export, parsing the spreadsheet alongside targeted API calls to fill any fields not included in the export. Documents are downloaded via GET /api/external/document/get and staged for re-upload. Off-Limits candidate IDs are extracted from the compliance tag scan and carried into the transform layer.
Schema design and custom field provisioning in Recruit CRM
We review Recruit CRM's standard field types and create any custom fields needed to receive Recruiterflow custom field values that lack a direct equivalent. Custom activity types are configured in Recruit CRM before activity records are imported. Deal pipeline stages are set up to match the Recruiterflow stage set. Tag types are configured to receive Off-Limits compliance markers. The customer validates the Recruit CRM schema configuration before migration data is loaded.
Sandbox migration and reconciliation
We run a full migration into a Recruit CRM sandbox or staging environment using production-like data volumes. The customer reconciles record counts (candidates in, contacts in, jobs in, placements in, deals in, activities in), spot-checks 25-50 records against the Recruiterflow source, and validates the Off-Limits tag placement. Any field mapping corrections and schema gaps are addressed here. The customer signs off the sandbox results before production migration begins.
Production migration in dependency order
We run production migration in record dependency order: Organizations (from Recruiterflow Companies), Users (validated by email match), Client Contacts (with OrganizationId resolved), Candidates (with Off-Limits tag applied), Jobs (with OwnerId resolved), Deals (with OrganizationId and OwnerId resolved), Placements (with Candidate, Job, and Organization lookups resolved), Activities (calls, notes, custom activities via their respective endpoints), and Documents (re-uploaded as attachments to the corresponding record). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation handoff
We freeze writes in Recruiterflow during cutover, run a final delta migration of any records modified during the migration window, then enable Recruit CRM as the system of record. We deliver the workflow and sequence inventory document to the customer's admin team with a Recruit CRM automation builder equivalent for each item. We support a one-week hypercare window for reconciliation issues. We do not rebuild Recruiterflow workflows or sequences as Recruit CRM automations inside the migration scope; that is a separate engagement or internal admin task.
Platform deep dives
Recruiterflow
Source
Strengths
Weaknesses
Recruit CRM & ATS
Destination
Strengths
Weaknesses
Complexity grading
Moderate HRMS migration. 1 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Recruiterflow and Recruit CRM & ATS.
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
Recruiterflow: Not publicly documented — we throttle to 60 req/min based on observed behavior and competitor API patterns.
Data volume sensitivity
Recruiterflow 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 Recruiterflow to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.
Walk through your Recruiterflow to Recruit CRM & ATS migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Recruiterflow
Other ways to arrive at Recruit CRM & ATS
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.