CRM migration

Migrate from Variable Soft CRM to Twenty CRM

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

Variable Soft CRM logo

Variable Soft CRM

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

70%

7 of 10

objects map 1:1 between Variable Soft CRM and Twenty CRM.

Complexity

CModerate

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Migrating from Variable Soft CRM to Twenty CRM is a file-based migration with a schema-discovery phase upfront. VSCRM publishes no public API and its internal object schema is not documented externally, so we work from exported CSV or database dumps provided by the customer's VSCRM team. We parse the export to discover field names, data types, and relationships, then recreate those as Twenty custom fields and objects before writing records. VSCRM's separate Lead and Contact objects consolidate into Twenty's unified People object; VSCRM's Company object maps to Twenty's Company object; Deals map to Opportunities. Pipeline stages and custom field definitions require manual translation based on export content. VSCRM workflow automations are server-side only and cannot export; we document every active automation and deliver a rebuild checklist. The migration uses Twenty's REST and GraphQL APIs for data writes, with parent-record resolution ensuring the Company-People and Opportunity-People relationships hold after import.

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

Variable Soft CRM logo

Variable Soft CRM

What's pushing teams away

  • Geographic focus is India — non-Indian deployments have thinner support coverage, rupee pricing converts unfavorably, and SIM-based calling is India-specific.
  • Public review and community footprint outside Indian SaaS marketplaces is small, making peer benchmarking difficult for non-Indian buyers.
  • Custom integrations and API access are an add-on rather than included in base tiers, raising effective TCO for integration-heavy deployments.
  • API documentation is not publicly published with developer portal depth comparable to global CRMs like HubSpot or Pipedrive.
  • Branding split between variablesoft.com (parent) and vscrm.in (product) muddies discovery and procurement.

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

Each row shows how a Variable Soft 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.

Variable Soft CRM

Lead

maps to

Twenty CRM

Person

1:many
Fully supported

VSCRM's separate Lead object (distinct from Contact) maps to Twenty's unified Person object. We flag any VSCRM Leads that share an email address with an existing VSCRM Contact during deduplication. The original VSCRM Lead source, status, and owner assignment transfer to custom fields on the Twenty Person record. If VSCRM Lead records represent unqualified prospects only, all Leads land in Twenty as Person records with no associated Company link until manually connected.

Variable Soft CRM

Contact

maps to

Twenty CRM

Person

1:1
Fully supported

VSCRM Contact records map directly to Twenty Person records. The VSCRM contact's primary company link resolves to a Twenty Company lookup, and lifecycle stage assignments from VSCRM transfer to custom fields on the Person. We run a deduplication pass comparing email addresses across the combined Lead and Contact export before writing to Twenty.

Variable Soft CRM

Company

maps to

Twenty CRM

Company

1:1
Fully supported

VSCRM Company records map to Twenty Company records. Company domain, address, and industry fields translate to their Twenty equivalents. The Company record must be written before any Person import so that the Person's companyId lookup is satisfied at insert time. VSCRM company records serve as containers for associated Contacts and Deals; we preserve this hierarchy through the Company-Person and Company-Opportunity relationships during import.

Variable Soft CRM

Deal

maps to

Twenty CRM

Opportunity

1:1
Fully supported

VSCRM Deals map to Twenty Opportunities. The VSCRM deal value maps to Opportunity amount, the pipeline stage maps to Opportunity stageName, expected close date maps to Opportunity closeDate, and owner assignment resolves to a Twenty User by email match. We validate that each Opportunity's linked Person and Company exist in Twenty before writing the Opportunity record.

Variable Soft CRM

Pipeline

maps to

Twenty CRM

Pipeline (Opportunity stage configuration)

lossy
Fully supported

VSCRM allows multiple named pipelines with custom stages. We extract pipeline names and stage labels from the Deal export and recreate them as Twenty Pipeline stages. Each VSCRM pipeline becomes a distinct stage sequence in Twenty. Stages with no associated Deals are recreated as empty stage containers. The customer confirms stage order and probability values during scoping.

Variable Soft CRM

Activity: Call, Email, Meeting, Task

maps to

Twenty CRM

Activity (TimelineEntry)

1:1
Fully supported

VSCRM Activities linked to Contacts and Deals map to Twenty Activity records. Activity type (call, email, meeting, task), timestamp, linked entity (Person or Company), and content migrate directly. Activity assignment resolves to a Twenty User by email. Activities without a resolvable linked entity are imported as standalone Activity records and flagged for manual association during customer review.

