HRMS migration
Field-level mapping, validation, and rollback between ApplicantStack and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.
ApplicantStack
Source
Recruit CRM & ATS
Destination
Compatibility
9 of 10
objects map 1:1 between ApplicantStack and Recruit CRM & ATS.
Complexity
BStandard
Timeline
2-4 weeks
Overview
ApplicantStack exports all data through a report-based CSV builder with no live API, while Recruit CRM exposes a REST API for direct record import. This architectural difference is the central challenge of this migration: we parse ApplicantStack's flat-file exports, normalize them into structured JSON payloads, and load them through Recruit CRM's API with batch chunking and parent-record resolution. ApplicantStack's unreliable duplicate candidate detection means we run our own deduplication pass matching on email, phone, and normalized name before any record touches Recruit CRM, so duplicates from ApplicantStack do not multiply in the destination. Workflows, automations, and job board distribution settings do not migrate. We deliver a written inventory of active workflows and pipeline automation triggers for your admin to rebuild in Recruit CRM's visual Kanban builder. Timeline ranges from two to six weeks depending on candidate volume and whether the customer uses ApplicantStack Onboard for new hire records.
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 ApplicantStack 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.
ApplicantStack
Job / Position
Recruit CRM & ATS
Job
1:1ApplicantStack Positions map to Recruit CRM Jobs. The job title, description, status, and opening count migrate directly. ApplicantStack's job board distribution settings (Indeed sponsored, JobTarget, custom branded boards) are configuration data that do not export; the job posting content migrates as rich-text fields, but the distribution channels must be reconfigured manually in Recruit CRM's job board settings. Custom employer-defined properties on the Position become Recruit CRM custom fields on the Job record.
ApplicantStack
Candidate
Recruit CRM & ATS
Candidate
1:1ApplicantStack Candidate records map to Recruit CRM Candidates with a first-pass deduplication pass before import. ApplicantStack's duplicate detection is unreliable and consistently misses candidates who applied under different email addresses or slight name variations (G2, Capterra Cons filter). We run matching on email address, phone number, and normalized name strings, flagging likely duplicates for customer review before final import. Resume files and cover letters migrate as document attachments linked to the Candidate record in Recruit CRM.
ApplicantStack
Questionnaire / Custom Form Responses
Recruit CRM & ATS
Custom Fields on Candidate
1:1ApplicantStack Questionnaires store responses as field-value pairs tied to the Candidate record. We extract every custom field response and map them to Recruit CRM custom fields on the Candidate object, pre-creating the destination fields during the schema phase. If ApplicantStack uses a custom form that Recruit CRM cannot natively represent as a single record field (e.g., repeating sections or conditional logic), we flatten the response data into the most granular available field structure and document the mapping for customer review.
ApplicantStack
Hiring Pipeline Stage
Recruit CRM & ATS
Stage on Job / Kanban Stage
lossyApplicantStack's configurable pipeline stages (Applied, Screening, Interview, Offer, Hired, Rejected) migrate as Recruit CRM stage definitions. We replay each Candidate's stage history against the corresponding Recruit CRM stage so that the Kanban pipeline reflects the candidate's original progression. If ApplicantStack uses custom stage names beyond the standard set, we create custom stage values in Recruit CRM during the schema phase before any candidate data loads.
ApplicantStack
User Accounts (Recruiter / Hiring Manager / Admin)
Recruit CRM & ATS
User
1:1ApplicantStack user roles (Administrator, Recruiter, Hiring Manager) map to Recruit CRM user roles. We extract all active user accounts from ApplicantStack and match by email against Recruit CRM user provisioning. Note that ApplicantStack counts Administrators as Recruiters for billing purposes, so a customer paying for 3 Starter users may have fewer actual logins than the account suggests. We verify the active user count during discovery to avoid under-provisioning in Recruit CRM. Any ApplicantStack Hiring Manager without a Recruit CRM user account is held in a provisioning queue for the customer's admin to address.
ApplicantStack
New Hire / Onboarding Records
Recruit CRM & ATS
Candidate (with custom fields)
1:1When ApplicantStack Onboard is in scope, new hire records including I-9 data, tax form status, and custom onboarding document uploads migrate as Candidate records in Recruit CRM with custom fields capturing onboarding status and a separate document attachment set. The onboarding portal URL and document blob are preserved as structured data. Note that ApplicantStack Onboard can be purchased as a standalone SKU, so we confirm which module is active during discovery to calibrate scope; accounts using only Onboard without Recruit may have minimal candidate records beyond new hire entries.
ApplicantStack
Tag / Label
Recruit CRM & ATS
Tag
1:1ApplicantStack candidate tags and job labels export as flat tag arrays. We preserve all tags and apply them as Tag records in Recruit CRM linked to the corresponding Candidate or Job. Tag merge logic handles cases where identical tags appear under slightly different casing or spacing in ApplicantStack, consolidating them into a single Recruit CRM tag.
ApplicantStack
Email Template
Recruit CRM & ATS
Email Template (content only)
1:1ApplicantStack email template content migrates to Recruit CRM Email Templates with variable placeholders mapped to Recruit CRM's template syntax. Automated trigger logic does not migrate because ApplicantStack's email automation sequences are not accessible as structured data through the CSV export. We deliver a written inventory of every email template with its trigger conditions and a recommendation for Recruit CRM's automation equivalent.
ApplicantStack
Job Board Integration Settings
Recruit CRM & ATS
Not migrated
1:1ApplicantStack's job board distribution settings (Indeed sponsored job configuration, JobTarget integration, custom branded board credentials) are connection-level configuration that do not export. The job posting content migrates; the distribution channel configuration must be recreated manually in Recruit CRM's job board settings page. We document the full list of active board integrations from ApplicantStack for the customer's admin to reconfigure.
ApplicantStack
Workflow / Automation / Sequences
Recruit CRM & ATS
Not migrated
1:1ApplicantStack workflows and automated sequences do not migrate as code. ApplicantStack's automation capabilities are scoped differently from Recruit CRM's Kanban-based pipeline triggers and workflow automations, making a direct translation impossible. We deliver a written inventory of every active ApplicantStack workflow, email sequence, and automation trigger with its conditions, actions, and a recommended Recruit CRM equivalent for the customer's admin to rebuild.
| ApplicantStack | Recruit CRM & ATS | Compatibility | |
|---|---|---|---|
| Job / Position | Job1:1 | Fully supported | |
| Candidate | Candidate1:1 | Fully supported | |
| Questionnaire / Custom Form Responses | Custom Fields on Candidate1:1 | Fully supported | |
| Hiring Pipeline Stage | Stage on Job / Kanban Stagelossy | Fully supported | |
| User Accounts (Recruiter / Hiring Manager / Admin) | User1:1 | Fully supported | |
| New Hire / Onboarding Records | Candidate (with custom fields)1:1 | Fully supported | |
| Tag / Label | Tag1:1 | Fully supported | |
| Email Template | Email Template (content only)1:1 | Fully supported | |
| Job Board Integration Settings | Not migrated1:1 | Fully supported | |
| Workflow / Automation / Sequences | Not migrated1: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.
ApplicantStack gotchas
Trial limits visibility to first 100 candidates
Pricing is per-user including all roles
Export is report-based, not a live database query
Duplicate detection gaps create record overlap
Onboarding module is a separate product SKU
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 export preparation
We audit the source ApplicantStack account across product SKU (Recruit only, Onboard only, or Bundle), total candidate count, active job count, custom questionnaire field list, user role assignments, and any active workflows or email sequences. We confirm the candidate count directly with the customer because trial accounts cap visibility at 100 records even if the account holds more. We then guide the customer's ApplicantStack admin through generating the required CSV exports via the Reports builder, providing a report template that covers all migration objects in a single pass. This step takes 3-5 business days depending on admin availability.
CSV parsing, deduplication, and schema provisioning
We parse ApplicantStack's flat-file exports into structured record sets (Candidates, Jobs, Questionnaire Responses, Pipeline History, User Accounts). During transformation, we run our deduplication logic matching on email, phone, and normalized name strings, generating a duplicate review report for the customer's sign-off before any records insert into Recruit CRM. In parallel, we provision the Recruit CRM destination schema: custom fields on Candidate and Job matching the ApplicantStack custom properties, stage definitions matching the ApplicantStack pipeline configuration, and user role assignments mapped to Recruit CRM's permission model.
Sandbox validation import
We run a full migration into Recruit CRM's sandbox environment (or a trial org) using the parsed candidate and job data. The customer's hiring manager or recruiting lead spot-checks 25-50 records against the ApplicantStack source, verifies that custom questionnaire responses landed in the correct fields, confirms that pipeline stage history reflects accurately on the Kanban board, and validates that attached resumes and cover letters are retrievable. Any mapping corrections happen in sandbox before production import. This step typically takes 2-3 business days.
User provisioning and owner reconciliation
We extract every distinct ApplicantStack user referenced on Candidate and Job records and match by email against Recruit CRM's User table. Any ApplicantStack user without a matching Recruit CRM account goes to a reconciliation queue. The customer's admin provisions missing users (active or inactive based on whether the original user is still employed) before production migration begins. Owner references on Candidate and Job records cannot resolve without this step.
Production migration in dependency order
We run production migration in record-dependency order: Jobs (from ApplicantStack Positions) load first so that job references exist for candidates; Candidates load second with stage history replayed against the correct Kanban stage; Custom questionnaire responses append to Candidate records via the pre-created custom fields; User assignments resolve via the owner reconciliation map; Tags apply as Tag records linked to Candidates and Jobs; Onboarding records load last if ApplicantStack Onboard is in scope. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and workflow handoff
We freeze ApplicantStack writes during the final cutover window and run a delta migration of any records modified during the migration period. After go-live, we validate record counts, spot-check custom field data integrity, and confirm that the Kanban pipeline reflects the expected stage distribution. We deliver the email template inventory and workflow handoff document to the customer's admin team. We support a three-day hypercare window for reconciliation issues. We do not rebuild ApplicantStack workflows as Recruit CRM automations inside the migration scope.
Platform deep dives
ApplicantStack
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 ApplicantStack 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
ApplicantStack: Not publicly documented.
Data volume sensitivity
ApplicantStack 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 ApplicantStack to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.
Walk through your ApplicantStack 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 ApplicantStack
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.