CRM migration

Migrate from Field Squared to Twenty CRM

Field-level mapping, validation, and rollback between Field Squared and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.

Field Squared logo

Field Squared

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

10 of 10

objects map 1:1 between Field Squared and Twenty CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Field Squared organizes field service operations around Work Orders, Assets, and Service Contracts — with Documents, Tasks, and custom fields tied to each record. Twenty CRM uses People, Companies, Opportunities, Notes, and Tasks as its standard objects, with custom fields created before import. The migration carries every field-squred object into its Twenty equivalent: Contacts and subcontractor records become People, Assets map to Companies with location data preserved, Work Orders become Opportunities with stage values mapped to Twenty's pipeline stages, and Documents migrate as Notes attached to the parent record. Custom fields on Work Orders and Assets carry across as custom fields in Twenty's data model, but the migration does not rebuild workflows, scheduling rules, or field-service-specific automations — those require manual reconstruction in Twenty's workflow builder or via its REST and GraphQL API. FlitStack sequences the migration in dependency order: Companies first (as the 'one' side of relationships), then People, then Opportunities, then custom objects, respecting Twenty's import-order constraint. A delta-pickup window captures any records modified during cutover.

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

Field Squared logo

Field Squared

What's pushing teams away

  • Steep initial setup time due to extensive configuration options; organizations report significant investment during onboarding before realizing full value.
  • The learning curve for administrators managing custom fields, App Builder, and automation rules is steeper than simpler ticketing tools.
  • Reporting and analytics capabilities are functional but lack the depth of purpose-built BI tools, leading some customers to export data elsewhere for analysis.

Choosing

Twenty CRM logo

Twenty CRM

What's pulling them in

  • Top open-source CRM on GitHub with 40.6K stars, giving teams full source code access and infrastructure ownership without per-feature licensing surprises.
  • Free self-hosting under AGPL-3.0 means unlimited users and custom objects for the cost of cloud infrastructure alone, typically $20–100/month.
  • Pricing page explicitly mocks competitors for charging add-on fees for API access, webhooks, and workflows — transparency that resonates with RevOps teams burned by Salesforce.
  • Unlimited custom objects and fields with no price impact, letting teams shape the data model to their business rather than forcing business into rigid schemas.
  • Modern TypeScript/React/PostgreSQL stack means developer-led teams can extend, self-host, or integrate without fighting legacy architecture.

Object mapping

How Field Squared objects map to Twenty CRM

Each row shows how a Field Squared 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.

Field Squared

Contact

maps to

Twenty CRM

People

1:1
Fully supported

Field Squared Contact records map directly to Twenty People. The primary company association (AccountId) resolves to the target Company record by matching the account name. Contacts without a primary company land in Twenty as standalone People records. Email, phone, and address fields carry across as custom fields or standard fields if configured in Twenty's data model before import.

Field Squared

Asset

maps to

Twenty CRM

Companies

1:1
Fully supported

Field Squared Assets are equipment or inventory items tied to service locations. These map to Twenty Companies because both represent organizational entities with address, industry, and contact relationships. The asset name becomes the Company name; asset location becomes the Company address. Service history on the Asset migrates as Notes attached to the Company record.

Field Squared

Work Order

maps to

Twenty CRM

Opportunities

1:1
Fully supported

Field Squared Work Orders represent service jobs with status, priority, scheduled dates, and assigned technicians. These map to Twenty Opportunities because both track deal/progress stages tied to an account. Work Order status maps to Opportunity stage values via value mapping; Work Order priority becomes a custom field on the Opportunity.

Field Squared

Service Contract

maps to

Twenty CRM

Custom Object

1:1
Fully supported

Field Squared Service Contracts define recurring service agreements tied to accounts. Twenty has no native contract object, so a Service Contract custom object is created in Twenty's Settings → Data Model. Fields include contract type, start/end dates, billing frequency, and the linked account reference.

Field Squared

Document

maps to

Twenty CRM

Notes

1:1
Fully supported

Field Squared Documents (specs, photos, attachments) map to Twenty Notes attached to the parent record — either the People, Companies, or Opportunities record they were originally associated with. File attachments are re-uploaded to Twenty's storage; inline images are downloaded and rehosted.

Field Squared

Task

maps to

Twenty CRM

Tasks

1:1
Fully supported

Field Squared Tasks with custom fields (created via App Builder) map to Twenty Tasks. Original scheduled start/end times, task type, status, and owner assignments carry across. Custom fields on Field Squared Tasks translate to custom fields on Twenty Tasks — the custom field definitions must be created in Twenty first.

Field Squared

Custom Field (on Work Order)

maps to

Twenty CRM

Custom Field (on Opportunity)

1:1
Fully supported

Field Squared allows 30+ custom field types on Work Orders via the App Builder. Each custom field type (text, number, date, select, multi-select, relation) is mirrored as a corresponding custom field in Twenty's data model before migration. Field names are preserved; field types are mapped to Twenty's supported types.

