CRM migration

Migrate from Wetroo CRM to Twenty CRM

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

Wetroo CRM logo

Wetroo CRM

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

73%

8 of 11

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

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Wetroo CRM to Twenty CRM is a structural migration that benefits teams outgrowing Wetroo's mobile-first feature set and API constraints. Wetroo organizes data around Leads, Contacts, Companies, Deals, and Activities tied to WhatsApp conversations, but its API exposes only two documented endpoints and provides no bulk-export path, meaning all record extraction relies on scripted paginated API access. Twenty CRM uses a People object (not separate Lead and Contact) with flexible custom object support, giving teams a more expressive data model once they leave Wetroo's WhatsApp-first constraints. We extract Wetroo Leads and Contacts as distinct People records in Twenty, preserving source attribution from Facebook Lead Forms or Google Data Extractor, map Deal stages to Twenty's Opportunities with pipeline stage configuration, and extract WhatsApp message threads as Note or Message records. Drip sequences, automation rules, and workflow logic do not migrate because Wetroo stores them in an automation layer with no portable schema. We deliver a written inventory of these for the customer's admin to rebuild in Twenty.

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

Wetroo CRM logo

Wetroo CRM

What's pushing teams away

  • Small businesses outgrow the feature set when they need advanced reporting, custom objects, or enterprise-grade permissions beyond 20 users.
  • API documentation is minimal — developers building custom integrations or extraction pipelines hit walls quickly with no public schema reference.
  • Lead attribution and pipeline reporting are adequate but not deep; teams used to analytics-forward CRMs find the reporting surface limiting.
  • Customer support quality varies; some reviews report good experience while others cite responsiveness issues when problems arise at scale.

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

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

Wetroo CRM

Lead

maps to

Twenty CRM

People

1:1
Fully supported

Wetroo Leads (primary intake object with source attribution from Facebook Lead Forms, Google Data Extractor, or manual entry) map to Twenty People records. We preserve the lead source as a custom field or tag in Twenty. Any lead status field (qualified, unqualified, follow-up) migrates as a custom picklist field. If the Wetroo account has already converted some Leads to Contacts, we treat Contacts as the canonical People record and do not duplicate from Lead.

Wetroo CRM

Contact

maps to

Twenty CRM

People

1:1
Fully supported

Wetroo Contacts (enriched records after lead qualification) map directly to Twenty People. Phone numbers, email addresses, lifecycle stage, and custom field values migrate. Note that Twenty's standard People fields are minimal out of the box — per GitHub issue #13953, Twenty ships without industry-standard fields like jobTitle, department, and website as standard fields; we create these as custom fields in Settings → Data Model before import.

Wetroo CRM

Company

maps to

Twenty CRM

Company

1:1
Fully supported

Wetroo Companies (account-level objects linking Contacts and Deals) map to Twenty Companies. Company names, industry tags, address, and billing data migrate. Custom fields on Companies require pre-creation in Twenty's Data Model before import. The Company object is created in Twenty before People import so that the People-to-Company relation is satisfied at insert time.

Wetroo CRM

Deal

maps to

Twenty CRM

Opportunity

1:1
Fully supported

Wetroo Deals tied to Companies and Contacts with a stage value map to Twenty Opportunities. We preserve deal value, expected close date, stage name, and owner assignment. Pipeline stages map to Twenty's Opportunity stage values, and we configure the pipeline view (Kanban) to match Wetroo's stage ordering.

Wetroo CRM

Pipeline and Stages

maps to

Twenty CRM

Opportunity pipeline view

lossy
Fully supported

Wetroo pipeline configuration (stages, stage order, probability values) reads from Wetroo's API and maps to Twenty's Opportunity pipeline view. We configure stage names and probabilities in Twenty before importing Opportunities. Any custom stage-level fields (stage-specific required fields) require pre-creation in Twenty Data Model.

Wetroo CRM

Activities: Call Logs (OBD)

maps to

Twenty CRM

Task (call subtype)

1:1
Fully supported

Wetroo OBD (outbound dialer) call records are accessible via the /api/v1/?apirequest=obd_record endpoint. We extract call duration, disposition, timestamp, and linked Contact. These map to Twenty Task records with a call subtype tag. Owner assignment resolves by email match against Twenty Users.

Wetroo CRM

Activities: Notes

maps to

Twenty CRM

Note

1:1
Fully supported

Wetroo notes attached to Leads, Contacts, Companies, or Deals map to Twenty Note records linked to the corresponding People, Company, or Opportunity via Twenty's relation system. Rich text formatting is preserved where Wetroo's export format supports it.

Wetroo CRM

WhatsApp Conversations

maps to

Twenty CRM

