CRM migration

Migrate from Spotler CRM to Twenty CRM

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

Spotler CRM logo

Spotler CRM

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

70%

7 of 10

objects map 1:1 between Spotler CRM and Twenty CRM.

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Spotler CRM to Twenty CRM is an open-source transition, not a simple record copy. Spotler uses flat relational tables with Contacts linked to Companies, Opportunities carrying pipeline stage and value fields, and Activities recording all interaction history. Twenty maps this to its People, Company, Opportunity, and Task/Note objects. We preserve Contact-to-Company relationships during migration by joining on the company_id foreign key and reconstructing the pipeline structure in Twenty. Custom fields and dropdown lists require explicit mapping because Spotler allows free-form field creation without enforced schema conventions. Quotations and Cases do not have a direct Twenty equivalent and require custom object configuration or a manual rebuild post-migration. Spotler Workflows, MailSync configurations, and document attachments do not migrate as code or files; we deliver written specifications for each.

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

Spotler CRM logo

Spotler CRM

What's pushing teams away

  • The platform is built for small to mid-sized teams and reaches a ceiling fast—Capterra and G2 reviews note it lacks advanced features found in larger CRMs, limiting customisation and reporting depth for growing businesses.
  • Marketing add-on pricing stacks on top of the base CRM licence—Simple Marketing at $26/month and Advanced Marketing at $55/month increase total cost significantly for teams needing full automation.
  • Company record limits enforce plan tiers—Starter caps at 1,000 companies and Professional at 5,000, which forces expensive upgrades before other enterprise features are needed.
  • Limited third-party integrations compared to HubSpot or Salesforce—users seeking native connections to ERPs, advanced analytics, or niche tools find the ecosystem restrictive.
  • Some users report the support portal lacks a formal ticket-tracking interface, making it difficult to escalate or track the urgency of support requests without direct email.

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

Each row shows how a Spotler CRM 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.

Spotler CRM

Contact

maps to

Twenty CRM

People

1:1
Fully supported

Spotler Contact records map directly to Twenty People. Email address serves as the dedupe key during import. We preserve the Spotler contact's linked Company by resolving the company_id foreign key to the matching Twenty Company record at import time. Custom fields on Contact migrate to custom fields on People after the Twenty Data Model is configured in Settings. Standard fields (name, email, phone, address) map 1:1; any free-form Spotler custom fields require explicit mapping against Twenty's field types (text, number, date, select).

Spotler CRM

Company (Account)

maps to

Twenty CRM

Company

1:1
Fully supported

Spotler Company records map to Twenty Company. The company domain becomes the Website field and acts as a secondary dedupe key. Company is created before any People import so that the People-to-Company relationship is satisfied at the moment of import. Industry, size, address, and custom properties migrate to matching Twenty Company fields after the Data Model is configured in Settings.

Spotler CRM

Opportunity (Deal)

maps to

Twenty CRM

Opportunity

1:1
Fully supported

Spotler Opportunities map to Twenty Opportunities. Pipeline stage from Spotler maps to Twenty Opportunity stage values. Deal value, expected close date, and assigned Owner migrate directly. If Spotler uses multiple pipelines, we configure multiple Opportunity record types in Twenty to preserve the pipeline separation. Stage probability percentages transfer as custom fields if the customer requires them in reporting.

Spotler CRM

Activity: Task

maps to

Twenty CRM

Task

1:1
Fully supported

Spotler Tasks map to Twenty Task records. We preserve activity date, description, status, priority, and assignment by resolving the Spotler owner email to the matching Twenty user. Task records are linked to the parent People or Company via the relevant Twenty relationship field at import time.

Spotler CRM

Activity: Call

maps to

Twenty CRM

Task (Call subtype)

1:1
Fully supported

Spotler call Activities map to Twenty Task records with the call type flagged. Duration, disposition, and any call notes migrate to custom Task fields. Activity timeline ordering is preserved by setting the Task due date to the original Spotler timestamp. Call recording URLs stored in Spotler migrate as custom text fields if the customer has access to the recordings.

Spotler CRM

Activity: Meeting

maps to

Twenty CRM

Task (Meeting subtype)

1:1
Fully supported

Spotler meeting Activities map to Twenty Task records with the meeting type flagged. Start time, end time, location, and attendee information migrate to custom Task fields. Attendee emails are linked to matching Twenty People records where they exist. If the attendee is not a Contact in Spotler, the meeting is linked to the primary related record (People or Company).

Spotler CRM

Activity: Note

maps to

Twenty CRM

Note

1:1
Fully supported

