HRMS migration
Field-level mapping, validation, and rollback between ZippyApp and Crelate. We move data and schema; workflows are rebuilt natively in Crelate.
ZippyApp
Source
Crelate
Destination
Compatibility
11 of 12
objects map 1:1 between ZippyApp and Crelate.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from ZippyApp to Crelate is a migration from a minimal QR-code-focused hourly hiring tool to a full ATS/CRM built for recruitment agencies and in-house talent teams. ZippyApp has no documented public API, so we perform manual data extraction during a screen-share scoping session, extracting Job Seeker profiles, employer accounts, open Positions, and Application records directly from the employer dashboard. We attach resume and cover-letter files to each Crelate Person record and configure Crelate's field mappings to copy custom application form answers into parent record columns. Application status requires care: a documented ZippyApp UI issue can cause accidental archiving during browse, so we pull the raw status field rather than relying on bulk-action exports. Workflows, automation rules, and employer branding assets do not migrate; we deliver a written inventory of any active ZippyApp settings requiring manual rebuild in Crelate. Crelate's Standard and Advanced migration tiers reflect the level of discovery, configuration, and admin training included, and we model our own pricing against those tiers based on record volume and custom field complexity.
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 ZippyApp 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.
ZippyApp
Job Seeker
Crelate
Person
1:1ZippyApp Job Seeker records contain name, contact details, resume, cover letter, and application history. We extract these as Crelate Person records, mapping the ZippyApp email address to the Person email field and name fields to Crelate's structured name fields. The Job Seeker's application history is preserved by linking each migrated Application to the corresponding Person record via the Crelate Person-Job association. If a Job Seeker applied to multiple Positions under the same employer, the Person record in Crelate will have multiple associated Job entries, matching ZippyApp's shared-profile design.
ZippyApp
Employer
Crelate
Company
1:1ZippyApp Employer accounts store company profile, branding details, and hiring team members. We map these to Crelate Company records, with the employer name as Company Name and industry vertical stored in a custom Company field if present in ZippyApp. The employer-branding assets (logos, QR graphics) are excluded as they have no standard ATS equivalent and would require manual re-upload in Crelate.
ZippyApp
Position
Crelate
Job
1:1ZippyApp Positions map directly to Crelate Job records. Each Position carries a title, description, location, and status (open, filled, closed). We map Position title to Job title, Position description to Job description, and Position status to the appropriate Crelate Job status value. The QR code associated with each Position is documented in a custom field on the Crelate Job record for reference, but the QR graphic itself is not migrated.
ZippyApp
Application
Crelate
Application (Job-Person association with status)
1:1ZippyApp Applications link a Job Seeker to a Position with a status field. We create a Crelate Job-Person association with status preserved. The application status requires extraction from the raw status field in the employer inbox view rather than from bulk-action exports, due to a documented ZippyApp UI issue where browsing can accidentally trigger archive or disposition actions. We also preserve the application submission timestamp as a custom field on the association for timeline ordering.
ZippyApp
Resume
Crelate
Person attachment
1:1Resume files are stored as binary attachments on ZippyApp Job Seeker records. We extract each resume as a file (supporting PDF and DOCX formats) and attach it to the corresponding Crelate Person record. Crelate's attachment handling preserves the original filename and file type. We flag any parsing failures (corrupted files, password-protected PDFs) in the gap report for manual re-upload by the customer.
ZippyApp
Cover Letter
Crelate
Person attachment
1:1Cover letters are optional per-application attachments in ZippyApp. We attach each cover letter to the corresponding Crelate Person record, naming it with the pattern '{Person Name} - Cover Letter.pdf' to distinguish it from the resume attachment. If the cover letter was submitted for a specific Position, we add a note to the Job-Person association referencing the cover letter attachment.
ZippyApp
Application form answers
Crelate
Person or Job custom fields via field mappings
lossyZippyApp's custom application forms store candidate answers per application. Crelate's field mappings feature allows these answers to be copied directly into custom fields on the parent Person or Job record. We configure Crelate field mappings during the Development phase, creating custom fields for each distinct ZippyApp application question, then activating field mappings so the data flows automatically after migration. The customer reviews field mapping output during the Testing phase before production migration.
ZippyApp
Hiring Notifications
Crelate
Not migrated
1:1Push notifications and email alerts generated by ZippyApp during the hiring workflow are transient communication events stored only in the candidate's email client and the ZippyApp notification system. They are not persistent records in ZippyApp's database and are therefore not migrated. Candidates can re-subscribe to Crelate's notification settings during onboarding.
ZippyApp
Custom Employer Branding Assets
Crelate
Not migrated
1:1Logos, brand colors, and QR-code graphics tied to ZippyApp employer accounts are media assets that do not map to any standard ATS object. We document each employer's branding assets in the gap report with the asset location in ZippyApp and recommend manual re-upload to Crelate's employer profile settings post-migration.
ZippyApp
ZippyApp application in-progress queue
Crelate
Crelate Application (flagged)
1:1ZippyApp stores in-progress applications in a queue accessible via the employer inbox. These records are recoverable if the candidate navigates away before submitting. We extract in-progress applications as Crelate Job-Person associations with a custom status value 'In Progress (ZippyApp)' and flag them for the customer's recruiter to contact the candidate for re-submission in Crelate or to complete the application manually.
ZippyApp
Employer hiring team members
Crelate
Crelate User
1:1ZippyApp stores hiring team members on the employer account. We extract each team member's name and email and map them to Crelate User records. Owner assignment on migrated Jobs and Companies resolves to the corresponding Crelate User by email match. Any ZippyApp team member without an existing Crelate User account is added to the reconciliation queue for the customer's admin to provision before production migration.
ZippyApp
Application source tracking
Crelate
Job Person association source field
1:1ZippyApp tracks how candidates discovered each Position, including whether they applied via QR code scan, direct link, or job board referral. We map this source attribution to a custom field on the Crelate Job-Person association so that the customer's recruiting team retains visibility into which channels generated applications. This is a non-standard ZippyApp field that has no direct Crelate equivalent without custom field creation.
| ZippyApp | Crelate | Compatibility | |
|---|---|---|---|
| Job Seeker | Person1:1 | Fully supported | |
| Employer | Company1:1 | Fully supported | |
| Position | Job1:1 | Fully supported | |
| Application | Application (Job-Person association with status)1:1 | Fully supported | |
| Resume | Person attachment1:1 | Fully supported | |
| Cover Letter | Person attachment1:1 | Fully supported | |
| Application form answers | Person or Job custom fields via field mappingslossy | Fully supported | |
| Hiring Notifications | Not migrated1:1 | Not supported | |
| Custom Employer Branding Assets | Not migrated1:1 | Not supported | |
| ZippyApp application in-progress queue | Crelate Application (flagged)1:1 | Fully supported | |
| Employer hiring team members | Crelate User1:1 | Fully supported | |
| Application source tracking | Job Person association source field1: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.
ZippyApp gotchas
No public API requires manual data export scoping
Glitchy UI causes accidental application dispositioning
Enterprise tier pricing is opaque and requires direct inquiry
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
Screen-share scoping session
We schedule a screen-share call with the customer's ZippyApp admin to access the employer dashboard and extract Job Seeker records, Employer accounts, Positions, and Application records. We count visible objects, identify any in-progress applications in the queue, and download any available CSV exports. If multiple employer accounts exist, we scope each separately and note any cross-employer candidate duplicates. The scoping output is a written data inventory with record counts per object, identified resume file formats, and a list of any custom application form fields visible on the employer dashboard.
Crelate schema design and field mapping configuration
We design the destination schema in Crelate by creating custom fields for any ZippyApp application form questions that do not map to standard Crelate Person or Job fields. We configure Crelate field mappings to copy application form answers to the appropriate parent Person field. We define application status values that reflect ZippyApp's status taxonomy (submitted, reviewed, interview, offer, hired, rejected, in-progress) mapped to equivalent Crelate application status values. The schema is reviewed in a Crelate sandbox with the customer's recruiter before production migration begins.
Data extraction and transformation
We extract Job Seeker records from ZippyApp as structured CSV with name, email, phone, resume file reference, cover letter reference, and application history. Employers are extracted as company records. Positions are extracted with title, description, location, status, and QR code reference. Application records are extracted with the raw status field from the employer inbox view, submission timestamp, and source attribution. In-progress applications are extracted as a separate batch. Resume and cover letter files are extracted as binary blobs with filename and format metadata. All data is validated for completeness and flagged for any records with missing required fields.
Sandbox migration and reconciliation
We run a full migration into a Crelate sandbox using representative data volume. The customer's recruiter reviews the output: Person records are checked against the original Job Seeker list, Job records are verified against Position counts, and Application associations are spot-checked for status accuracy. We specifically check that in-progress applications are correctly flagged and that resume attachments are readable. Any mapping corrections are applied to the transformation scripts before production migration. The customer signs off the sandbox output before the production migration date is confirmed.
Production migration in dependency order
We run production migration in record-dependency order: Companies first (Employer accounts as Crelate Companies), then Jobs (Positions as Crelate Jobs), then Persons (Job Seekers as Crelate People), then Application associations (Job-Person links with status and source attribution), then resume and cover letter attachments on Person records, then in-progress applications as a final batch. Each phase emits a row-count reconciliation report before the next phase begins. Any Person record that cannot be matched to a Job (orphan record from a deleted Position) is flagged in the gap report.
Cutover, validation, and rebuild handoff
We freeze access to the ZippyApp employer account during cutover (coordinated with the customer's ZippyApp account expiration or renewal date). We run a final delta scan for any records modified during the migration window. We deliver the migration summary report including record counts, attachment counts, and any gaps. We deliver the ZippyApp settings inventory documenting any active notification rules, employer branding assets, and application form configurations requiring manual rebuild in Crelate. We support a three-day hypercare window for reconciliation issues raised by the recruiting team. We do not rebuild ZippyApp settings as Crelate automations inside the migration scope; that work is handled by the customer's admin using Crelate's workflow tools.
Platform deep dives
ZippyApp
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 ZippyApp 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
ZippyApp: Not publicly documented.
Data volume sensitivity
ZippyApp 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 ZippyApp to Crelate migration scoping. Not seeing yours? Book a call.
Walk through your ZippyApp 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 ZippyApp
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.