Message or Note

1:many
Mapping required

WhatsApp conversation threads are accessible via Wetroo's conversation API. We extract message content, timestamps, sender and receiver, and media attachment references. Media files download separately and are re-attached in Twenty. Message threads attach to the corresponding People record. Note that this adds an extraction step beyond the standard CSV workflow and affects timeline estimates for high-volume WhatsApp accounts.

Wetroo CRM

Tasks and Events

maps to

Twenty CRM

Task

1:1
Fully supported

Wetroo Tasks and calendar Events (meetings, appointments) migrate to Twenty Tasks. Due dates, assignee, status, and attendee data preserve. Automated reminders tied to Wetroo's automation layer do not migrate because those are automation-layer objects. Event records from Wetroo map to Twenty Tasks with a meeting subtype and location preserved.

Wetroo CRM

Custom Fields

maps to

Twenty CRM

Custom Fields

lossy
Mapping required

Custom fields on Leads, Contacts, Companies, and Deals are supported for migration. We map named custom fields to equivalent custom fields created in Twenty Settings → Data Model before import. Picklist and multi-select values require value-list mapping against the destination picklist options. Fields with no match in Twenty are flagged for the customer's admin to review. Per Twenty's import documentation, fields must exist in the Data Model before CSV import begins — we create these during the schema setup phase.

Wetroo CRM

Users (Team Members)

maps to

Twenty CRM

Users (Members)

1:1
Mapping required

Wetroo User records (name, email, role, team assignment) migrate to Twenty Members. Team structures and sub-teams map to Twenty's user hierarchy. Owner assignments on Deals and Activities resolve by email match against Twenty Members. Wetroo's seat-tier limits (20 on Business) do not constrain migration but we flag user counts against Wetroo plan tier during scoping to identify if a plan upgrade is needed before extraction.

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.

Wetroo CRM logo

Wetroo CRM gotchas

High

No official bulk-export endpoint complicates migration extraction

High

Drip sequences and automation logic are not exportable

Medium

Seat-tier limits can cause billing surprises during team migration

Medium

WhatsApp message history requires separate extraction

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

  • Wetroo has no bulk-export endpoint — extraction is scripted

    Wetroo's public API exposes only two documented endpoints: OBD call records and a webhook for lead creation. There is no documented bulk-export endpoint for Leads, Contacts, Companies, Deals, or Activities. We work around this by using paginated REST API calls with an API key to pull records in batches. This is slower than bulk export on platforms with proper export APIs and requires us to estimate record counts before extraction begins. We test pagination limits during scoping to calibrate extraction timelines and advise customers on any records that may require post-extraction reconciliation.

  • Twenty requires custom fields created before import

    Per Twenty's documented migration guide, fields must exist in Settings → Data Model before CSV import. Unlike CRMs that create fields during import, Twenty does not auto-create fields from incoming data. This is particularly impactful because Twenty ships with fewer standard fields than competitors (no jobTitle, department, website, or industry as standard on People/Companies by default). We create all required custom fields during the schema setup phase before any data import begins. Customers with large custom field sets should plan time for this step.

  • Drip sequences, automation rules, and workflows do not migrate

    Wetroo's drip marketing sequences, sales cadences, and automation rules are stored in an automation layer with no exposed schema or export endpoint. Twenty CRM has no native workflow builder in v1. This means the automation capabilities available in Wetroo are not available in Twenty without third-party tools or custom development. We flag all drip sequences and automation logic for the customer's admin to document before migration begins and deliver a written inventory of what was active in Wetroo for reference during post-migration planning.

  • WhatsApp message extraction requires separate API calls

    WhatsApp conversation threads are stored in Wetroo's messaging layer and accessed via a separate conversation API. Media attachments within WhatsApp threads require an additional download step and re-upload to Twenty. We extract message content and timestamps and attach threads to People records, but media files are handled as a separate step that adds time to the migration timeline for accounts with high WhatsApp volume. We flag this during scoping so that the timeline accounts for the additional extraction pass.

  • Views, permissions, and role configurations require manual rebuild

    Twenty's migration documentation explicitly states that views, workflows, and permissions must be recreated manually after migration. We do not migrate Wetroo's visual canvas workflow builder configurations, saved views, or role-based permission sets. These are configuration-layer objects without a portable schema. We deliver a written inventory of Wetroo's saved views, pipeline configurations, and role assignments as a reference for the customer's admin to rebuild in Twenty Settings.