Spotler Notes migrate to Twenty Note records linked via the Note's related People, Company, or Opportunity field. Note body migrates as rich text. Note authorship and timestamp are preserved from the Spotler record. Note attachments (document metadata) migrate as file references only; the actual files require separate file transfer and re-attachment in Twenty.

Spotler CRM

Custom Fields and Dropdown Lists

maps to

Twenty CRM

Custom Fields (People, Company, Opportunity, Task)

lossy
Mapping required

Spotler custom fields on Contacts, Companies, and Opportunities require pre-creation in Twenty Settings Data Model before any data import. Dropdown list values from Spotler must be mapped explicitly to Twenty select options because Spotler stores them as separate reference IDs. We export the Spotler field definition table alongside the data export and recreate all custom fields in Twenty during the setup phase. Fields that exist in Spotler but have no matching Twenty field type (e.g., complex Spotler formula fields) are flagged for manual review and either recreated as custom fields or dropped with a written explanation.

Spotler CRM

Quotation

maps to

Twenty CRM

Custom Object (Configuration required)

lossy
Fully supported

Spotler Quotations (Professional and Enterprise only) carry line items, pricing, and status. Twenty does not have a native quotation object. We configure a custom object (e.g., Quotation__c) in Twenty's Data Model before migration, mapping quotation header fields (quote number, date, status, total value) and creating a linked line item custom object with product, quantity, and price fields. If the customer uses Spotler quotation PDFs, we deliver those as file attachments to the custom object records after migration.

Spotler CRM

Case (Service Ticket)

maps to

Twenty CRM

Custom Object (Configuration required)

lossy
Fully supported

Spotler Cases (Professional and Enterprise) with SLA assignment, priority, and status do not have a native Twenty equivalent. We configure a custom object (e.g., Case__c) in Twenty with fields for case number, subject, description, priority, status, and assignee (linked to Twenty user). Case-to-People and Case-to-Company relationships are preserved as lookup fields. SLA fields migrate as custom date and text fields. We document the original SLA configuration for the customer's admin to rebuild the SLA logic manually.

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.

Spotler CRM logo

Spotler CRM gotchas

High

Plan-tier company record caps block migrations at scale

Medium

Workflow definitions do not export and must be rebuilt

Medium

Document storage limits vary by plan tier

Low

Custom fields require explicit schema mapping between environments

Low

Two-way MailSync configuration does not transfer between CRMs

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

  • Custom fields must exist in Twenty before CSV import

    Twenty's CSV import creates records, not fields. All Spotler custom fields on Contacts, Companies, Opportunities, and Tasks must be pre-created in Twenty Settings Data Model before any data import begins. Spotler stores dropdown list values as separate reference IDs, so we export the field definition table alongside the data export and recreate each select option explicitly in Twenty. Migrations that skip this step result in data being imported without custom field values, requiring a second import pass after the schema is corrected.

  • Users must be invited to Twenty before import with owner assignments

    Twenty requires that users exist before data with owner references can be imported. Spotler Owner email addresses are used as the dedupe and link key for owner assignment. We extract every distinct Owner referenced on Contacts, Companies, Opportunities, and Activities, then map them to Twenty user accounts. If a Spotler Owner has no matching Twenty user, we hold those records in a reconciliation queue and flag the gap for the customer's admin to provision the missing user before record import resumes.

  • Spotler Workflow definitions do not export and must be rebuilt

    Spotler Workflows store automation logic referencing field IDs, object types, and internal identifiers with no export mechanism. Twenty uses a different extension model—it supports building custom tools directly on the platform with its data model and views, plus the ability to extend as code. We document every Spotler Workflow's trigger, conditions, and actions during discovery and produce a workflow specification document for the customer to rebuild in Twenty or via a developer using the Twenty extension API.

  • Document attachments require separate file transfer and re-attachment

    Spotler documents attach to Contacts, Companies, and Opportunities with storage limits varying by plan (100MB Free, 1GB Starter, 5GB Professional). We export document metadata (filename, size, linked record, upload date) and recreate the file references as attachment records in Twenty, but the actual file binaries require a separate file transfer process. For large document sets, we stage transfers in batches to avoid timeout errors. Customers on the Spotler Free plan with 100MB storage may have fewer documents to transfer, but we still flag any files exceeding the destination's storage allocation.

  • Quotations and Cases require custom object configuration

    Twenty does not have native quotation or case management objects. Spotler Quotations and Cases (available on Professional and Enterprise plans) must be migrated as Twenty custom objects. We configure the custom object schema in Twenty before migration, but any SLA rules, quotation templates, or case escalation logic tied to these records do not migrate and require manual rebuild. We flag these as out-of-scope for the data migration and include them in the written specification delivered post-migration.

