CRM migration

Migrate from myCRMS.com to Twenty CRM

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

myCRMS.com logo

myCRMS.com

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

60%

6 of 10

objects map 1:1 between myCRMS.com and Twenty CRM.

Complexity

CModerate

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from myCRMS.com to Twenty CRM is a migration from a lightly-documented basic CRM into an open-source, self-hostable platform with active development on GitHub (40k+ stars) and an AI-native layer built in. myCRMS.com stores standard CRM records (contacts, companies, pipeline deals with stage data) with limited public API documentation, which means the pre-migration audit phase requires probing export endpoints directly. Twenty CRM enforces strict dependency ordering during import: Companies must exist before People, and People must exist before Opportunities that reference them. We sequence the export in that same dependency order and chunk records to respect Twenty's 20,000-record export limit. Workflows, Smart Lists, and automations from myCRMS.com do not migrate; we deliver a written inventory of these for your admin to rebuild in Twenty's workflow builder. File attachments do not carry over via CSV export and require manual re-upload or a separate API-based migration engagement.

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

myCRMS.com logo

myCRMS.com

What's pushing teams away

  • Aged technical baseline — the vendor site lists system requirements of 'Internet Explorer 6.0 or compatible browser', a strong signal the product has not modernised, which scares off teams expecting current browser support and security posture.
  • Tiny public footprint — virtually no third-party reviews on G2, Capterra, GetApp, or Software Advice, making it hard for buyers to validate the product or compare against alternatives.
  • No documented public API, no developer portal, and no published rate-limit or authentication reference — integration-minded teams move to platforms with modern API surfaces.
  • Marketing channel mix references 'fax' as a primary outbound channel, indicating the product reflects late-1990s/early-2000s assumptions about sales workflows rather than current digital channels.
  • No published pricing tiers, customer count, or vendor company information makes long-term vendor risk hard to assess — buyers default to better-documented competitors.

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 myCRMS.com objects map to Twenty CRM

Each row shows how a myCRMS.com 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.

myCRMS.com

Company

maps to

Twenty CRM

Company

1:1
Fully supported

myCRMS.com Company records map directly to Twenty's Company object. The company domain name is used as the unique dedupe key during CSV import per Twenty's import documentation. We export Companies first because Twenty requires the 'one' side of one-to-many relationships to exist before People can reference them via companyId. Standard fields (name, domain, address, industry) map to Twenty Company fields of equivalent name.

myCRMS.com

Contact

maps to

Twenty CRM

People

1:1
Fully supported

myCRMS.com Contact records map to Twenty's People object. Each Contact's linked Company resolves to a companyId lookup during transform. Email address serves as the dedupe key per Twenty's import uniqueness rules. Custom fields on Contact migrate to Twenty custom fields that we pre-create in Settings → Data Model before the CSV import phase. Activity timestamps and owner assignments migrate from fields exposed in the myCRMS.com export.

myCRMS.com

Deal

maps to

Twenty CRM

Opportunity

1:1
Fully supported

myCRMS.com Deal records map to Twenty's Opportunity object. Deal stage maps to Twenty Opportunity Stage; pipeline data maps to a Twenty Sales Process or Record Type we configure before migration. The linked Company and People records are resolved via companyId and peopleId lookups at migration time. Closed-won and closed-lost dates migrate as Opportunity close date fields.

myCRMS.com

Pipeline / Deal Stage

maps to

Twenty CRM

Opportunity Stage + Sales Process

lossy
Fully supported

myCRMS.com pipeline stages map to Twenty Opportunity Stage values, which we configure in Settings → Sales Process before importing Opportunities. Each stage gets a probability percentage migrated from the source. The pipeline name becomes a Twenty Record Type label for visual and workflow scoping.

myCRMS.com

Smart List

maps to

Twenty CRM

Saved View

lossy
Fully supported

myCRMS.com Smart Lists are filtered saved views of contact sets managed in the UI. These do not migrate as data or code. We deliver a written inventory of every active Smart List with its filter conditions and contact count so your admin can recreate them as Saved Views in Twenty's filter builder. This is documented separately from the data migration scope.

myCRMS.com

Custom Field (Contact)

maps to

Twenty CRM

Custom Field (People)

lossy
Fully supported

Any custom fields discovered on myCRMS.com Contact records are audited during the pre-migration review. We pre-create matching custom fields in Twenty's Settings → Data Model on the People object before CSV import runs, per Twenty's requirement that fields must exist before import. Field type mapping (text to text, date to date, picklist to select) is documented in the mapping spec.

