HRMS migration
Field-level mapping, validation, and rollback between Kula and Recruit CRM & ATS. We move data and schema; workflows are rebuilt natively in Recruit CRM & ATS.
Kula
Source
Recruit CRM & ATS
Destination
Compatibility
11 of 12
objects map 1:1 between Kula and Recruit CRM & ATS.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Kula to Recruit CRM shifts from an AI-first ATS built for mid-market tech teams to a recruitment-agency CRM focused on candidate pipeline management, client relationships, and placement tracking. The migration centers on resolving Kula's Candidate-to-Job application model against Recruit CRM's candidate database structure, where the same candidate record can link to multiple jobs and clients. Kula's AI resume scores and interview summaries carry over as static text fields because Recruit CRM does not expose an equivalent scoring engine via API. Pipeline stages, custom fields, tags, and interviewer assignments require field-by-field mapping during scoping. We do not migrate Kula's career site configurations, outreach templates with conditional logic, or workflow automations; these require manual rebuild in Recruit CRM or are excluded from standard scope entirely.
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 Kula 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.
Kula
Candidate
Recruit CRM & ATS
Candidate
1:1Kula Candidate records map directly to Recruit CRM Candidate records. Contact information, work history, sourced profile data, and tags transfer as standard fields. Kula's AI-generated resume scores transfer as read-only text fields (not live metrics) because Recruit CRM has no equivalent scoring engine. Candidate status from Kula (active, archived, disqualified) maps to Recruit CRM's status field with a custom status_reason field preserving the original Kula value.
Kula
Job
Recruit CRM & ATS
Job
1:1Kula Job records (requisitions) map to Recruit CRM Job records with stage pipeline, assigned team members, and interviewer pool references transferred. Active versus closed status is preserved. Job type, location, and salary range fields map to Recruit CRM's equivalent structured fields. Kula's job-specific custom fields transfer to Recruit CRM job-level custom fields, created during the schema configuration phase before data import.
Kula
Application
Recruit CRM & ATS
Candidate-to-Job Link
1:1Kula Application records (linking a Candidate to a Job) map to Recruit CRM's candidate-job association model. Source attribution (direct, referral, sourced-linkedin), submission date, current stage, and any rejection or offer outcome transfer as structured fields on the candidate-job link. Stage progression history is preserved as a series of status-change timestamps on the link record.
Kula
Interview
Recruit CRM & ATS
Interview
1:1Kula Interview records (scheduled rounds, interviewer assignments, and feedback) map to Recruit CRM Interview records. We transfer interviewer names, scheduled date and time, interview type, and reviewer notes. Note that Kula's availability-aware scheduling engine does not have a Recruit CRM equivalent; scheduling rules and interviewer availability settings are destination-dependent and must be reconfigured post-migration. Deleted meetings do not sync back from Google Calendar to Recruit CRM; this is a known limitation documented in Recruit CRM's own community forums.
Kula
Scorecard
Recruit CRM & ATS
Interview Evaluation
1:1Kula scorecard templates and submitted evaluations map to Recruit CRM interview evaluation records. We transfer reviewer name, evaluation date, rating values, and reviewer notes as structured text. Scorecard templates themselves (the rating criteria definitions) do not have a direct Recruit CRM equivalent and are documented as a configuration requiring manual rebuild in Recruit CRM's evaluation setup area.
Kula
AI Summary
Recruit CRM & ATS
Candidate Note (static)
1:1Kula AI-generated interview summaries transfer as static Note records attached to the candidate or interview in Recruit CRM. These are preserved as reference text, not as linked metrics or scores. The original Kula AI score (numeric or tiered) transfers to a custom number field on the candidate record for reporting purposes, but the score does not trigger any Recruit CRM workflow or ranking behavior.
Kula
Pipeline Stage
Recruit CRM & ATS
Job Stage
lossyKula customizable pipeline stages per job are extracted from the source instance. We recreate an equivalent stage configuration in Recruit CRM by creating matching job stages in the order defined in Kula, preserving stage names and probability values where Kula exposes them. Any non-standard stages (stages with custom skip logic or conditional advancement rules) are flagged for manual review because such rules do not transfer.
Kula
Custom Field
Recruit CRM & ATS
Custom Field
1:1Both Kula and Recruit CRM support custom fields on Candidates, Jobs, and Applications. We extract the custom field definitions and values from Kula, then map them to Recruit CRM custom fields created during schema configuration. Field types are mapped (Kula text to Recruit CRM text, Kula number to Recruit CRM number, Kula date to Recruit CRM date). Custom fields without a clear Recruit CRM equivalent are flagged and stored as text notes for customer review.
Kula
Tag
Recruit CRM & ATS
Tag
1:1Kula tags applied to candidates (referral, sourced-linkedin, screening-pass, etc.) transfer as tags or custom properties in Recruit CRM. We preserve the tag label and apply it to the corresponding candidate record. Recruit CRM imposes tag name and count limits at certain subscription tiers; we flag any tag that exceeds those limits for customer review and tag consolidation strategy.
Kula
User / Team Member
Recruit CRM & ATS
User
1:1Kula recruiter owners, hiring managers, and interviewers map to Recruit CRM User records resolved by email match. We extract every distinct user referenced on Jobs, Applications, Interviews, and Scorecards and match against the Recruit CRM user list. Any Kula user without a matching Recruit CRM account is held in a reconciliation queue for the customer's admin to provision before record import resumes.
Kula
Interviewer Pool
Recruit CRM & ATS
Interviewer Assignment
1:1Kula interviewer pool membership records transfer as individual interviewer assignments on the relevant job or interview in Recruit CRM. Scheduling rules and availability windows managed in Kula's interviewer pool do not transfer because Recruit CRM lacks an equivalent scheduling-balance feature. The customer's Recruit CRM admin rebuilds interviewer availability settings post-migration.
Kula
Email / SMS Template
Recruit CRM & ATS
Email Template
1:1Kula outreach templates used in automated candidate communication can be exported and mapped to Recruit CRM email templates. Rich formatting and conditional merge field logic may require manual reconstruction in Recruit CRM's template editor. We document the original template structure and flag any templates with complex conditional logic for admin rebuild.
| Kula | Recruit CRM & ATS | Compatibility | |
|---|---|---|---|
| Candidate | Candidate1:1 | Fully supported | |
| Job | Job1:1 | Fully supported | |
| Application | Candidate-to-Job Link1:1 | Fully supported | |
| Interview | Interview1:1 | Fully supported | |
| Scorecard | Interview Evaluation1:1 | Fully supported | |
| AI Summary | Candidate Note (static)1:1 | Fully supported | |
| Pipeline Stage | Job Stagelossy | Fully supported | |
| Custom Field | Custom Field1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| User / Team Member | User1:1 | Fully supported | |
| Interviewer Pool | Interviewer Assignment1:1 | Fully supported | |
| Email / SMS Template | Email Template1: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.
Kula gotchas
AI-generated scores do not carry over as live metrics
Reporting exports require a separate manual step
Frequent platform updates can change field behavior
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 Kula instance across candidates, jobs, applications, interviews, scorecards, custom fields, tags, and user assignments. We document pipeline stage names and ordering, any custom stage advancement rules, AI score field locations, and interviewer pool configurations. We pair this with a Recruit CRM destination audit of existing fields, custom field capacity, tag limits, and user accounts. The discovery output is a written migration scope document listing every object, field, and dependency requiring mapping or rebuild.
Schema configuration in Recruit CRM
We create the destination schema in Recruit CRM before any data moves. This includes creating any custom fields on Candidate, Job, and Application records that correspond to Kula custom fields, recreating pipeline stage configurations with names and ordering matched to Kula, and setting up interview evaluation criteria that correspond to Kula scorecards. Tag consolidation occurs here if Kula tags exceed Recruit CRM tag limits. User accounts in Recruit CRM are validated or provisioned to match the Kula user list resolved by email.
Data validation and pre-cleaning
We run a data quality audit against Kula's candidate, job, and application records before migration. Duplicate candidates (same email, different records), records with missing required fields in Recruit CRM, and orphaned records (interviews linked to deleted candidates) are flagged in a pre-cleaning report. The customer reviews and resolves duplicates, fills missing required fields, and confirms how to handle orphaned records. This step prevents import rejections and reduces post-migration cleanup workload.
Sandbox migration and reconciliation
We run a full migration into a Recruit CRM staging environment using production-like data volume. The customer's recruiting operations lead reconciles record counts (candidates in, jobs in, applications in, interviews in), spot-checks 25-50 records against the Kula source, and validates that pipeline stages, tags, and interview assignments transferred correctly. Any mapping corrections and schema adjustments happen in this phase. Sign-off on the sandbox migration unlocks production migration.
Production migration in dependency order
We run production migration in record-dependency order: Recruit CRM Users first (validated from Kula user list), then Candidates (with AI scores and tags preserved), then Jobs (with stage configurations), then Applications (with candidate-to-job links and stage history), then Interviews (with interviewer assignments), then Scorecards and AI summaries (as notes and evaluation records), then custom fields last. Each phase emits a row-count reconciliation report. Any records that fail import are logged with error reason for resolution before the next phase begins.
Cutover, validation, and admin rebuild handoff
We freeze Kula writes during the cutover window, run a final delta migration of any records modified during the migration window, then set Recruit CRM as the system of record. We deliver a written inventory of Kula workflow automations, outreach templates with conditional logic, interviewer pool scheduling rules, and career site configurations requiring manual rebuild in Recruit CRM. We support a one-week post-migration window for reconciliation issues raised by the recruiting team.
Platform deep dives
Kula
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 Kula 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
Kula: Not publicly documented.
Data volume sensitivity
Kula exposes a bulk API — large-volume migrations stream efficiently.
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 Kula to Recruit CRM & ATS migration scoping. Not seeing yours? Book a call.
Walk through your Kula 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 Kula
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.