CRM migration

Migrate from Assembly Neos to Twenty CRM

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

Assembly Neos logo

Assembly Neos

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

12 of 12

objects map 1:1 between Assembly Neos and Twenty CRM.

Complexity

BStandard

Timeline

5–10 days

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Assembly Neos is a legal practice management platform built around matters, parties, billable time, and court-document workflows. Twenty CRM is a general-purpose open-source CRM with People, Companies, Opportunities, Tasks, and Notes objects plus a GraphQL/REST API for import. The migration carries over every standard record type — contacts, clients (as companies), matters (as opportunities), activities, billable time, and all custom properties — mapping legal-specific fields like practice area, case status, and billing rate into Twenty's custom-field model. Workflows, document templates, email templates, integrations (Microsoft 365, DocuSign, QuickBooks, RingCentral), and the billing model have no direct Twenty equivalent and must be rebuilt or reconnected manually after cutover. FlitStack AI sequences the migration so parent objects load before their children, runs a sample migration with field-level diff before committing, and captures any in-flight changes during a 24–48h delta-pickup window using Assembly Neos's scoped read access. Data integrity is maintained through a structured migration plan that addresses record dependencies, custom field pre-creation in Settings → Data Model, and phased imports that handle Twenty's 20,000-record CSV export limit. The scoped read access approach means your team continues working in Assembly Neos throughout the migration without disruption.

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

Assembly Neos logo

Assembly Neos

What's pushing teams away

  • Frequent software bugs and slow performance frustrate users, with multiple G2 reviews citing random freezing and document upload failures impacting daily workflows. Performance degrades noticeably with heavy workloads, especially when handling large case volumes or many concurrent users. The built-in accounting module is removed when migrating to Neos, forcing firms to adopt QuickBooks Online for all billing and disbursement tasks, which creates friction for firms expecting an all-in-one solution. A learning curve exists for advanced features like templates, custom workflows, and case type configurations. Some firms cite integration limitations or the desire for more modern AI features available in competing platforms.

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 Assembly Neos objects map to Twenty CRM

Each row shows how a Assembly Neos 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.

Assembly Neos

Contact / Party

maps to

Twenty CRM

People

1:1
Fully supported

Assembly Neos contact records (attorneys, paralegals, opposing counsel, clients) map 1:1 to Twenty CRM People records. Email address is the unique identifier in Twenty — used for deduplication and user resolution during migration. Contacts without an email address receive a placeholder email and are flagged for manual review.

Assembly Neos

Client / Firm

maps to

Twenty CRM

Company

1:1
Fully supported

Assembly Neos client firm records map to Twenty CRM Companies. Firm name becomes Company.displayName. Domain maps to Company.website. For contacts with no primary client firm, a default 'Individual' company record is created in Twenty and the contact's companyId points there.

Assembly Neos

Matter / Case

maps to

Twenty CRM

Opportunity

1:1
Fully supported

Assembly Neos matters map to Twenty CRM Opportunities — the closest equivalent object in Twenty's schema. Matter number is preserved as a custom Opportunity field (Matter_Number__c). Case status (Open, Pending, Closed) maps to a custom StageName pick-list that must be pre-created in Twenty Settings → Data Model before the import runs.

Assembly Neos

Activity (Call, Email, Meeting)

maps to

Twenty CRM

Task / Event

1:1
Fully supported

Assembly Neos activities with type 'Call' or 'Email' migrate as Twenty CRM Tasks with Task.type set accordingly. Meeting activities migrate as Twenty Events with original start/end timestamps preserved. The activity description maps to Task.body or Event.body. Activity owner resolves by email to a Twenty workspaceMember.

Assembly Neos

Activity Note / Memo

maps to

Twenty CRM

Note

1:1
Fully supported

Free-form notes logged against a matter in Assembly Neos migrate as Twenty CRM Notes attached to the corresponding Opportunity record. The note title becomes Note.title; the body maps to Note.body. Rich-text formatting in Assembly notes is flattened to plain text during migration.

Assembly Neos

Billable Time Entry

maps to

Twenty CRM

Custom BillableTime Object

1:1
Fully supported

Assembly Neos billable time records (hours, rate, amount, work date) have no native equivalent in Twenty CRM. FlitStack creates a custom BillableTime object in Twenty with fields for hours (number), rate (currency), total amount (currency), work date (date), and description (text). The custom object is linked to the Opportunity via a relation field.

Assembly Neos

Document / Attachment

maps to

Twenty CRM

Files

1:1
Fully supported