Field Squared

Subcontractor

maps to

Twenty CRM

People

1:1
Fully supported

Field Squared subcontractors are individuals associated with Work Orders. They map to Twenty People records with a subcontractor type tag preserved as a custom pick-list field. Email and phone contact details carry across as custom fields in Twenty. Additionally, any address, role description, or notes attached to the subcontractor in Field Squared are preserved as custom text fields on the Twenty People record, maintaining full context for downstream assignments.

Field Squared

Location / Address

maps to

Twenty CRM

Address fields on Companies

1:1
Fully supported

Field Squared service locations tied to Assets carry address components (street, city, state, postal code, country) that map to Twenty's address fields on the Companies object. GPS coordinates stored on the location are preserved as custom number fields. These address fields enable location-based reporting and territory segmentation in Twenty, while the coordinate fields support map integrations or distance calculations using the CRM's API.

Field Squared

Owner / Technician

maps to

Twenty CRM

Workspace Members

1:1
Fully supported

Field Squared owner and technician assignments on Work Orders are resolved by matching the owner email against Twenty Workspace Members. Unmatched owners are flagged before migration so the Twenty workspace can be populated first. Assigned technicians without Twenty accounts receive a fallback owner assignment.

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.

Field Squared logo

Field Squared gotchas

High

Automation Rules and Dashboard configurations lack public API access

Medium

No dedicated Customers API—contact data extracted from Work Orders

Low

Batch document migration requires array-based payload construction

Twenty CRM logo

Twenty CRM gotchas

High

Import order is enforced and critical

High

Export limited to 20,000 records and visible columns only

Medium

Soft-deleted records count toward uniqueness and trigger restores

Medium

API rate limits cap at 200 req/min on Organization tier

Low

No native email sequences — follow-up cadences require external tools

Pair-specific challenges

  • Twenty People object lacks standard contact fields — custom fields must be created before CSV import

    Unlike Field Squared, which stores email, phone, and address natively on Contact records, Twenty's People object does not include these as standard fields out of the box. The GitHub issue #13953 on Twentyhq/twenty explicitly calls out that new users expect standard fields like emails, phones, and job titles to exist immediately. Migration planning must include a first-pass phase to create every custom field in Twenty's Settings → Data Model before the CSV import step references those columns. If a column in the import file has no corresponding Twenty field, the import will silently drop that column. FlitStack generates a field-creation checklist from the Field Squared schema audit so the Twenty workspace is ready before any data lands.

  • Import order constraint requires Companies to load before People and Opportunities

    Twenty's CSV import documentation explicitly states that the 'one' side of one-to-many relationships must exist before the 'many' side can reference them. Companies must import first (as the parent of People and Opportunities), followed by People (with companyId linking to Companies), then Opportunities (with companyId and personId linking to both). Custom objects with relationships import last. This sequencing is not optional — importing People before Companies will result in orphaned records with no companyId, and Opportunities will fail to link to their account records. FlitStack sequences the migration packages in dependency order and validates the CSV files before each import run.

  • Twenty API rate limits cap bulk migration throughput on Free and Pro tiers

    Twenty's API rate limits are 100 calls per minute on the Free tier and 200 calls per minute on Pro/Organization. Field Squared exports can contain tens of thousands of Work Order and Asset records. A direct API-based migration is rate-limited by these thresholds, extending migration time proportionally. FlitStack uses Twenty's CSV import endpoint as the primary migration path (which bypasses per-call rate limits for data volume) and reserves API calls for field validation and delta-pickup operations. Large datasets exceeding 20,000 records per object are split into multiple CSV batches per Twenty's export limit.

  • GPS coordinates and service location data require custom field creation in Twenty

    Field Squared stores GPS latitude and longitude on Asset and Work Order records for field dispatch and routing. Twenty's Companies and Opportunities objects have no native coordinate fields. These values must be preserved as custom number fields (Latitude__c, Longitude__c) on the relevant objects. The custom field definitions must exist in Twenty before the import references them. If the location data is critical for your service operations workflow, account for the time to configure these fields and any downstream integration (map views, route planning) that will consume them.

  • Field Squared workflows and dispatch rules have no export path to Twenty

    Field Squared's workflow configuration, scheduling rules, GPS routing logic, and dispatch automations are platform-specific constructs with no portable export format documented in Field Squared's API documentation. Twenty's workflow builder operates on CRM-level automation (task creation, field updates, notifications) and does not replicate field-service scheduling patterns. All workflow logic must be rebuilt manually in Twenty's workflow builder or implemented via the Twenty GraphQL API. FlitStack provides a workflow audit export from Field Squared documenting every active workflow, trigger, and action so your Twenty admin has a rebuild reference, but the rebuild itself is a separate configuration effort not included in the data migration fee.

Migration approach

