CRM migration
Field-level mapping, validation, and rollback between Rechat and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Rechat
Source
Twenty CRM
Destination
Compatibility
10 of 10
objects map 1:1 between Rechat and Twenty CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Rechat is a real-estate-vertical CRM built for brokerages and agents — it excels at MLS integration, transaction workflows, and listing-centric contact management. When teams outgrow its vertical scope or want data ownership without per-agent licensing, they migrate to Twenty CRM: an open-source, general-purpose CRM with People, Companies, Opportunities, Notes, Tasks, and a workflow builder running on PostgreSQL. FlitStack AI extracts Rechat data via its REST API (contacts, companies, deals, tasks, notes, attachments, and any custom fields). We map each object to its Twenty CRM equivalent, resolve owners by email match against Twenty workspace members, and preserve original create/update timestamps as custom datetime fields. Real-estate-specific custom fields (MLS numbers, property types, listing statuses) transfer as Twenty custom fields — either as text fields or pick-lists depending on the data shape. What does NOT migrate: Rechat's MLS live-sync integration, automated workflows, real estate transaction templates, and email/notification sequences. These are platform-native constructs with no Twenty equivalent and must be rebuilt. FlitStack provides a workflow audit export from Rechat so your admin has a rebuild reference. The migration uses Twenty's CSV import (up to 20,000 records per import run) and REST API for larger volumes — sequenced so Companies load before People, and People before Opportunities to preserve foreign-key relationships.
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 Rechat 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.
Rechat
Contact / People
Twenty CRM
People
1:1Rechat contacts map directly to Twenty People records. Name, email, phone, job title, address, and custom fields transfer. Primary company association migrates as a companyId lookup — Rechat contacts with no company link attach to a placeholder company record in Twenty so the relationship field is never null.
Rechat
Company
Twenty CRM
Companies
1:1Rechat company records map 1:1 to Twenty Companies. Domain, industry, employee count, annual revenue, and address fields transfer. Parent-child company hierarchies (Rechat's parent company link) map to Twenty's parent company relation using the same foreign-key pattern — parent companies migrate first so child records resolve correctly.
Rechat
Deal / Transaction
Twenty CRM
Opportunities
1:1Rechat deals map to Twenty Opportunities. Deal name, amount, stage, close date, and owner transfer. Rechat deal stage values (e.g., 'Active', 'Under Contract', 'Closed') map to Twenty Opportunity stage pick-list values — your admin defines the Twenty stage pipeline before migration so the mapping is pre-agreed.
Rechat
Task
Twenty CRM
Tasks
1:1Rechat tasks (reminders, to-dos, follow-up items) map to Twenty Tasks with original due dates, assignees, and completion status preserved. Task body text transfers as the Task description. Tasks linked to specific contacts or deals carry the parent record ID in Twenty's relation fields.
Rechat
Note
Twenty CRM
Notes
1:1Rechat notes map to Twenty Notes. Rich-text formatting is converted to plain text for Twenty's note model. Notes linked to contacts, companies, or deals carry the appropriate relation in Twenty so they appear in context on the related record. Original note timestamps and creator information are preserved as metadata fields on each Twenty Note, ensuring audit trail continuity.
Rechat
Attachment / File
Twenty CRM
File storage (re-upload)
1:1Rechat file attachments on contacts, companies, and deals are downloaded and re-uploaded to Twenty's file storage. File names and original upload dates are preserved as metadata. Inline images embedded in notes are extracted and rehosted as separate file attachments linked to the parent note.
Rechat
User / Agent / Owner
Twenty CRM
Workspace Members
1:1Rechat agent and owner records map to Twenty Workspace Members by email address match. Rechat owner ID on a deal or contact resolves to the matching Twenty user; unmatched owners are flagged before migration so you can invite them to Twenty first or assign their records to a fallback user.
Rechat
Custom Field (MLS Number, Property Type, Listing Status, etc.)
Twenty CRM
Custom Field on People / Companies / Opportunities
1:1Rechat custom fields — including real-estate-specific fields like MLS listing number, property type, listing status, and transaction type — require custom field creation in Twenty before migration. FlitStack creates the fields in Twenty's data model (Settings > Data Model), defines the field type (text, select, multi-select, number, date), and maps values during the migration run. Pick-list fields require a value-by-value map if the source uses a constrained value set.
Rechat
Activity / Engagement (call, email, meeting)
Twenty CRM
Task / Event
1:1Rechat activity records (logged calls, emails, meetings) map to Twenty Tasks. Call activities become Tasks with Type='Call'; email activities become Tasks with Type='Email'; meeting records become Tasks with the original date preserved. Rechat's activity timestamps and owner assignments transfer as Task fields. Note: Rechat retrieves email body content live from the connected Gmail/Outlook account — the migration captures metadata only, consistent with Rechat's documented behavior.
Rechat
Custom Object (if any Enterprise custom objects exist in Rechat)
Twenty CRM
Custom Object in Twenty (Professional plan: up to 10; Organization: unlimited)
1:1Rechat Enterprise custom objects migrate to Twenty custom objects. Custom object relationships that use a junction-table pattern in Rechat require a junction object in Twenty if the relationship is many-to-many — we surface this in the pre-migration schema plan and your admin confirms the relationship model before data loads.
| Rechat | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact / People | People1:1 | Fully supported | |
| Company | Companies1:1 | Fully supported | |
| Deal / Transaction | Opportunities1:1 | Fully supported | |
| Task | Tasks1:1 | Fully supported | |
| Note | Notes1:1 | Fully supported | |
| Attachment / File | File storage (re-upload)1:1 | Fully supported | |
| User / Agent / Owner | Workspace Members1:1 | Fully supported | |
| Custom Field (MLS Number, Property Type, Listing Status, etc.) | Custom Field on People / Companies / Opportunities1:1 | Fully supported | |
| Activity / Engagement (call, email, meeting) | Task / Event1:1 | Fully supported | |
| Custom Object (if any Enterprise custom objects exist in Rechat) | Custom Object in Twenty (Professional plan: up to 10; Organization: unlimited)1:1 | Fully supported |
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.
Rechat gotchas
Heroku/Salesforce outage risk impacts migration timing
Email bodies are never stored in Rechat
Flows automations are not exportable via API
Lucy AI assistant history is not accessible
Contact export produces flat Excel, not relational data
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
Audit Rechat data and plan Twenty schema
FlitStack pulls a full inventory of every Rechat object (contacts, companies, deals, tasks, notes, attachments, custom fields, and custom objects) via the Rechat API. We generate a schema audit report that identifies all custom field names, types, pick-list values, and any MLS-related fields. Based on this inventory, we deliver a Twenty schema setup checklist: which custom fields to create in Twenty's data model (with field types and pick-list options), how many custom objects are needed, and what the Opportunity stage pipeline should look like. Your Twenty admin creates the schema before the migration sample run so field validation passes on the first attempt.
Sequence Companies, then People, then Opportunities for foreign-key integrity
Twenty's import order requirement is strict: Companies must exist before People (people link to a companyId), and People must exist before Opportunities (opportunities link to a personId). FlitStack sequences the migration export so Companies load first into Twenty via CSV import or API, People second with their companyId lookups resolved, then Opportunities with both companyId and personId resolved. Any Rechat contact without a primary company gets assigned to a default 'Unassigned Company' placeholder in Twenty so the foreign-key constraint never fails. Owner assignments resolve by email match against Twenty workspace members — unmatched owners are flagged and held for admin resolution before the opportunity batch runs.
Run sample migration with field-level diff
A representative slice of 100–500 records migrates first — spanning contacts, companies, deals, a task, a note, and at least one record with custom fields populated. FlitStack generates a field-level diff showing source value versus destination value for every mapped field so you can verify that Rechat MLS numbers, property types, listing statuses, and custom pick-list values appear correctly in Twenty. Owner resolution is verified; any record landing without a Twenty owner is flagged. You approve the sample diff before the full migration commits. This step typically catches field type mismatches (text vs. pick-list) before hundreds of records are at risk.
Execute full migration with delta-pickup window
The full dataset migrates using the approved field mapping. A delta-pickup window (24–48 hours after the initial load) captures any Rechat records modified or created during the cutover — new contacts added by agents, deal stage changes, or tasks logged while the migration runs. FlitStack uses scoped read access on Rechat during this period; your team keeps working in Rechat uninterrupted. After the delta window closes, a final reconciliation report compares record counts by object type and flags any discrepancies. Audit log captures every insert, update, and skip operation.
Deliver migration manifest, reconciliation report, and workflow rebuild reference
Post-migration deliverables include: a full migration manifest listing every record migrated, the destination Twenty ID for each, and any records skipped with a reason; a field-level reconciliation summary showing that all mapped fields transferred correctly; and a Rechat workflow audit export documenting every active Flow, sequence, and automation definition in a structured format your Twenty admin can use as a rebuild reference for the workflow builder. FlitStack remains available for a 30-day post-migration review window in case reconciliation reveals gaps that need a targeted re-migration of specific record batches.
Platform deep dives
Rechat
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 Rechat 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
Rechat: Not publicly documented.
Data volume sensitivity
Rechat doesn't expose a bulk API — REST + parallelization used for high-volume runs.
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 Rechat to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Rechat 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 Rechat
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.