Assembly Neos document attachments are re-uploaded to Twenty CRM's Files feature. File name is preserved as a custom text field on the file (or as a Note attachment to the parent Opportunity). Large documents that exceed Twenty's file size limits are flagged for chunked upload. Inline images in Assembly notes are downloaded and rehosted.

Assembly Neos

Custom Property (Contact)

maps to

Twenty CRM

Custom Field on People

1:1
Fully supported

Assembly Neos custom properties on contacts (e.g., bar_number, practice_areas) require pre-created custom fields in Twenty CRM under Settings → Data Model. All custom fields must exist before CSV import runs — the import creates records, not fields. Contact-type pick-lists in Assembly (Attorney, Paralegal, Client) map to a custom role pick-list field in Twenty.

Assembly Neos

Custom Property (Matter)

maps to

Twenty CRM

Custom Field on Opportunity

1:1
Fully supported

Assembly Neos custom properties on matters (e.g., court_name, opposing_counsel, insurance_carrier) become custom fields on the Twenty CRM Opportunity. Pick-list values in Assembly map to Twenty pick-list options that must be pre-configured. Multi-select values in Assembly explode into multiple rows or a custom multi-select field type in Twenty.

Assembly Neos

Workflow / Automation

maps to

Twenty CRM

No equivalent

1:1
Fully supported

Assembly Neos workflows, automations, and triggered actions have no direct equivalent in Twenty CRM's workflow engine. FlitStack exports your workflow definitions as a structured reference document for your Twenty admin to rebuild in Settings → Workflows. This is always a manual step — no automated translation is possible.

Assembly Neos

Document Template

maps to

Twenty CRM

No equivalent

1:1
Fully supported

Assembly Neos document templates for letters, agreements, and court filings do not migrate to Twenty CRM. Twenty does not have a native document template engine. Templates must be exported as reference PDFs and rebuilt using your preferred document generation tool (e.g., DocuGen, Mailmerge) post-migration.

Assembly Neos

Integration (Microsoft 365, DocuSign, QuickBooks, RingCentral)

maps to

Twenty CRM

No equivalent — rebuild required

1:1
Fully supported

Assembly Neos integrations with Microsoft 365 (Outlook, Teams), DocuSign, QuickBooks, and RingCentral have no direct mapping in Twenty CRM. Each integration requires manual reconfiguration in Twenty's Settings → Integrations section. QuickBooks data (if used for billing) should remain the accounting system of record and not be migrated into Twenty's custom BillableTime object.

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.

Assembly Neos logo

Assembly Neos gotchas

High

Built-in accounting removed requires QuickBooks Online

Medium

Per-user pricing model affects migration scope

Medium

Document export requires Premium or Pro tier for full OCR

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

  • Workflows and automations do not migrate — rebuild required

    Assembly Neos workflows, triggered actions, and case automations (e.g., 'auto-assign to paralegal when case status changes to Discovery') have no equivalent in Twenty CRM's workflow engine. Twenty's Settings → Workflows supports basic conditional actions but not the rule depth of Assembly Neos's automation engine. FlitStack exports your workflow definitions as a structured JSON reference document so your Twenty admin can rebuild each rule manually. This step is always a manual configuration task — no automated translation is possible.

  • Document templates cannot migrate and must be rebuilt

    Assembly Neos document templates for letters, court filings, settlement memos, and client agreements store merge-field placeholders in a proprietary format. Twenty CRM has no native document template engine — the platform is a CRM, not a document generation tool. Templates must be exported as reference PDFs and rebuilt using a separate document generation tool (e.g., DocuGen, Google Docs mail merge) post-migration. This is a manual effort that typically requires 1–3 days per template depending on complexity.

  • Twenty CSV import requires custom fields pre-created in Settings → Data Model

    Twenty CRM's CSV import creates records but not fields — the platform's own documentation explicitly states: 'Fields must exist before import.' All Assembly Neos custom properties (bar_number, practice_area, opposing_counsel, insurance_carrier, etc.) must be pre-created as custom fields in Twenty Settings → Data Model before FlitStack runs the migration. If custom fields are missing, the import skips those columns and data is silently dropped. FlitStack delivers a complete field-creation checklist as part of the migration plan to prevent this.

  • Twenty export limit of 20,000 records per CSV requires phased extraction for large matters databases

    Assembly Neos databases with large matters counts (10,000+ records) require chunked extraction because Twenty's CSV export is capped at 20,000 records per file. FlitStack handles this by splitting the export into multiple CSV files per object type and running sequential imports in the correct dependency order: Companies first, then People (with companyId lookups), then Opportunities (with companyId and peopleId), then custom objects last. Multi-file imports increase migration time by 1–2 days for large datasets.

  • Integrations (Microsoft 365, DocuSign, QuickBooks, RingCentral) must be manually reconnected

    Assembly Neos's deep integrations with Microsoft 365 (Outlook email and calendar sync), DocuSign (e-signature for court filings), QuickBooks (billing and invoicing), and RingCentral (voice calling) have no direct equivalent in Twenty CRM. Each integration requires manual reconfiguration in Twenty's Settings → Integrations section using OAuth credentials. QuickBooks, if used as the billing system of record, should not be replaced by Twenty's custom BillableTime object — maintain QuickBooks as the source of truth and rebuild the connection post-migration.

