CRM migration
Field-level mapping, validation, and rollback between Rezora and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Rezora
Source
Twenty CRM
Destination
Compatibility
10 of 11
objects map 1:1 between Rezora and Twenty CRM.
Complexity
BStandard
Timeline
24–48 hours
Overview
Rezora is a real-estate-specific marketing platform centered on contacts, drip campaigns, and branded templates — it lacks native deal tracking, pipeline stages, or opportunity objects. Twenty CRM is a general-purpose open-source CRM with standard People, Companies, Opportunities, Notes, and Tasks objects plus unlimited custom objects and fields. The migration maps Rezora contacts to Twenty People records, Rezora companies to Twenty Companies records, and surfaces Rezora's drip campaign definitions as export files for manual rebuild in Twenty's workflow builder. FlitStack sequences the migration so companyId foreign keys resolve before People imports, then Opportunities last — matching Twenty's import-order requirement (Companies → People → Opportunities). Standard contact fields (firstname, lastname, email, phone, jobtitle) map directly; custom properties on contacts and companies migrate as Twenty custom fields; custom field types are preserved (text stays text, pick-list stays select, date stays date). Rezora's activity history (email opens, clicks, template views) cannot migrate — Twenty does not store engagement metrics as activity records. We use Twenty's REST and GraphQL API (available on all plans) to load records, with CSV bulk import as a fallback for non-relational fields.
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 Rezora 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.
Rezora
Contact
Twenty CRM
People
1:1Rezora contacts migrate directly to Twenty People records. Each Rezora contact maps to one People record; the original Rezora contact ID is stored as Source_System_ID__c for traceability and delta-run de-duplication. Emails, phone numbers, job titles, and addresses transfer as standard People fields.
Rezora
Contact Custom Properties
Twenty CRM
People (custom fields)
1:1Rezora custom properties on contacts (e.g., lead_source, license_number, preferred_contact_method) create Twenty custom fields on the People object via Twenty's Metadata API before the migration run. Field type is preserved: text properties become text fields, pick-lists become select fields, date properties become date fields.
Rezora
Company
Twenty CRM
Company
1:1Rezora companies (brokerages, teams, or office entities) map directly to Twenty Companies records. Company name, domain/website, industry, number of employees, and annual revenue transfer to matching Twenty fields. Multi-office brokerages with parent-branch hierarchies require decisions about whether to create separate Company records per office or consolidate under one primary brokerage record.
Rezora
Company Custom Properties
Twenty CRM
Company (custom fields)
1:1Rezora company-level custom fields (e.g., mls_id, brokerage_license, market_region) migrate as Twenty Company custom fields. The Metadata API creates each field first, then field values load during the Company import phase. Original create dates are preserved as custom datetime fields since Twenty's CreatedAt is set at migration time.
Rezora
Campaign
Twenty CRM
Custom Object (Campaign) or Notes
1:1Rezora campaigns have no direct equivalent in Twenty's standard schema. FlitStack exports campaign names, types, statuses, and member counts as a CSV reference file. Teams rebuild campaigns as custom objects in Twenty (Organization plan) or document them in a Campaign Notes record linked to relevant People records. Campaign membership (which contacts received which campaigns) is preserved as a custom field on People.
Rezora
Drip Campaign / Sequence
Twenty CRM
Workflow (manual rebuild)
1:1Rezora drip campaigns and email sequences are marketing automation constructs with step timing, condition branches, and enrollment rules. Twenty's workflow builder handles task automation but does not natively replicate drip campaign logic. FlitStack exports drip campaign definitions as JSON and CSV reference files so your Twenty admin can rebuild them as workflows. The exported file includes step order, wait durations, and enrollment criteria.
Rezora
Email Template
Twenty CRM
Custom Field or External Storage
1:1Rezora email templates (HTML content used in drip campaigns) have no storage location in Twenty's standard schema. FlitStack exports template HTML as files. Teams can store template body as a long-text custom field on a Campaign reference record, or re-create templates in an external email tool (e.g., Mailchimp, SendGrid) and integrate via Twenty's webhooks.
Rezora
Activity (Email Opens / Clicks)
Twenty CRM
No equivalent
1:1Rezora tracks email engagement metrics (opens, clicks, template views) per contact. Twenty does not store engagement metrics as activity records — it tracks only calls, meetings, and notes. Engagement history cannot migrate to Twenty and is exported as a reference CSV for compliance or reporting purposes outside the CRM.
Rezora
Social Media Post
Twenty CRM
Notes or Custom Object
1:1Rezora's social media scheduling and posting features have no direct equivalent in Twenty. Social post records can be exported as a CSV with post text, platform, and date. Teams rebuild posting workflows in dedicated social media tools (e.g., Buffer, Hootsuite) and link those tools to Twenty via webhook or Zapier integration post-migration.
Rezora
Agent (Contact with agent role)
Twenty CRM
People + WorkspaceMember
1:manyRezora agents are contacts with an agent-specific role. In Twenty, the contact data migrates to a People record. If the agent also needs to log into Twenty as a user, their email address is used to create a WorkspaceMember invitation — but agents who are only managed contacts (not users) land only as People records. FlitStack flags contacts that have matching email invitations in Twenty before assigning WorkspaceMember roles.
Rezora
Attachment / File
Twenty CRM
Manual re-upload or API
1:1Rezora file attachments on contacts or templates are not included in CSV exports. FlitStack exports a manifest of attachment URLs and file names. Teams re-upload files to Twenty manually, or FlitStack's API team handles re-upload to Twenty's file storage. This step is scoped separately from the record migration because file transfer requires destination storage credentials.
| Rezora | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact | People1:1 | Fully supported | |
| Contact Custom Properties | People (custom fields)1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Company Custom Properties | Company (custom fields)1:1 | Fully supported | |
| Campaign | Custom Object (Campaign) or Notes1:1 | Fully supported | |
| Drip Campaign / Sequence | Workflow (manual rebuild)1:1 | Fully supported | |
| Email Template | Custom Field or External Storage1:1 | Fully supported | |
| Activity (Email Opens / Clicks) | No equivalent1:1 | Fully supported | |
| Social Media Post | Notes or Custom Object1:1 | Fully supported | |
| Agent (Contact with agent role) | People + WorkspaceMember1:many | Fully supported | |
| Attachment / File | Manual re-upload or API1: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.
Rezora gotchas
Rezora's per-feature pricing creates migration scope ambiguity
Template HTML carryover requires merge-field reformatting
Agent-level distribution lists do not map to standard CRM groups
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 Rezora data and design Twenty schema
FlitStack exports Rezora's full record set across contacts, companies, campaigns, and drip campaigns. We catalog every custom property on contacts and companies, map pick-list values, and document campaign and drip campaign definitions for the export-and-rebuild reference package. Simultaneously, we use Twenty's Metadata API to create any custom fields and custom objects required before data loads. We deliver a schema setup plan so your Twenty admin can pre-create custom fields on People and Company objects, avoiding import errors when the migration run executes.
Resolve owners and validate workspace invitations
Rezora agents who will be Twenty users must have accepted workspace invitations before migration. FlitStack matches Rezora owner email addresses against Twenty workspace members. Unmatched owners are flagged with a fallback assignment plan — either invite them to Twenty first or assign their records to a designated migration owner. This step prevents null OwnerId errors on People and Opportunity records during the import phase, which Twenty's permissions model blocks on standard objects.
Import Companies first, then People, then Opportunities
Following Twenty's required import order, FlitStack loads Companies first (so companyId values exist for lookups), then People records (with companyId resolved to their primary brokerage or office), then Opportunities. Custom object imports run last after all foreign keys are established. Every batch is validated against Twenty's field-type constraints before committing — pick-list values that do not match Twenty's defined options are flagged and mapped to the nearest equivalent before the next batch runs.
Run sample migration with field-level diff
A representative slice migrates first — typically 100–500 records spanning contacts, companies, and opportunities across a few Rezora campaigns. FlitStack generates a field-level diff report comparing source field values against Twenty field values for every migrated record. You verify that custom property mappings are correct, companyId lookups resolved properly, and owner assignments are acceptable. No full migration commits until you sign off on the sample diff.
Full migration with delta-pickup and rollback plan
The full record set migrates against Twenty. A delta-pickup window (typically 24–48 hours) captures any records created or modified in Rezora during the cutover window. FlitStack's audit log records every operation — record created, updated, linked, or skipped — and one-click rollback is available if reconciliation reveals unexpected gaps. After the migration is confirmed, we deliver the drip campaign JSON export file and template manifest so your Twenty admin can begin rebuilding automation logic in Twenty's workflow builder.
Platform deep dives
Rezora
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Rezora and Twenty CRM.
Object compatibility
1 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
Rezora: Not publicly documented — no published numeric rate limits..
Data volume sensitivity
Rezora 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 Rezora to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Rezora 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 Rezora
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.