CRM migration

Migrate from Service Autopilot to Twenty CRM

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

Service Autopilot logo

Service Autopilot

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

83%

10 of 12

objects map 1:1 between Service Autopilot and Twenty CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Service Autopilot organizes field-service data around Clients, Leads, Jobs, Properties, Invoices, and Payments with per-feature pricing (Startup $49, Pro $199, Pro Plus $499/month) that scales with the modules you activate. Its automation engine runs rule-based Sequences tied to those objects. Twenty CRM is an open-source Salesforce alternative built on TypeScript, React, and PostgreSQL, licensed AGPL-3.0, with a standard data model of People, Companies, Opportunities, Tasks, and Notes — plus unlimited custom objects at any tier including self-hosted. We map Service Autopilot Clients and Leads to Twenty People, Companies to Twenty Companies, and Jobs to Twenty Opportunities with custom fields capturing service type, status, and scheduling details. Invoices and Payments become Notes on the relevant Opportunity or Company record. Service Autopilot Properties (service locations with addresses, measurements, and GPS coordinates) become Company address fields and custom coordinate fields. Custom fields defined in Service Autopilot Settings → Custom Fields are recreated as custom fields on the equivalent Twenty object. Owner records resolve by email match against Twenty Workspace Members. Service Autopilot Sequences and automation rules do not transfer — they require a manual rebuild using Twenty's Workflow builder. The migration runs via CSV export from Service Autopilot and CSV import into Twenty, with API used for large or relational datasets. A 24–48-hour delta window captures any records modified during the cutover window.

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

Service Autopilot logo

Service Autopilot

What's pushing teams away

  • Steep learning curve when the business scales — users report the platform becoming more complex and harder to manage as the number of employees, clients, and jobs grows, leading some to seek more scalable alternatives.
  • Version transition friction — Service Autopilot has been moving from V2 to a new version, and the FAQ explicitly asks 'When is V2 going away?', suggesting uncertainty that creates migration anxiety and workflow disruption for long-time users.
  • Integration limitations — while the platform mentions Zapier and an open API, the API is not publicly well-documented, and users with custom integration needs find themselves constrained by what the native integrations support.
  • Reporting gaps — Job Costing is a core reporting feature but requires meticulous setup to produce accurate data, and the phrase 'Garbage In, Garbage Out' appears directly in Service Autopilot's own Job Costing guide, indicating that users frequently struggle with report accuracy.
  • Annual-only pricing commitment — all Service Autopilot pricing is annual subscription based, which locks customers into 12-month terms and makes it costly to exit or try the platform risk-free.

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 Service Autopilot objects map to Twenty CRM

Each row shows how a Service Autopilot 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.

Service Autopilot

Client

maps to

Twenty CRM

People

1:1
Fully supported

Service Autopilot Clients (individuals with contact details, addresses, and service history) map directly to Twenty People records. Each Client's email, phone, and address transfer as standard People fields. Original create date is preserved as a custom datetime field since Twenty's CreatedAt is set at migration time.

Service Autopilot

Company (in Service Autopilot CRM module)

maps to

Twenty CRM

Companies

1:1
Fully supported

Service Autopilot's optional CRM Company records map to Twenty Companies. If your Service Autopilot plan stores business account data separately from service-location Properties, the Company record becomes a Twenty Company with name, domain, and industry fields. Company hierarchies (parent/child) map to the Twenty Companies relation field.

Service Autopilot

Lead

maps to

Twenty CRM

People

1:1
Fully supported

Service Autopilot Leads (prospective clients with lead-specific fields like Lead Source, Lead Status, Estimated Revenue) map to Twenty People. Lead-specific fields migrate as custom fields on the People record. A Lead_Status__c custom pick-list field preserves the source stage value for reporting continuity in Twenty.

Service Autopilot

Property

maps to

Twenty CRM

Companies

1:1
Fully supported

Service Autopilot Properties (service locations with addresses, property measurements, GPS coordinates, and photos) are a field-service concept with no direct Twenty CRM equivalent. Each Property becomes a Twenty Company record with address fields populated from the Property address, plus custom fields for property measurements and GPS latitude/longitude. Properties linked to a Client map via the Company → People relation.

