CRM migration

Migrate from LockedOn to Twenty CRM

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

LockedOn logo

LockedOn

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

13 of 13

objects map 1:1 between LockedOn and Twenty CRM.

Complexity

BStandard

Timeline

72–96 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

LockedOn structures its CRM around real estate-specific objects: contacts linked to clients, companies representing agencies or property owners, properties with lifecycle stages from listing to sold, and deals tied to specific properties with commission tracking. The platform includes automation triggers, bulk communication templates, and a vendor reporting portal that are all property-industry-specific. Twenty CRM ships a general-purpose data model built around People (individual contacts), Companies (organizations), Opportunities (deals), Tasks (action items), and Notes (free-form records). Custom objects can represent any domain-specific entity. The platform supports CSV import for up to 10,000 records per file with a strict import order: Companies first, then People, then Opportunities, then custom objects last since each references the previous. API-based import removes the per-file limit. We migrate all standard LockedOn records — contacts, companies, properties, and deals — into Twenty's equivalent objects. Property listings that don't fit standard Opportunity semantics become a custom object in Twenty. LockedOn's automation triggers, bulk communication templates, vendor portal settings, and QR check-in configurations have no equivalent in Twenty and must be rebuilt manually. The migration runs via Twenty's API, sequencing the import in the required dependency order so foreign-key relationships resolve correctly. A delta-pickup window captures any records modified in LockedOn during the cutover window before go-live.

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

LockedOn logo

LockedOn

What's pushing teams away

  • Limited public API documentation makes LockeOn difficult to integrate with external tools, prompting agencies with custom tech stacks to seek alternatives.
  • Opaque pricing not published on the website causes uncertainty and forces sales conversations before evaluation.
  • Small team size (11 employees per LinkedIn) raises concerns about long-term platform stability and feature development pace.
  • Agents report that the automation builder, while powerful, lacks flexibility for complex conditional workflows beyond standard triggers.

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

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

LockedOn

Contact (Client)

maps to

Twenty CRM

People

1:1
Fully supported

LockedOn contacts represent individual clients (buyers, sellers, tenants). They map directly to Twenty's People object. The contact's primary company link in LockedOn becomes the companyId relation in Twenty after Companies are imported. LockedOn contact tags migrate as custom multi-select fields in Twenty.

LockedOn

Company (Agency/Owner)

maps to

Twenty CRM

Companies

1:1
Fully supported

LockedOn companies represent agencies, property management firms, landlords, and property owners. These entities map directly to Twenty's Companies object. Company hierarchies in LockedOn (parent-branch relationships) transfer to Twenty's self-referential companyId relation, preserving organizational structures. Industry classification pick-list values map value-by-value from LockedOn's industry field to Twenty's industry field, maintaining consistent categorization across the migration.

LockedOn

Property / Listing

maps to

Twenty CRM

Custom Object: Property

1:1
Fully supported

LockedOn's property records (listing details, property type, address, status) have no direct equivalent in Twenty's standard Opportunity object. We create a Property custom object in Twenty and migrate fields including address components, property type, listing status, and price. The property links to its owning Company and to related People (agents, owners).

LockedOn

Deal / Listing Deal

maps to

Twenty CRM

Opportunities

1:1
Fully supported

LockedOn deals tied to specific properties map to Twenty Opportunities with a relation to the migrated Property custom object. The deal's commission amount, expected close date, and stage (Offer Made, Under Contract, Settled) map to Opportunity amount, closeDate, and stageName. If LockedOn uses multiple pipelines, we create separate stage sets in Twenty.

LockedOn

Task / Action Item

maps to

Twenty CRM

Tasks

1:1
Fully supported

LockedOn tasks and action items map directly to Twenty's Tasks object. Task due dates, assignees (matched by email to Twenty workspace members), completion status, and linked records (contact, property, deal) are preserved. Completed task timestamps are stored as custom datetime fields since Twenty's default completedAt may not reflect the original completion date.

LockedOn

Note

maps to

Twenty CRM

Notes

1:1
Fully supported

LockedOn notes attached to contacts, companies, or properties migrate to Twenty Notes. Notes are linked to the parent record (People, Company, or Property custom object) via the noteableId relation. Rich-text formatting in LockedOn notes is preserved where the format is compatible with Twenty's note rendering.

LockedOn

Activity (Call/Email/Meeting)

maps to

Twenty CRM

Tasks

1:1
Fully supported

