HRMS migration
Field-level mapping, validation, and rollback between Jobsoid and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
Jobsoid
Source
Crelate
Destination
Compatibility
10 of 13
objects map 1:1 between Jobsoid and Crelate.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Jobsoid to Crelate is an ATS-to-ATS migration with structural alignment at the object level but meaningful differences in how each platform handles pipeline stages, candidate-activity export, and organizational lookup values. Jobsoid stores candidates as the primary record with multi-job assignments and an Activity block embedded in the candidate profile; Crelate uses a unified People object and surfaces activities as independently linked records. We extract candidate profiles from Jobsoid's CSV export, decompose the embedded activity history into a normalized engagement table, map each Jobsoid pipeline stage to a Crelate workflow stage, and import via Crelate's CSV endpoint. Jobsoid's August 2025 announcement that it is evolving into Onstro — a multi-product connected environment spanning ATS, Helpdesk, and Projects — creates a platform-direction concern that independent recruiting teams and small agencies cite as a reason to evaluate alternatives now. Crelate's Business plan at $119 per user per month provides ATS, CRM, and analytics in one platform, which eliminates the need for a separate candidate relationship tool that Jobsoid-only shops often maintain.
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 Jobsoid object lands in Crelate, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Jobsoid
Candidate
Crelate
Person (People)
1:1Jobsoid Candidate records map to Crelate Person (People) objects. The Jobsoid candidate profile fields (name, email, phone, current title, current company, LinkedIn URL, source, rating, tags) map to corresponding Crelate Person fields. We preserve the Jobsoid candidate's primary job assignment and any secondary job assignments as Crelate Job Order links on the Person record. Jobsoid's multi-job assignment per candidate requires us to create multiple Person-to-Job-Order relationship records during import.
Jobsoid
Job Opening
Crelate
Job Order
1:1Jobsoid Job records map directly to Crelate Job Order. We extract job status (Open, Closed, On Hold, Draft), job title, job description, employment type, remote/hybrid/onsite designation, and the associated department and location. Jobsoid's custom job fields (configured via Settings > Job Openings > Custom Fields) map to Crelate custom fields on the Job Order object. The Jobsoid Job API (exposed publicly) allows us to pull published job data without requiring CSV export for this object type.
Jobsoid
Location
Crelate
Location
1:1Jobsoid Location lookup values map to Crelate Location records. Both platforms expose locations at the organization level. Jobsoid auto-resolves addresses via Google Maps; we carry over the full location record (city, state, country, address) and link them to the corresponding Crelate Job Orders during import. If Crelate's destination account uses a different location naming convention, we apply the agreed location mapping during the transform step.
Jobsoid
Department
Crelate
Category
1:1Jobsoid Departments map to Crelate Categories, which serve as the organizational classification for Job Orders. Both platforms expose departments at the organization level via lookup API. We migrate the full department list and reassign all affected Job Orders to their corresponding Crelate Category during import. Division and Function lookup values from Jobsoid map to Crelate custom picklist fields on Job Order where no native equivalent exists.
Jobsoid
Division
Crelate
Custom Field (Division)
lossyJobsoid Divisions represent top-level organizational units and are exposed as lookup values. We map Division values to a custom picklist or multi-select field on Crelate's Job Order object, depending on how Crelate is configured in the destination account. The customer chooses between a flat picklist or a hierarchical representation during scoping.
Jobsoid
Function
Crelate
Custom Field (Function)
lossyJobsoid Functions categorize job types (e.g., Engineering, Sales, Operations). We map Function values to a Crelate custom picklist field on Job Order. This field does not exist by default in Crelate; we create it during the destination schema configuration step if the customer's Jobsoid account uses Functions to classify roles.
Jobsoid
Candidate Source
Crelate
Source
1:1Jobsoid Candidate Source values (referral, job board, career site, direct application, etc.) map to Crelate Source values on the Person record. Source is a field on the candidate/Person rather than a standalone object in either platform. We map source values field-to-field but flag any unrecognised source labels in Jobsoid that have no matching Crelate value; these require the customer to create a corresponding Crelate source value or map to a default 'Other' value.
Jobsoid
Activity
Crelate
Activity (Task / Event)
1:1Jobsoid Activities (interview events, emails, notes, call records) are embedded in the candidate profile UI but are not exposed as a separate API resource. We extract activity text and timestamps from the candidate profile export block and decompose them into a normalized engagement table. We then map each engagement type to the corresponding Crelate Activity: interviews map to Events, emails and notes map to Tasks, and call records map to Tasks with a Call subtype. We preserve original timestamps and link each activity to the corresponding Person record via the WhoId relationship. The customer may also export candidate profiles as PDFs before migration to capture full activity history as a backup record.
Jobsoid
Pipeline Stage
Crelate
Workflow Stage
lossyJobsoid Pipelines use fully customizable stage names and counts per job or organization with no standard set. Crelate uses configurable Workflow stages tied to a workflow model. We work with the customer during scoping to define a stage mapping table: each Jobsoid pipeline stage maps to a corresponding Crelate Workflow stage. If Jobsoid has more stages than Crelate's configured workflow, we consolidate by mapping multiple source stages to a single destination stage based on the customer's process logic. This mapping is applied as a transform rule before CSV import into Crelate.
Jobsoid
Attachment / Resume
Crelate
Resume / Attachment
1:1Candidate profiles in Jobsoid contain uploaded files and resumes. We export binary attachments from Jobsoid separately from record data, maintaining the original filename and file type metadata. We re-attach each file to the corresponding Person record in Crelate during the post-record ingestion phase, using the candidate email address as the matching key. Large resume files may require chunked upload handling if Crelate's attachment limits are encountered.
Jobsoid
Custom Candidate Field
Crelate
Custom Field (Person)
1:1Jobsoid allows custom fields on candidate profiles. We migrate custom field values field-to-field where destination Crelate custom fields of the same name and type exist. We pre-create any missing Crelate custom fields (with the correct field type: text, number, date, picklist, checkbox, etc.) during the destination schema configuration step before candidate data ingestion begins. Custom fields with complex logic (e.g., dependent picklists) are flagged during scoping for manual configuration review.
Jobsoid
Interview Schedule
Crelate
Event
1:1Jobsoid integrates with email and calendar for interview scheduling; interview records appear as activities on the candidate profile. We extract interview dates, times, location or meeting link, interviewer name, and interview type from the candidate profile export block and map them to Crelate Event records. Calendar invite links (Google Meet, Zoom, Microsoft Teams) are preserved as the Event Location field. We do not migrate calendar invites as transferable objects; they require re-creation in the destination calendar system post-migration.
Jobsoid
Tag / Rating
Crelate
Tag / Rating
1:1Jobsoid supports tags and star ratings on candidate profiles. Tags migrate to Crelate's Tag system on the Person record. Ratings migrate to a Crelate custom numeric field (Rating scale) if the destination account uses a numerical rating model, or to a custom picklist if Crelate is configured with a named rating tier. We preserve the original values and confirm the mapping with the customer during the scoping call.
| Jobsoid | Crelate | Compatibility | |
|---|---|---|---|
| Candidate | Person (People)1:1 | Fully supported | |
| Job Opening | Job Order1:1 | Fully supported | |
| Location | Location1:1 | Fully supported | |
| Department | Category1:1 | Fully supported | |
| Division | Custom Field (Division)lossy | Fully supported | |
| Function | Custom Field (Function)lossy | Fully supported | |
| Candidate Source | Source1:1 | Fully supported | |
| Activity | Activity (Task / Event)1:1 | Fully supported | |
| Pipeline Stage | Workflow Stagelossy | Fully supported | |
| Attachment / Resume | Resume / Attachment1:1 | Fully supported | |
| Custom Candidate Field | Custom Field (Person)1:1 | Fully supported | |
| Interview Schedule | Event1:1 | Fully supported | |
| Tag / Rating | Tag / Rating1: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.
Jobsoid gotchas
No public Candidates API endpoint for write operations
Pipeline stage names and count vary per account
Activity history granularity is not independently exportable
Unlimited storage refers to file count, not retention policy
Crelate gotchas
120 req/min API rate limit throttles bulk migrations
20 custom field per-entity cap forces data model decisions
15,000-record export ceiling on single operations
Sequences and automation workflows do not migrate
API key is a querystring parameter, not a header
Pair-specific challenges
Migration approach
Discovery and data audit
We audit the source Jobsoid account across jobs (open, closed, draft), candidate volume, active pipeline count, custom fields (on candidates and jobs), location and department structure, and candidate source values. We review the Jobsoid pipeline stage configuration to produce a complete list of unique stage names across all jobs. We also assess whether any candidate records have embedded activity blocks that require profile-export extraction. The discovery output is a written migration scope document covering record counts per object, any schema gaps, and a proposed stage consolidation table for pipeline mapping.
Destination schema configuration in Crelate
We configure the destination Crelate account before any data ingestion. This includes creating any missing custom fields on the Person object (to match Jobsoid custom candidate fields), creating a custom Department or Function picklist on Job Order if Jobsoid uses those lookup values, configuring the Locations, and defining the Workflow stages that will receive the Jobsoid pipeline data. We align the Crelate workflow stage model with the stage consolidation table agreed upon during discovery. We configure field-level settings (required fields, picklist values, default values) to match the data being migrated.
Jobsoid data extraction
We extract data from Jobsoid in dependency order. Jobs are pulled via the Jobsoid Jobs API (publicly exposed). Locations, Departments, Divisions, and Functions are pulled via the Jobsoid Lookup API. Candidate records and their embedded activity blocks are extracted via CSV export from the candidate list view; for accounts with over 2,000 candidates, we split the export into multiple batches to avoid export timeout. We extract binary attachments (resumes, uploaded files) separately from the record data and associate them with candidate records using the candidate email address as the matching key.
Data transform and activity decomposition
We transform the extracted data into Crelate-compatible import format. For candidates, we map each Jobsoid field to its Crelate equivalent on the Person object. We decompose the embedded activity block from each candidate profile into a normalized engagement table with fields for activity type, timestamp, subject, body, and associated Job Order. We apply the pipeline stage consolidation mapping to each Jobsoid pipeline, producing Crelate workflow stage values. We resolve Jobsoid owner email addresses against the destination Crelate User list for owner assignment.
Test import and reconciliation
We run a full test migration into the destination Crelate account using production-like data volume. We import in dependency order: Locations, Categories, Job Orders, Persons, Activity records, and Attachments. The customer's recruiting lead spot-checks 20-30 random Person records and 10-15 Job Orders against the source Jobsoid data, verifying field values, pipeline stage mapping, activity history completeness, and attachment linkage. Any mapping errors, missing custom fields, or stage mapping gaps are corrected in the transform scripts and the test migration is re-run. The customer signs off on the test migration before production cutover begins.
Production cutover and post-migration verification
We freeze new writes in Jobsoid during the cutover window, run a final delta extraction of any records modified since the test migration, apply the same transform pipeline, and execute the production import in Crelate. We run a row-count reconciliation across all object types against the Jobsoid source counts and surface any discrepancies exceeding a 1% variance for manual review. We re-attach binary attachments to their corresponding Person records in Crelate. We do not migrate Jobsoid workflows, automations, or email sequences; we deliver a written inventory of every active Jobsoid workflow and automation with a description of what each does, so the customer's admin can rebuild them in Crelate's workflow engine post-migration. We provide a one-week hypercare window for reconciliation issues raised by the recruiting team.
Platform deep dives
Jobsoid
Source
Strengths
Weaknesses
Crelate
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 Jobsoid and Crelate.
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
Jobsoid: Not publicly documented.
Data volume sensitivity
Jobsoid 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 Jobsoid to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your Jobsoid to Crelate migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Jobsoid
Other ways to arrive at Crelate
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.