Service Autopilot

Job

maps to

Twenty CRM

Opportunities

1:1
Fully supported

Service Autopilot Jobs (scheduled work orders linked to a Client and Property, with status, assigned employee, scheduled date, and service details) map to Twenty Opportunities. Job Name becomes Opportunity name. Job status (Scheduled, In Progress, Completed, Cancelled) maps to a custom Opportunity stage field. The linked Client and Property become the Opportunity's linked People and Company via Twenty's relation fields.

Service Autopilot

Job Assignment

maps to

Twenty CRM

Opportunities (custom field) + Tasks

many:1
Fully supported

Service Autopilot Job Assignments (linking a Job to a specific Employee/technician, with assignment date and status) merge into the Twenty Opportunity record as a custom Assigned_Technician__c field pointing to the Twenty Workspace Member. Individual task-level assignments (e.g., sub-tasks within a multi-stop job) create separate Tasks linked to the Opportunity.

Service Autopilot

Invoice

maps to

Twenty CRM

Opportunities + Notes

many:1
Fully supported

Service Autopilot Invoices (line items, amounts, status, due date, and linked Client/Job) become custom fields on the related Twenty Opportunity: Invoice_Number__c, Invoice_Amount__c, Invoice_Status__c, and Invoice_Due_Date__c. The full invoice detail text migrates as a Note attached to the Opportunity. Invoice history is preserved for financial reporting even though Twenty has no native billing module.

Service Autopilot

Payment

maps to

Twenty CRM

Notes

1:1
Fully supported

Service Autopilot Payment records (amount paid, payment method, payment date, linked Invoice and Client) become Notes attached to the corresponding Opportunity or Company record. Payment method (credit card, ACH, cash) and transaction status are captured as text in the Note body for reference. We do not recreate payment processing history as a financial object since Twenty lacks a native payments module.

Service Autopilot

Employee

maps to

Twenty CRM

Workspace Members

1:1
Fully supported

Service Autopilot Employees (technicians, dispatchers, admin staff) resolve to Twenty Workspace Members by email match. Employee fields including name, role, compensation type (Hourly vs. Salary), and labor burden rate transfer as custom fields on the Workspace Member record for job-costing continuity. Employees without an email in Twenty are flagged before migration for manual invitation.

Service Autopilot

Custom Field (any object)

maps to

Twenty CRM

Custom Field (matching Twenty object)

1:1
Fully supported

Every custom field defined in Service Autopilot under Settings → Custom Fields must be recreated as a custom field in Twenty under Settings → Data Model before import. Field type mapping: Service Autopilot Text, Number, Date, and Select types map directly to Twenty equivalents. Multi-select fields map to Twenty multi-select. Relation fields in Service Autopilot map to Twenty relation fields. We deliver a custom field creation checklist as part of the pre-migration plan so your Twenty workspace is ready before data lands.

Service Autopilot

Sequence / Automation

maps to

Twenty CRM

None (manual rebuild required)

1:1
Fully supported

Service Autopilot Sequences (rule → trigger → action chains driving automated client communications, lead follow-ups, and job-triggered SMS/email) have no equivalent in Twenty CRM's workflow model. The sequence definitions must be manually rebuilt in Twenty's Workflow builder. We export your Service Autopilot sequence definitions as a structured reference document for your Twenty admin to use during the rebuild phase.

Service Autopilot

Attachment / File

maps to

Twenty CRM

Notes + File fields

1:1
Fully supported

Service Autopilot file attachments on Jobs, Clients, and Properties (photos, signed documents, measurement files) are downloaded and re-uploaded as Note attachments in Twenty linked to the corresponding People, Company, or Opportunity record. File size limits on Twenty's file storage apply. Inline images in notes are extracted, downloaded locally, and re-hosted as Note attachments.

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.

Service Autopilot logo

Service Autopilot gotchas

High

V2 to new platform transition is still in progress

High

Exports are gated by User Roles and Rights

Medium

Export only supports words, letters, and basic special characters