Variable Soft CRM

Custom Fields

maps to

Twenty CRM

Custom Fields

lossy
Mapping required

VSCRM custom fields on Contacts, Companies, and Deals are discovered from the export file header row and recreated in Twenty via Settings → Data Model before any record is written. Field type mapping is inferred from VSCRM export data: text strings become Twenty text fields, numbers become number fields, dates become date fields, and multi-select values become select fields. We note any VSCRM custom field that contains data incompatible with its inferred type and flag it for the customer's admin to confirm type selection.

Variable Soft CRM

Custom Objects

maps to

Twenty CRM

Custom Objects

1:1
Mapping required

If VSCRM export includes custom object records beyond standard Leads, Contacts, Companies, and Deals, we create equivalent custom objects in Twenty before import. Twenty's custom object model supports many-to-one, one-to-many, and many-to-many relations, including relations with attributes on the relationship itself. We configure the custom object schema, its fields, and all relationships before any custom object data is written.

Variable Soft CRM

Workflow Automations

maps to

Twenty CRM

Not Migrated

1:1
Not supported

VSCRM workflow automations are stored server-side with no export mechanism. Any email triggers, field-update rules, or assignment automations configured in VSCRM do not carry over. We document every active automation identified during the discovery call and deliver a written rebuild checklist mapping each automation's trigger, conditions, and actions to its recommended equivalent in Twenty's SDK or via a Zapier workflow. Rebuild is the customer's responsibility post-migration.

Variable Soft CRM

Owner/User

maps to

Twenty CRM

User

1:1
Fully supported

VSCRM Owner records map to Twenty User records. We resolve owners by email address across the export. Any VSCRM Owner without a matching Twenty User is placed in a reconciliation queue for the customer's admin to provision the corresponding Twenty User before migration resumes. Inactive VSCRM owners map to inactive Twenty users.

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.

Variable Soft CRM logo

Variable Soft CRM gotchas

High

No public REST API documentation exists

High

Workflow automations are not portable

Medium

Data model not externally documented

Medium

Free tier data portability is unclear

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

  • VSCRM exposes no public API — migration runs from exported files

    VSCRM does not publish API endpoints, authentication schemes, or rate limits. We cannot build an API-based migration pipeline and instead request CSV exports or database dumps from the customer's VSCRM instance. Export availability on VSCRM's free tier is not documented and must be confirmed during scoping by testing the export tool in the customer's account or opening a VSCRM support ticket. Any export that omits empty fields or related objects creates gaps we surface and request supplemental data to fill before writing to Twenty.

  • Twenty schema must be configured before data writes begin

    Twenty requires custom fields and custom objects to be created through its Settings → Data Model UI or via its GraphQL API before any records containing those fields can be imported. We build the full destination schema from the VSCRM export's discovered field names before any Person, Company, or Opportunity records are written. If the VSCRM export omits a custom field that exists in the live system (because no record has a value), that field name is lost and must be recovered by requesting a VSCRM field inventory from their support team.

  • VSCRM field names may lack human-readable labels in the export

    VSCRM's internal object schema is not externally documented. The export file may contain field names that are system-generated identifiers rather than user-facing labels. We infer field purpose from the data content itself—for example, a column containing URL strings maps to a URL link field in Twenty. Fields where content type is ambiguous (a column of integers could be a count, an ID, or a foreign key) are flagged for the customer's admin to confirm before mapping. This extends discovery time compared to platforms with documented schemas.

  • VSCRM automations are not portable and must be rebuilt

    VSCRM workflow rules are stored server-side with no export or backup mechanism. We document every active automation rule during discovery, including trigger, conditions, and actions, and we deliver a written rebuild checklist. Twenty v2.0 does not ship a native visual workflow builder; automation rebuild requires using Twenty's SDK for custom logic or configuring triggers via Zapier. The customer's admin or a developer rebuilds automations post-migration.

  • Twenty's email sync is Gmail-only at this stage

    Twenty's native two-way email sync connects to Gmail and Google Workspace. If the customer's team uses Outlook or another mail provider, email activity will not sync natively after migration and must be logged manually or via a third-party integration. We flag this during scoping and note it in the handoff documentation so the customer's admin can plan for an email integration approach if Google Workspace is not in use.

Migration approach

