HRMS migration
Field-level mapping, validation, and rollback between Webrecruit and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
Webrecruit
Source
Crelate
Destination
Compatibility
8 of 12
objects map 1:1 between Webrecruit and Crelate.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Webrecruit and Crelate take different structural approaches to recruitment data. Webrecruit organizes around Candidates, Jobs, and Applications with GDPR compliance flags embedded per candidate record; Crelate uses a unified Contact-Company-Opportunity model where candidate applications link to Opportunities as custom field data. We resolve that structural difference during scoping, map Webrecruit's fixed stage pipeline to Crelate's customizable stage values, and carry GDPR consent timestamps into Crelate custom fields so withdrawal requests are honored post-migration. Webrecruit has no public API documentation; we request live credentials and perform schema discovery during the discovery phase, falling back to CSV export with manual field mapping if credentials cannot be provided. Crelate's tiered subscription model limits the number of custom fields and activity types available at lower plans, which we flag during scoping. Approval workflows, hiring requisition workflows, and bespoke stage types like aptitude or competency tests do not migrate as code; we deliver a written inventory of these for the customer's admin to rebuild 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 Webrecruit 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.
Webrecruit
Candidate
Crelate
Contact
1:1Webrecruit Candidate records map to Crelate Contact. We map standard fields (first name, last name, email, phone, address) directly. The Webrecruit GDPR consent flag (boolean with timestamp) migrates to a Crelate custom field gdpr_consent_date__c (date) and gdpr_consent_withdrawn__c (checkbox) on the Contact record. Candidates with withdrawn or expired consent are flagged but not migrated unless the customer explicitly requests otherwise. Application history attaches as a custom multi-line text or related list entry on the Contact.
Webrecruit
Job
Crelate
Opportunity
1:1Webrecruit Job records (title, description, department, location, status, posting dates) map to Crelate Opportunity with custom fields capturing the Webrecruit-specific properties. The job title becomes the Opportunity name; department becomes a custom picklist field; location maps to a custom text field. Webrecruit job status (active, paused, closed) maps to Opportunity Stage values that we configure in Crelate before migration.
Webrecruit
Application
Crelate
Custom field on Opportunity
lossyWebrecruit Application records (linking a Candidate to a Job with a timestamp and current stage) have no direct Crelate equivalent because Crelate's model uses Opportunity as the candidate placement record. We map Application data as custom fields on the Crelate Opportunity: application_date__c, current_stage__c, rejection_date__c, withdrawal_date__c, and rejection_reason__c. The candidate Contact attaches to the Opportunity via a Contact lookup or Opportunity Contact Role.
Webrecruit
Stage
Crelate
Opportunity Stage
lossyWebrecruit's fixed stage pipeline maps to Crelate Opportunity Stage values. We define a Crelate Sales Process with stage values that match or approximate the Webrecruit pipeline. Webrecruit bespoke stages (aptitude tests, competency evaluations) that have no native representation in the system are flagged as custom fields on the Opportunity (e.g., assessment_outcome__c) and we ask the customer to confirm whether these are stored elsewhere and whether they need to be migrated as notes or custom field values.
Webrecruit
Hiring Manager
Crelate
User
1:1Webrecruit Hiring Managers assigned to Jobs map to Crelate User records by email match. We resolve the owner relationship at migration time. If a Hiring Manager has no matching Crelate User, they are placed in a reconciliation queue for the customer's admin to provision before record import resumes. Hiring Manager feedback attached to Applications migrates as Activity records on the corresponding Opportunity.
Webrecruit
Workflow
Crelate
Written inventory only
1:1Webrecruit approval workflows defining job requisition movement from creation to posting do not migrate as code. We export workflow step definitions and attempt to document them in a written handoff document that maps each Webrecruit workflow step to a recommended Crelate equivalent (manual checklist, email template, or approval flow). The customer's admin rebuilds these in Crelate post-migration. We do not implement Crelate workflow automation inside the migration scope.
Webrecruit
Document
Crelate
ContentDocument
1:1CVs, cover letters, and attachments stored per Webrecruit Application migrate as ContentDocument records in Crelate. We export document blobs, upload them to Crelate's document storage, and link them to the corresponding Contact record via ContentDocumentLink. The original filename and any associated notes migrate as the document description. If document storage limits apply at the customer's Crelate tier, we flag this during scoping.
Webrecruit
Custom Field
Crelate
Custom Field
lossyWebrecruit custom fields vary by account and do not have a standardized schema. We export field definitions and values, then map them to Crelate custom fields on the equivalent core record (Contact, Company, or Opportunity). Crelate supports custom fields as Text, Number (Integer), Number (Decimal), Number (Money), and other types. We map field types accordingly and flag any fields with no matching Crelate type for manual re-entry. If the customer is on a Crelate tier with a limit on custom field count, we flag this during scoping and prioritize the most critical fields.
Webrecruit
User
Crelate
User
1:1Webrecruit User accounts (name, email, role, permissions) map to Crelate User records by email match. We extract all distinct Webrecruit Users referenced on Candidate, Job, and Application records and match them against the Crelate destination org's User table. Any Webrecruit User without a matching Crelate User goes to a reconciliation queue for the customer's admin to provision before migration resumes.
Webrecruit
Integration
Crelate
Written inventory only
1:1Webrecruit integrations with BreatheHR and CIPHR are connection-level configurations that do not carry over to Crelate. We document which integrations are active, note their purpose, and include re-connection steps in the post-migration checklist. The customer re-authenticates and reconfigures each integration in Crelate. Crelate's broader integration ecosystem (RingCentral, Zapier, Bullhorn, Indeed, Google Workspace, HireEZ, and others) provides replacement connectivity options that we document during scoping.
Webrecruit
Company
Crelate
Company
1:1Webrecruit stores organizational data on the Job record (department, hiring team) but does not have a standalone Company object equivalent to Crelate's Company core record. If the customer uses Webrecruit's employer brand or client organization data, we map it to Crelate Company records with the organization name as the Company name. The Webrecruit employer entity (the customer's own organization) is created as a Crelate Company record for reference.
Webrecruit
GDPR Consent
Crelate
Custom fields on Contact
lossyWebrecruit GDPR consent flags are stored as a boolean per Candidate with a consent timestamp. We export the consent timestamp and flag alongside each Candidate record and map them to Crelate custom fields on Contact: gdpr_consent_date__c (date), gdpr_consent_withdrawn__c (checkbox), gdpr_consent_source__c (text, capturing the original consent mechanism). UK law requires that consent status is preserved and honored in the destination system. Candidates with withdrawn or expired consent are flagged but not migrated unless the customer explicitly requests otherwise. The customer is responsible for configuring Crelate's suppression list workflow post-migration.
| Webrecruit | Crelate | Compatibility | |
|---|---|---|---|
| Candidate | Contact1:1 | Fully supported | |
| Job | Opportunity1:1 | Fully supported | |
| Application | Custom field on Opportunitylossy | Fully supported | |
| Stage | Opportunity Stagelossy | Fully supported | |
| Hiring Manager | User1:1 | Fully supported | |
| Workflow | Written inventory only1:1 | Fully supported | |
| Document | ContentDocument1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | Fully supported | |
| User | User1:1 | Fully supported | |
| Integration | Written inventory only1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| GDPR Consent | Custom fields on Contactlossy | 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.
Webrecruit gotchas
No public API documentation exists for Webrecruit ATS
Bespoke stage types have no system representation
Integration connections do not export or migrate
GDPR consent flags require explicit handling at migration
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 credential acquisition
We request Webrecruit API access credentials from the customer and perform live schema discovery to identify all active objects, fields, and relationships. If credentials cannot be provided, we request a full CSV export of Candidates, Jobs, Applications, and Users and perform manual field mapping. We also audit the Webrecruit stage pipeline, custom field definitions, GDPR consent status distribution, and active integrations (BreatheHR, CIPHR). We confirm the customer's Crelate subscription tier to determine custom field limits and stage configuration capacity. The discovery output is a written migration scope document and a field mapping spreadsheet for customer review.
GDPR consent and bespoke stage flagging
We review all candidate records for GDPR consent status and flag any with withdrawn or expired consent for customer confirmation before migration. We identify all Webrecruit bespoke stage types (aptitude tests, competency evaluations) and ask the customer to confirm where these are stored, whether they need to be migrated, and what format (custom field or Activity note) is preferred. We also document the active Webrecruit workflows and hiring manager approval chains for the written inventory handoff. This step produces a signed-off GDPR handling plan and a bespoke stage resolution document.
Crelate schema setup and custom field provisioning
We configure the Crelate destination environment: creating custom fields on Contact (GDPR consent fields), Company, and Opportunity (department, location, application history fields); defining Opportunity stages to approximate the Webrecruit pipeline; and mapping hiring manager assignments to Crelate User records by email match. We deploy schema changes to a Crelate sandbox or test environment first for validation. If the customer's Crelate tier limits custom field count, we prioritize and document the impact before provisioning.
Test migration and reconciliation
We run a full test migration into the Crelate test environment using production-like data volume. The customer reconciles record counts (Contacts in, Opportunities in, Companies in, Documents attached), spot-checks 25-50 random records against the Webrecruit source, and reviews the GDPR consent flag distribution. Any mapping corrections, custom field additions, or stage configuration changes happen in this phase before production migration begins. The customer signs off the test migration before production cutover is scheduled.
Production migration in dependency order
We run production migration in record-dependency order: Users (provisioned by customer admin, validated), Companies (if any Webrecruit employer or client org data exists), Contacts (with GDPR custom fields populated), Opportunities (with job data and application history as custom fields), Documents (as ContentDocument linked to Contact), and Activity history. GDPR withdrawn or expired consent records are excluded unless the customer explicitly requests inclusion. Each phase emits a row-count reconciliation report before the next phase begins. Integration re-connection steps are documented for the post-migration checklist.
Cutover, validation, and workflow handoff
We freeze Webrecruit 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 written inventory of Webrecruit approval workflows, hiring requisition workflows, and bespoke stage types with recommended Crelate equivalents. We do not rebuild Webrecruit workflows as Crelate automation inside the migration scope; that is a separate engagement or an internal admin task. We support a three-business-day hypercare window where we resolve reconciliation issues raised by the customer's team.
Platform deep dives
Webrecruit
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 Webrecruit 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
Webrecruit: Not publicly documented..
Data volume sensitivity
Webrecruit 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 Webrecruit to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your Webrecruit 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 Webrecruit
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.