CRM migration

Migrate from Forms On Fire to Freshsales

Field-level mapping, validation, and rollback between Forms On Fire and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.

Forms On Fire logo

Forms On Fire

Source

Freshsales

Destination

Freshsales logo

Compatibility

87%

13 of 15

objects map 1:1 between Forms On Fire and Freshsales.

Complexity

BStandard

Timeline

24–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Forms On Fire is a mobile-first form and data-collection platform: it stores form submissions as flat records, each containing user-provided field data, timestamps, GPS coordinates, and attached media. Freshsales is a full CRM with a relational model — Leads, Contacts, Accounts, and Deals are separate objects linked by email lookups, account associations, and contact roles. The core migration challenge is flattening Forms On Fire submission records into Freshsales relational records while preserving every data point. We extract every form submission, map each field to either a Freshsales standard field or a custom field, create the corresponding Account or associate the Contact to an existing Account, and re-attach any photos, signatures, or barcodes. Custom form fields that have no Freshsales equivalent become Custom Fields on the Contact or Account object. Form-level metadata (form name, submission ID) is stored as a reference field. We use the Freshsales REST API with batch operations and respect Freshsales rate limits (10,000 API calls/day on Growth plan, higher on Pro and Enterprise) to move data without disrupting ongoing form operations in Forms On Fire. Workflows, conditional logic, and automated routing built in Forms On Fire do not migrate — they must be rebuilt in Freshsales automations or documented for your admin to reconstruct.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Forms On Fire logo

Forms On Fire

What's pushing teams away

  • Steeper-than-expected learning curve for complex form logic, dynamic filtering, and multi-step workflows requiring conditional field visibility.
  • Managing connected data between forms and Data Sources is difficult, with limited UI for tracing and debugging data relationships.
  • Entry volume limits on Standard tier (1,500 per user per month) force organizations to upgrade or delete historical records as they scale.
  • Complex workflows and advanced features require custom configurations that typically need technical expertise, negating the no-code promise for sophisticated use cases.
  • Some organizations report the platform becomes difficult to navigate as the number of apps and forms grows across the organization.

Choosing

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How Forms On Fire objects map to Freshsales

Each row shows how a Forms On Fire object lands in Freshsales, 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

maps to

Freshsales

Lead / Contact

1:many
Fully supported

Every Forms On Fire submission is a single record containing person data and field answers. FlitStack splits this into either a Freshsales Lead or Contact. Submissions with a valid email address and first/last name create a Contact. Submissions missing last name or containing a 'Lead Source' field value route to a Lead. Contact vs. Lead routing is configurable per form before migration runs.

Forms On Fire

Form Submission (Company field)

maps to

Freshsales

Account

1:1
Fully supported

Forms On Fire captures company name as a plain text field within a submission. We extract that text and either create a new Freshsales Account record or match against an existing Account by name. The Contact is then linked via AccountId lookup. If no company name is present, the Contact lands without an Account association — a default 'Unassigned Account' is optionally created.

Forms On Fire

Form Submission (deal_amount field)

maps to

Freshsales

Opportunity

1:many
Fully supported

Submissions containing a numeric field labeled deal_value, estimated_value, quote_amount, or similar trigger creation of a Freshsales Opportunity record alongside the Contact. The opportunity name uses the form name and submission ID. Stage defaults to the first pipeline stage. If no deal field exists in the form, no Opportunity is created — the submission is Contact-only.

Forms On Fire

Form Submission (pipeline field)

maps to

Freshsales

Sales Pipeline

1:1
Fully supported

If a form submission contains a dropdown or text field indicating a sales territory, product line, or pipeline segment, FlitStack maps this to a Freshsales Sales Pipeline. Pipelines must be pre-created in Freshsales before migration — we deliver a pipeline setup plan based on the form field values detected during the discovery phase.

Forms On Fire

Form Submission (submission_timestamp)

maps to

Freshsales

Contact.created_at / Lead.created_at

1:1
Fully supported