Six steps for a successful Field Squared to Twenty CRM data migration

  1. Audit Field Squared schema and export all object types

    FlitStack runs a full schema audit against your Field Squared workspace via the REST API: contacts, assets, work orders, service contracts, tasks, documents, and all custom fields on each object. We capture field names, data types, pick-list values, and relationship structures. This audit produces a field mapping document and a custom field creation checklist for Twenty's data model setup. The audit also identifies records without valid email addresses (which cannot resolve to Twenty Workspace Members) and duplicate records that should be merged before migration.

  2. Configure Twenty workspace: create custom fields and pipeline stages

    Before any data imports, FlitStack generates a step-by-step plan for creating all required custom fields in Twenty's Settings → Data Model. This includes email and phone fields on People, priority and custom date fields on Opportunities, and any custom fields from Field Squared Work Orders and Tasks. Pipeline stages in Twenty are configured to match Field Squared Work Order status values so stage-value mapping is consistent. Workspace members are invited so owner/technician email matching can resolve during the migration run.

  3. Export Field Squared data and sequence import CSVs in dependency order

    FlitStack exports Field Squared data via the REST API in CSV format: Companies (from Assets) first, then People (from Contacts and Subcontractors), then Opportunities (from Work Orders), then Tasks, then custom objects, then Notes (from Documents). Each CSV is validated against the target Twenty schema before import. Foreign key references (companyId on People, companyId and personId on Opportunities) are resolved using the previously imported record IDs. Field Squared Custom Fields on Work Orders are included as columns mapped to their Twenty custom field counterparts.

  4. Run sample migration with field-level diff

    A representative sample (typically 100–500 records across Contacts, Assets, Work Orders, and Tasks) migrates first. FlitStack generates a field-level diff showing the source value, mapped field name, and destination value in Twenty so you can verify that custom field mapping, status-to-stage value mapping, owner resolution, and date handling are correct before the full run commits. You approve the sample diff before the full migration begins.

  5. Full migration with delta-pickup window and rollback readiness

    The full migration runs against Twenty with all object types in sequence. A delta-pickup window (typically 24–48 hours) captures any Field Squared records created or modified during the cutover period so Twenty reflects the final state at go-live. FlitStack's audit log records every operation (create, update, link) with source record ID and destination record ID. One-click rollback is available if reconciliation identifies data integrity issues — this reverts all migrated records and re-imports from the Field Squared snapshot.

Platform deep dives

Context on both ends of the pair

Field Squared logo

Field Squared

Source

Strengths

  • Combines FSM, EAM, and mobile workforce management in a single configurable platform.
  • RESTful API supports single and batch operations with authenticated HTTP headers.
  • Highly extensible via App Builder and 30+ custom field types for industry-specific data modeling.
  • Per-user tiered pricing ($70–$125/month) allows selective feature access without full platform licensing.
  • Real-time dispatch and GPS tracking capabilities for distributed field operations.

Weaknesses

  • No public API for Automation Rules or Dashboard/report definitions—these must be manually recreated in the destination.
  • Extensive configuration requirements result in a steep learning curve during initial setup.
  • Customer data lacks a dedicated API endpoint, requiring extraction from Work Order associations.
  • Limited documented audit trail or bulk export tooling outside the core API.
Twenty CRM logo

Twenty CRM

Destination

Strengths

  • AGPL-3.0 open-source license with full source code on GitHub — no vendor lock-in, no sunset risk.
  • Unlimited users and unlimited custom objects on self-hosted, with no feature gating based on headcount.
  • REST and GraphQL APIs available on all paid tiers, not locked behind an enterprise add-on fee.
  • MCP server and webhooks shipped as standard features, not premium upgrades.
  • Modern PostgreSQL-backed data model that developer teams can query, extend, and self-host.

Weaknesses

  • Recent v1.0 release means limited production hardening compared to CRMs with multi-year operational track records.
  • No native email sequencing or sales engagement tools — follow-up cadences require a separate platform.
  • No native two-way email sync or inbox integration, requiring third-party connectors for full activity logging.
  • Self-hosting 'free' pricing hides real infrastructure and DevOps costs that stack up over time.
  • Workflow automation is functional but lacks the complexity needed for sophisticated multi-step sales motions.

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 Field Squared and Twenty CRM.

  • 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

    Field Squared: Not publicly documented.

  • Data volume sensitivity

    A

    Field Squared exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your Field Squared to Twenty CRM 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 Field Squared to Twenty CRM data migrations

Answers to the questions buyers ask most during Field Squared to Twenty CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Field Squared to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Field Squared to Twenty migrations complete in 48–72 hours of clock time for under 50,000 records across Work Orders, Assets, Contacts, and Tasks. The longest planning step is configuring Twenty's custom fields in Settings → Data Model before import files can reference them — this typically adds 1–3 days depending on the number of custom fields on Field Squared Work Orders. Larger setups with 500,000+ records or complex custom object relationships extend to 5–7 days. The delta-pickup window (24–48 hours) adds to the total cutover timeline.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Field Squared.
Land in Twenty CRM, 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