HRMS migration
Field-level mapping, validation, and rollback between SumTotal and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
SumTotal
Source
Crelate
Destination
Compatibility
9 of 12
objects map 1:1 between SumTotal and Crelate.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Migrating from SumTotal to Crelate is a cross-domain move from an HRMS and learning management system into a recruiting ATS and CRM. There is no native 1:1 object equivalence: SumTotal learners become Crelate candidates, training completions become skills and attached documents, and course metadata becomes searchable skill taxonomy. We handle the domain translation during scoping, pre-create the Crelate schema including all custom fields needed to carry training and compliance data, and load records in dependency order. We do not migrate SumTotal workflow automation rules, learner assignment rules, or compliance renewal logic as code; these are documented for your Crelate admin to rebuild or contract separately. The result is a Crelate database seeded with your SumTotal learner population, training history, and skills matrix so your recruiting team can work from a populated talent pool on day one.
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 SumTotal 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.
SumTotal
Learner (User)
Crelate
Candidate
1:1SumTotal learner records map to Crelate candidate profiles. We extract the primary fields (name, email, phone, location, department, job title) and preserve them as standard Crelate candidate fields. Custom profile fields defined in SumTotal (for example, certifications held, clearance level, or employment type) map to Crelate custom fields on the candidate record. Active status in SumTotal maps to Candidate status in Crelate; inactive and suspended learners are loaded as inactive candidates with a custom field sumtotal_original_status__c set for reconciliation. We resolve duplicate candidates by email address during import and flag any matches for admin review.
SumTotal
Learner (Inactive/Former)
Crelate
Candidate (Inactive)
1:1Former employees in SumTotal who may need to be re-recruited (rehired, boomerang employees) are loaded into Crelate as inactive candidates. The original hire date and termination date are stored as custom fields since Crelate's candidate model does not have native hire date fields. Any compliance certifications that remain valid post-termination are preserved so that rehired employees do not need to re-complete expired requirements. Records that are fully terminated with no rehire intent are excluded based on the scoping agreement.
SumTotal
Course
Crelate
Skill (Custom Field or Tag)
1:manySumTotal course records are not direct Crelate objects. We extract course metadata (course name, description, duration, category, metadata fields) and map course completions to Crelate skill entries on the corresponding candidate record. The course category taxonomy from SumTotal becomes a Crelate tag taxonomy that is searchable within Crelate's full-text and Boolean search. If the customer has a curriculum-based certification program, the curriculum name maps to a custom Skill Grouping field in Crelate so that related courses appear as a coherent skills cluster.
SumTotal
Curriculum
Crelate
Skill Grouping + Tag Set
lossySumTotal curricula bundle multiple courses into structured learning paths with ordering and deadline configurations. We export the curriculum-to-course associations and preserve the ordering as a Crelate custom field set (for example, curriculum_name__c, curriculum_order__c, curriculum_deadline__c) attached to each skill entry on the candidate record. The curriculum itself does not have a direct Crelate equivalent; the grouping is reconstructed through the tag and custom field structure. Curriculum-level deadline configurations do not migrate as automation rules; they are documented as manual reminders for the customer's talent team.
SumTotal
Training Record (Transcript)
Crelate
Custom Fields + Attachment on Candidate
1:1Training completions in SumTotal carry completion dates, scores, credit flags, and expiry dates. Crelate has no native training history object, so we store this data in two ways: completion date, score, and expiry date as custom fields on the Crelate candidate record (sumtotal_course_name__c, sumtotal_completion_date__c, sumtotal_expiry_date__c), and the full training transcript as a PDF attachment linked to the candidate via ContentDocumentLink. We validate completion timestamps against SumTotal backend records rather than mobile-flagged completions, since multiple reviewers report that mobile completion credits do not reliably propagate to the SumTotal backend.
SumTotal
Compliance Certification
Crelate
Custom Fields + Activity Record in Crelate
1:1Compliance certifications in SumTotal have expiry dates, renewal rules, and audit-trail metadata tied to regulatory contexts. We extract certification name, issue date, expiry date, issuing body, and certification number as custom fields on the Crelate candidate record. For certifications with renewal automation configured in SumTotal, we create a Crelate Activity record (type=Reminder) with the renewal date and a note referencing the SumTotal renewal rule so that the customer's admin can configure a Crelate workflow or calendar reminder. The renewal automation logic itself is not migratable and must be rebuilt in Crelate manually or through Crelate's professional services.
SumTotal
Performance Goal
Crelate
Custom Fields on Candidate or Activity Note
1:1Performance Goals are part of SumTotal's talent management module, which is gated behind enterprise tier licensing. We scope the export based on confirmed module availability during discovery. Where goals exist, we extract goal name, description, due date, status, and rating as Crelate custom fields on the candidate record, or as a linked Activity note. The goal hierarchy and alignment relationships that exist in SumTotal do not have a Crelate equivalent and are documented as-is for the customer's admin to reassign if relevant to the recruiting process.
SumTotal
Performance Review
Crelate
Attachment (PDF) on Candidate
1:1SumTotal performance reviews include 360-degree feedback, ratings, and reviewer assignments structured around organization-specific review templates. These are complex nested objects that vary significantly by organization. We extract review metadata (review period, overall rating, reviewer names, submission status) as Crelate custom fields, and attach the full review PDF as a candidate attachment. Review templates and scoring rubrics are documented separately for the customer's admin to configure in Crelate forms if they intend to run performance-based candidate evaluations.
SumTotal
Company (HRMS org record)
Crelate
Organization in Crelate
1:1SumTotal organizational units or affiliated organizations stored as companies in SumTotal map to Crelate Organizations. The organization name, address, and any associated custom fields migrate directly. Crelate Organizations are used to associate Candidates with their most recent or preferred employer, and to manage client relationships for staffing firms. We use organization name as the dedupe key during import.
SumTotal
SumTotal User (administrator)
Crelate
Crelate User
1:1SumTotal users with administrative roles map to Crelate Users who can administer the ATS. We extract user email, name, and role designation from SumTotal and create Crelate User invitations. SumTotal's role-based access control (RBAC) and permission sets do not have a direct Crelate equivalent; Crelate's team permission model is scoped differently and requires manual configuration by the customer's admin post-migration. We provide a written inventory of each SumTotal user's role and access scope for reference during Crelate permission setup.
SumTotal
Custom Fields (SumTotal user-defined properties)
Crelate
Custom Fields on Crelate Candidate, Contact, Organization
lossySumTotal custom field definitions (field name, type, required flag, validation rule, picklist values) are captured during discovery and recreated in Crelate as custom fields of the corresponding type. Crelate's supported custom field types include text, number, date, dropdown, checkbox, and currency. Custom field types that are not natively supported in Crelate (for example, SumTotal-specific complex validation rules) are recreated as text fields with documented input format so that the customer's admin can enforce validation manually or through a Crelate form. The full custom field schema is deployed before any candidate records are imported.
SumTotal
Workflow Assignment Rules and Automation Rules
Crelate
Documentation (no code migration)
1:1SumTotal learner assignment rules, deadline escalation workflows, and notification triggers are automation configuration objects, not data records. The REST API exports learner data and course records but does not export automation rules. We document every active SumTotal workflow with its trigger, conditions, actions, and schedule, and deliver this as a written workflow inventory. The customer's Crelate admin uses this document to configure equivalent reminders, notifications, or Crelate Business Development Workflows (available at Business Plus tier). We do not rebuild SumTotal workflows as Crelate automations inside the migration scope; that work is a separate engagement or internal admin task.
| SumTotal | Crelate | Compatibility | |
|---|---|---|---|
| Learner (User) | Candidate1:1 | Fully supported | |
| Learner (Inactive/Former) | Candidate (Inactive)1:1 | Fully supported | |
| Course | Skill (Custom Field or Tag)1:many | Fully supported | |
| Curriculum | Skill Grouping + Tag Setlossy | Fully supported | |
| Training Record (Transcript) | Custom Fields + Attachment on Candidate1:1 | Fully supported | |
| Compliance Certification | Custom Fields + Activity Record in Crelate1:1 | Fully supported | |
| Performance Goal | Custom Fields on Candidate or Activity Note1:1 | Fully supported | |
| Performance Review | Attachment (PDF) on Candidate1:1 | Fully supported | |
| Company (HRMS org record) | Organization in Crelate1:1 | Fully supported | |
| SumTotal User (administrator) | Crelate User1:1 | Fully supported | |
| Custom Fields (SumTotal user-defined properties) | Custom Fields on Crelate Candidate, Contact, Organizationlossy | Fully supported | |
| Workflow Assignment Rules and Automation Rules | Documentation (no code migration)1: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.
SumTotal gotchas
50,000 req/hour API rate limit can throttle large exports
Enterprise-tier gating on talent management objects
Mobile app completion credits not reliably propagated to backend
Cornerstone OnDemand acquisition introduces v1/v2 API duality
Workflow automation rules are configuration objects not exported via data API
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 module availability audit
We audit the source SumTotal tenant across licensing tier, active modules (LMS, Talent Management, Compliance), and API endpoint version. We confirm which SumTotal objects are accessible at the customer's current tier (Learners, Courses, Curricula, Training Records, Compliance Certifications, Performance Goals, Reviews) and which are gated. We also extract the custom field definitions for each accessible object, including field type, required flag, and any custom validation rules. This audit output is a written migration scope that itemises exactly what records will migrate, which records are excluded due to licensing constraints, and the full Crelate custom field schema required to carry SumTotal data.
Crelate schema design and custom field deployment
We design the Crelate destination schema to accommodate SumTotal's training and compliance data. This includes creating custom fields on the Candidate object for each SumTotal training record field (course name, completion date, score, expiry date), compliance certification fields (certification name, issue date, expiry date, issuing body, certification number), and performance data fields. Crelate custom fields are deployed via the Crelate Settings UI or API before any candidate records are imported. We also configure the Crelate tag taxonomy to carry SumTotal course category information as searchable tags on candidate records.
Sandbox migration and candidate profile validation
We run a full migration into Crelate's test environment using a representative sample of SumTotal records (typically 10% of total volume, minimum 500 learner records). The customer's talent team reconciles candidate profiles by spot-checking 25-50 records against the SumTotal source, verifying that training history, compliance certifications, and skills tags appear correctly in Crelate. We validate that custom fields are correctly typed and that attachments (training transcripts, compliance certificates) are linked to the right candidate records. Any schema corrections, field mapping errors, or data-quality flags are resolved here before production migration begins.
Full data extraction from SumTotal
We extract all SumTotal records using the confirmed API version (v1 or v2). We pace requests below SumTotal's 50,000 req/hour ceiling and chunk large record sets across multiple export windows. Mobile-flagged completion records are reconciled against backend completion records before export. Any records that return as inactive, suspended, or without a valid email address are placed in a quarantine set for customer review. Compliance certification records are extracted with full expiry and renewal metadata. Performance Goal and Review records are extracted as raw JSON with attached PDF documents where available.
Production migration in record order
We run production migration in this order: Crelate Organizations (from SumTotal companies), Crelate Candidate records (from SumTotal active learners), Crelate Custom Fields populated from SumTotal training records and compliance certifications, Crelate Activity records for SumTotal training reminders and renewal dates, Crelate User invitations for SumTotal administrators, and finally Crelate attachments (training transcript PDFs, compliance certificates, performance review PDFs). Each phase emits a row-count reconciliation report showing records attempted, records succeeded, records quarantined, and duplicates merged. The customer's talent team reviews the reconciliation report before sign-off.
Cutover, validation, and documentation handoff
We freeze SumTotal write access during the cutover window, run a final delta migration for any records modified during the migration window, then enable Crelate as the recruiting system of record. We deliver the Workflow and Automation Inventory document to the customer's Crelate admin, itemising every SumTotal learner assignment rule and notification workflow with a recommended Crelate equivalent. We support a one-week hypercare window for data-quality issues raised by the talent team. We do not rebuild SumTotal automation rules as Crelate Business Development Workflows inside the migration scope; that is a separate engagement or internal admin task.
Platform deep dives
SumTotal
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 SumTotal 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
SumTotal: 50,000 requests per hour per tenant across all REST APIs, with some individual endpoints carrying lower per-endpoint limits documented in the Swagger.
Data volume sensitivity
SumTotal 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 SumTotal to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your SumTotal 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 SumTotal
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.