Six steps for a successful Variable Soft CRM to Twenty CRM data migration

  1. Export facilitation and data discovery

    We confirm VSCRM export access by testing the export tool in the customer's account. If the export is not self-serve (free tier or support-ticket gated), we draft a support request template for the customer to submit to VSCRM. We receive the exported files (CSV or database dump) and perform a discovery pass: record counts per object, field header inspection, data type sampling, relationship identification (linked entity IDs), and duplicate estimation. We surface any export gaps—omitted fields, truncated records, or missing relationships—for the customer to address before migration design begins.

  2. Schema discovery and Twenty workspace setup

    From the VSCRM export header row, we compile the list of discovered fields across Leads, Contacts, Companies, Deals, and Activities. We infer data types from content sampling and map each field to a Twenty field type (text, number, date, select, relation, link, email, phone). We create all custom fields via Twenty's Settings → Data Model before any record import. If VSCRM exports contain custom objects, we create the equivalent custom objects and relationships in Twenty at this stage. The Twenty workspace is configured in the customer's target environment (cloud or self-hosted) and we validate that API access is functioning.

  3. Mapping design and deduplication strategy

    We design the mapping document: VSCRM Lead and Contact objects both map to Twenty Person; VSCRM Company maps to Twenty Company; VSCRM Deal maps to Twenty Opportunity. We apply deduplication rules—email-based dedupe for Person records, domain-based dedupe for Company records. For VSCRM Leads that share an email with a VSCRM Contact, we apply a customer-confirmed rule (keep both as separate Person records, or merge into one). Pipeline stage labels from the Deal export map to Twenty Opportunity stageName values. Owner email addresses map to Twenty User lookups. The mapping document is reviewed and signed off by the customer's admin before test migration begins.

  4. Test migration into Twenty target environment

    We run a full test migration into the customer's Twenty target environment using production-like data volume. The customer reconciles record counts (Persons in, Companies in, Opportunities in, Activities in), spot-checks 20-30 records against the VSCRM source, and confirms field-level accuracy. Any mapping corrections, missed custom fields, or relationship gaps surface here and are resolved before production migration. Owner reconciliation also completes at this stage: any VSCRM Owner without a matching Twenty User is flagged for the admin to provision.

  5. Production migration in dependency order

    We run production migration in dependency order: Companies first (standalone, no dependencies), then Persons (with Company lookups resolved), then Opportunities (with Person and Company lookups resolved), then Activities (with Person and Opportunity lookups resolved), then custom object records last. Each phase emits a row-count reconciliation report before the next phase begins. We use Twenty's REST and GraphQL APIs for writes with batch chunking and error retry logic. Any records that fail import are logged with error reason, corrected, and retried before cutover.

  6. Cutover, validation, and automation handoff

    We freeze VSCRM writes during the cutover window, run a final delta migration for any records modified during migration, then enable Twenty as the system of record. We deliver the automation rebuild checklist documenting every VSCRM workflow rule and recommending a Twenty SDK or Zapier approach for each. We conduct a post-migration validation pass comparing record counts and sampling record accuracy in Twenty against the VSCRM source. We provide a one-week hypercare window for reconciliation issues. Workflow rebuild, admin training, and integration configuration are outside standard migration scope.

Platform deep dives

Context on both ends of the pair

Variable Soft CRM logo

Variable Soft CRM

Source

Strengths

  • SIM-based calling for reliable Indian local-number outbound.
  • Bulk WhatsApp messaging integrated natively.
  • Affordable rupee-denominated pricing for Indian SMBs.
  • User-defined custom modules without vendor engagement.
  • 250+ integrations advertised across mainstream business tools.

Weaknesses

  • India-centric — non-Indian deployments have thinner support and unfavorable currency conversion.
  • Limited public review and community footprint outside Indian marketplaces.
  • API access is an add-on, not included in base tiers.
  • Developer documentation is shallow compared to global CRMs.
  • Branding split between parent company site and product site.
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. 6 of 8 objects need a mapping; the rest are 1:1.

C

Overall complexity

Moderate migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Variable Soft CRM and Twenty CRM.

  • Object compatibility

    C

    6 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

    Variable Soft CRM: Not publicly documented — typical SaaS limits assumed and confirmed during scoping..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Standard migrations land between two and four weeks for accounts with up to 5,000 Persons, 1,000 Companies, and 2,000 Opportunities and fewer than 20 custom fields. Migrations requiring VSCRM free-tier export coordination, large record volumes (50,000+ records), or multiple pipeline configurations extend to four to six weeks. The primary timeline driver for this pair is not API speed but rather how quickly the VSCRM export is available and how many field names require inference from data content rather than a schema document.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Variable Soft 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