Medium

Automations (Sequences) have no bulk export path

Medium

Job Costing reports depend entirely on upstream data quality

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

  • Service Autopilot Properties become Companies in Twenty, not People

    Service Autopilot's Property object (service locations with addresses, GPS coordinates, measurements, and photos linked to Jobs) has no direct equivalent in Twenty CRM's standard People object model. Twenty's schema splits contacts (People) from business entities (Companies). We map each Property to a Company record in Twenty with address fields populated from the Service Autopilot property address. Custom fields on the Property (gate codes, access instructions, lawn measurements, chemical tracking) must be recreated as custom fields on the Companies object before import. GPS latitude and longitude become custom number fields on the Company. If your Service Autopilot setup uses Property hierarchies (parent property / satellite location), the hierarchy maps to Twenty Companies' parent-company relation field — your admin must verify the parent-child mapping before the full run because circular references require manual resolution.

  • Service Autopilot automations (Sequences) do not migrate to Twenty workflows

    Service Autopilot's automation engine runs Sequences — rule-triggered chains of events that send emails, SMS messages, or update fields based on job status changes, client actions, or date triggers. Twenty CRM's Workflow builder uses a different execution model and is not API-compatible with Service Autopilot sequence definitions. There is no automated path to convert these rules. We export your Service Autopilot sequence definitions as a structured JSON document (including trigger conditions, action steps, and delay rules) that your Twenty admin can use as a reference during the manual rebuild in Twenty's Workflow builder. This is listed in our What We Do Not Migrate disclosure, but it is worth flagging explicitly because field-service businesses often depend heavily on automation for client communication timing.

  • Twenty CRM has no native invoicing or payment processing

    Service Autopilot ships with integrated invoicing, credit-card processing (autopay, bulk charging), and invoice status tracking (Sent, Paid, Overdue, Void). Twenty CRM has no native billing or payment module. Invoice data migrates as custom fields on the Opportunity record (Invoice_Number__c, Invoice_Amount__c, Invoice_Status__c, Invoice_Due_Date__c), and full invoice line-item detail migrates as Notes attached to the Opportunity. Payment records become Notes with amount, method, and date in the body. If your business relies on Service Autopilot's credit-card processing for recurring billing or autopay, that capability must be replaced by a third-party payment processor integrated with Twenty CRM (e.g., Stripe, QuickBooks Payments) or rebuilt as part of your post-migration workflow.

  • Twenty's standard field set requires custom field creation before import

    Twenty CRM's People and Companies objects ship with a minimal set of standard fields (name, email, phone, job title, website, address). A GitHub issue filed against the Twenty project (twentyhq/twenty #13953) explicitly notes that new users must spend 30–60 minutes creating basic fields before they can start importing CRM data — an onboarding friction point that also impacts migration. Service Autopilot's richer object schema (client status, lead source, lead status, property measurements, job priority, invoice status, payment method, etc.) requires significant custom field creation in Twenty before the migration can proceed. We deliver a pre-migration custom field checklist mapped to each Service Autopilot object so your Twenty workspace is schema-ready before data import begins. Fields must exist before the CSV import — the import process creates records, not fields.

  • Service Autopilot job assignments map to a single technician field, not sub-tasks per stop

    Service Autopilot's dispatch model supports multi-stop jobs where each stop can be assigned to a different technician and scheduled at a different time. In Twenty, an Opportunity is a single record linked to one primary assigned person via the relation field. Multi-stop job structures where each stop has a separate technician and time window do not map cleanly to a single Opportunity — each stop's assignment data would need to become separate Task records or custom fields. We recommend reviewing multi-stop job structures before migration and collapsing them into one Opportunity per job with Task records for individual stop assignments, or maintaining stop-level detail as custom fields on the primary Opportunity.

Migration approach

