CRM migration
Field-level mapping, validation, and rollback between Forms On Fire and HighLevel. We move data and schema; workflows are rebuilt natively in HighLevel.
Forms On Fire
Source
HighLevel
Destination
Compatibility
12 of 12
objects map 1:1 between Forms On Fire and HighLevel.
Complexity
BStandard
Timeline
3–7 days
Overview
Forms On Fire is a mobile-first form-building and field-data collection platform. Its core object is the Form Submission—a record containing field values captured from mobile workers. It stores Users, Data Sources (lookup tables), and form definitions. HighLevel organizes data around Contacts, Companies, Opportunities, and Custom Objects, with workflow automations and pipeline management built in. The migration challenge is structural: Forms On Fire has no native CRM objects, so every form submission becomes either a HighLevel Contact or a Custom Object. Form field names become Contact custom fields or Custom Object fields. Data Source rows map to pick-list values or Custom Object records. Form submission timestamps and metadata are preserved as custom datetime fields on the destination record. HighLevel workflows, form builders, and automation sequences do not migrate—they must be rebuilt using HighLevel's Workflow Builder and Form Builder. We export your Forms On Fire workflow definitions as a rebuild reference for your HighLevel admin. The migration runs via Forms On Fire's API (for submissions and field data) and HighLevel's bulk CSV import pipeline, with scoped read access so your team keeps collecting data during the cutover window.
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 Forms On Fire object lands in HighLevel, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Forms On Fire
Form Submission
HighLevel
Contact
1:1Each form submission becomes a HighLevel Contact. The submission's respondent email maps to Contact.email. If no email exists, the submission creates a Contact with a placeholder email and the original submission identifier stored in Source_Submission_ID__c. Submission timestamps are preserved as a custom datetime field, and duplicate detection uses the source identifier to avoid creating duplicate Contacts during subsequent imports.
Forms On Fire
Form Field (standard: firstname, lastname, phone, email)
HighLevel
Contact (same field names)
1:1Standard contact fields map name-for-name: firstname → First Name, lastname → Last Name, phone → Phone, email → Email. These are built-in HighLevel fields and require no custom field creation. Address components such as city, state, postal_code, and country also map directly to HighLevel’s built-in address fields, preserving location data without extra configuration. This direct mapping reduces migration overhead and ensures consistency across contact records.
Forms On Fire
Form Field (custom: any field name unique to the form)
HighLevel
Contact (Custom Field)
1:1Every non-standard form field—text inputs, numbers, dates, dropdowns—creates a corresponding custom field on the HighLevel Contact. Field type is inferred: text → Text field, number → Number field, date → Date field, dropdown → Picklist. We pre-create all required custom fields before the migration import runs.
Forms On Fire
Data Source (lookup table with rows/values)
HighLevel
Picklist (Custom Field) or Custom Object
1:1Simple Data Sources with <20 rows map to a HighLevel custom pick-list field on Contact, using the Data Source rows as pick-list options. Complex Data Sources with hierarchical rows, multiple columns, or parent-child relationships map to a HighLevel Custom Object with a relationship back to Contact.
Forms On Fire
Form Submission Metadata (submission ID, submission timestamp, form name)
HighLevel
Contact Custom Fields
1:1Submission metadata that has no native HighLevel equivalent is preserved as custom fields: Submission_ID__c (text), Submission_Date__c (datetime), Form_Name__c (text). Original submission timestamps are preserved for reporting continuity. We also capture the submitting user’s IP address and device type as optional custom fields, which can support compliance logging and fraud detection in HighLevel workflows.
Forms On Fire
Form Submission (no email or name)
HighLevel
Custom Object
1:1Anonymous submissions without a contact email or name cannot create a valid HighLevel Contact. These are migrated as Custom Object records keyed by submission ID, with all form field values as custom object fields. The relationship back to any identifiable Contact (found via other form submissions) is established via a lookup field.
Forms On Fire
Forms On Fire User
HighLevel
HighLevel User
1:1Forms On Fire users are matched to HighLevel users by email address. If a HighLevel user account does not exist for the Forms On Fire user email, the record is assigned to a fallback owner (your designated admin). User records are flagged for your team to set up HighLevel accounts before go‑live.
Forms On Fire
Tag / Category on Form Submission
HighLevel
Contact Tag
1:1Any tags or categories applied to a form submission in Forms On Fire migrate as HighLevel Contact tags. Tags are created in HighLevel if they do not already exist. Tags support segmentation and workflow triggers in HighLevel. Tagging patterns can be used to route contacts into specific pipelines, trigger follow‑up sequences, and enable targeted reporting across campaigns.
Forms On Fire
Attachment / Photo (form submission file)
HighLevel
Contact File
1:1Photos, documents, and files attached to a form submission are downloaded and re‑uploaded to HighLevel's file storage, linked to the corresponding Contact record. File size limits and inline image handling follow HighLevel's attachment constraints. All attachments retain their original file name and MIME type, allowing downstream automation to parse or forward content without additional transformation steps.
Forms On Fire
Form Definition
HighLevel
HighLevel Form / Custom Object Schema
1:1The form definition itself—the layout, field order, conditional logic, and validation rules—does not migrate. These must be rebuilt in HighLevel's Form Builder. We export a JSON representation of your form schema as a rebuild reference for your HighLevel admin. Each exported JSON captures field IDs, display labels, data types, and any data‑source bindings, providing a complete blueprint for manual recreation.
Forms On Fire
Form Rules / Conditional Logic
HighLevel
HighLevel Workflow
1:1Forms On Fire conditional field rules, skip logic, and field validation have no direct HighLevel equivalent. These use cases are handled via HighLevel Workflow triggers (Form Submitted) and conditions. We document the existing rules as a workflow specification for your team to rebuild.
Forms On Fire
Integration Settings
HighLevel
HighLevel Integrations / Webhooks
1:1Forms On Fire webhook URLs, Zapier connections, and third‑party integration endpoints are platform‑specific. We document the integration configuration so your team can re‑establish these connections in HighLevel's Integrations and Webhooks sections. For each endpoint we record the HTTP method, authentication headers, payload structure, and retry policy, giving developers a clear checklist when configuring the new integrations.
| Forms On Fire | HighLevel | Compatibility | |
|---|---|---|---|
| Form Submission | Contact1:1 | Fully supported | |
| Form Field (standard: firstname, lastname, phone, email) | Contact (same field names)1:1 | Fully supported | |
| Form Field (custom: any field name unique to the form) | Contact (Custom Field)1:1 | Fully supported | |
| Data Source (lookup table with rows/values) | Picklist (Custom Field) or Custom Object1:1 | Fully supported | |
| Form Submission Metadata (submission ID, submission timestamp, form name) | Contact Custom Fields1:1 | Fully supported | |
| Form Submission (no email or name) | Custom Object1:1 | Fully supported | |
| Forms On Fire User | HighLevel User1:1 | Fully supported | |
| Tag / Category on Form Submission | Contact Tag1:1 | Fully supported | |
| Attachment / Photo (form submission file) | Contact File1:1 | Fully supported | |
| Form Definition | HighLevel Form / Custom Object Schema1:1 | Fully supported | |
| Form Rules / Conditional Logic | HighLevel Workflow1:1 | Fully supported | |
| Integration Settings | HighLevel Integrations / Webhooks1: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.
Forms On Fire gotchas
Standard tier entry limits silently gate historical data
dotx template linkage breaks Word document generation
Data Source auto-select behavior can silently alter form state
Enterprise requires 25+ users minimum
Non-Office document generation not supported
HighLevel gotchas
Sub-account architecture creates isolated data silos per client
Usage-based telecom and AI costs are not in the subscription price
Workflows have no native equivalent in most destination CRMs
API rate limits cap bulk migration throughput at 100 requests per 10 seconds per sub-account
White-label configuration and branding assets do not export via API
Pair-specific challenges
Migration approach
Audit Forms On Fire forms, fields, Data Sources, and submission volume
We connect to Forms On Fire via read-only API access and export a full inventory of all forms, form fields, Data Sources, submission counts, and user accounts. We identify every unique field name and data type, every Data Source row set, and the date range of submissions. This inventory drives the HighLevel custom field creation plan and the submission volume count used for pricing. We deliver this as a pre-migration data audit document before any migration work begins.
Design HighLevel custom fields and Custom Object schema
Based on the audit, we design the HighLevel schema: which form fields become built-in Contact fields, which become custom Contact fields, which Data Sources become pick-list fields vs. Custom Objects, and what metadata fields are needed. We create the custom fields and Custom Object definitions in your HighLevel sub-account before the import runs. If hierarchical Data Sources need Custom Objects, we define the object schema and the Contact lookup relationship. You review and approve the schema design before we proceed to migration.
Export Forms On Fire form definitions as rebuild reference
We export every form definition from Forms On Fire as a structured JSON file capturing field labels, field order, conditional logic, validation rules, Data Source bindings, and webhook triggers. This file serves as the blueprint for rebuilding the forms in HighLevel's Form Builder and Workflow Builder. We package this as a rebuild reference document alongside the migration deliverables—your HighLevel admin uses this to recreate the form UX and automation logic after data migration completes.
Run sample migration of 100–200 submissions with field-level diff
We run a test migration of a representative slice of form submissions across all form types, including submissions with attachments, Data Source pick-list values, anonymous submissions, and custom field types. We generate a field-level diff comparing the source Forms On Fire field values against the imported HighLevel Contact or Custom Object field values. You review the diff and confirm field mapping correctness before the full migration commits. Any mis-mapped fields are corrected in the schema plan and the sample is re-run.
Execute full migration with delta-pickup window
The full migration runs via HighLevel's bulk CSV import pipeline for the primary record set, then a delta-pickup window (24–48 hours) captures any new submissions created in Forms On Fire during the cutover period. Your team retains full Forms On Fire access throughout—FlitStack uses scoped read-only API access, so no form submissions are interrupted. After the delta window closes, we run a final reconciliation: record counts, field sampling, attachment verification, and tag/owner confirmation. We deliver an audit log and reconciliation report.
Deliver reconciliation report and rebuild reference package
We deliver the final migration report showing: total records migrated, records by form type, records by Contact vs. Custom Object, unmatched owner accounts, anonymous submissions routed to Custom Objects, and any records that failed migration with error reasons. The rebuild reference package includes the form definition JSON files and a field-to-workflow mapping guide for your HighLevel admin to use when rebuilding form logic in HighLevel's Workflow Builder and Form Builder.
Platform deep dives
Forms On Fire
Source
Strengths
Weaknesses
HighLevel
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Forms On Fire and HighLevel.
Object compatibility
1 of 8 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
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Forms On Fire: Not publicly documented.
Data volume sensitivity
Forms On Fire 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 Forms On Fire to HighLevel migration scoping. Not seeing yours? Book a call.
Walk through your Forms On Fire to HighLevel migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Forms On Fire
Other ways to arrive at HighLevel
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.