HRMS migration
Field-level mapping, validation, and rollback between JobScore and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
JobScore
Source
Crelate
Destination
Compatibility
12 of 14
objects map 1:1 between JobScore and Crelate.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from JobScore to Crelate is an ATS-to-combined-ATS-plus-recruitingCRM migration that requires resolving two structural gaps at the source. JobScore exposes only published jobs in its v2 REST API, so any Draft or Unpublished roles must be manually published before extraction or captured as a supplementary data package. JobScore's bulk import engine deduplicates Candidates by phone number and silently overwrites existing records on match; we detect every collision during scoping and present the customer with a skip, merge, or overwrite choice before any data moves. Crelate uses a Contact-centric data model with Job Orders as the position parent; Applications attach Candidates to Job Orders and carry the stage history and custom form responses. We map JobScore's five-stage pipeline (New, Active with optional sub-stages, Declined, Withdrawn, Hired) to Crelate's configurable pipeline stages, collapsing custom Active sub-stages into a single stage name and preserving the most recent sub-stage as a custom property on the Application record. Workflows, Sequences, and Email Automation do not migrate; we deliver a written inventory of every active automation for the customer's admin to rebuild in Crelate's Business Plus Automation and Sequencing module 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 JobScore 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.
JobScore
Candidate
Crelate
Contact
1:1JobScore Candidate records map directly to Crelate Contact. We carry name, email, phone, address, resume blob, tags, and notes. The JobScore uid is preserved as crelate_source_uid__c for audit traceability. Any phone-number collision detected during scoping is presented to the customer with a skip, merge, or overwrite choice before the import batch runs.
JobScore
Job
Crelate
Job Order
1:1JobScore Job records map to Crelate Job Order. We handle the published-job constraint by extracting all Job records from the admin panel before relying on the v2 API, then cross-referencing against the API export to surface any roles saved as Draft or Unpublished. Those missing roles are flagged for manual publication before migration or captured as a supplementary JSON package. Title, description, location, and status transfer to Crelate Job Order fields.
JobScore
Application
Crelate
Candidate to Job Order (Application)
1:1JobScore Application records (the join table linking Candidate to Job) map to Crelate's Application model. Stage history, application date, and custom form field responses migrate. The most recent Active sub-stage name from JobScore is preserved as a custom property on the Crelate Application record because Crelate does not natively support multi-level Active sub-stages.
JobScore
Interview
Crelate
Activity (Interview type)
1:1JobScore Interview records (date, interviewer assignment, interview type, outcome) map to Crelate Activity records with Activity Type set to Interview. Interviewer assignments migrate by resolving JobScore user uid to Crelate User email match. Interview notes and outcome ratings attach as Activity notes.
JobScore
Scorecard
Crelate
Activity Notes + Custom Fields
1:1JobScore Scorecard records (ratings, comments, interviewer uid) migrate as Activity notes on the parent Interview Activity in Crelate. Rating values and comment text are appended to the Activity note body with the interviewer name prefixed. Where Crelate custom fields exist for rating, we map ratings to those fields.
JobScore
Document (Resume, Cover Letter)
Crelate
Resume File (attached to Contact)
1:1JobScore Document blobs linked to Candidates or Applications export as binary attachments. We reattach them to the corresponding Crelate Contact record via the Resume Toolbox or as Document records linked via ContentDocumentLink. Parsed resume data (skills, experience) maps to custom Contact fields if configured.
JobScore
Location
Crelate
Location (on Job Order)
1:1JobScore Location records (address, city, state, country) map to the location fields on the Crelate Job Order. Remote, hybrid, and onsite designations migrate as a custom picklist field on Job Order.
JobScore
User / Employee
Crelate
User
1:1JobScore Users and Employees (interviewers, recruiters, owners) map to Crelate User records resolved by email match. Owner assignments on Jobs, Applications, and Interviews reference the resolved Crelate User. Any JobScore User without a matching Crelate User email goes to a reconciliation queue for admin provisioning before record import.
JobScore
Custom Application Form
Crelate
Application Form (Crelate)
lossyJobScore custom form field schemas (per-job custom fields and their types) extract from the source account and recreate as Crelate Application Forms. Crelate's field mapping feature allows form responses to copy directly to Contact, Company, or Opportunity fields; we configure these mappings during the development phase. Form-level field type conversion (text, number, date, picklist) is preserved.
JobScore
Tag
Crelate
Tag / Label (Contact)
1:1JobScore Tags (unlimited freeform labels on Candidates) map to Crelate Tags on Contact records. We preserve all tag associations per Candidate. Crelate's tag implementation is a simple label set; we do not convert tags to multi-select picklist fields unless the customer requests that configuration.
JobScore
Email Template
Crelate
Email Template
1:1JobScore Email Templates (body, subject, trigger conditions) export with template body and subject preserved. Crelate Email Templates are stored as platform templates and can be used with Automation & Sequencing on Business Plus tier. We deliver the template bodies as a package; Crelate does not preserve JobScore's native trigger conditions, which must be rebuilt in Crelate's automation module.
JobScore
Workflow Stage (Application Status)
Crelate
Pipeline Stage
lossyJobScore's five top-level stages (New, Active, Declined, Withdrawn, Hired) map to Crelate pipeline stages. Custom Active sub-stages collapse into a single 'Active' stage label in Crelate, with the most recent sub-stage name stored as a custom property on the Application record. Disposition codes from JobScore Application Statuses map to Crelate Status values for Declined and Withdrawn stages.
JobScore
Offer Field
Crelate
Offer Fields (Custom Fields)
1:1JobScore Offer Fields (standard and custom currency, date, number, text, and multiple-choice fields used in offer templates) map to Crelate custom fields on the Job Order or as separate offer-related custom fields if the destination org supports that object. Token mappings from offer templates are documented but not migrated as active template code.
JobScore
Job Feed / Careers Site
Crelate
Job Portal / Job Board Posting
1:1JobScore's published Job Feed URLs and career site job listings are validated against the extracted Job set as a completeness check. Crelate's Branded Job Portal replaces the JobScore careers site; we document the feed URL mappings for the customer's admin to reconfigure the destination job portal feeds post-migration.
| JobScore | Crelate | Compatibility | |
|---|---|---|---|
| Candidate | Contact1:1 | Fully supported | |
| Job | Job Order1:1 | Fully supported | |
| Application | Candidate to Job Order (Application)1:1 | Fully supported | |
| Interview | Activity (Interview type)1:1 | Fully supported | |
| Scorecard | Activity Notes + Custom Fields1:1 | Fully supported | |
| Document (Resume, Cover Letter) | Resume File (attached to Contact)1:1 | Fully supported | |
| Location | Location (on Job Order)1:1 | Fully supported | |
| User / Employee | User1:1 | Fully supported | |
| Custom Application Form | Application Form (Crelate)lossy | Fully supported | |
| Tag | Tag / Label (Contact)1:1 | Fully supported | |
| Email Template | Email Template1:1 | Fully supported | |
| Workflow Stage (Application Status) | Pipeline Stagelossy | Fully supported | |
| Offer Field | Offer Fields (Custom Fields)1:1 | Fully supported | |
| Job Feed / Careers Site | Job Portal / Job Board Posting1:1 | Mapping required |
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.
JobScore gotchas
Phone-number deduplication silently overwrites candidate records on import
Only published jobs surface in the API and job feeds
Job-count pricing model creates billing risk during high-volume hiring periods
v2 API rate limits are not publicly documented
Custom workflow stages live only in the Active branch — standard stages are locked
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 tier verification
We audit the source JobScore account across tier (Lite/Start/Scale/Enterprise), active job count, candidate volume, application count, interview records, scorecards, custom form schemas, disposition codes, and active email templates. We verify whether Enterprise-tier API access is available (required for efficient v2 API extraction) or whether we must rely on paginated export with undocumented rate limits. The discovery output is a written migration scope document covering record counts per object, any known unpublished jobs, phone-number collision count, and a Crelate tier recommendation based on the customer's user count and feature requirements.
Job completeness check and unpublished-role supplement
We run the JobScore v2 API job export and simultaneously extract the admin-panel job list. We cross-reference both to identify any Draft or Unpublished roles absent from the API response. The customer either publishes those roles (preferred) or we capture them manually as a supplementary JSON package. This step completes before any candidate or application extraction begins so that Application records have a complete Job uid reference for mapping.
Phone-number collision detection and customer decision
We query the full JobScore candidate set and identify every record where a phone number matches an existing record already slated for import. For each collision we present the customer with a documented choice (skip, merge, overwrite) and record the decision. The chosen strategy applies uniformly across the migration unless the customer specifies per-record handling. Collision decisions are locked before any import batches are built.
Crelate schema setup and Activity Form recreation
We configure the destination Crelate workspace before any data import. This includes creating or confirming the pipeline with stages mapped from JobScore's five-stage model, recreating JobScore custom application form schemas as Crelate Application Forms (with field mapping to Contact, Job Order, or Opportunity fields per the Crelate field mapping feature), configuring custom properties for JobScore Active sub-stage preservation, and setting up Crelate User records matched to JobScore Users by email. Schema setup deploys into the customer's Crelate sandbox or trial environment first for validation.
Sandbox migration and reconciliation
We run a full migration into the Crelate test environment using production-like data volume. The customer reconciles record counts (Contacts in, Job Orders in, Applications in, Interviews in), spot-checks 25-50 random records against the JobScore source, and reviews the stage mapping and custom form rendering. Any mapping corrections, missing fields, or schema adjustments happen in this phase before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Crelate Users (validated), Job Orders (from JobScore Jobs with published-job supplement resolved), Contacts (with tag and resume attachment), Applications (with stage and custom form responses, with sub-stage preserved as custom property), Interviews and Scorecards (as Activity records), and Email Templates (as a documented package for Crelate recreation). Each phase emits a row-count reconciliation report before the next phase begins. Owner assignments resolve by email match against the User table.
Cutover, validation, and automation rebuild handoff
We freeze JobScore writes during cutover, run a final delta migration of any records modified during the migration window, then enable Crelate as the system of record. We deliver the Email Template package, the Automation and Workflow inventory document, and the Offer Template field map to the customer's admin for rebuild in Crelate's Business Plus Automation & Sequencing module. We support a one-week hypercare window for reconciliation issues. We do not rebuild JobScore workflows or sequences as Crelate automations inside the migration scope; that is a separate engagement.
Platform deep dives
JobScore
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 JobScore 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
JobScore: Not publicly documented in v2 docs; v1 showed 3600 req/hr.
Data volume sensitivity
JobScore 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 JobScore to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your JobScore 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 JobScore
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.