HRMS migration
Field-level mapping, validation, and rollback between Fountain and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
Fountain
Source
Crelate
Destination
Compatibility
9 of 12
objects map 1:1 between Fountain and Crelate.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Fountain to Crelate reflects a shift from a high-volume hourly hiring platform to a recruiting CRM with stronger sourcing and relationship-tracking capabilities. Fountain organizes talent by Location and Department with automated stage advancement for frontline roles; Crelate models the same data using Jobs, Candidates, and a configurable pipeline where stage names and transition logic are rebuilt rather than imported. Fountain's ReadOnly custom attributes on Applicants cannot be written to Crelate's API as editable values, so we flag these during discovery and either exclude them or map them to Crelate custom fields with system-populated defaults. Fountain's automated workflow rules (auto-advancing candidates, email triggers, task creation per stage) are not accessible through Fountain's public API, so we document the active configurations during discovery for the customer's admin to rebuild manually in Crelate after migration. We do not migrate workflows, sequences, or forms as code. Offer records, notes, and location hierarchies migrate cleanly and we handle Fountain's document attachments as parallel batch exports with applicant-ID filename mapping throughout.
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 Fountain 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.
Fountain
Applicant
Crelate
Candidate
1:1Fountain's Applicant records map to Crelate Candidate records. We preserve contact details (name, email, phone, address), hiring source attribution, and the original Fountain application date as a custom field fountain_applied_date__c for audit. Fountain's application status maps to Crelate's pipeline stage sequence. Applicant records with no email address are flagged for manual review before import because Crelate requires a primary email for deduplication. Any readOnly custom attributes on Fountain Applicants cannot be written to Crelate as editable values; we identify these during discovery, exclude them, and document them for the customer to map to Crelate custom fields with appropriate defaults.
Fountain
Job Post
Crelate
Job
1:1Fountain Job Posts map to Crelate Job records. We preserve job title, description, requirements, employment type (full-time, part-time, hourly), and the linked department assignment. Fountain's job-specific custom attributes migrate to Crelate custom fields on Job. Crelate's Job object also stores the pipeline configuration that we map from Fountain's stage definitions. The Fountain location assignment on a Job Post maps directly to the location on the Crelate Job record.
Fountain
Stage
Crelate
Pipeline Stage
lossyFountain stage definitions (stage names, sequence order, configured automations) cannot be extracted via API and do not migrate as code. We document the active stage names and their sequence from Fountain during discovery and use that documentation to configure equivalent Crelate pipeline stages. Fountain's conditional stage transitions (automated rules for advancing candidates based on criteria) are captured in the written automation inventory for manual rebuild in Crelate's workflow builder. Stage probabilities migrate as static values where defined in Fountain.
Fountain
Location
Crelate
Location
1:1Fountain Locations map directly to Crelate Locations. We preserve location name, address, and any location-specific notes. Fountain's Location hierarchy (locations grouped by region or area) maps to a flat location structure in Crelate, and we document any hierarchy flattening during scoping so the customer admin can configure region groupings in Crelate if needed. Location assignment on Applicant records resolves to the Crelate Location reference at migration time.
Fountain
Department
Crelate
Department
1:1Fountain Departments map to Crelate Departments. We preserve department name and the department-to-location assignment relationships. Fountain's multi-department hierarchy flattens to Crelate's single-level Department object, and we document the hierarchy mapping so the customer can optionally re-create parent-child relationships in Crelate's organization structure. Department assignments on Job Posts map to the Crelate Department reference at migration time.
Fountain
Offer
Crelate
Offer
1:1Fountain Offer records (compensation, start date, offer status) map to Crelate Offer records linked to the migrated Candidate. We preserve offer salary or hourly rate, shift schedule details, start date, offer status (extended, accepted, declined, withdrawn), and any offer-specific notes. The Candidate reference is resolved by matching the Fountain Applicant ID to the migrated Crelate Candidate record. Offer history (if a candidate had multiple offers) migrates as separate Offer records in sequence order.
Fountain
Note
Crelate
Note
1:1Fountain Notes attached to Applicants migrate to Crelate Notes on the migrated Candidate record. We preserve note content, author attribution (mapped by email to Crelate user), and original creation timestamp. Fountain Notes are unstructured text blobs without separate fields for disposition or interview rating; these map as plain text notes with the author attribution providing context. Notes are imported after the parent Candidate record is confirmed in Crelate to maintain the link.
Fountain
Document
Crelate
File Attachment
1:1Fountain's document attachments (hiring forms, certifications, background check results) migrate as file attachments on the corresponding Crelate Candidate record. Fountain stores documents separately from applicant records and requires individual API calls per attachment. We export documents in parallel batches, maintain a filename-to-applicant-ID mapping table, and upload each file to the correct Crelate Candidate record. Large document volumes (over 50,000 files) increase migration duration and should be scoped explicitly before starting. We recommend excluding very large binary files (video interviews, audio recordings) from the standard migration scope as a separate file transfer.
Fountain
Custom Attributes
Crelate
Custom Fields
lossyFountain custom attributes on Applicants and Jobs map to Crelate custom fields. We identify all custom attributes during discovery, map their data types to the closest Crelate field type (text, number, date, picklist, checkbox), and pre-create the custom fields in Crelate before migration. Any Fountain custom attribute with readOnly=true is flagged and excluded from import because Crelate's API cannot receive values for fields that are system-populated. readOnly attributes are documented with their current values so the customer's admin can either set static defaults or configure Crelate calculated fields to replicate the logic.
Fountain
Automated Workflows
Crelate
Workflow Rules (documented only)
lossyFountain's automation rules (auto-advancing candidates, email triggers, task creation per stage, conditional stage transitions) are not exposed via Fountain's public API and cannot be extracted programmatically. We perform a manual discovery process during scoping where we document every active automation configuration including its trigger event, conditions, actions, and affected stages. This written automation inventory is delivered as part of the migration scope, and the customer's Crelate admin rebuilds the equivalent rules in Crelate's workflow builder post-migration. This is standard scope for Fountain migrations and adds post-migration configuration time that should be accounted for in project timelines.
Fountain
Hiring Source Attribution
Crelate
Source Field + Activity History
1:1Fountain tracks hiring source attribution (where each applicant came from) at the Applicant level. We preserve the original source value (job board, employee referral, direct apply, agency) on the Crelate Candidate record and populate the Crelate sourcing activity history to reflect the Fountain application event. This preserves the reporting continuity that teams rely on for hiring source ROI analysis across the migration cutover.
Fountain
Owner
Crelate
User
1:1Fountain Owners (hiring managers, recruiters, coordinators) referenced on Applicant and Job records map to Crelate User records. We resolve owners by email match. Any Fountain Owner without a matching Crelate User is held in a reconciliation queue for the customer's admin to provision before record import resumes. Owner assignment on Job Post records and on Offer records migrates by resolving the same Fountain Owner-to-Crelate User mapping table.
| Fountain | Crelate | Compatibility | |
|---|---|---|---|
| Applicant | Candidate1:1 | Fully supported | |
| Job Post | Job1:1 | Fully supported | |
| Stage | Pipeline Stagelossy | Fully supported | |
| Location | Location1:1 | Fully supported | |
| Department | Department1:1 | Fully supported | |
| Offer | Offer1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Document | File Attachment1:1 | Fully supported | |
| Custom Attributes | Custom Fieldslossy | Mapping required | |
| Automated Workflows | Workflow Rules (documented only)lossy | Not supported | |
| Hiring Source Attribution | Source Field + Activity History1:1 | Fully supported | |
| Owner | User1: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.
Fountain gotchas
Automation rules not exportable via API
ReadOnly custom attributes block field migration
Rate limits undocumented for migration planning
Document storage requires separate export workflow
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 Fountain API scoping
We audit the source Fountain account across all data types: applicant volumes and stage distributions, job post count and active status, location and department structure, custom attribute definitions (with readOnly flag identification), offer records, and document attachment count. We also review Fountain's automation configuration documentation and interview the customer's Fountain admin to capture active workflow rules manually for the written inventory. We assess Fountain's API export capabilities and request rate limit documentation from Fountain before finalizing the migration schedule. Discovery output is a written migration scope with record counts, custom field mapping, and stage configuration documentation.
Crelate schema design and stage configuration
We design the destination schema in Crelate. This includes creating custom fields to receive Fountain custom attributes (pre-mapped by data type), configuring pipeline stages using the Fountain stage documentation as a reference, setting up Locations and Departments matching the Fountain hierarchy (with any flattening documented), and configuring the hiring source field on Candidate. Crelate's sandbox environment is used for schema validation before production migration begins. The customer admin reviews and approves the Crelate configuration based on our documentation.
Sandbox migration and reconciliation
We run a full migration into Crelate's sandbox using production-like data volumes from Fountain. The customer's recruiting operations lead reconciles record counts (Candidates in, Jobs in, Offers in, Notes in), spot-checks 25-50 random candidate records against the Fountain source for field accuracy, and validates that pipeline stage mapping reflects the intended configuration. Any mapping corrections, custom field additions, or stage configuration adjustments happen in this phase. Sign-off on the sandbox migration gates production migration start.
Owner reconciliation and user provisioning
We extract every distinct Fountain Owner referenced on Applicant, Job, and Offer records and match by email against the Crelate destination's User table. Any Fountain Owner without a matching Crelate User goes to a reconciliation queue. The customer's Crelate admin provisions any missing users (active or inactive depending on whether the original Fountain user is still active in the organization). Owner resolution is required before Applicant migration proceeds because OwnerId references must be satisfied on Crelate records.
Production migration in dependency order
We run production migration in record-dependency order: Locations and Departments first as reference data, then Jobs (with location and department references resolved), then Candidates as the primary record with all field mappings applied and readOnly attributes excluded, then Offers (with parent Candidate resolved), then Notes (appended to each Candidate after parent confirmation), and finally Documents in parallel batches with filename-to-candidate-ID mapping. Each phase emits a row-count reconciliation report before the next phase begins. We implement exponential backoff on Fountain API calls to handle undocumented rate limiting.
Cutover, validation, and automation rebuild handoff
We freeze Fountain write access 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 Fountain automation inventory documenting every active workflow rule with trigger, conditions, actions, and recommended Crelate workflow equivalent. We support a one-week hypercare window where we resolve any reconciliation issues raised by the recruiting team. We do not rebuild Fountain workflows as Crelate workflows inside the migration scope; that is a separate configuration engagement.
Platform deep dives
Fountain
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 Fountain 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
Fountain: Not publicly documented — Fountain does not publish specific per-minute or per-hour API limits.
Data volume sensitivity
Fountain 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 Fountain to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your Fountain 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 Fountain
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.