LockedOn engagement records (calls logged, emails recorded, meetings scheduled) are stored as Twenty Tasks with Type set to Call, Email, or Meeting. Original activity timestamps and the user who logged the activity are preserved. Activity body text maps to the Task body field.

LockedOn

Trigger / Automation

maps to

Twenty CRM

None

1:1
Fully supported

LockedOn's Triggers (OFI follow-up, post-enquiry welcome) and Plan/Automation templates have no equivalent in Twenty CRM. These configurations are exported as JSON documentation briefs that your Twenty admin can use to rebuild equivalent Workflows in Twenty's Settings → Workflows. We document the trigger event, conditions, and resulting actions for each active trigger.

LockedOn

Bulk Communication Template

maps to

Twenty CRM

None

1:1
Fully supported

LockedOn's bulk communication templates (email/SMS templates for agent outreach) do not migrate. We export the template body text and variable placeholders as a CSV that can be imported into your preferred email tool or rebuilt as Twenty Workflow email actions. Twenty itself has no native bulk email feature.

LockedOn

Vendor Portal Settings

maps to

Twenty CRM

None

1:1
Fully supported

LockedOn's vendor reporting portal and seller-facing 24/7 portal configurations are platform-specific and have no Twenty CRM equivalent. This feature must be re-evaluated post-migration — either through Twenty's API + a custom front-end, or by selecting a separate vendor portal tool.

LockedOn

QR Check-in Configuration

maps to

Twenty CRM

None

1:1
Fully supported

LockedOn's QR check-in for open homes is a property-industry-specific feature with no Twenty CRM equivalent. If your team relies on this for event registration at property inspections, it must be handled by a separate tool or rebuilt as a custom integration on top of Twenty's API.

LockedOn

Custom Properties (Contact/Company/Deal)

maps to

Twenty CRM

Custom Fields

1:1
Fully supported

LockedOn custom properties on any object migrate as Twenty custom fields. We create each custom field under Settings → Data Model before importing data, matching the field type (text, number, date, select, multi-select). Select field options are mapped value-by-value. Custom properties with dependencies (e.g., conditional visibility in LockedOn) are documented for manual reconfiguration in Twenty.

LockedOn

User / Agent / Owner

maps to

Twenty CRM

Workspace Member

1:1
Fully supported

LockedOn users (agents, admin staff) are resolved by email match against Twenty workspace members. We require your Twenty workspace to be set up and members invited before migration so user references on records can link correctly. Unmatched owners are flagged with a fallback assignment for your review.

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.

LockedOn logo

LockedOn gotchas

High

No public API documented for customer use

High

Automations are not exportable

Medium

Vendor Portal records are platform-locked

Medium

QR check-in data not independently exportable

Low

Custom fields may require reconfiguration post-migration

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

  • Twenty CSV import requires strict dependency ordering — Companies before People before Opportunities

    Twenty's documentation explicitly states that import files must be uploaded in dependency order: Companies first, then People (linked via companyId), then Opportunities (linked to Companies and People), then custom objects last. LockedOn exports each object type as a separate file, so the migration script must load them in the correct sequence. If People are imported before Companies, the companyId foreign key on each Person record has no target and the relation breaks. We sequence all imports to respect this constraint and validate foreign-key integrity before marking the migration complete.

  • Twenty CSV import caps at 10,000 records per file — large datasets require API migration

    Twenty's CSV import limits each file to 10,000 records. LockedOn instances with more than 10,000 contacts, 10,000 properties, or 10,000 deals will exceed this limit on a single object type. We handle this by splitting large CSV files at the 10,000-record boundary and running sequential imports, or by switching to Twenty's API-based import path which has no per-file limit. The API path also allows parallel processing of independent object types, reducing total migration time for large datasets.

  • LockedOn triggers and automations have no export utility and must be documented manually

    LockedOn's Triggers (event-based actions like OFI follow-up or post-enquiry welcome) and Plan/Automation templates are stored in a proprietary configuration format with no documented export API. There is no way to pull a complete list of active triggers from LockedOn's UI in a machine-readable format. We address this by working with your team to screenshot or manually list all active triggers before migration, then we generate a rebuild brief (JSON + human-readable description) for your Twenty admin. The actual rebuild of these automations in Twenty's Workflows builder must be done manually after go-live.

  • LockedOn property records require a custom object in Twenty that must be created before import

    Twenty's standard Opportunity object is designed for sales deals, not property listings. LockedOn's property records (with fields like listing status, property type, inspection schedule, vendor details) do not map cleanly to Opportunities. We create a Property custom object in Twenty under Settings → Data Model before any data import begins. This custom object needs fields created in advance (name, address, propertyType, listingStatus, listingPrice, companyId for the owning agency, and a relation to People for agents and vendors). If the custom object is not set up before migration, the import will fail on the property records.

  • Twenty workspace members must exist before import for owner/assignee resolution

    Twenty resolves user references (owner on Opportunities, assignee on Tasks) by matching to workspace members by email address. If a LockedOn owner has no corresponding email in your Twenty workspace at migration time, the record is assigned to a fallback owner and flagged for manual reassignment. To avoid this, we require your Twenty workspace to be provisioned and all team members invited (via Settings → Members) before migration day. We provide an owner-resolution report 48 hours before the migration run so your team can close any gaps.

