HRMS migration
Field-level mapping, validation, and rollback between SmartRecruiters and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.
SmartRecruiters
Source
Recruit CRM & ATS
Destination
Compatibility
9 of 11
objects map 1:1 between SmartRecruiters and Recruit CRM & ATS.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from SmartRecruiters to Recruit CRM is a size and segment shift: SmartRecruiters targets enterprise organizations with $15,000+ annual contracts and SAP HCM integration requirements, while Recruit CRM is built for recruitment agencies and SMB-midmarket teams that want agency-native workflows without the enterprise overhead. We extract candidates, job postings, applications, and hiring team assignments from SmartRecruiters via its Candidate API and Job API with OAuth 1.0 authentication, then load them into Recruit CRM through its documented import endpoints. The primary structural difference is that SmartRecruiters represents the full candidate lifecycle as separate Candidate, Application, and Hiring Team objects, while Recruit CRM consolidates candidate-record, application-pipeline, and client-company data into a tighter schema that expects fewer objects. Custom field schema discovery is mandatory before value-level mapping begins because SmartRecruiters custom fields are entirely organization-scoped with no standard set. We do not migrate SmartRecruiters workflows, Hiring Agent automations, SAP SuccessFactors integrations, or assessment orders; we deliver written inventories of these for the customer's admin to rebuild or reconfigure post-migration.
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 SmartRecruiters 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.
SmartRecruiters
Job Posting
Recruit CRM & ATS
Job
1:1SmartRecruiters Posting (UUID, refNumber, location, department, function, experienceLevel, typeOfEmployment) maps to Recruit CRM Job. Each Posting is a standalone top-level object in SmartRecruiters; Recruit CRM consolidates job and client under one Job record with client linkage fields. We extract postings via the Job API with pagination, resolve department ID to label during transform, and preserve the original refNumber in a custom or notes field for audit traceability.
SmartRecruiters
Candidate
Recruit CRM & ATS
Candidate
1:1SmartRecruiters Candidate records (firstName, lastName, email required; tags, social links, candidate history, attachments) map directly to Recruit CRM Candidate. We extract via the Candidate API, deduplicate by email at migration time (a candidate appearing under multiple postings lands as one Recruit CRM Candidate), and preserve tags as custom fields or notes. Social profile URLs migrate as text fields against the candidate record.
SmartRecruiters
Application
Recruit CRM & ATS
Candidate (pipeline stage)
1:manySmartRecruiters Application links a Candidate to a Posting and tracks pipeline stage progression. A candidate with applications to multiple postings becomes a single Recruit CRM Candidate with multiple pipeline entries linked to the corresponding Job records. Pipeline stages from SmartRecruiters (New, Screening, Interview, Offer, Hired, Rejected) map to Recruit CRM candidate status values, though stage naming conventions differ between platforms and we configure the mapping during schema design.
SmartRecruiters
Custom Fields
Recruit CRM & ATS
Custom Fields
lossySmartRecruiters custom fields are organization-scoped with a fieldId/valueId/valueLabel structure returned only via the /configuration endpoint at runtime. We run a mandatory pre-migration discovery pass enumerating every custom field and its permitted values before any value-level mapping begins. These then configure as equivalent custom fields or picklist values in Recruit CRM. Skipping this step leads to silent value loss when unmapped custom fields are dropped at import time.
SmartRecruiters
User
Recruit CRM & ATS
User
1:1SmartRecruiters Users (recruiters, hiring managers, admins) map to Recruit CRM Users by email match. User IDs and role assignments must be mapped to corresponding owner records in Recruit CRM so that hiring team assignments and activity ownership resolve correctly post-migration. We reconcile any SmartRecruiters user without a matching Recruit CRM account against a provisioning queue for the customer's admin.
SmartRecruiters
Department
Recruit CRM & ATS
Department
1:1SmartRecruiters Departments are referenced by ID and label on Job Postings and include a description field. Recruit CRM represents organizational structure differently depending on whether departments are modeled as internal org units or as client/company groupings. We preserve the department hierarchy so that migrated job postings land in the correct department context and maintain reporting lineage for any migrated analytics.
SmartRecruiters
Hiring Team
Recruit CRM & ATS
User Assignment (per Job)
1:1SmartRecruiters Hiring Teams are assigned per job and include user IDs with roles (HIRING_MANAGER, INTERVIEW_TEAM, RECRUITER, COORDINATOR). We map these role assignments to the corresponding Recruit CRM User linked to the Job. Note that Recruit CRM does not natively replicate SmartRecruiters role-based hiring team visibility granularity; we document the full role matrix during discovery and flag where Recruit CRM collapses multiple roles into a single assignment.
SmartRecruiters
Scorecard
Recruit CRM & ATS
Candidate Notes or Activity
1:1SmartRecruiters Scorecards capture structured evaluation data for candidates post-interview but are not returned by a dedicated standalone endpoint; they are embedded within candidate and evaluation records. We extract scorecard content as structured notes attached to the candidate record in Recruit CRM, preserving evaluator name, scoring dimensions, and overall disposition as free-text activity entries.
SmartRecruiters
Interview Record
Recruit CRM & ATS
Activity or Event
1:1Interview data includes scheduling information, interviewer assignments, and outcome notes. We map interview dates, interviewer names, and overall dispositions to Recruit CRM Activity records linked to the candidate. When Recruit CRM does not have a native interview schedule sub-object, we attach interview details as structured activity notes with a standardized date, interviewer, and outcome format.
SmartRecruiters
Offer
Recruit CRM & ATS
Candidate or Placement
1:1Offer records include compensation details, status, and candidate linkage exposed through the SmartRecruiters candidate response structure. We migrate offer status and compensation details as structured notes or custom fields on the Recruit CRM Candidate record. If the organization uses placement records in Recruit CRM, offer data migrates to the placement with status progression (Pending, Accepted, Declined) mapped to Recruit CRM placement status values.
SmartRecruiters
Attachment
Recruit CRM & ATS
Candidate Document
1:1Candidate attachments (resumes, cover letters, portfolio files) are accepted on application submission and stored against the SmartRecruiters candidate profile. We migrate file references and re-attach original files to the corresponding Recruit CRM candidate record. Large attachment sets (over 1,000 files per migration batch) require chunked file ingestion with filename deduplication against existing candidate documents.
| SmartRecruiters | Recruit CRM & ATS | Compatibility | |
|---|---|---|---|
| Job Posting | Job1:1 | Fully supported | |
| Candidate | Candidate1:1 | Fully supported | |
| Application | Candidate (pipeline stage)1:many | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required | |
| User | User1:1 | Fully supported | |
| Department | Department1:1 | Fully supported | |
| Hiring Team | User Assignment (per Job)1:1 | Fully supported | |
| Scorecard | Candidate Notes or Activity1:1 | Fully supported | |
| Interview Record | Activity or Event1:1 | Fully supported | |
| Offer | Candidate or Placement1:1 | Fully supported | |
| Attachment | Candidate Document1: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.
SmartRecruiters gotchas
Custom field schema discovery is required before any migration can begin
SAP acquisition integration may alter data residency and API access patterns
Candidate API only creates applications in New status via public endpoint
Large report file exports require command-line tools, not browser download
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
Discovery and schema audit
We audit the source SmartRecruiters tenant across the Candidate API, Job API, and Application API endpoints, enumerating all active job postings, candidate records, application pipeline stages, custom fields via the /configuration endpoint, hiring team assignments, and attachment file references. We pair this with a Recruit CRM import readiness review: confirming database structure, custom field definitions, user provisioning state, and job-client relationship model. The discovery output is a written migration scope with object counts, custom field inventory, and a custom field mapping matrix requiring customer sign-off before value extraction begins.
Custom field schema discovery and mapping design
We run the mandatory pre-migration discovery pass against the SmartRecruiters /configuration endpoint to enumerate every custom field, fieldId, permitted value set, and valueLabel used across candidate, job, and application records. We then map each SmartRecruiters custom field to the equivalent Recruit CRM custom field or picklist, documenting any fields that have no Recruit CRM equivalent and require customer decisions about drop or consolidate. This step cannot be skipped and typically takes one to two weeks for organizations with complex custom field taxonomies.
File export and staging
We extract data from SmartRecruiters via the Candidate API and Job API using OAuth 1.0 token-based authentication. Large candidate history sets are chunked with cursor-based pagination to avoid incomplete pulls. Candidate attachments are staged as file references for re-attachment into Recruit CRM. We stage all exported data in a structured intermediate format and run a row-count reconciliation against the API response totals before beginning transform and load.
Sandbox migration and reconciliation
We run a full migration into Recruit CRM using a staging or test environment to validate mapping correctness, custom field population, attachment re-attachment, and pipeline stage display. The customer's recruiting operations lead spot-checks 25-50 candidate records and 10-15 job postings against the SmartRecruiters source for field-level accuracy and signs off the sandbox results before production migration begins. Any mapping corrections happen here, not in production.
Production migration in dependency order
We run production migration in record-dependency order: Users (validated against Recruit CRM provisioning), Departments, Job Postings (with department linkage resolved), Candidates (with attachment references staged), Applications (with two-step status sequencing for candidates landing beyond New stage), Hiring Team assignments (linked to User IDs), Interview records and Scorecards (as Activity entries), and Offer data. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation inventory handoff
We freeze SmartRecruiters writes 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 a written inventory of SmartRecruiters workflows, Hiring Agent automations, and assessment orders that do not migrate, with recommended Recruit CRM equivalents for each. We support a one-week hypercare window where we resolve any data quality issues raised by the customer's recruiting team. We do not rebuild SmartRecruiters automations as Recruit CRM workflows inside the migration scope; that is a separate engagement or internal admin task.
Platform deep dives
SmartRecruiters
Source
Strengths
Weaknesses
Recruit CRM & ATS
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 SmartRecruiters 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
SmartRecruiters: Not publicly documented on the developer portal.
Data volume sensitivity
SmartRecruiters 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 SmartRecruiters to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.
Walk through your SmartRecruiters 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 SmartRecruiters
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.