CRM migration
Field-level mapping, validation, and rollback between Forms On Fire and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Forms On Fire
Source
Salesforce Sales Cloud
Destination
Compatibility
12 of 12
objects map 1:1 between Forms On Fire and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
48–72 hours
Overview
Forms On Fire organizes everything around form definitions and individual submissions — each form is its own data structure with custom fields that your team configured. Salesforce Sales Cloud expects data in its standard CRM objects (Account, Contact, Lead, Opportunity, Case) with a defined schema of standard and custom fields. The migration requires two parallel workstreams: deciding which Salesforce object each form's submissions should land in, then mapping each form's field types to Salesforce field types with appropriate transformations. Forms On Fire stores GPS coordinates, timestamps, photo attachments, and signatures as first-class field types — these require custom Salesforce fields or Files handling to preserve. Form submission metadata (submitter email, form version, page visited) needs explicit mapping decisions before migration runs. FlitStack AI uses the Forms On Fire REST API to read submissions in batches, transforms field values to match Salesforce data types, and writes to Salesforce via Bulk API for high-volume runs. Your team rebuilds form logic, conditional rules, and data-source dependencies in Salesforce's native tools (Flow, Validation Rules, custom objects).
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 Salesforce Sales Cloud, 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 (data collection structure)
Salesforce Sales Cloud
Custom Object (e.g., Inspection__c, Submission__c) or Standard Object based on use case
1:1Forms On Fire forms have no direct Salesforce equivalent. Each form becomes either a Salesforce custom object (for structured domain data like inspections or audits) or maps to a standard CRM object (Account, Lead, Case) when form submissions represent customer or prospect interactions. Your team decides the target object per form before migration runs.
Forms On Fire
Submission (form response record)
Salesforce Sales Cloud
Custom Object Record or CRM Record
1:1Individual form submissions map row-by-row to Salesforce records. If the target object is a custom object (Inspection__c), each submission creates one Inspection__c record. The submission's original creation timestamp maps to a custom Created_In_Source__c datetime field since Salesforce's CreatedDate reflects migration time.
Forms On Fire
Text Field (short answer)
Salesforce Sales Cloud
Custom Text Field (255 chars) or Text Area
1:1Forms On Fire text fields map to Salesforce Text fields. Short text (under 255 chars) maps to Text(255); longer responses map to Text Area Long (textarea). Character limits are enforced during migration — text exceeding Salesforce field length is truncated and flagged in the migration report.
Forms On Fire
Number Field
Salesforce Sales Cloud
Custom Number Field
1:1Forms On Fire number fields map to Salesforce Number fields with appropriate precision and scale. Integer values use Number(18,0) precision without decimal places, while decimal amounts like currency values use Number(18,2) to preserve two decimal places. The migration reads the field configuration from Forms On Fire to determine whether decimals are enabled and applies matching precision in Salesforce.
Forms On Fire
Date / DateTime Field
Salesforce Sales Cloud
Date or DateTime Field
1:1Forms On Fire date fields map directly to Salesforce Date fields without transformation. Datetime fields, including those that capture submission timestamps automatically, map to Salesforce DateTime fields with the original capture timezone preserved. If Forms On Fire stores timestamps in UTC, the timezone offset is applied so the Salesforce DateTime reflects the correct local time when the submission was created.
Forms On Fire
Location Field (GPS capture)
Salesforce Sales Cloud
Custom Number Fields (Latitude__c, Longitude__c) or Geolocation (Beta)
1:1Forms On Fire Location fields capture GPS coordinates as separate latitude and longitude values. These map to two custom Number fields (Latitude__c, Longitude__c) or Salesforce's Geolocation compound field if your org has it enabled. Accuracy and altitude values require additional custom Number fields if you need to preserve them.
Forms On Fire
Photo / Signature Field (media capture)
Salesforce Sales Cloud
Salesforce Files (ContentVersion linked to parent record)
1:1Photos and signatures captured in Forms On Fire are downloaded from the source API and re-uploaded as Salesforce Files (ContentVersion records) with the parent record ID set to the migrated submission record. File type, original filename, and capture metadata are preserved in ContentVersion fields.
Forms On Fire
Choices / Dropdown Field
Salesforce Sales Cloud
Picklist or Custom Picklist Field
1:1Forms On Fire picklist values map to Salesforce picklist values on the corresponding field. If your team has standardized picklist value sets in Salesforce, we match source values against the existing picklist and flag any unmatched values for manual resolution before migration.
Forms On Fire
Data Source (referenced dataset)
Salesforce Sales Cloud
Custom Picklist, Custom Object Lookup, or Static Values
1:1Forms On Fire Data Source fields reference external datasets for dynamic picklist values. In Salesforce, these require either a custom picklist with static values (for small datasets), a custom object with lookup relationship (for large/reference datasets), or a reintegration of the source system. We flag Data Source fields and document the data volume per field.
Forms On Fire
Barcode / QR Code Field
Salesforce Sales Cloud
Custom Text Field
1:1Scanned barcode and QR code values are text strings. These map to Salesforce custom Text fields. The original data name from the Forms On Fire field is preserved as the Salesforce field label; the scanned value stores as the field value.
Forms On Fire
Attachment (file upload by submitter)
Salesforce Sales Cloud
Salesforce Files
1:1Files uploaded by form submitters through Forms On Fire's attachment field become Salesforce Files linked to the parent submission record. We preserve the original filename, file extension, and file size. Large files (exceeding Salesforce's 25MB limit) are flagged and require either chunking or external storage linking.
Forms On Fire
Submission Metadata (submitter email, page URL, form version)
Salesforce Sales Cloud
Custom Fields on Target Object
1:1Forms On Fire captures metadata per submission that isn't stored in form fields — submitter email (if not a form field), page URL where the form was embedded, and form version. These require custom fields on the Salesforce target object (e.g., Source_Email__c, Form_Version__c, Page_URL__c) if you want to preserve them.
| Forms On Fire | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Form (data collection structure) | Custom Object (e.g., Inspection__c, Submission__c) or Standard Object based on use case1:1 | Fully supported | |
| Submission (form response record) | Custom Object Record or CRM Record1:1 | Fully supported | |
| Text Field (short answer) | Custom Text Field (255 chars) or Text Area1:1 | Fully supported | |
| Number Field | Custom Number Field1:1 | Fully supported | |
| Date / DateTime Field | Date or DateTime Field1:1 | Fully supported | |
| Location Field (GPS capture) | Custom Number Fields (Latitude__c, Longitude__c) or Geolocation (Beta)1:1 | Fully supported | |
| Photo / Signature Field (media capture) | Salesforce Files (ContentVersion linked to parent record)1:1 | Fully supported | |
| Choices / Dropdown Field | Picklist or Custom Picklist Field1:1 | Fully supported | |
| Data Source (referenced dataset) | Custom Picklist, Custom Object Lookup, or Static Values1:1 | Fully supported | |
| Barcode / QR Code Field | Custom Text Field1:1 | Fully supported | |
| Attachment (file upload by submitter) | Salesforce Files1:1 | Fully supported | |
| Submission Metadata (submitter email, page URL, form version) | Custom Fields on Target Object1: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
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Inventory Forms On Fire forms and classify target Salesforce objects
FlitStack AI reads your Forms On Fire account via API to list all form definitions and submission counts. We classify each form by its use case (field inspection, customer feedback, lead capture, asset tracking) and propose a Salesforce object target per form — either a standard CRM object (Lead, Case, Opportunity) or a custom object. Your team reviews and approves the classification; forms targeting the same Salesforce object are grouped into a single migration plan. This step produces the Form-to-Object Mapping Document that drives all subsequent configuration.
Design Salesforce custom fields and install field mapping spec
Based on the approved Form-to-Object Mapping, FlitStack AI generates a Salesforce field specification — which standard fields to use and which custom fields (__c) to create. For each form field we specify: Salesforce field API name, data type, length/precision, picklist values (if applicable), and whether the field is required. Your Salesforce admin creates these fields in a sandbox first; we validate the field configuration before touching production data. This step also identifies Data Source fields and GPS accuracy fields that require additional custom field planning.
Run sample migration with field-level diff on 100–500 records
FlitStack AI migrates a representative slice of submissions — covering all forms, all field types (text, number, date, location, photo, signature, attachment), and edge cases (empty required fields, long text, non-ASCII characters). We generate a field-level diff comparing source values against destination field values. You review the diff to verify: GPS coordinates landed correctly, photo Files are linked to the right parent records, picklist values matched, and Data Source field values preserved. We iterate on field mapping until the diff passes your acceptance criteria before the full run.
Execute full migration with delta-pickup and audit logging
The full migration runs against your Salesforce production org using Bulk API 2.0 for high-volume submission sets. FlitStack AI uses scoped read access on Forms On Fire — your field teams keep submitting forms during migration. A delta-pickup window (typically 24–48 hours) after the main run captures any submissions created or modified during cutover. Every record write is logged with source ID, destination ID, timestamp, and operator. If reconciliation identifies gaps, the audit log identifies exactly which records need manual intervention. One-click rollback reverts all writes if the migration must be aborted.
Deliver export package for form logic rebuild in Salesforce
Forms On Fire conditional rules, visibility logic, calculated field formulas, and Data Source definitions are exported as a JSON specification file. This file documents each form's rule conditions, target fields, and formula syntax in a format your Salesforce admin can use to rebuild equivalent logic using Validation Rules, Formula Fields, and Flow. We do not migrate the logic automatically because Salesforce's rule engine operates on record data rather than form-submission metadata — the rebuild is structurally different and requires admin judgment.
Platform deep dives
Forms On Fire
Source
Strengths
Weaknesses
Salesforce Sales Cloud
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 Salesforce Sales Cloud.
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 Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Forms On Fire to Salesforce Sales Cloud 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 Salesforce Sales Cloud
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.