HRMS migration
Field-level mapping, validation, and rollback between VivaHR and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.
VivaHR
Source
Recruit CRM & ATS
Destination
Compatibility
5 of 10
objects map 1:1 between VivaHR and Recruit CRM & ATS.
Complexity
BStandard
Timeline
2-4 weeks
Overview
VivaHR and Recruit CRM occupy similar positions as ATS platforms for small to mid-size hiring teams, but they differ fundamentally in API accessibility. VivaHR has no publicly documented REST API, which means all data extraction must proceed through manual exports and report downloads rather than automated bulk read operations. Recruit CRM publishes a documented REST API at api.recruitcrm.io with endpoints for candidates, jobs, companies, and associated custom fields, enabling structured API-driven loading after we normalize the exported VivaHR data. We map VivaHR Jobs to Recruit CRM Job records with custom pipeline stages, VivaHR Candidates to Recruit CRM Candidates, Scorecard ratings to custom candidate fields, Culture Profiles to rich-text notes or career page assets, and Hiring Team assignments to Recruit CRM Assignee fields. The migration approach splits into two phases: extraction (manual export and normalization) and loading (API-driven import into Recruit CRM with batch chunking). Automations, workflows, and candidate sequences do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Recruit CRM.
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 VivaHR 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.
VivaHR
Job (Job Posting)
Recruit CRM & ATS
Job
1:1VivaHR Jobs map to Recruit CRM Job records. The VivaHR job title, type (full-time, part-time, contract), skill level, and location fields map to their Recruit CRM equivalents. Active job posting status and the job description (rich text) migrate directly. Pipeline assignment in VivaHR (which pipeline the job uses) maps to the Recruit CRM Pipeline Stage assignment. VivaHR's job-level Scorecard templates link to the Job record and carry over as associated custom fields in Recruit CRM. The active job posting limit on VivaHR Standard (5 jobs) does not affect migration; the destination Recruit CRM tier determines the posting ceiling.
VivaHR
Candidate
Recruit CRM & ATS
Candidate
1:1VivaHR Candidates map to Recruit CRM Candidates. Core profile fields (name, email, phone, LinkedIn URL, resume attachment) migrate directly. VivaHR stores candidates attached to Jobs within the pipeline; we preserve the candidate-to-job association using Recruit CRM's candidate-job linked record structure. The candidate's current pipeline stage in VivaHR maps to the corresponding stage in Recruit CRM's equivalent pipeline. Email opt-in status migrates to Recruit CRM's contact preference fields.
VivaHR
Pipeline Stage
Recruit CRM & ATS
Pipeline Stage
lossyVivaHR customizable pipelines (available on Growth and Premier plans) map to Recruit CRM pipeline stages. Stage names are preserved as the customer defined them in VivaHR. If VivaHR and Recruit CRM stage counts differ, we map by sequence order and flag any orphaned stages for the customer's admin to reconcile. Stage probability percentages from VivaHR carry over as informational custom fields since Recruit CRM manages stage probabilities at the pipeline configuration level.
VivaHR
Scorecard
Recruit CRM & ATS
Associated Custom Fields (Candidate level)
lossyVivaHR Scorecards are job-specific evaluation templates with rating criteria and candidate ratings. We map each Scorecard criterion to a custom field on the Recruit CRM Candidate object. The rating value for each criterion migrates as the field value on the specific candidate-job combination. Scorecard template structure (criteria names, weightings) is preserved in a separate mapping document for the customer's admin to configure as custom fields in Recruit CRM if the template structure is needed beyond the individual ratings.
VivaHR
Candidate Questionnaire
Recruit CRM & ATS
Associated Custom Fields
1:1VivaHR Questionnaires attached to Jobs collect structured candidate responses. These map to Recruit CRM associated custom fields using the POST /v1/candidates/associated-field/{candidate}/{job} endpoint. Each questionnaire question becomes a field_id in Recruit CRM, and the candidate's response becomes the value. We extract the field IDs during data discovery, create matching custom fields in Recruit CRM, then populate them during migration. Multi-select questionnaire answers map to comma-separated values or the destination's multi-select format.
VivaHR
Culture Profile
Recruit CRM & ATS
Note or Career Page Asset
lossyVivaHR Culture Profiles represent employer brand content (text descriptions, media assets, company values) displayed on the branded careers page. These are not relational database records but content assets. We export Culture Profile content as structured rich-text documents and re-import as Notes attached to the customer's Recruit CRM account or as content within Recruit CRM's career page builder. Media assets (images, videos) migrate as file attachments. The customer configures the destination Recruit CRM career page post-migration using the migrated content as source material.
VivaHR
Hiring Team
Recruit CRM & ATS
Assignee
1:1VivaHR Hiring Team assigns users to a Job posting with specific roles (hiring manager, recruiter, interviewer). Team membership maps to the Recruit CRM Assignee field on the Candidate record and the Owner field on the Job record. We resolve VivaHR user email addresses against Recruit CRM user accounts during migration. If a VivaHR team member does not have a corresponding Recruit CRM user, they are added to a reconciliation list for the customer's admin to provision before final migration.
VivaHR
Company (Candidate employer)
Recruit CRM & ATS
Company
1:1VivaHR stores company information associated with Candidates (current employer, previous employer). These map to Recruit CRM Company records. The company name, industry, website, and size fields migrate directly. If a Candidate has multiple associated companies in VivaHR, we create multiple Company records in Recruit CRM and link them via candidate-company association records.
VivaHR
Candidate Stage History
Recruit CRM & ATS
Activity Log / Candidate Timeline
lossyVivaHR tracks a Candidate's movement through pipeline stages with timestamps. We preserve this as activity log entries in Recruit CRM, with the stage change recorded as a timeline event tied to the Candidate record. The original stage entry date becomes the activity timestamp. This is informational migration only; Recruit CRM rebuilds its own stage history from actual pipeline movements going forward.
VivaHR
Candidate Automation
Recruit CRM & ATS
Not migratable (configuration)
lossyVivaHR candidate automations (email triggers, follow-up sequences, status update rules) are configuration data rather than records. These do not migrate to Recruit CRM because the automation engine and rule syntax differ. We deliver a written inventory of every active VivaHR candidate automation, documenting its trigger conditions, actions, and target candidates, so the customer's admin can rebuild equivalent automations in Recruit CRM's automation module post-migration.
| VivaHR | Recruit CRM & ATS | Compatibility | |
|---|---|---|---|
| Job (Job Posting) | Job1:1 | Fully supported | |
| Candidate | Candidate1:1 | Fully supported | |
| Pipeline Stage | Pipeline Stagelossy | Fully supported | |
| Scorecard | Associated Custom Fields (Candidate level)lossy | Fully supported | |
| Candidate Questionnaire | Associated Custom Fields1:1 | Fully supported | |
| Culture Profile | Note or Career Page Assetlossy | Fully supported | |
| Hiring Team | Assignee1:1 | Mapping required | |
| Company (Candidate employer) | Company1:1 | Fully supported | |
| Candidate Stage History | Activity Log / Candidate Timelinelossy | Fully supported | |
| Candidate Automation | Not migratable (configuration)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.
VivaHR gotchas
No publicly documented API for bulk exports
Fillable PDF forms not supported on the platform
First-time job posting approval delay
Product name inconsistency across web properties
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
VivaHR export preparation and data discovery
We work with the customer's VivaHR account to generate all available CSV exports: candidate records (full profile export), job postings, pipeline stage history, scorecard ratings, and hiring team assignments. VivaHR's manual export interface requires account-level navigation per report type, so we provide the customer with a step-by-step export checklist. We simultaneously document the VivaHR pipeline structure (stage names, counts, probabilities) and any active candidate automations. This phase typically takes three to five business days depending on data volume and customer availability. The output is a set of normalized CSV files ready for transformation.
Data normalization and Recruit CRM schema preparation
We normalize the exported VivaHR data into the structure expected by Recruit CRM's REST API. This includes parsing candidate email addresses as the primary dedupe key, resolving company names to Recruit CRM Company records, mapping pipeline stage names to Recruit CRM stage identifiers, and formatting scorecard ratings as associated custom field values. We create the matching custom field definitions in Recruit CRM (using the associated fields API) before any data is loaded. This ensures that field IDs are available for the candidate import step. We also provision any missing Recruit CRM user accounts referenced in the Hiring Team data.
Recruit CRM API connection validation
We authenticate to Recruit CRM using bearer token credentials and validate connectivity to the key endpoints: GET /v1/candidates for candidate read-back, POST /v1/jobs for job creation, and POST /v1/candidates/associated-field for custom field population. We test rate limit responses by sending a small batch of test records and measuring throttle behavior. Recruit CRM's documented API supports standard REST operations; we confirm that the customer's API key has sufficient quota for the migration batch size before proceeding.
Staging migration and reconciliation
We run a full migration into the customer's Recruit CRM staging environment using a representative sample of VivaHR data (at minimum 10% of total record volume or 500 records, whichever is larger). We validate that candidate records appear correctly in Recruit CRM with proper field population, that associated custom fields (scorecards, questionnaire responses) are populated under the correct field IDs, that company records are linked to candidate profiles, and that pipeline stage assignments reflect the original VivaHR stage. The customer reconciles a spot-check sample against the source VivaHR data and signs off the staging results before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Companies first (since candidates reference them), then Jobs, then Candidates with their job associations and stage history, then associated custom fields (scorecard ratings and questionnaire responses) via the per-candidate-job endpoint, then hiring team assignments as Assignee and Owner references. Each phase emits a row-count reconciliation report. We freeze VivaHR data entry during the final cutover window (typically a 24-48 hour period) and run a delta migration to capture any records modified since the initial export.
Cutover, validation, and automation inventory delivery
We enable Recruit CRM as the system of record and disable write access to VivaHR. We run a final validation against the original VivaHR export to confirm record counts match and a random sample of 25-50 records passes field-level reconciliation. We deliver the candidate automation and sequence inventory document to the customer's admin team, along with a field mapping reference sheet for any post-migration custom field adjustments. We support a five-business-day hypercare window for reconciliation issues raised during the first week of Recruit CRM use. We do not rebuild VivaHR automations as Recruit CRM automations inside the migration scope; that is a separate rebuild engagement.
Platform deep dives
VivaHR
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 VivaHR 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
VivaHR: Not publicly documented — confirm with VIVAHR support during scoping..
Data volume sensitivity
VivaHR 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 VivaHR to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.
Walk through your VivaHR 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 VivaHR
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.