Migration approach

Six steps for a successful LockedOn to Twenty CRM data migration

  1. Provision Twenty workspace and create custom data model

    Before any data moves, your Twenty admin (or our team) creates the Property custom object, any custom fields on People, Companies, and Opportunities, and invites all workspace members whose email addresses appear as owners or assignees in LockedOn. We deliver a pre-flight checklist based on your LockedOn schema: the list of custom fields to create, the import order, and the owner-resolution report showing which LockedOn users need Twenty accounts. This step typically takes 1–3 days depending on how much custom field configuration is required.

  2. Audit LockedOn data and build migration mapping document

    We extract metadata from LockedOn (all object types, field names, custom properties, pick-list values, and active trigger configurations). For each LockedOn field, we document the target Twenty field or the reason it requires a custom field. For triggers and automations, we create a rebuild brief describing each active trigger's event, conditions, and actions. This mapping document is your blueprint for the migration and for the post-migration cleanup of automations.

  3. Run a sample migration with field-level validation

    We migrate a representative slice — typically 200–500 records spanning People, Companies, Property custom object records, and Opportunities — and generate a field-level diff between the source LockedOn records and the resulting Twenty records. You review the diff to confirm that property types, listing statuses, deal stages, owner assignments, and timestamps are correct before the full migration commits. This is the last checkpoint before data moves at scale.

  4. Execute full migration with delta-pickup window

    The full migration runs in dependency order: Companies first, then People (with companyId links resolved), then Property custom object records, then Opportunities (with property and company links resolved), then Tasks. After the initial load completes, a delta-pickup window of 24–48 hours captures any records created or modified in LockedOn during the cutover period. FlitStack AI logs every record created, updated, or skipped with a reason code. One-click rollback is available if the reconciliation report shows unexpected discrepancies.

  5. Deliver reconciliation report and trigger rebuild brief

    We deliver a full reconciliation report showing record counts by object, the number of records migrated vs. skipped, owner-resolution status for each record, and any field-level transform that diverged from the mapping document. The trigger rebuild brief lists each LockedOn trigger with its event, conditions, and actions so your Twenty admin can rebuild equivalent Workflows. We provide a 30-day post-migration support window for any records that need correction after your team begins using Twenty.

Platform deep dives

Context on both ends of the pair

LockedOn logo

LockedOn

Source

Strengths

  • Integrated CRM, marketing automation, and vendor reporting in a single real estate-focused platform.
  • Pre-built automation templates for OFI follow-up and post-enquiry welcome sequences.
  • QR check-in for contactless open home registrations.
  • Vendor portal with 24/7 reporting access for sellers.
  • Bulk communication engine with templating for routine client outreach.

Weaknesses

  • No publicly documented REST API accessible to customers for data export or integration.
  • Opaque pricing model requiring direct sales contact to obtain quotes.
  • Small development team limits pace of feature updates and support capacity.
  • Automation rebuild is manual on destination platforms since automations cannot be exported.
  • Limited object model means complex agency workflows may require custom workarounds.
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. 1 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 LockedOn and Twenty CRM.

  • Object compatibility

    B

    1 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

    LockedOn: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most LockedOn-to-Twenty migrations complete in 72–96 hours of clock time for under 25,000 total records. The planning phase (Twenty workspace setup, custom object creation, owner-resolution) adds 1–3 days before the migration run. Larger setups with over 100,000 records or complex custom objects extend to 7–14 days. The pre-flight checklist and sample migration validation are the longest planning steps — the actual data load runs quickly once the target schema is ready.

Adjacent paths

Related migrations to explore

Ready when you are

Move from LockedOn.
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