CRM migration
Field-level mapping, validation, and rollback between Forms On Fire and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Forms On Fire
Source
Twenty CRM
Destination
Compatibility
10 of 11
objects map 1:1 between Forms On Fire and Twenty CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Forms On Fire is a no-code field-data-collection platform centered on form submissions, not a traditional CRM with built-in contact and opportunity management. Its data model holds Forms (definition), Submissions (records), Data Sources (reference data), and metadata fields like GPS, photos, and timestamps. Twenty CRM is a modern open-source CRM built on PostgreSQL with standard objects for People, Companies, Opportunities, Tasks, and Notes, plus unlimited custom objects and fields accessible via REST and GraphQL APIs at 100 requests per minute. The migration carries every Forms On Fire submission into Twenty as People, Companies, or custom object records depending on form structure. We map contact fields directly to Twenty's People object, company data to the Companies object, and Forms On Fire field metadata (submission ID, entry timestamp, assigned user, location data) into custom fields. Forms On Fire workflows, process-step definitions, and form logic do not migrate — they must be rebuilt in Twenty's workflow builder. We execute the migration via CSV export from Forms On Fire and batch import into Twenty using the REST API, respecting Twenty's 20,000-record-per-export limit and sequencing related objects in dependency order.
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 Twenty CRM, 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 (contact-type forms)
Twenty CRM
People
1:1Forms On Fire submissions containing name, email, phone, and job title map to Twenty's People object. Each submission becomes one People record. The original submission ID is stored in Source_Form_Submission_ID__c for traceability. If a form captures multiple contacts in a single submission, each contact generates a separate People record.
Forms On Fire
Form Submission (company-type forms)
Twenty CRM
Companies
1:1Submissions capturing company name, domain, industry, and address fields map to Twenty Companies. We extract the first company mentioned and create a Companies record; additional company references in the same submission are captured as a custom field for manual resolution.
Forms On Fire
Submission Metadata (submitter, timestamp, status)
Twenty CRM
People / Custom Fields
1:1Forms On Fire stores submission metadata: assigned user, submission date, completion status. These map as direct fields on People — Submission_Date__c (datetime), Assigned_User_Email__c (text), and Submission_Status__c (select). Original create and update timestamps are preserved as custom datetime fields, enabling time‑based reporting and audit trails that reflect the original entry chronology.
Forms On Fire
Location Field (GPS coordinates)
Twenty CRM
People / Custom Field
1:1Forms On Fire Location fields capture latitude and longitude as separate properties. We combine them into a text field (Location_Coordinates__c) formatted as 'latitude, longitude' for display in Twenty. If your team used location for route planning, the coordinate pair is preserved for reference even though Twenty has no native map view on the free/Pro tiers.
Forms On Fire
Data Source (reference tables)
Twenty CRM
Custom Object or Select Field
1:manyForms On Fire Data Sources provide lookup rows for Choices and Data fields — think product catalogs, service lists, or region codes. Each Data Source with fewer than 50 rows maps to a Select or Multi-Select field on the target Twenty object. Data Sources with complex row counts or relationships become a custom object in Twenty with Name, Code, and Description fields, then linked via a relation field on the primary record.
Forms On Fire
Form Attachment / File
Twenty CRM
Twenty File Attachments
1:1Photos, PDFs, and signatures attached to Forms On Fire submissions are downloaded and re-uploaded to Twenty's file storage. Each file is linked to the corresponding People, Company, or custom object record. File size limits from Forms On Fire are respected during export; large photo sets are compressed before import to stay within Twenty's storage constraints.
Forms On Fire
Form Submission (project or task-type forms)
Twenty CRM
Custom Object
1:1Forms On Fire forms used to capture field inspection results, safety audits, or job checklists have no direct Twenty CRM equivalent. We create a custom object — for example, Field_Inspection__c — with custom fields mirroring the form's data fields. The People record of the submitting user is linked via a relation field. Form-specific field types (barcode scan, photo, signature) are preserved as text or attachment fields.
Forms On Fire
Forms On Fire User / Team Member
Twenty CRM
WorkspaceMember
1:1Forms On Fire users who created or were assigned to submissions are resolved by email match against Twenty WorkspaceMembers. Unmatched users are flagged before migration — your admin can invite them to Twenty first or assign their records to a fallback WorkspaceMember.
Forms On Fire
Form Definitions (form layouts, field configurations)
Twenty CRM
No Equivalent
1:1Forms On Fire form layout settings, conditional visibility rules, and field validation logic do not export from the platform. These must be recreated manually in Twenty's Settings → Data Model as custom field configurations and visibility rules. We deliver a field-mapping document that maps each Forms On Fire data name to its Twenty field API name so your admin can reconfigure layouts efficiently.
Forms On Fire
Forms On Fire Workflow / Process Step
Twenty CRM
No Equivalent
1:1Forms On Fire Workflows and Process Steps automate routing between users, apply approval logic, and trigger notifications within the platform. These automation definitions cannot be exported and have no direct Twenty CRM equivalent. We export the workflow definitions as a JSON reference document that your Twenty admin can use to rebuild equivalent automations in Twenty's workflow builder.
Forms On Fire
Forms On Fire SSO / User Permissions
Twenty CRM
WorkspaceMember Roles
1:1Forms On Fire Enterprise SSO configuration maps to Twenty's Organization tier SSO settings (SAML/OIDC available on Organization cloud tier and self-hosted). User-level permissions from Forms On Fire do not translate directly — they must be reconfigured in Twenty's workspace permissions model after migration.
| Forms On Fire | Twenty CRM | Compatibility | |
|---|---|---|---|
| Form Submission (contact-type forms) | People1:1 | Fully supported | |
| Form Submission (company-type forms) | Companies1:1 | Fully supported | |
| Submission Metadata (submitter, timestamp, status) | People / Custom Fields1:1 | Fully supported | |
| Location Field (GPS coordinates) | People / Custom Field1:1 | Fully supported | |
| Data Source (reference tables) | Custom Object or Select Field1:many | Fully supported | |
| Form Attachment / File | Twenty File Attachments1:1 | Fully supported | |
| Form Submission (project or task-type forms) | Custom Object1:1 | Fully supported | |
| Forms On Fire User / Team Member | WorkspaceMember1:1 | Fully supported | |
| Form Definitions (form layouts, field configurations) | No Equivalent1:1 | Fully supported | |
| Forms On Fire Workflow / Process Step | No Equivalent1:1 | Fully supported | |
| Forms On Fire SSO / User Permissions | WorkspaceMember Roles1: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
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
Audit Forms On Fire forms and design Twenty schema
FlitStack AI inventories every form definition, Data Source, and submission type in your Forms On Fire workspace. We classify each form as contact-capture, company-capture, checklist, or custom — then deliver a Twenty schema plan specifying which custom objects to create, which standard Twenty objects to use, and which fields to mark as required or unique. This schema plan is reviewed and approved before any data moves.
Export submissions and resolve user assignments by email
We run Forms On Fire CSV exports in batches of up to 20,000 records per export operation, splitting multi-form datasets by form type and date range. User assignments in Forms On Fire are resolved by email match against Twenty WorkspaceMembers. Any Forms On Fire user without a corresponding Twenty account is flagged for your admin to invite or assign to a fallback WorkspaceMember before migration runs — no record lands without a valid Twenty owner.
Import objects in dependency order: Companies → People → Opportunities → Custom Objects
Twenty requires the one-side of relationships to exist before linking. We import Companies first, then People with companyId relations, then any custom objects with cross-relations last. Files and attachments are batch-uploaded separately and linked back to their parent records using the Source_Form_Submission_ID__c reference. Data Source reference tables are loaded as custom Twenty objects or pick-list options before their dependent submission batches run.
Run a sample migration with field-level diff before full commit
A representative slice — typically 200–500 records spanning the main form types — migrates first. We generate a field-level diff report showing source values against destination field values so you can verify that pick-list value mapping, coordinate formatting, and user resolution are correct before the full run commits. You approve the sample before we proceed to the full migration, and any discrepancies trigger an adjustment in the field mapping configuration.
Cut over with delta-pickup window and one-click rollback
The full migration runs against Twenty CRM. A 24–48 hour delta-pickup window captures any Forms On Fire submissions created or modified during the cutover window. FlitStack AI audit log records every operation including record counts, error rows, and transformation applied. If reconciliation identifies missing or duplicate records, one-click rollback reverts the Twenty workspace to its pre-migration state so your team can investigate and re-run.
Platform deep dives
Forms On Fire
Source
Strengths
Weaknesses
Twenty CRM
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 Twenty CRM.
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 Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Forms On Fire to Twenty CRM 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 Twenty CRM
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.