myCRMS.com

Custom Field (Deal)

maps to

Twenty CRM

Custom Field (Opportunity)

lossy
Fully supported

Custom fields on myCRMS.com Deal records map to custom fields on Twenty Opportunity, pre-created in Settings → Data Model before import. Cross-object lookups (e.g., a Deal referencing a custom object) are resolved at migration time using the target object's unique identifier as the relation key.

myCRMS.com

Custom Object

maps to

Twenty CRM

Custom Object

1:1
Fully supported

If myCRMS.com contains custom objects (schema-dependent and tier-dependent per limited platform docs), we map them to Twenty Custom Objects. We pre-create the destination schema in Twenty including all fields, field types, and lookup relationships, before importing any custom object data. Custom object records import last per Twenty's import dependency order.

myCRMS.com

Owner

maps to

Twenty CRM

User

1:1
Fully supported

myCRMS.com Owner assignments on Contact, Company, and Deal records map to Twenty User records. We resolve owners by email match. Per Twenty's documentation, users must accept their workspace invitations before data import begins; otherwise owner lookups resolve empty and require post-import correction. Owners without a matching Twenty User are placed in a reconciliation queue for your admin to provision before record import resumes.

myCRMS.com

Note / Activity

maps to

Twenty CRM

Note or Task

1:1
Fully supported

myCRMS.com activity records (notes, tasks, meeting records) export as activity timestamped entries. These migrate to Twenty Note objects linked via ContentDocumentLink to the parent People, Company, or Opportunity record. Activity ordering is preserved by setting the Twenty record's creation timestamp to the original myCRMS.com activity timestamp. The migration service does not migrate file attachments embedded in notes via CSV; these require manual re-upload or a separate API-based migration engagement.

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.

myCRMS.com logo

myCRMS.com gotchas

High

Vendor site references IE 6.0 — product likely not modernised

High

No public API or developer portal

Medium

No third-party review corpus for diligence

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 requires all fields to exist before CSV import

    Twenty's import process creates records, not fields. Custom fields on People, Company, and Opportunity must be created in Settings → Data Model before any CSV import runs. myCRMS.com's limited public documentation means custom field discovery happens during the pre-migration audit phase, not from a published schema. If a custom field is missed during schema setup, the import will either drop that column silently or reject rows with type mismatches. We pre-create every discovered custom field in the destination workspace before the first CSV import begins.

  • Import order is strictly enforced; records without resolved lookups are rejected

    Twenty's CSV import requires the 'one' side of every relationship to exist before the referencing record can be imported. Companies must import first, then People (with companyId resolved), then Opportunities (with companyId and peopleId resolved), then Custom Objects last. A People record uploaded before its parent Company will produce an empty companyId lookup that cannot be repaired in bulk. We sequence the entire migration in strict dependency order and run record-count reconciliation between each phase to catch any parent-lookup gaps before they compound.

  • myCRMS.com export capabilities are poorly documented and must be verified directly

    myCRMS.com has limited public API documentation and a minimal help center at kb.mycrmssupport.com. Unlike platforms with well-documented REST endpoints or a published CSV export schema, myCRMS.com's export mechanism must be probed during the pre-migration audit. We attempt direct export endpoints, assess which fields are exposed, identify which fields return null or empty, and document the delta. If bulk export is not available through the UI, we escalate to the account owner's myCRMS.com support channel before proposing an alternative extraction method.

  • Twenty's CSV export is capped at 20,000 records per operation

    Twenty's export function (Command Menu → Export view) returns a maximum of 20,000 records per CSV file and only includes visible columns in the current view. If myCRMS.com contains more than 20,000 records of any single object type, the export must be split by filter (e.g., date range or record ID range) and recombined before the Twenty import. We handle this chunking transparently, but the existence of this ceiling means large datasets require a multi-pass export pipeline with delta reconciliation between passes.

  • File attachments and embedded media do not migrate via standard CSV export

    CSV exports do not include file attachments stored in myCRMS.com (e.g., uploaded PDFs, images linked to contact or deal records). Twenty's import process similarly does not ingest binary attachments through CSV. If attachments carry business value, they require manual re-upload post-migration or a separate file-migration engagement using Twenty's API to POST each attachment and link it to the correct record by ID. We flag the attachment count during the pre-migration audit and note it in the scope confirmation.

Migration approach