Six steps for a successful Service Autopilot to Twenty CRM data migration

  1. Audit Service Autopilot data and build the field mapping plan

    We pull a full export of all Service Autopilot objects: Clients, Leads, Companies, Properties, Jobs, Invoices, Payments, Employees, and custom fields from Settings → Custom Fields. We also export Sequence definitions (automation rules) as a structured reference document. We cross-reference against Twenty's standard object model (People, Companies, Opportunities, Tasks, Notes) and identify all custom field creation requirements. The output is a field mapping spreadsheet and a custom field creation checklist that your team (or our team) completes in Twenty under Settings → Data Model before the migration runs. This phase typically takes 3–5 business days.

  2. Recreate custom fields and invite Workspace Members in Twenty

    Before any data lands, all custom fields identified in the audit must exist in Twenty. We guide your Twenty admin through creating each custom field (matching Service Autopilot's field type: text, select, multi-select, number, date, relation). Simultaneously, all Service Autopilot Employees and Owners are matched to Twenty Workspace Members by email — employees without a Twenty account are flagged for invitation. This step is critical: Twenty's CSV import creates records but not fields, and relations require that the referenced Workspace Member already exists. We provide a step-by-step checklist so nothing is missed.

  3. Export, transform, and load data in dependency order

    Service Autopilot data must load in a specific order because of foreign-key relationships: Companies (the 'one' side of the Company → People → Opportunity chain) load first, then People, then Opportunities with their relation fields resolved (each Job's Client maps to a People email, each Job's Property maps to a Company name). Invoices and Payments load as custom Opportunity fields and Notes. Attachments and files are downloaded, mapped to their target record by ID, and re-uploaded as Twenty Notes. Custom field values are appended from the Service Autopilot export to the matching Twenty field. Owner resolution happens at this stage — any Owner without a matching Twenty Workspace Member is flagged and assigned to a fallback owner.

  4. Run sample migration and generate field-level diff

    A representative slice migrates first — typically 100–500 records spanning People (Clients and Leads), Companies (CRM accounts and Properties), Opportunities (Jobs), and a sampling of Notes and custom field values. We generate a field-level diff showing the source value, the transformed value, and the destination field in Twenty for every mapped column. You verify that job status → stage mapping, property → Company translation, custom field values, and owner resolution all match your expectations before the full run commits. Any field mapping corrections are applied to the transformation logic before the full migration proceeds.

  5. Execute full migration with delta-pickup and rollback plan

    The full export runs from Service Autopilot with the validated transformation logic. A delta-pickup window (typically 24–48 hours) captures any records modified in Service Autopilot during the cutover period — Jobs completed by field techs, new Clients added, or Invoice statuses updated while the migration is running. Audit logs capture every record written, every relation set, and every custom field populated. If reconciliation fails, one-click rollback reverts the Twenty workspace to its pre-migration state. After rollback verification, the team confirms the final state and Service Autopilot access can be decommissioned.

Platform deep dives

Context on both ends of the pair

Service Autopilot logo

Service Autopilot

Source

Strengths

  • Purpose-built dispatch board with route optimization (crow-flies and road-aware)
  • Integrated invoicing with real-time credit card charging and Autopay
  • Automation engine with Sequences for triggered client communications
  • Property-level data storage with GPS coordinates, photos, and measurements
  • Multi-industry FSM packaging for lawn care, landscaping, cleaning, and field service

Weaknesses

  • Annual-only subscription pricing with no month-to-month flexibility
  • Automations and workflows cannot be exported — must be manually rebuilt
  • API is not publicly well-documented, limiting custom integration options
  • Job Costing accuracy is highly dependent on meticulous upstream data setup
  • Version transition from V2 to new platform creates ongoing uncertainty
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 Service Autopilot 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

    Service Autopilot: Not applicable — no public API.

  • Data volume sensitivity

    B

    Service Autopilot doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Service Autopilot 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 Service Autopilot to Twenty CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Service Autopilot to Twenty CRM migrations complete in 48–72 hours of clock time for under 10,000 records. Larger setups with 50,000+ records, complex property hierarchies, or 30+ custom fields extend to 5–10 days. The longest planning step is recreating custom fields in Twenty's Data Model before import — we provide a pre-migration checklist to accelerate this phase. The actual data load and delta pickup run within 24–48 hours once the Twenty schema is ready.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Service Autopilot.
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