HRMS migration
Field-level mapping, validation, and rollback between Built and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
Built
Source
Crelate
Destination
Compatibility
6 of 13
objects map 1:1 between Built and Crelate.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Built and Crelate serve different primary functions: Built automates org chart generation from HRIS feeds for mid-market HR teams, while Crelate is a recruiting ATS and CRM built for staffing and recruiting firms. Migrating from Built to Crelate means taking an employee directory with a live hierarchy and mapping it into a candidate and client database. The core challenge is that Crelate's People object is the flexible container, but org chart visualization is not native to Crelate. We preserve the manager-employee relationship as structured data on each People record so the hierarchy is queryable even if it requires a third-party org chart tool to render visually. Custom fields from Built migrate as Crelate custom fields on People. We do not migrate Built's ADP sync configuration, visual org chart renders, or workflow automations; these require rebuild or manual reconfiguration in Crelate.
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 Built 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.
Built
Employee
Crelate
People
1:1Built Employee records map to Crelate People records. Each Employee's name fields, job title, employment type, and start date migrate as standard or custom fields on the People record. The Employee's unique ID in Built is preserved as a custom field built_employee_id__c for reconciliation. If the organization uses Crelate to track both current employees and candidates, the migrated People records are tagged with a custom status field to distinguish them from recruiting candidates.
Built
Department
Crelate
Custom Field on People
lossyBuilt Department records do not map to a standalone Crelate object because Crelate does not have a native Department object. Instead, we store the department name as a custom picklist field on the People record. The department head assignment (stored in Built as a manager reference) migrates as a separate People-to-People lookup field if Crelate's schema supports lookup relationships on People, or as a custom text field referencing the manager's name if the schema does not support cross-record lookups.
Built
Location
Crelate
Custom Field on People
lossyBuilt Location records represent office sites or remote-work designations. Crelate does not have a native Location object, so we store location as a custom picklist or text field on the People record. We extract the full location schema during scoping and compare it against Crelate's available field types to choose between picklist (for a finite set of offices) or text (for ad-hoc locations). Remote-work designations are preserved as a separate boolean or picklist value in the same field.
Built
Job Title
Crelate
Custom Field on People
1:1Built stores job title as a free-text field on the Employee record. It migrates directly to a custom text field on the Crelate People record. No transformation is required because job title is a standard free-text field in both platforms. If the destination Crelate org uses a standardized job title taxonomy, we can apply a lookup or picklist during migration, but this requires the customer to provide the title standardization map during scoping.
Built
Employment Type
Crelate
Custom Field on People
1:1Built tracks full-time, part-time, contractor, and temporary employment types as an enumerated property on the Employee record. These values map directly to a Crelate custom picklist field on People with equivalent values. We verify the destination picklist values during scoping and add any missing values to Crelate before migration so no records land with null employment type.
Built
Manager Assignment
Crelate
Manager Lookup on People
lossyBuilt stores manager assignment as an Employee-to-Employee relationship rather than a standalone field. Crelate People records support a Manager reference field pointing to another People record. We perform a two-pass migration: first loading all People base records with name and contact data, then resolving manager references using the destination-assigned People IDs. Circular manager assignments (Employee A manages Employee B who manages Employee A) are detected and flagged before the second pass runs to prevent impossible hierarchies from being created.
Built
Employee Start Date
Crelate
Custom Date Field on People
1:1Built preserves each Employee's effective start date as a date field. This migrates to a custom date field on the Crelate People record, preserving the original date for tenure calculation and reporting. If Built stores a hire date and a start date (which can differ for conditional hires), we map both to separate custom date fields on People.
Built
Employee Status
Crelate
Custom Field on People
lossyBuilt tracks active and inactive status on Employee records. We map this to a custom picklist field on Crelate People with values for Active, Inactive, On Leave, and Terminated. If the organization uses additional status values in Built (such as a custom probationary status), we add these to the destination picklist during schema creation before migration begins.
Built
Custom Fields (Employee)
Crelate
Custom Fields on People
lossyBuilt organizations can define custom properties on Employee records, and these are not always visible in the admin UI without browsing individual profiles. We extract the full custom field schema by querying the Built API at the start of migration and comparing against the standard Employee fields to build a complete field list. Each custom field is created in Crelate as a matching custom field on People before migration begins. Data type mapping follows: text to text, number to number, date to date, and picklist to picklist.
Built
Built Company Data
Crelate
Client/Company in Crelate
1:manyIf Built stores organization-level company data (such as the parent organization name or company-level custom fields), this maps to Crelate's Client or Company object if present in the destination Crelate org. We check for the existence of a Company or Client object during scoping and configure the mapping accordingly. If no Company object exists in the destination Crelate configuration, company-level data is stored as fields on the People record.
Built
ADP Sync Fields
Crelate
Custom Fields on People
lossyBuilt's ADP integration pulls employee data from ADP's export fields, which do not always use the same names as equivalent fields in the destination HRMS. The preferred name field is a documented example: Built surfaces it from ADP but it is not enabled by default and requires a manual toggle in the Imports section of Company Settings. We check this configuration during migration scoping, explicitly enable any ADP fields the customer wants migrated, and create corresponding custom fields in Crelate so the data lands rather than arriving blank.
Built
Org Chart Visualization
Crelate
Not Migrated (Manual Rebuild)
1:1Built's org chart is a visual rendering of the underlying Employee hierarchy data, not a separate data object. When migrating from Built, we extract the underlying Employee records with manager relationships intact as structured data on People records. The visual org chart itself does not migrate. After cutover, the customer can use Crelate's reporting and People records to rebuild the org chart view using a third-party org chart tool or a manual configuration. The underlying manager-employee relationship data is fully preserved and queryable in Crelate.
Built
Employee Attachments
Crelate
Documents on People
1:1Built stores documents and files against Employee profiles, but attachments are not included in the standard API export. This is a documented limitation of Built's export mechanism. If the customer requests attachment migration, we coordinate a separate file-level export from Built support, extract files to a folder structure keyed by employee ID, and re-link them in Crelate as documents attached to the corresponding People records. This is a parallel file batch that runs outside the standard record migration and requires advance coordination with Built support.
| Built | Crelate | Compatibility | |
|---|---|---|---|
| Employee | People1:1 | Fully supported | |
| Department | Custom Field on Peoplelossy | Fully supported | |
| Location | Custom Field on Peoplelossy | Fully supported | |
| Job Title | Custom Field on People1:1 | Fully supported | |
| Employment Type | Custom Field on People1:1 | Mapping required | |
| Manager Assignment | Manager Lookup on Peoplelossy | Fully supported | |
| Employee Start Date | Custom Date Field on People1:1 | Fully supported | |
| Employee Status | Custom Field on Peoplelossy | Fully supported | |
| Custom Fields (Employee) | Custom Fields on Peoplelossy | Fully supported | |
| Built Company Data | Client/Company in Crelate1:many | Fully supported | |
| ADP Sync Fields | Custom Fields on Peoplelossy | Fully supported | |
| Org Chart Visualization | Not Migrated (Manual Rebuild)1:1 | Fully supported | |
| Employee Attachments | Documents on People1: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.
Built gotchas
ADP sync field names differ between source and destination
Manager relationships require two-pass import sequencing
Attachments and files are not included in standard API exports
Custom field schema is per-organization and not self-documenting
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 scoping
We audit the source Built environment across all Employee records, Department and Location assignments, manager relationships, custom field definitions, and any ADP sync field configurations. We extract the complete custom field schema by querying the API and comparing it against standard Employee fields. We assess total record volume, hierarchy depth (number of manager levels), and whether a separate attachment file export has been requested. The discovery output is a written migration scope document that maps each Built field to a Crelate custom field with the chosen field type, plus a manager resolution strategy and a timeline estimate.
Schema design in Crelate
We design the destination schema in Crelate before any data moves. This includes creating all required custom fields on the People object to match the Built custom field schema (with type-mapped Crelate field types), configuring the Manager lookup field if not already present, and adding picklist values for employment type, employee status, department, and location. We coordinate with the customer's Crelate admin to deploy the schema in a sandbox environment first for validation. Department and location data are treated as picklist or text fields on People since Crelate does not have native Department or Location objects.
Test migration in Crelate sandbox
We run a full test migration into Crelate's sandbox environment using production-like data volume. The customer's HR or operations lead spot-checks 25-50 randomly selected People records against the Built source to verify name accuracy, job title, employment type, start date, and department. Manager relationships are verified by tracing a sample of employees up and down the hierarchy. Any mapping corrections, missing picklist values, or schema issues are resolved in sandbox before production migration begins. Sign-off from the customer's HR lead is required before the production cutover date is set.
Production migration in dependency order
We run production migration in record-dependency order. First, we load all People base records with standard fields (name, email, phone, job title, employment type, start date) and store manager name as a temporary text field. Second, we resolve each manager name to the destination-assigned People ID and write the Manager lookup reference. Third, we load custom field data and ADP sync fields. Fourth, if a separate file export was completed, we batch-upload attachments and link them to the corresponding People records. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover and final validation
We freeze Built write access during cutover and run a final delta migration of any records modified during the migration window. We deliver a migration completion report with record counts by object, a sample of validated records, and a list of any records that could not be migrated with the reason for each exclusion. We provide a written organizational hierarchy document extracted from the manager relationships so the customer can recreate any org chart visualization in a third-party tool. We do not rebuild workflows, automations, or ADP sync configurations in Crelate scope; these require separate configuration post-migration.
Post-migration handoff
We provide a one-week hypercare window following cutover where we resolve any data quality issues raised by the customer's team. We do not rebuild Built's ADP sync configuration in Crelate as part of the migration scope; we document the ADP sync fields that were migrated so the customer's IT team can configure a new ADP integration in Crelate if needed. Org chart visualization rebuilding using a third-party tool is outside scope but we supply the complete manager-employee relationship data in a spreadsheet for manual upload if needed.
Platform deep dives
Built
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 Built 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
Built: Not publicly documented.
Data volume sensitivity
Built 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 Built to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your Built 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 Built
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.