Six steps for a successful myCRMS.com to Twenty CRM data migration

  1. Pre-migration audit and myCRMS.com export probing

    We audit myCRMS.com to identify which export endpoints are available, which fields are exposed for Contacts, Companies, Deals, and any custom objects, and which fields return null or empty. We probe the export mechanism directly (UI export, API endpoint, or backup file) and document the field coverage gap. We also inventory Smart Lists, active pipeline configurations, and any workflow or automation logic visible in the UI. The audit output is a written myCRMS.com field inventory and a confirmed migration scope.

  2. Twenty workspace preparation and schema creation

    We create the Twenty workspace structure before importing any data. This includes creating all required custom fields on People, Company, and Opportunity (and any custom objects) in Settings → Data Model, configuring Opportunity Stages and Sales Processes matching the myCRMS.com pipeline, and setting up User accounts for every active myCRMS.com Owner. We invite all team members and wait for invitations to be accepted before proceeding, per Twenty's user-relation requirement. The workspace is validated in a staging context before production migration begins.

  3. Sandbox migration and record-count reconciliation

    We run a full dry-run migration into a fresh Twenty workspace using production-like data volume. We reconcile record counts object by object (Companies exported vs Companies imported, People exported vs People imported, Deals exported vs Opportunities imported), spot-check field mapping for 25-50 records against the myCRMS.com source, and validate that lookups (companyId on People, peopleId and companyId on Opportunities) resolved correctly. The customer signs off on the sandbox reconciliation before production migration begins.

  4. Owner provisioning and User reconciliation

    We extract every distinct myCRMS.com Owner referenced across Contact, Company, and Deal records and match by email against the Twenty workspace User list. Any Owner without a matching Twenty User goes to a reconciliation queue. The customer's admin provisions the missing Users (active for current team members, inactive for departed users with a need to preserve historical assignment). Migration cannot proceed past this step because OwnerId references on Opportunity and People records require a resolved User to exist at import time.

  5. Production migration in dependency order

    We execute production migration in the sequence Twenty enforces: Companies first (from myCRMS.com Company records), then People second (with companyId resolved to the imported Company), then Opportunities third (with companyId and peopleId resolved), then Custom Objects last (with cross-object lookups resolved). Each phase emits a row-count report before the next phase begins. Activity records (notes, tasks) attach to the parent record by ID. We chunk exports and imports to handle any dataset exceeding Twenty's 20,000-record per-export ceiling.

  6. Cutover, validation, and workflow inventory handoff

    We freeze myCRMS.com writes during the cutover window, run a final delta migration of any records modified during the migration, then switch Twenty to system-of-record. We deliver a written inventory of all myCRMS.com Smart Lists and any automations requiring rebuild in Twenty's workflow builder. File attachments requiring manual re-upload are documented with record ID and attachment type. We support a 72-hour hypercare window for reconciliation issues reported by the sales team. Workflow rebuild, team training, and post-migration admin configuration are outside standard migration scope and can be scoped as a separate engagement.

Platform deep dives

Context on both ends of the pair

myCRMS.com logo

myCRMS.com

Source

Strengths

  • Browser-only delivery with no client install.
  • Sales pipeline, opportunity tracking, and multi-period forecasting included in core product.
  • Marketing automation across email, letter, and fax channels bundled in.
  • Month-to-month cancellation (one month's notice) lowers commitment risk.
  • Free trial available without annual commitment.

Weaknesses

  • Vendor site lists IE 6.0 as a supported browser — suggests the product has not modernised.
  • Virtually no public third-party reviews on G2, Capterra, or other major directories.
  • No documented public API or developer portal.
  • Marketing copy references fax as an outbound channel, indicating outdated workflow assumptions.
  • No published pricing tiers, customer count, or vendor company information.
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?

Moderate CRM migration. 1 of 8 objects need a manual workaround.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across myCRMS.com and Twenty CRM.

  • Object compatibility

    D

    1 of 8 objects need a manual workaround.

  • 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

    myCRMS.com: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your myCRMS.com 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 myCRMS.com to Twenty CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 15,000 Contacts, 3,000 Deals, and no custom objects. Migrations exceeding Twenty's 20,000-record per-export ceiling, involving multiple custom objects with cross-object lookup relationships, or requiring multi-pass delta reconciliation because of large datasets move to six to ten weeks. Discovery and schema preparation typically account for the first one to two weeks regardless of dataset size.

Adjacent paths

Related migrations to explore

Ready when you are

Move from myCRMS.com.
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