The original Forms On Fire submission timestamp maps to the Freshsales Contact or Lead created_at field. This preserves the actual submission date for reporting continuity. If the submission was edited after initial capture, the last-modified timestamp is optionally stored in a custom datetime field.

Forms On Fire

Form Submission (submission_id)

maps to

Freshsales

Custom Field: Original_Submission_ID__c

1:1
Fully supported

The Forms On Fire internal submission ID is stored as a custom text field on the Freshsales Contact record. This enables traceability back to the source system and is used during delta-pickup runs to de-duplicate any submissions that were modified in Forms On Fire after the initial migration pass.

Forms On Fire

Form Attachment (Photo)

maps to

Freshsales

Freshsales File Attachment (on Contact)

1:1
Fully supported

Photos captured via the Forms On Fire mobile app (image field type) are downloaded from Forms On Fire storage and re-uploaded to Freshsales as file attachments linked to the corresponding Contact record. Photos maintain their original file name and upload timestamp. Files exceeding Freshsales size limits are flagged before the full migration runs.

Forms On Fire

Form Attachment (Signature)

maps to

Freshsales

Freshsales File Attachment (on Contact)

1:1
Fully supported

Signature fields in Forms On Fire generate PNG image files. These migrate as Freshsales attachments on the Contact record. The signature image appears in the Contact's timeline view. Signature images from old submissions are preserved but do not link to any Freshsales native e-signature workflow.

Forms On Fire

Form Barcode / QR Field

maps to

Freshsales

Custom Field: Barcode__c

1:1
Fully supported

Barcode and QR code scan values captured via the Forms On Fire barcode field migrate to a custom text field (Barcode__c) on the Contact. This preserves the scanned identifier for inventory, asset, or asset-tracking workflows you intend to rebuild in Freshsales.

Forms On Fire

Form Location Field (GPS)

maps to

Freshsales

Custom Fields: Submission_Latitude__c, Submission_Longitude__c

1:1
Fully supported

Forms On Fire Location fields store latitude and longitude as separate numeric values. These migrate to two custom number fields on the Contact record. Freshsales has no native map field type — these coordinates are available for reporting, map integrations, or custom app overlays, but no built-in Freshsales map visualization is created.

Forms On Fire

Form Custom Field (dropdown/choice)

maps to

Freshsales

Freshsales Custom Field (matching type)

1:1
Fully supported

Forms On Fire Choice fields with static options map directly to Freshsales picklist custom fields. The option labels transfer as picklist values. If a Forms On Fire choice field pulls from a Data Source (dynamic options), we migrate the current snapshot of option values — dynamic lookups must be rebuilt as Freshsales Data Sources or manual picklist updates.

Forms On Fire

Form Submission (form_name / form_id)

maps to

Freshsales

Custom Field: Source_Form__c

1:1
Fully supported

The name of the Forms On Fire form that generated the submission is stored as a custom text field (Source_Form__c) on the Contact or Lead. This is critical for segmentation — it lets you filter Freshsales reports by the originating form without requiring manual tagging post-migration.

Forms On Fire

Form Submission (device_info)

maps to

Freshsales

Not Migrated

1:1
Fully supported

Forms On Fire captures device type, OS version, and app version metadata per submission. Freshsales has no standard or custom field that accepts device metadata in this format. This data is not migrated. If device tracking is required post-migration, the Freshsales mobile app provides its own device telemetry.

Forms On Fire

Form Workflow / Conditional Logic

maps to

Freshsales

Freshsales Workflow Rules

1:1
Fully supported

Forms On Fire field-level conditional logic (show/hide fields, auto-populate values, routing rules) is embedded in the form definition and is not exportable as a standalone configuration. These rules must be documented and rebuilt in Freshsales Workflows. FlitStack offers a workflow audit deliverable to capture your Forms On Fire logic as a rebuild specification.

Forms On Fire

Data Source (Forms On Fire linked datasets)

maps to

Freshsales

Not Migrated

1:1
Fully supported

Forms On Fire Data Sources are lookup datasets that populate Choice and Data fields within forms. These are not linked to submission records — they are design-time references. Freshsales has no equivalent Data Source feature. The lookup datasets must be recreated manually as Freshsales picklist values or imported as CSV-based custom objects if the lookup data needs to persist in Freshsales.

