HRMS migration
Field-level mapping, validation, and rollback between PeopleForce and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
PeopleForce
Source
Crelate
Destination
Compatibility
5 of 14
objects map 1:1 between PeopleForce and Crelate.
Complexity
BStandard
Timeline
3-5 weeks
Overview
PeopleForce is an all-in-one HRMS covering the full employee lifecycle from onboarding through performance reviews and leave management. Crelate is a talent acquisition and recruitment platform (ATS + CRM) built for staffing agencies and in-house recruiting teams. These platforms serve fundamentally different primary use cases, which means a migration from PeopleForce to Crelate is scoped to the recruiting and employee-record overlap: Employees, Profiles, Vacancies, and Documents. Leave policies, performance review cycles, onboarding and offboarding checklists, recognition records, and PeopleForce Workflows do not have direct Crelate equivalents and are documented as excluded scope with written inventories delivered to the customer. We handle the PeopleForce 300 request-per-minute API rate limit with pacing and exponential backoff, resolve manager-employee lookups across the Contact object, and migrate vacancy pipeline stages into Crelate Job records.
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 PeopleForce 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.
PeopleForce
Employee
Crelate
Contact
1:1PeopleForce Employee records map to Crelate Contact records. We extract all standard fields (name, email, phone, hire date, employment status, department, manager) and map them to the corresponding Crelate Contact fields. The manager relationship resolves to a Contact lookup using the manager's email as the dedupe and match key. Active and inactive status migrates; status labels are preserved in a custom field pf_original_status__c for audit. Custom fields on the Employee object are mapped to Crelate custom fields on Contact under Core Records settings.
PeopleForce
Employee Profile
Crelate
Contact
lossyPeopleForce profile photos, bio data, emergency contacts, and skills live as sub-objects under Employee. We migrate bio text and emergency contact information into Crelate Contact fields where supported, and store structured profile data in a custom field set or serialized JSON in a Crelate long-text custom field. Profile photos do not migrate automatically; we deliver a file inventory with filename mapping for manual re-upload if photos are required in Crelate.
PeopleForce
Position
Crelate
Contact (Job Title field)
1:1PeopleForce Positions capture job title, department, employment type, and effective dates per employee. Job title maps to Contact.JobTitle, department maps to a Crelate custom picklist field pf_department__c, and employment type maps to a custom picklist field pf_employment_type__c. Effective dates for position history are stored as a custom text or JSON field since Crelate Contact does not natively support position effective-date timelines.
PeopleForce
Recruitment / Vacancy
Crelate
Job
1:1PeopleForce PeopleRecruit vacancies map to Crelate Job records. Vacancy name becomes Job title, vacancy status maps to Job status (Open/Closed), and the PeopleForce pipeline stages map to Crelate pipeline stages or status values. Multiposting configurations and job board connections are not portable; we document them as configuration items for the Crelate admin to re-configure under Settings > Jobs > Pipelines.
PeopleForce
Application
Crelate
Candidate
1:1PeopleForce applications submitted against vacancies map to Crelate Candidate records linked to the corresponding Job. Application status (new, screening, interview, offer, hired, rejected) maps to Crelate Candidate status values. Candidate contact information is merged into the Contact record; the Candidate record tracks the application-specific timeline against the Job. We resolve duplicate Contacts by email match during Candidate import.
PeopleForce
Documents
Crelate
ContentDocument / Attachment
1:1PeopleForce employee documents (contracts, ID copies, certifications) are stored per Employee record. Document metadata (filename, file type, upload date, related employee) migrates into Crelate as ContentDocument records linked to the Contact. The actual file content migrates via Crelate's document storage where accessible, or is delivered as a file package with a document mapping index for manual re-upload if the PeopleForce API does not expose binary file content directly.
PeopleForce
Leave Policy
Crelate
(not migrated)
lossyLeave policies, accrual rules, and balance data have no Crelate equivalent. Crelate is an ATS and recruiting CRM with no leave management module. We inventory all active leave policies with their type, accrual rate, and carry-over rules as a structured written document for the customer's HR admin to evaluate HRMS alternatives (BambooHR, Factorial, HiBob) or a dedicated leave management integration post-migration.
PeopleForce
Leave Request
Crelate
(not migrated)
lossyLeave request history (approved, pending, denied) is not migrated because Crelate has no leave request object. Historical leave request data is exported as a CSV report from PeopleForce, delivered as a supplementary data file, and stored alongside the migration package for audit or HR reporting purposes if required.
PeopleForce
Performance Review
Crelate
(not migrated)
lossyPerformance review cycles, review forms, submitted feedback, and scores have no Crelate equivalent. Crelate ATS does not include a performance review module. We export completed review records as structured data and deliver them as a written inventory document listing each review cycle, the form builder configuration, and the submitted scores, so the HR admin can evaluate Crelate integrations with performance tools (Lattice, 15Five, BambooHR Performance) as a separate post-migration step.
PeopleForce
Kudos / Recognition
Crelate
(not migrated)
lossyKudos records given between employees in PeopleForce are supplemental recognition data with no Crelate equivalent. These are exported as a supplementary CSV with sender, recipient, message, and timestamp, delivered as part of the migration package for the customer's records. If Crelate's Tags feature is in use, kudos data can be tagged on the relevant Contact records as a manual post-migration step.
PeopleForce
Onboarding Checklist
Crelate
(not migrated)
lossyOnboarding task templates and completion status from PeopleForce are not portable. The checklist templates are platform-specific and require re-implementation in Crelate or a dedicated onboarding workflow tool. We deliver a written inventory of all active onboarding checklists with task names, responsible parties, and due dates so the customer can configure Crelate Tasks or a third-party onboarding tool (Trakstar, BambooHR Onboarding) post-migration.
PeopleForce
Offboarding Checklist
Crelate
(not migrated)
lossyOffboarding checklists and completion records have no Crelate equivalent and are not migrated. Exit interview data and offboarding task completion are exported as structured CSV and delivered alongside the migration package. The customer can use Crelate Tasks for ad-hoc offboarding task tracking if needed, but this requires manual setup post-migration.
PeopleForce
Workflow
Crelate
(documented only)
lossyPeopleForce custom workflow triggers and automated sequences are built on the platform's attribute-based workflow engine and are not portable to Crelate. Crelate's Automation and Sequencing feature (available on Business Plus) uses a different trigger and action model. We deliver a written inventory of every active PeopleForce Workflow documenting its name, trigger conditions, actions, and the recommended Crelate Automation equivalent. The customer or a Crelate implementation partner rebuilds these post-migration.
PeopleForce
Custom Field (Employee-level)
Crelate
Custom Field (Contact-level)
lossyPeopleForce custom fields on Employee records are inventoried during discovery and mapped to Crelate custom fields on Contact. We match data types: PeopleForce text maps to Crelate Short/Long Answer, picklist maps to Crelate Picklist, date maps to Crelate Date Field, number maps to Crelate Numeric. The Crelate Logical Name (API field name) is set during custom field creation, and the mapping is validated against a sample of 25-50 records before full migration.
| PeopleForce | Crelate | Compatibility | |
|---|---|---|---|
| Employee | Contact1:1 | Fully supported | |
| Employee Profile | Contactlossy | Fully supported | |
| Position | Contact (Job Title field)1:1 | Fully supported | |
| Recruitment / Vacancy | Job1:1 | Fully supported | |
| Application | Candidate1:1 | Fully supported | |
| Documents | ContentDocument / Attachment1:1 | Mapping required | |
| Leave Policy | (not migrated)lossy | Fully supported | |
| Leave Request | (not migrated)lossy | Fully supported | |
| Performance Review | (not migrated)lossy | Fully supported | |
| Kudos / Recognition | (not migrated)lossy | Mapping required | |
| Onboarding Checklist | (not migrated)lossy | Fully supported | |
| Offboarding Checklist | (not migrated)lossy | Fully supported | |
| Workflow | (documented only)lossy | Fully supported | |
| Custom Field (Employee-level) | Custom Field (Contact-level)lossy | 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.
PeopleForce gotchas
Administrator-only data export gate
No native payroll module
300 req/min API rate limit on IP
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 scoping
We audit the PeopleForce tenant to identify which modules are in active use: Employee records, Profiles, Positions, Recruitment/Vacancies, Applications, Documents, Leave, Performance Reviews, Onboarding/Offboarding Checklists, Kudos, Workflows, and Custom Fields. We pair this with a Crelate tenant audit to confirm available custom fields, pipeline stages, and candidate status values. The discovery output is a written migration scope that explicitly separates migratable data (Employee, Position, Vacancy, Application, Document, Custom Field) from excluded scope (Leave, Performance, Onboarding/Offboarding, Kudos, Workflows) with CSV exports and written inventories for excluded data.
Data extraction from PeopleForce
We extract all migratable objects from PeopleForce via the REST API in dependency order: Employees and Profiles first (as the parent records), then Positions (linked to Employees), then Vacancies and Applications (linked to Vacancies), then Documents (linked to Employees). We handle the 300 request-per-minute rate limit with pacing and exponential backoff on HTTP 429 responses. All extraction runs against a non-production sandbox or test tenant where available to avoid production data mutation.
Crelate schema preparation
We pre-create all required Crelate custom fields on Contact and Job under Settings > Core Records before any data import. Custom field types are matched from PeopleForce (text, picklist, date, number) to Crelate equivalents (Short/Long Answer, Picklist, Date Field, Numeric). Job pipeline stages are mapped from PeopleForce vacancy stages to Crelate Job pipeline stages or status values. Schema is validated in Crelate test environment before production migration begins.
Sample migration and reconciliation
We run a sample migration of 25-50 records for each object type into a Crelate test environment. The customer's HR and recruiting leads review the mapped records for accuracy: Contact field completeness, manager lookup resolution, vacancy stage mapping, and document attachment naming. We correct any mapping errors before proceeding to full production migration. This step is critical because the PeopleForce-to-Crelate object model difference (HRMS vs ATS) means several field decisions are judgment calls that require customer sign-off.
Production migration in dependency order
We run production migration in strict dependency order: Contacts first (Employee and Profile data), then Jobs (Vacancy data), then Candidates (Application data linked to resolved Contacts and Jobs), then Document metadata (linked to Contacts via ContentDocument). Custom fields are populated during each phase. Each phase emits a row-count reconciliation report showing records attempted, records succeeded, and records held for retry due to lookup failures or validation errors.
Excluded data handoff and post-migration support
We deliver the migration package including all migrated records in Crelate, supplementary CSV exports of excluded data (leave history, performance reviews, kudos), and a written workflow inventory document. We support a one-week hypercare window to resolve any data quality issues identified during the first week of Crelate production use. We do not rebuild PeopleForce Workflows in Crelate Automation; that is a separate engagement for the customer's Crelate admin or implementation partner.
Platform deep dives
PeopleForce
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 PeopleForce 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
PeopleForce: 300 requests per minute per requesting IP address.
Data volume sensitivity
PeopleForce 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 PeopleForce to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your PeopleForce 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 PeopleForce
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.