Migration approach

Six steps for a successful Assembly Neos to Twenty CRM data migration

  1. Audit and export Assembly Neos data

    FlitStack connects to your Assembly Neos instance via scoped read access and exports all standard and custom record types: contacts, clients/firms, matters, billable time entries, activities, and documents. We run a data quality report to flag duplicate contacts, stale matters (no activity in 24+ months), and missing required fields. The audit output determines whether a full migration or a scoped migration (active matters only) is appropriate for your use case.

  2. Create Twenty CRM schema and custom fields

    Before any data loads, we deliver a schema setup plan based on your Assembly Neos custom property inventory. Your Twenty admin (or FlitStack) creates all custom fields in Settings → Data Model: Opportunity custom fields for matter status, practice area, opposing counsel, court name, and matter number; a custom BillableTime object with hours, rate, and amount fields; and a contact role pick-list on the People object. Fields must exist before the CSV import runs.

  3. Resolve users and match contacts to companies

    Twenty CRM requires workspace members to exist before user-referenced records can import. We invite all active Assembly Neos users to Twenty by email match, then resolve matter assigned attorneys to Opportunity accountOwnerId lookups. Contacts without a primary client firm are linked to a default 'Individual' Company record. All contacts receive a Source_System_ID__c value linking back to the Assembly Neos record for traceability.

  4. Run sample migration with field-level diff

    A representative slice of 50–200 records — spanning contacts, companies, matters, activities, and billable time entries — migrates first. We generate a field-level diff comparing source values to destination values for every mapped field. You review the diff to verify matter number preservation, case status mapping, practice area values, and owner resolution before the full run commits. This step catches missing custom fields, value-mapping gaps, and pick-list mismatches before data lands in Twenty.

  5. Full migration with delta-pickup cutover

    The full dataset migrates to Twenty CRM in dependency order: Companies first, then People (with companyId links), then Opportunities (with companyId and peopleId), then the custom BillableTime object, then Tasks and Notes. A 24–48 hour delta-pickup window captures any Assembly Neos records modified during the cutover window. Audit log records every insert, update, and link operation. One-click rollback is available if reconciliation reveals mapping errors. After cutover, your team begins rebuilding workflows and reconnecting integrations in Twenty.

Platform deep dives

Context on both ends of the pair

Assembly Neos logo

Assembly Neos

Source

Strengths

  • Cloud-based access from any device with no VPN required for remote teams
  • Microsoft 365, QuickBooks, DocuSign, and RingCentral integrations built natively into the platform
  • AI document summarization and data extraction reduce manual data entry overhead
  • Configurable case types and customizable layouts adapt to firm-specific workflows
  • Per-user pricing with annual discount options suitable for small to mid-size law firms

Weaknesses

  • Frequent software bugs and slow performance cited across multiple G2 reviews with 18 mentions of document upload issues
  • Performance degrades under heavy workloads with large case volumes or many concurrent users
  • Built-in accounting is absent, requiring third-party QuickBooks integration for all billing and disbursement tasks
  • Learning curve for advanced features including templates, custom workflows, and case type configurations
  • No free version or free trial available, limiting pre-purchase evaluation
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 Assembly Neos 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

    Assembly Neos: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Assembly Neos 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 Assembly Neos to Twenty CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Assembly Neos to Twenty CRM migrations complete in 5–10 days for under 10,000 records. Larger setups with 10,000–50,000 records or heavy billable-time datasets extend to 2–3 weeks. The longest planning step is creating custom fields and pipeline stages in Twenty's Settings → Data Model before the CSV import runs. Data extraction from Assembly Neos and field-level diff validation typically take 1–2 days each.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Assembly Neos.
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