CRM migration
Field-level mapping, validation, and rollback between Wetroo and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Wetroo
Source
Twenty CRM
Destination
Compatibility
5 of 10
objects map 1:1 between Wetroo and Twenty CRM.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Wetroo to Twenty CRM is a structured migration from a WhatsApp-embedded Indian SMB tool to a self-hosted open-source CRM with a custom object model. Wetroo's export relies on undocumented API endpoints with no published rate limits, so we monitor HTTP 429 responses and apply exponential backoff dynamically. WhatsApp conversation history lives in WhatsApp's own infrastructure and is not accessible via the Wetroo API or any export mechanism; we preserve all structured records that originated from conversations but do not migrate the chat threads themselves. Automation playbooks (JSON-configured WhatsApp workflow triggers) require complete manual rebuild in Twenty's workflow builder. We sequence the migration by resolving owner-to-user email lookups before record imports, pre-creating any custom objects in Twenty's Data Model, and delivering a written automation inventory for the customer's admin to rebuild post-migration.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Wetroo 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
Contact
Twenty CRM
People
1:1Wetroo Contact records (name, phone, email, custom fields) map directly to Twenty's People object. We extract via the Wetroo contact list API endpoints and map to Twenty's firstName, lastName, and email fields. Phone numbers preserve with country code stored in the phone field. Custom fields on Contact migrate as custom fields on People via Settings → Data Model after schema discovery. Owner resolution maps Wetroo owner email to Twenty user email for assignment.
Wetroo
Lead
Twenty CRM
People or Opportunity (depending on status)
1:1Wetroo Leads captured through WhatsApp conversations and qualified via lead qualification workflows map to Twenty People for unqualified prospects and to Opportunities for qualified leads ready for pipeline entry. We extract lead records including lead status, source, and qualification score from Wetroo's API and preserve these in Twenty custom fields (lead_status__c, lead_source__c, lead_score__c). The customer chooses the qualification threshold during scoping.
Wetroo
Deal
Twenty CRM
Opportunity
1:1Wetroo Deals tied to pipeline stages map to Twenty Opportunities. We extract deal records including associated contact (resolved to People ID), deal value (amount), stage (mapped to Opportunity stage), and owner. Deal values migrate to Opportunity amount. If the deal has a close date, it maps to Opportunity closeDate. Wetroo's per-deal custom fields migrate as Twenty Opportunity custom fields.
Wetroo
Pipeline
Twenty CRM
Opportunity Record Type + Stage
lossyWetroo pipelines use customer-defined stage names tied to WhatsApp workflow triggers. We map Wetroo stage names to Twenty Opportunity stage values during migration. The original stage sequence and names are preserved in a custom field wetroo_original_stage__c on each Opportunity for audit. Stage probability percentages from Wetroo are stored in a custom field wetroo_stage_probability__c if the customer used them.
Wetroo
Pipeline Stages
Twenty CRM
Opportunity Stage Values
lossyStage order and naming are customer-defined in Wetroo. We preserve the original sequence as a custom field and map to Twenty's Opportunity stage picklist. Any stages with no direct Twenty equivalent are flagged for the customer to confirm replacement values. Stage-level WhatsApp trigger logic (a Wetroo-specific concept) cannot map to Twenty and is documented separately as automation requiring rebuild.
Wetroo
Owner
Twenty CRM
User
1:1Wetroo assigns an Owner to each Deal and Lead. Owner records include name and email. We map Wetroo owners to corresponding Twenty user accounts by email match. Any Wetroo owner without a matching Twenty user goes to a reconciliation queue for the customer to provision before record import resumes. Users must be provisioned in Twenty BEFORE importing Deals that reference them.
Wetroo
Custom Fields
Twenty CRM
Custom Fields
lossyWetroo supports custom fields on Contacts, Leads, and Deals. We discover custom field definitions via the Wetroo API before migration, include them in the field mapping phase, and recreate them in Twenty via Settings → Data Model before importing any records. Custom fields must exist in Twenty before CSV import runs; they are not auto-created by the import process. Field types map as follows: text to text, number to number, date to date, checkbox to boolean, picklist to select.
Wetroo
Team
Twenty CRM
Workspace (manual rebuild)
lossyWetroo's per-owner pricing includes team assignment with up to 20 teams per owner. Team membership records are extracted as a relational export but Twenty does not have a native team/group concept with the same semantics. We export team names and member lists as a structured reference document. The customer recreates team structure in Twenty manually using Workspace settings or custom fields if team-based filtering is required.
Wetroo
WhatsApp Conversations
Twenty CRM
Not migratable
1:1WhatsApp conversation history and chat transcripts are stored in WhatsApp's own infrastructure, not Wetroo's database. They are not accessible via the Wetroo API or any export mechanism. We preserve all structured Contact, Lead, and Deal records that originated from conversations, but the conversation history itself cannot be transferred. Customers requiring chat history should export directly from WhatsApp before the migration cutover. This is a data loss boundary that must be communicated explicitly before scoping begins.
Wetroo
Automation Sequences
Twenty CRM
Workflow (manual rebuild)
lossyWetroo's automation playbooks and sequence triggers are JSON-configured workflows tied to WhatsApp events. They do not map to Twenty's workflow builder format without manual reimplementation. We export sequence names, trigger conditions, and step definitions as a structured reference document delivered alongside the migration package. The customer rebuilds automations in Twenty's workflow builder. Note: Twenty's native sequencing (email/call cadences) is not yet available as of 2026 per Reddit r/CRM community discussion.
| Wetroo | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact | People1:1 | Fully supported | |
| Lead | People or Opportunity (depending on status)1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline | Opportunity Record Type + Stagelossy | Fully supported | |
| Pipeline Stages | Opportunity Stage Valueslossy | Mapping required | |
| Owner | User1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required | |
| Team | Workspace (manual rebuild)lossy | Fully supported | |
| WhatsApp Conversations | Not migratable1:1 | Not supported | |
| Automation Sequences | Workflow (manual rebuild)lossy | Mapping required |
Gotchas + challenges
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 gotchas
No documented public API rate limits or quota structure
WhatsApp conversation history is not exportable from Wetroo
Automation sequences do not transfer 1:1 to destination CRMs
Support SLA and escalation paths are undocumented
Pricing page uses INR; annual discounts are tiered inconsistently
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
Discovery and API scoping
We audit the Wetroo account via API extraction and manual CSV dumps. We identify all Contacts, Leads, Deals, pipeline stages, custom fields, owners, and team membership records. We confirm which custom fields exist per object, map Wetroo's pipeline stage names, and flag any objects that may have been created via WhatsApp workflow triggers. We also extract automation playbook definitions (sequence names, triggers, conditions, steps) as a structured JSON export for the automation inventory. We communicate the WhatsApp conversation history limitation in writing at this stage and confirm whether the customer has exported chat history separately.
Twenty workspace preparation
We provision a Twenty workspace (cloud or self-hosted) and configure the Data Model before any data import. This includes creating custom fields on the People, Company, and Opportunity objects to match Wetroo's custom field definitions. We create any custom objects required for Wetroo custom object equivalents. We configure Opportunity stages to match Wetroo's pipeline stage names, preserving the original sequence and probability percentages. We provision all team members as Twenty users before importing any records that reference an owner, because owner lookups require the user to exist first.
Data extraction with dynamic throttling
We run Wetroo API extraction for Contacts, Leads, Deals, and associated records. Because Wetroo does not publish rate limits, we implement dynamic throttling that monitors response latency and HTTP 429 headers. On any 429 response, we apply exponential backoff starting at 30 seconds and doubling with each subsequent 429, up to a maximum of 5 minutes. We run extractions during off-peak hours as advised. We export to CSV format per object type for transformation. Any failed records are logged and retried up to three times before being added to a reconciliation report.
Schema mapping and transformation
We map Wetroo field names to Twenty field names, applying type transformations where needed (Wetroo date formats to ISO 8601, Wetroo picklist values to Twenty select options). We apply the owner email resolution to match Wetroo owners to Twenty users. We apply the Lead status split logic if the customer confirmed different handling for qualified vs. unqualified leads. We flag any Wetroo fields with no Twenty equivalent for customer confirmation on whether to create a custom field or drop the data.
Staged import into Twenty
We run production import in dependency order: Users (validated, not migrated), People (Contacts and Leads), Opportunities (Deals with resolved owner and People references), and custom object records. Each object type is imported via the Twenty REST API in batches, with a reconciliation row count check after each batch. We log all API errors with field-level detail and retry failed records once before moving to the next batch. After each object type completes, we deliver a row-count reconciliation report showing imported vs. source vs. skipped vs. failed counts.
Cutover and automation inventory delivery
We freeze Wetroo writes during the cutover window, run a final delta extraction for any records modified during migration, and import the delta into Twenty. We then deliver the automation inventory document listing every Wetroo automation playbook with sequence name, trigger conditions, steps, and recommended Twenty workflow builder equivalent. We deliver the team structure reference document. We provide a one-week hypercare window for reconciliation issues raised by the team. We do not rebuild Wetroo automations in Twenty; that work requires the customer's ops or developer team using Twenty's workflow builder.
Platform deep dives
Wetroo
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Wetroo and Twenty CRM.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Wetroo: Not publicly documented.
Data volume sensitivity
Wetroo exposes a bulk API — large-volume migrations stream efficiently.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Wetroo to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Wetroo to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Wetroo
Other ways to arrive at Twenty CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.