Migration approach

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

  1. Discovery and scoping

    We audit the Wetroo account for record counts across Leads, Contacts, Companies, Deals, Activities, and WhatsApp conversations. We document any custom fields in use, pipeline configurations (stage names, stage count), user count against current plan tier, active drip sequences and automation rules, and any integration configurations that connect Wetroo to external systems. This produces a written migration scope, a Wetroo plan-tier check (to flag if an upgrade is needed before extraction), and a custom field inventory requiring creation in Twenty's Data Model.

  2. Twenty workspace setup

    We create the Twenty workspace and configure the data model before any data extraction begins. This includes creating all custom fields identified during discovery (matching Wetroo field names and types), configuring the Opportunities pipeline view to match Wetroo's stage order and probability values, inviting all team members to Twenty and confirming acceptance before proceeding, and setting up Company and Opportunity record types. Per Twenty's documentation, all fields must exist before import — we complete this step in full before moving to extraction.

  3. Wetroo data extraction via paginated API

    We extract records from Wetroo using paginated REST API calls with API-key authentication. Since Wetroo has no bulk-export endpoint, we pull Leads, Contacts, Companies, Deals, Tasks, and Notes in batches. WhatsApp conversations are extracted separately via the conversation API. OBD call records are pulled from the /api/v1/?apirequest=obd_record endpoint. We calibrate pagination limits during a test pass and estimate total extraction time based on record volume. Any custom fields not present in Wetroo's API response are flagged for the customer to provide as supplementary data.

  4. Data transformation and mapping

    We transform extracted records into Twenty's CSV import format. Key transformations include splitting Leads and Contacts into People records with source attribution preserved, mapping Deal stage values to Twenty Opportunity stage values, resolving Wetroo owner email addresses to Twenty Member references, mapping picklist and multi-select values to Twenty's select field options, and normalizing phone number formats and date fields. We generate a field mapping document during this step for customer review.

  5. Staged import into Twenty

    We import records into Twenty in dependency order: Companies first (to satisfy the relation on People), then People (with CompanyId resolved), then Opportunities (with CompanyId and OwnerId resolved), then Tasks and Notes (linked to People, Companies, and Opportunities). WhatsApp message threads are imported last as Note or Message records attached to People. Each phase emits a row-count reconciliation report showing records imported versus records expected. Any records that fail validation (missing required fields, unmatched lookups) are held in a reconciliation queue for resolution.

  6. Cutover, validation, and automation inventory delivery

    We freeze Wetroo writes during cutover, run a delta migration of any records modified during the migration window, then hand over Twenty as the system of record. We deliver the drip sequence and automation inventory document (listing every Wetroo sequence, its trigger, steps, and recommended replacement approach for Twenty or a third-party automation tool), the field mapping document, and the post-migration configuration checklist (views, permissions, pipeline view customization). We support a three-day hypercare window for reconciliation issues. We do not rebuild Wetroo sequences in Twenty as part of migration scope.

Platform deep dives

Context on both ends of the pair

Wetroo CRM logo

Wetroo CRM

Source

Strengths

  • Native WhatsApp Business API channel gives sales teams a unified inbox for leads, follow-ups, and support without third-party middleware.
  • Meta Conversions API official partner enables direct CRM-to-Meta attribution without workarounds, optimising ad spend ROI.
  • Instant lead alerts from Facebook Lead Forms, Google Data Extractor, and manual entry reach reps on mobile within seconds of submission.
  • Free tier with unlimited alerts and no credit card requirement provides a genuine zero-cost starting point for very small teams or solo operators.
  • Visual canvas workflow builder lets non-technical users construct custom API-based integrations without writing code.

Weaknesses

  • No documented bulk-export endpoint means data extraction relies on paginated API calls and scripted access — bulk migration tooling is not officially supported.
  • Per-user pricing with hard seat caps on lower tiers (5 on Pro, 20 on Business) creates an immediate cost cliff when teams grow beyond the tier limit.
  • API documentation is sparse; the public reference at api.wetroo.com covers only two endpoints (OBD records and webhook lead creation), limiting what we can confidently extract.
  • Drip marketing sequences and sales automation cadences live in a separate automation layer with no exportable schema — they cannot be migrated and must be rebuilt manually.
  • English-language community presence and third-party support resources are thin compared to major CRMs, making troubleshooting harder for non-Hindi-speaking 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. 3 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 Wetroo CRM and Twenty CRM.

  • Object compatibility

    B

    3 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

    Wetroo CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Wetroo 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 Leads, 2,000 Deals, and no custom objects. Migrations with custom objects, large WhatsApp conversation histories, multiple pipelines, or teams over 20 users move to five to eight weeks because of paginated API extraction time, custom field schema creation in Twenty, and message thread normalization. Twenty's requirement to pre-create all custom fields in Settings before import adds a setup step that extends the front end of the migration timeline.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Wetroo 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