HRMS migration
Field-level mapping, validation, and rollback between CatalystOne and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
CatalystOne
Source
Crelate
Destination
Compatibility
9 of 12
objects map 1:1 between CatalystOne and Crelate.
Complexity
BStandard
Timeline
4-6 weeks
Overview
CatalystOne organises HR data around Persons, Positions, Competencies, and Succession Plans — an employment lifecycle model. Crelate is a recruiting-focused ATS and CRM built around Contacts, Companies, Jobs, and Submissions. This is a domain-shift migration: we map Candidate and Contact records from Crelate into CatalystOne's Person and employment structure, preserving the original Crelate ID as a cross-reference field. Most field mapping is straightforward (name, email, phone, title), but tagging systems require picklist reconfiguration, application histories become activity notes, and custom fields demand a pre-migration schema discovery pass because CatalystOne does not publish its data model publicly. Workflows, automation rules, and email sequences do not migrate; we deliver a written inventory of active configurations for the customer's admin to rebuild in Crelate. The process follows standard ETL: extract via Crelate's REST API, transform against the mapping schema, and load using Crelate's import tools with test-then-production validation.
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 CatalystOne 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.
CatalystOne
Contact (Crelate candidate record)
Crelate
Person
1:1Crelate Contacts are the primary candidate record and map directly to CatalystOne Persons. We use email address as the dedupe key. Standard fields — FirstName, LastName, Email, Phone, Title, City, State, Country — map to equivalent Person attributes. The original Crelate Contact ID is stored in a custom field (e.g., crelate_contact_id__c) for cross-reference and reconciliation after cutover. Crelate's Candidate notes (boolean flag on Contact) maps to an active_candidate__c custom field on Person.
CatalystOne
Company
Crelate
Organisation / Department
1:1Crelate Company records map to CatalystOne Organisations. Company Name becomes the Organisation name; website becomes Organisation URL; industry maps to an industry picklist if configured in CatalystOne. Crelate's Company-level contacts are linked to the Organisation. If the customer uses Crelate's division or office structure, we map those to CatalystOne Departments and preserve the hierarchy as a separate mapping pass before Person import.
CatalystOne
Job (Crelate)
Crelate
Position
1:1Crelate Job postings map to CatalystOne Positions. Job Name becomes Position title; department and office assignments on the Job map to the Position's department and hierarchy fields. Crelate's job status (open, filled, cancelled) maps to an active_position flag in CatalystOne. We preserve the Crelate Job ID in a custom field on the Position for post-migration reconciliation. Positions created from filled jobs carry a filled_by reference to the Person record who was placed.
CatalystOne
Submission / Application
Crelate
Candidate Activity / Engagement Note
1:manyCrelate Submission records (a candidate applied to a job) have no direct CatalystOne equivalent because CatalystOne does not model a recruiting pipeline natively. We collapse submission history into Activity records attached to the Person, with the Activity type set to 'Application' and fields for original_job_title, submission_date, submission_status, and source_channel. This preserves the application timeline without forcing submission records into objects they do not fit.
CatalystOne
Activity: Email, Call, Meeting, Note
Crelate
Activity
1:1Crelate engagement records — email, call, meeting, note — map to CatalystOne Activity records. Activity type maps to the CatalystOne activity category; body/content maps to activity notes; date and time are preserved. We resolve the parent Person record by email lookup so each activity attaches to the correct employee record. Call duration and disposition migrate to custom activity fields where CatalystOne supports them.
CatalystOne
Task
Crelate
Activity
1:1Crelate Tasks map to CatalystOne Activity records with type set to 'Task'. Task status (open, completed), priority, due date, and assigned user migrate directly. We resolve the assigned user by email match against the Crelate user table and hold unresolved assignments in a reconciliation queue for the customer's admin to map before production import.
CatalystOne
Tag (Crelate tagging system)
Crelate
Custom Picklist Field
lossyCrelate's tag system (key-value pairs across default and custom tag categories) maps to CatalystOne custom picklist fields or text fields depending on whether the customer wants controlled vocabularies or free-form entry. We document the full set of Crelate tag categories during discovery and create equivalent picklist options in CatalystOne during schema configuration before data load. Tags used for candidate sourcing or skill identification are mapped first to ensure they are available as filterable fields in the destination.
CatalystOne
Custom Field (Contact-level)
Crelate
Custom Field on Person
1:1Crelate's custom Contact fields (Short Answer, Long Answer, Date, Numeric, Picklist, Monetary, Rating) map to equivalent custom fields on the CatalystOne Person object. We create the target custom fields in CatalystOne during the schema configuration phase before any Person data loads. Field types are matched directly where possible; Crelate rating scales (1-5 stars) map to numeric or picklist fields in CatalystOne depending on the customer's preferred display format.
CatalystOne
Custom Field (Company-level)
Crelate
Custom Field on Organisation
1:1Crelate Company custom fields map to custom fields on the CatalystOne Organisation object. We follow the same pre-migration schema creation approach used for Person custom fields, ensuring all target fields exist and are configured (required vs optional, picklist options, validation rules) before the Company import phase begins.
CatalystOne
Document / Attachment
Crelate
Document (Employee File)
1:1Crelate file attachments (resumes, cover letters, certifications) are exported as binary files with metadata (type, date uploaded, original filename). We attach these to the corresponding Person record in CatalystOne as employee documents with type classification. Resume files are mapped to the 'CV / Resume' document type; other file types are classified by extension and review against the customer's document type configuration. Binary files larger than 25 MB are flagged for alternative delivery because Crelate's import tools have file size constraints.
CatalystOne
Opportunity (Crelate placement tracking)
Crelate
Succession Plan / Position Note
lossyCrelate Opportunities track placement fees, client companies, and deal status. CatalystOne does not have a placement or deal-tracking object — its equivalent is the Succession Plan (position-to-candidate mapping with readiness rating). We handle this gap in two ways depending on the customer's need: if the goal is to preserve placement history, we create Succession Plan records linking the placed Person to the Position with the original fee as a custom note field; if placement records are purely commercial and not needed in the HCM, we document them in a delivered CSV for the customer's admin to retain externally.
CatalystOne
Custom Object
Crelate
Custom Object
1:1Crelate custom objects map to equivalent custom objects in CatalystOne. We pre-create the destination custom object schema, including all custom fields, lookup relationships to Person, Organisation, or Position, and validation rules, during the schema configuration phase. Lookup references are resolved at migration time using the dedupe key strategy (email for Person lookups, company name for Organisation lookups). If the destination custom object has required fields that cannot be populated from Crelate data, we set sensible defaults and flag the records for admin review post-migration.
| CatalystOne | Crelate | Compatibility | |
|---|---|---|---|
| Contact (Crelate candidate record) | Person1:1 | Fully supported | |
| Company | Organisation / Department1:1 | Fully supported | |
| Job (Crelate) | Position1:1 | Fully supported | |
| Submission / Application | Candidate Activity / Engagement Note1:many | Fully supported | |
| Activity: Email, Call, Meeting, Note | Activity1:1 | Fully supported | |
| Task | Activity1:1 | Fully supported | |
| Tag (Crelate tagging system) | Custom Picklist Fieldlossy | Fully supported | |
| Custom Field (Contact-level) | Custom Field on Person1:1 | Fully supported | |
| Custom Field (Company-level) | Custom Field on Organisation1:1 | Fully supported | |
| Document / Attachment | Document (Employee File)1:1 | Fully supported | |
| Opportunity (Crelate placement tracking) | Succession Plan / Position Notelossy | Fully supported | |
| Custom Object | Custom Object1: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.
CatalystOne gotchas
No public API documentation or schema reference
Workflow and automation rules are not API-accessible
No public pricing model requires sales engagement
Custom fields vary per customer and require schema discovery
Managed integration services tie data flows to CatalystOne operations
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 schema enumeration
We audit the source Crelate account across standard and custom Contact fields, Company fields, Job postings, tag categories, engagement types, custom objects, and document volumes. We pair this with a CatalystOne schema discovery pass: using the API access granted by the customer's technical contact, we enumerate all active Person, Organisation, and Position fields, their types, and any picklist values already configured. The discovery output is a written migration scope document listing all objects to migrate, the field-level mapping, and a list of fields that have no equivalent in the destination and require a disposition decision from the customer.
Schema design and field mapping specification
We design the target schema in Crelate for each source object. This includes creating custom fields on Person (matching Crelate's Contact custom field types), creating Organisation custom fields, configuring tag-category picklists, and mapping Opportunity and Submission records to their disposition approach (Succession Plan creation or CSV export). The mapping specification is reviewed with the customer before any data extraction or schema creation begins. We also document the CatalystOne workflow inventory at this stage for the customer's admin to use in Crelate rebuild planning.
Test migration and reconciliation
We run a full test migration using a Crelate sandbox or a representative data sample into a Crelate test environment. The customer's recruiting lead reconciles record counts (Contacts in, Organisations in, Persons in), spot-checks 25-50 random records against the CatalystOne source, and validates that custom fields, tags, and activities are populated correctly. Any mapping corrections — wrong field type, missing picklist option, incorrectly routed Submission record — are documented and applied to the production mapping before the production migration begins.
Owner and user reconciliation
We extract every distinct user referenced in Crelate activities, task assignments, and opportunity ownership. We match by email against the destination Crelate User table. Any CatalystOne user without a matching Crelate User record is held in a reconciliation queue for the customer's admin to provision before record import resumes. We also identify any inactive Crelate users referenced in historical records and set them to inactive status in the destination.
Production migration in dependency order
We run production migration in record-dependency order: Organisations first (Crelate Company → CatalystOne Organisation), then Persons (Crelate Contact → CatalystOne Person with OrganisationId resolved), then Positions (Crelate Job → CatalystOne Position), then Activities (engagement history via Bulk API with parent-record resolution), then Submissions (as Activity notes on Person), then Documents (file export and re-attachment), then Custom Objects (with lookup resolution). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation rebuild handoff
We freeze CatalystOne writes during cutover, run a final delta migration of any records modified during the migration window, then enable Crelate as the recruiting system of record. We deliver the CatalystOne workflow and automation inventory document to the customer's admin team. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's recruiting team. We do not rebuild CatalystOne workflows as Crelate automations inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
CatalystOne
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 CatalystOne 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
CatalystOne: Not publicly documented — typical SaaS limits assumed and confirmed during scoping.
Data volume sensitivity
CatalystOne 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 CatalystOne to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your CatalystOne 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 CatalystOne
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.