HRMS migration
Field-level mapping, validation, and rollback between Fountain and Zoho Recruit. We move data and schema; workflows are rebuilt natively in Zoho Recruit.
Fountain
Source
Zoho Recruit
Destination
Compatibility
9 of 12
objects map 1:1 between Fountain and Zoho Recruit.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Fountain to Zoho Recruit means trading a purpose-built frontline hiring platform for a more general-purpose ATS that integrates natively with the broader Zoho ecosystem. Fountain organizes hiring by Location and Department with multi-stage pipeline automation; Zoho Recruit uses a more flexible Candidates module with configurable pipelines and job openings tied to departments. We extract Fountain applicants as Zoho Recruit candidates, preserve the stage progression history as custom fields on each candidate record, and handle the readOnly attribute gap by flagging system-controlled fields that cannot land as editable values in Zoho. Fountain's automation rules (auto-advance stages, email triggers, task creation per stage) are not exposed via Fountain's public API, so we document every active workflow configuration for manual rebuild in Zoho Recruit's Workflow Rules. Documents, offers, and notes migrate as attachments and custom fields; workflow sequences, email templates, and reporting dashboards do not migrate as code and are inventoried for the customer's admin to rebuild.
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 Zoho Recruit, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Fountain
Applicant
Zoho Recruit
Candidate
1:1Fountain's Applicant records map directly to Zoho Recruit's Candidate module. Each Applicant's contact details (name, email, phone, address) map to the corresponding Candidate fields. Fountain's applicant status (Applied, Screening, Interview, Offer, Hired, Rejected) maps to Zoho Recruit's Candidate Status picklist values, which we configure during schema setup to match Fountain's stage names. Note: Fountain applicants without a last name will be rejected by Zoho Recruit because Last Name is mandatory; we flag these during discovery and insert 'Not Provided' as a placeholder so the record is not dropped during import.
Fountain
Job Post
Zoho Recruit
Job Opening
1:1Fountain Job Posts map to Zoho Recruit Job Openings. The Job Post's title, description, requirements, and department assignment migrate as Job Opening fields. Fountain's linked Location assignment maps to Zoho Recruit's Department or a custom Location field, depending on the customer's hierarchy preference. Active Job Post status maps to Zoho Recruit's Open status; archived or closed posts map to Closed with a custom archive_date field.
Fountain
Stage
Zoho Recruit
Hiring Pipeline Stage
lossyFountain's pipeline stages (e.g., Applied, Phone Screen, Interview, Offer, Hired) are not objects but configurable values on Job Posts. We extract the stage sequence from each Job Post's pipeline configuration, then create corresponding stage values in Zoho Recruit's Hiring Pipeline. Fountain's conditional stage transitions and automated actions per stage are documented as part of the automation inventory and are not migratable as code; they require manual configuration in Zoho Recruit's Workflow Rules after migration.
Fountain
Location
Zoho Recruit
Department or Custom Location Module
lossyFountain Locations represent physical work sites with addresses and location-specific hiring rules. We migrate location names and addresses as either Zoho Recruit Department records (if the customer uses department-based organization) or as entries in a custom Location module that we pre-create during schema setup. The choice is made during scoping based on the customer's reporting and filtering needs in Zoho Recruit.
Fountain
Department
Zoho Recruit
Department
1:1Fountain Departments map directly to Zoho Recruit's Department object. We preserve department assignments on Job Posts so that hiring manager filtering and reporting by business unit remain consistent after migration. If Fountain uses nested department hierarchies, we flatten them into Zoho Recruit's single-level Department structure with a custom parent_department__c field to maintain the hierarchy for reporting.
Fountain
Offer
Zoho Recruit
Offer
1:1Fountain Offer records (compensation details, start dates, offer status tied to specific Applicants) map to Zoho Recruit's Offer module. Salary, shift schedule, position details, and offer status migrate as Offer fields linked to the corresponding Candidate. Zoho Recruit's Offer Letter Templates (50 on Standard, 100 on Enterprise) can be associated with migrated offers post-migration; the templates themselves are not migratable and are documented for rebuild.
Fountain
Custom Attributes
Zoho Recruit
Custom Fields
1:1Fountain customAttributes on Applicants and Jobs migrate to Zoho Recruit custom fields on the corresponding module. We identify all customAttributes during discovery, map their data types to Zoho Recruit field types (Text, Picklist, Checkbox, Date, Number), and create the fields before import. Fountain's readOnly attributes (system-controlled fields that cannot be set via API) are flagged and mapped either to Zoho Recruit read-only fields or to custom display fields with a system-populated default value, because Zoho Recruit has no direct equivalent of Fountain's readOnly flag at the API level.
Fountain
Documents
Zoho Recruit
Attachments / Document Library
1:1Fountain's document attachments (hiring forms, certifications, background check results, offer letters) are stored separately from Applicant records and require individual API calls to retrieve. We export documents in parallel batches, maintaining filename-to-applicant-ID mapping, then upload each file to Zoho Recruit's Attachments section on the corresponding Candidate record. Large document volumes increase migration duration and must be scoped explicitly; we recommend a document-only dry run with a sample of 50 records before committing to the full volume.
Fountain
Notes
Zoho Recruit
Notes
1:1Fountain Notes on Applicants (hiring manager context, interview feedback, internal commentary) are text blobs with author and timestamp. We migrate note content and attribution to Zoho Recruit Notes linked to the corresponding Candidate record. Zoho Recruit Notes do not support the same rich formatting options as some ATS platforms, so we preserve the plain-text content and include the author name and timestamp in the Note body to maintain full context.
Fountain
Automated Workflows
Zoho Recruit
Workflow Rules
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 document every active workflow configuration during discovery by reviewing Fountain's pipeline settings with the customer's admin, and we deliver a written inventory of each automation with its trigger, conditions, actions, and the equivalent Zoho Recruit Workflow Rule configuration. The customer's admin rebuilds the workflows in Zoho Recruit post-migration; we do not rebuild them as part of the migration scope.
Fountain
Hiring Source Attribution
Zoho Recruit
Source Field
1:1Fountain tracks where each applicant originated (Indeed, referrals, direct apply, job board) as part of the Applicant record. We migrate the source attribution to Zoho Recruit's Candidate Source field on each record. If Fountain uses custom source channels beyond the standard list, we create matching custom picklist values in Zoho Recruit during schema setup so reporting by sourcing channel remains consistent.
Fountain
Owner
Zoho Recruit
User
1:1Fountain's hiring team members (recruiters and hiring managers assigned to Jobs and Applicants) map to Zoho Recruit User records. We resolve owners by email match against the destination Zoho Recruit User table. Any Fountain Owner without a matching Zoho Recruit User goes to a reconciliation queue for the customer's admin to provision before record import resumes, because Zoho Recruit requires a valid OwnerId on candidate records.
| Fountain | Zoho Recruit | Compatibility | |
|---|---|---|---|
| Applicant | Candidate1:1 | Fully supported | |
| Job Post | Job Opening1:1 | Fully supported | |
| Stage | Hiring Pipeline Stagelossy | Fully supported | |
| Location | Department or Custom Location Modulelossy | Fully supported | |
| Department | Department1:1 | Fully supported | |
| Offer | Offer1:1 | Fully supported | |
| Custom Attributes | Custom Fields1:1 | Mapping required | |
| Documents | Attachments / Document Library1:1 | Mapping required | |
| Notes | Notes1:1 | Mapping required | |
| Automated Workflows | Workflow Ruleslossy | Not supported | |
| Hiring Source Attribution | Source Field1: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
Zoho Recruit gotchas
Daily API rate limits are tier-gated and per-user capped
User import hard cap of 2,000 records
Attachment folder hierarchy must be preserved exactly
Resume parsing quota varies by plan and resets daily
Custom fields unavailable in Free and Standard editions
Pair-specific challenges
Migration approach
Discovery and Fountain API audit
We audit the source Fountain account across active Job Posts, Applicant volumes by status, Locations, Departments, customAttributes (including readOnly flags), document attachment counts, active workflow configurations, and Notes volume. We extract a complete list of Fountain's pipeline stage names and transitions for each Job Post. We also request Fountain's API rate limit documentation and confirm document export access. The discovery output is a written migration scope with record counts per object, a list of readOnly attributes requiring disposition decisions, and the automation inventory for Zoho Recruit rebuild.
Zoho Recruit schema setup and field mapping design
We configure the destination Zoho Recruit environment before any data moves. This includes creating custom fields to match Fountain's customAttributes, configuring Hiring Pipeline stage values to mirror Fountain's pipeline stage names, setting up Department records to match Fountain's location and department hierarchy, and creating any custom picklist values for Candidate Source and status. We also configure Zoho Recruit's workflow rules structure (not the rules themselves, which are documented separately) and set up the Document Library folder structure for migrated attachments. Schema setup is validated in Zoho Recruit's sandbox or trial environment before production configuration.
Applicant record migration and last-name remediation
We extract all Fountain Applicant records with their contact details, hiring source attribution, stage history, and custom attribute values. Records missing last names are flagged and assigned the placeholder 'Not Provided' so they are not dropped by Zoho Recruit's mandatory field validation. We import Applicants as Zoho Recruit Candidates in batches, using email address as the dedupe key to prevent duplicate records. After each batch, we reconcile the imported record count against Fountain's source record count and spot-check field mappings for accuracy.
Job Post and pipeline stage migration
We migrate Fountain Job Posts to Zoho Recruit Job Openings, preserving title, description, requirements, department assignment, and location. Each Job Opening is linked to the corresponding Hiring Pipeline stage values configured in step 2. Fountain's stage-to-stage transition history is preserved as a custom multivalue field on the associated Candidate record so hiring managers retain visibility into the candidate's progression through Fountain's pipeline.
Document and attachment transfer
We export Fountain document attachments in parallel batches using the filename-to-applicant-ID lookup table created during discovery. Each document is uploaded to the corresponding Zoho Recruit Candidate record's Attachments section. Document transfer runs concurrently with record migration but is tracked separately for reconciliation purposes. We verify that every Candidate with at least one Fountain document has at least one Zoho Recruit attachment after upload, and we flag any document that fails to transfer for manual review.
Cutover, validation, and automation rebuild handoff
We freeze Fountain writes during cutover, run a final delta migration of any records modified during the migration window, then mark Zoho Recruit as the system of record. We deliver the complete automation inventory document to the customer's admin team, mapping each Fountain automation to a Zoho Recruit Workflow Rule configuration with step-by-step instructions. We do not rebuild Fountain automations as Zoho Recruit Workflow Rules inside the migration scope; that work is handled by the customer's admin or a Zoho implementation partner. We support a one-week hypercare window where we resolve any data quality issues reported by the recruiting team.
Platform deep dives
Fountain
Source
Strengths
Weaknesses
Zoho Recruit
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 Zoho Recruit.
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 Zoho Recruit migration scoping. Not seeing yours? Book a call.
Walk through your Fountain to Zoho Recruit 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 Zoho Recruit
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.