Migration approach

Six steps for a successful Spotler CRM to Twenty CRM data migration

  1. Discovery and data audit

    We audit the source Spotler CRM portal for record counts across Contacts, Companies, Opportunities, Activities (tasks, calls, meetings, notes), Quotations, Cases, and custom fields. We identify any dropdown list value sets, workflow definitions, document attachment volume, and user accounts. We pair this with a scoping call to confirm the customer's Twenty deployment model (self-hosted or hosted), any existing Twenty workspace, and the target record volume for migration. The discovery output is a written migration scope with object-level record counts and a custom field inventory.

  2. Schema design and Twenty workspace preparation

    We design the destination schema in Twenty. This includes creating all custom fields in Settings Data Model (People, Company, Opportunity, Task) to match the Spotler field inventory, configuring quotation and case custom objects if applicable, and mapping dropdown list values from Spotler reference IDs to Twenty select options. We document the field mapping matrix and share it with the customer for validation before any data is exported.

  3. User provisioning and owner reconciliation

    We extract every distinct Spotler Owner referenced across Contacts, Companies, Opportunities, and Activities and match by email against the Twenty workspace's user list. Any Spotler Owner without a matching Twenty user goes to a reconciliation queue. The customer provisions the missing users in Twenty Settings Members, waits for acceptance, and confirms the user list is complete before we proceed to data export. Migration cannot proceed past this step because OwnerId references are required on most standard objects.

  4. Test migration and validation

    We run a full migration into a staging environment using a representative data sample. The customer reconciles record counts and spot-checks 25-50 records against the Spotler source, verifying field values, relationship links (People to Company, Opportunities to People), and activity timeline completeness. Any mapping corrections are applied before production migration begins. This step validates that dropdown values resolved correctly, custom fields populated, and document references are intact.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Companies (first, as People link to them), People (with company_id resolved), Opportunities (with assigned Owner resolved), Activity history (Tasks, Calls, Meetings, Notes via CSV import with parent-record lookup), Quotations and Cases (as custom objects if applicable), and document metadata (file reference records). Each phase emits a row-count reconciliation report before the next phase begins. We freeze Spotler writes during cutover and run a final delta migration of any records modified during the migration window.

  6. Cutover, validation, and handoff documentation

    We enable Twenty as the system of record after confirming record counts match across all objects. We deliver the workflow specification document, SLA rebuild notes for Cases, and quotation template recommendations to the customer's admin team. We support a 48-hour hypercare window where we resolve any data quality issues raised during the first business day. We do not rebuild Spotler Workflows as Twenty automations inside the migration scope; that work requires a separate scoping engagement with a developer familiar with Twenty's extension model.

Platform deep dives

Context on both ends of the pair

Spotler CRM logo

Spotler CRM

Source

Strengths

  • Genuine free tier with 2 users, unlimited contacts, and basic CRM features for validation before paying.
  • Per-user pricing model without contact-count billing—costs scale predictably with team size.
  • Native marketing automation (email campaigns, web forms, MailSync) in a single integrated platform.
  • Self-service custom field and dropdown creation without developer or consultant involvement.
  • CSV export available directly from the UI under Settings with selectable object tables.

Weaknesses

  • Plan-enforced company record caps (1,000 Starter, 5,000 Professional) limit scalability before enterprise pricing is reached.
  • Marketing add-ons (Simple at $26/month, Advanced at $55/month) stack on top of the base licence and increase total cost.
  • Limited third-party integration ecosystem compared to HubSpot or Salesforce—fewer native connectors available.
  • Workflow automations and SLA rules are platform-specific and cannot be migrated directly.
  • Some G2 reviewers note the platform lacks advanced reporting and customisation depth required by rapidly growing teams.
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. 1 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 Spotler CRM and Twenty CRM.

  • Object compatibility

    B

    1 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

    Spotler CRM: Specific RPS limits are not publicly documented, but Spotler exposes per-user call quotas with configurable Usage Alerts and Failed Call Alerts under Settings > Integrations > API V4 to monitor consumption against the contracted ceiling..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Spotler CRM 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 two and four weeks for accounts under 5,000 Contacts and 1,000 Companies with no custom objects and straightforward pipeline structures. Migrations with custom objects (quotations, cases), large activity histories (over 100,000 records), or multiple Spotler dropdown value sets requiring explicit mapping move to four to eight weeks because of schema design time, dropdown value reconciliation, and custom object configuration. Self-hosted Twenty infrastructure setup (Docker, server configuration) is outside migration scope and adds time if the customer does not already have a Twenty instance running.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Spotler CRM.
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