Gotchas + challenges

What specifically takes care here

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 logo

Forms On Fire gotchas

High

Standard tier entry limits silently gate historical data

Medium

dotx template linkage breaks Word document generation

Medium

Data Source auto-select behavior can silently alter form state

Low

Enterprise requires 25+ users minimum

Low

Non-Office document generation not supported

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • Forms On Fire submissions are flat — Contacts and Leads need relational linking that doesn't exist in the source

    Forms On Fire stores every submission as an independent record. The relational links between a person's submissions, their company, and any associated deal exist only as field values within the flat submission. When we migrate to Freshsales, we decompose each submission into a Contact, an Account lookup, and optionally an Opportunity — but this requires us to decide upfront whether a company name in a form field should create a new Account or link to an existing one. If your team has been entering inconsistent company name spellings (e.g., 'Acme Corp' vs 'Acme Corporation'), Freshsales will create duplicate Accounts on import. We flag duplicate Account names before migration and let you resolve them in a pre-migration cleanup pass.

  • Submissions without an email address cannot be de-duplicated and will create orphan Leads

    Freshsales deduplicates Leads and Contacts by email address — it is the primary key for merge and association logic. Forms On Fire form submissions frequently omit email when they are used for field inspections, asset checks, or safety audits rather than lead capture. If a submission has no email field, FlitStack creates a Freshsales Lead using the name provided, but that Lead cannot be matched against future submissions from the same person, cannot receive Freshsales email sequences, and cannot trigger workflow rules that depend on email presence. We surface the count of email-less submissions during discovery so you can decide whether to add an email capture field to the form before migration or accept these as anonymous Lead records.

  • Forms On Fire conditional logic and field rules have no export path to Freshsales

    Forms On Fire conditional field rules (show field X if field Y equals Z, auto-populate a value, or route a submission to a specific user) are baked into the form definition JSON. Freshsales has no equivalent form-level conditional logic — Freshsales workflow rules operate on already-created CRM records, not on data-entry forms. The Forms On Fire conditional logic must be documented as a rebuild specification and recreated as Freshsales Workflow Rules (Pro and Enterprise plans support multi-step conditions). FlitStack offers a separate workflow audit deliverable where we extract your form logic tree and produce a mapping document your Freshsales admin can use to configure equivalent rules post-migration.

  • Photo attachments must be re-uploaded to Freshsales file storage with size constraints

    Forms On Fire photos are stored in Forms On Fire's cloud storage and can be any size up to the platform's attachment limit. Freshsales file attachments have a 25MB per-file limit and are stored in Freshsales' own file system tied to the Contact or Account record. Large photos captured in the field (compressed smartphone images can exceed 5MB each) migrate successfully but consume Freshsales storage quotas — the Pro plan includes 5GB/user and Enterprise includes 100GB/user, so storage headroom varies by your plan. Photos that exceed 25MB are flagged before migration and split or compressed in coordination with your team.

  • GPS coordinates from Forms On Fire Location fields have no native map representation in Freshsales

    Forms On Fire's Location field captures device GPS coordinates with configurable accuracy settings and displays submissions on a map within the Forms On Fire platform. Freshsales has no native geolocation field type and no built-in map view for Contact or Account records. The latitude and longitude values from Forms On Fire migrate as two custom number fields (Latitude__c, Longitude__c) on the Contact record. These values are queryable via the Freshsales API and can be visualized using a third-party mapping integration or the Freshworks Marketplace geo-mapping apps, but no native map is built. If geographic visualization of submissions is a core reporting need, surface this during discovery so we can specify the custom field setup before migration.

Migration approach

Six steps for a successful Forms On Fire to Freshsales data migration

  1. Audit Forms On Fire forms and map to Freshsales schema

    FlitStack connects to Forms On Fire via API and inventories every form template, custom field definition, and submission count. We identify which forms contain contact data (name, email, phone), which contain deal fields (amount, stage), which include attachments, and which contain GPS or barcode fields. We produce a Form-to-Freshsales object mapping plan: which forms generate Contacts, which generate Leads, which generate Opportunities, and which custom fields require Freshsales custom field creation. This plan is reviewed with your team before any schema changes are made in Freshsales.

  2. Create Freshsales custom fields and configure pipeline setup

    Before submission data moves, we create all required Freshsales custom fields identified in the audit: Original_Submission_ID__c, Source_Form__c, Submission_Latitude__c, Submission_Longitude__c, Barcode__c, and any form-specific custom fields with no standard equivalent. If the forms include deal fields, we also configure the Freshsales Sales Pipeline and stage names. Account deduplication rules are documented so your Freshsales admin can clean up duplicate company name variants before the migration load runs.

  3. Resolve submission owners and handle email-less records

    Forms On Fire does not have a native user/owner model tied to submissions. If your team has been tracking which rep created or owns a submission, we match the owner email against Freshsales users by email lookup. Submissions without an email address are flagged as a separate batch — your team decides whether these become anonymous Leads (default) or are excluded from migration. We surface the email-less submission count during discovery so this decision is made before migration, not during it.

  4. Run a sample migration with field-level diff

    A representative slice of 200–500 submissions across your most-used form templates migrates first. We generate a field-level diff: every Forms On Fire field value is shown alongside its Freshsales equivalent so you can verify that company names correctly link to Accounts, that photo attachments are present on Contact records, and that custom field values landed in the right Freshsales fields. Custom field mapping is validated at this stage. We do not proceed to full migration until the sample diff is approved.

  5. Execute full migration with delta-pickup window

    The full submission set migrates using Freshsales REST API batch operations, respecting rate limits for your plan tier (10,000 calls/day on Growth; higher on Pro/Enterprise). A delta-pickup window of 24–48 hours runs concurrently: any submissions created or modified in Forms On Fire during the migration window are captured and loaded into Freshsales before cutover. Photos and signatures are re-uploaded as Freshsales file attachments. An audit log is produced listing every record migrated, every attachment loaded, and any records that failed with error codes. One-click rollback reverts all migrated records if reconciliation fails.

Platform deep dives

Context on both ends of the pair

Forms On Fire logo

Forms On Fire

Source

Strengths

  • Generous free trial (7 days) with no credit card required for initial evaluation.
  • Offline-first architecture ensures field data collection continues without internet connectivity.
  • AI-powered form generation from speech, text, or PDF reduces initial build time significantly.
  • Multi-platform deployment (iOS, Android, web) from a single form definition.
  • Full Open API available on all paid tiers enabling programmatic data access and integration.

Weaknesses

  • Entry limits on Standard tier (1,500/user/month) penalize organizations with high field data volume.
  • Complex data relationships between forms and Data Sources are difficult to manage and debug.
  • Billing model is per-seat regardless of usage, meaning inactive users still cost money.
  • Enterprise pricing requires 25+ users minimum, making it inaccessible for smaller teams that outgrow Standard.
  • Limited transparency on rate limits and bulk API capabilities in public documentation.
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Forms On Fire and Freshsales.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Forms On Fire: Not publicly documented.

  • Data volume sensitivity

    B

    Forms On Fire doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Forms On Fire to Freshsales migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Forms On Fire to Freshsales data migrations

Answers to the questions buyers ask most during Forms On Fire to Freshsales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Forms On Fire to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Forms On Fire to Freshsales migrations complete in 24–72 hours for under 50,000 submission records. Timeline is driven primarily by the number of distinct form templates (each requiring separate field mapping validation) and the volume of submissions with photo or signature attachments, which must be individually downloaded and re-uploaded to Freshsales file storage. Setups with fewer than 5,000 total submissions and 1–3 form types typically hit the shorter end of the range. Migrations with 200+ custom form fields, submissions lacking email addresses, or heavy attachment volume can extend to 5–7 days. The discovery and schema setup phase typically adds 3–5 business days before migration execution begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Forms On Fire.
Land in Freshsales, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day