CRM migration

Migrate from Paradym to Twenty CRM

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

Paradym logo

Paradym

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

92%

12 of 13

objects map 1:1 between Paradym and Twenty CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Paradigm stores identity data as credential objects with holders, issuers, schemas, and verification events — a fundamentally different shape from Twenty CRM's People/Companies/Opportunities model. FlitStack AI restructures that credential graph into Twenty's relational schema: Paradigm holders migrate as Twenty People with name, email, and phone preserved from credential subject attributes; Paradigm issuers migrate as Twenty Companies with domain and type fields; credential metadata (type, schema, status) maps to custom fields on both objects. Verification events that tracked credential presentations become Notes or Tasks with original timestamps. Custom objects and nested attribute arrays that don't fit standard Twenty fields land as custom fields with serialized JSON or multi-value text. Workflows, presentation templates, and credential templates do not have Twenty equivalents — we export those definitions as JSON so your team can rebuild them. Migration uses Paradigm's REST API (200 req/10s per desk limit) with FlitStack's staged load: companies first, then people with companyId lookups, then verification events. A 24–48 hour delta window catches any in-flight credential issuance during cutover.

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

Paradym logo

Paradym

What's pushing teams away

  • Social integrations with LinkedIn and YouTube drop connections after extended periods, disrupting automated posting workflows.
  • Platform is primarily marketing-focused rather than full-cycle sales CRM, causing agents with complex pipeline needs to outgrow the tool.
  • Limited advanced automation beyond basic lead responder and notification triggers pushes teams to platforms like HubSpot or Follow Up Boss.

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

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

Paradym

Holder

maps to

Twenty CRM

People

1:1
Fully supported

Paradigm holders — the individuals who hold credentials — map directly to Twenty People. Name, email, phone, and job title from the credential subject attributes migrate as standard People fields. Each holder gets one People record with original create timestamps preserved in custom datetime fields.

Paradym

Holder.identifier

maps to

Twenty CRM

People (custom field)

1:1
Fully supported

Paradigm's holder identifier is a UUID assigned to each credential holder in the system. Since Twenty People has no native field to store this external reference, we create a custom text field named Paradigm_Holder_ID__c to preserve the identifier. This enables full traceability back to the original Paradigm record and supports de-duplication logic across multiple migration runs or delta synchronizations.

Paradym

Issuer

maps to

Twenty CRM

Company

1:1
Fully supported

Paradigm credential issuers — the organizations that issue credentials — map to Twenty Companies. Issuer name, domain, and type map to Company.name, Company.domain, and a custom type field. Multiple credentials issued by the same issuer collapse to one Company record with a credential count custom field.

Paradym

Issuer.identifier

maps to

Twenty CRM

Company (custom field)

1:1
Fully supported

The Paradigm issuer UUID is the unique identifier assigned to each issuing organization. Twenty Company records have no native field for storing external system identifiers, so we create Paradigm_Issuer_ID__c as a custom text field on the Company object. This field enables cross-system reference, traceability during reconciliation, and delta-sync matching between Paradigm issuer data and Twenty Company records.

Paradym

Credential

maps to

Twenty CRM

Custom Object: Credential

1:1
Fully supported

Paradigm credentials have no native CRM equivalent in Twenty. We create a custom Credential object in Twenty (on Organization tier or above) with fields for credentialId, type, status, issueDate, expiryDate, holderId (lookup to People), and issuerId (lookup to Company). This is the core structural addition for this migration.

Paradym

Credential type

maps to

Twenty CRM

Credential.name / Credential.type

1:1
Fully supported

The credential type designation (such as 'VerifiedEmail' or 'ProofOfEmployment') from Paradigm maps to either the name field or a custom type pick-list on the Twenty Credential custom object. Exact type values are preserved exactly as they appear in Paradigm and are fully configurable within Twenty's field settings post-migration.

Paradym

Credential schema

maps to

Twenty CRM

Credential (custom field)

1:1
Fully supported

Paradigm SD-JWT VC schemas define the structural layout of attributes within a credential. The schema identifier URL is migrated as a text field called Credential_Schema__c on the Credential custom object. This preserves the original schema reference so your team can audit the original attribute definitions and validate credential contents against the source schema.

Paradym

Verification Event

maps to

Twenty CRM

Task

1:1
Fully supported

Paradigm tracks credential presentations as verification events — when a holder presented a credential to a verifier. Each verification event becomes a Twenty Task linked to the corresponding Credential record and holder People record. Task subject carries the verification outcome (verified/rejected), and original timestamps are preserved.

Paradym

Nested attribute (array)

maps to

Twenty CRM

Custom field (serialized) or individual fields

1:1
Fully supported

Paradigm nested attributes (such as person.name combined with person.address under a 'person' key, or multiple nationalities under a 'nationalities' array) require transformation for Twenty's flat field model. We offer two approaches: individual custom fields for each sub-attribute (recommended when there are up to 10 attributes for clean reporting), or serialized JSON in a Nested_Attributes_JSON__c text field for complex or larger attribute sets.

Paradym

Credential Template

maps to

Twenty CRM

No equivalent

1:1
Fully supported

Paradigm SD-JWT VC credential templates define attribute schemas, validity rules, and revocation settings for issued credentials. Twenty CRM contains no credential template concept — there is no object, field, or configuration in Twenty that models credential issuance templates. We export all Paradigm template definitions as JSON, including nested attribute configurations, template identifiers, and revocation rules, so your identity engineering team can reconstruct them in a dedicated credential issuance platform.

Paradym

Presentation Template

maps to

Twenty CRM

No equivalent

1:1
Fully supported

Paradigm presentation templates control which credential attributes are shared during verification and how disclosure formatting is handled. Twenty CRM has no equivalent feature to model selective attribute presentation. These must be rebuilt entirely within a dedicated identity or verification platform, or potentially through Twenty's workflow builder if selective disclosure capabilities are required in your target environment.

Paradym

Credential status (active/revoked)

maps to

Twenty CRM

Credential.status (custom pick-list)

1:1
Fully supported

Paradigm credential revocation status requires mapping to a custom pick-list field on the Credential custom object with values for Active, Revoked, and Expired. For audit continuity, we also add datetime fields such as Revoked_At__c to capture the exact timestamp when any credential status changed. This preserves the complete revocation timeline from Paradigm in your Twenty workspace.

Paradym

Holder-Issuer relationship

maps to

Twenty CRM

People (lookup) + Credential (junction)

many:1
Fully supported

A Paradigm holder can receive credentials from multiple issuers and an issuer can issue to multiple holders, creating a many-to-many relationship that Twenty's flat object model does not natively support. We model this by creating a People record for each holder, a Company record for each issuer, and a Credential custom object with lookups to both. The Credential object serves as the junction record that connects holders to issuers through their respective credentials.

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.

Paradym logo

Paradym gotchas

Medium

Social integration drops after extended use

High

Sparse API documentation limits programmatic export

Low

Marketing assets have template dependencies

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

  • Paradigm API rate limits require staged load sequencing

    Paradigm enforces 200 requests per 10 seconds per desk, measured by IP address. Multiple API keys do not stack the limit — they share it. Large credential sets (100k+ holders) require staged pagination across multiple time windows. We implement exponential backoff on 429 responses and track remaining quota from response headers. Migrations running from IP addresses in Paradigm's blocked regions (China, Russia, North Korea) cannot access the API at all — a proxy IP outside those regions is required before migration begins.

  • Credential attribute nesting must be flattened before Twenty import

    Paradigm SD-JWT VC credentials support nested object attributes (e.g., person.name, person.address grouped under a 'person' key) and nested array attributes (e.g., multiple nationalities under 'nationalities'). Twenty's CSV import and API both expect flat field-value pairs per record. We must either create individual custom fields for each nested sub-attribute or serialize the full nested structure as JSON in a single text field. The choice affects downstream reporting — JSON fields are not searchable in Twenty's standard list views without a custom index. We surface the attribute tree during audit so your team decides the flattening strategy before import.

  • Verification events require People and Credential records to exist first

    Twenty Tasks link to People records via the Activity fields (task WhoId). Verification events from Paradigm that reference a holder and a credential can only migrate as Tasks after both the People record (holder) and the Credential custom object record exist — otherwise the task is orphaned. We sequence the migration: (1) Companies, (2) People, (3) Credential custom object records, (4) Verification events as Tasks. If any credential in Paradigm references a holder that failed migration, the verification event is flagged and held pending resolution rather than created without a link.

  • Credential templates and presentation templates have no Twenty CRM equivalent

    Paradigm's SD-JWT VC credential templates define attribute schemas, validity periods, and selective disclosure rules. Presentation templates define which attributes a verifier receives. Twenty CRM has no concept of credential templates — there is no object, field, or workflow trigger in Twenty that natively models 'issue this credential when a condition is met' or 'present these attributes to this verifier.' We export all Paradigm template definitions as JSON (including nested attribute configurations, template IDs, and revocation settings) so your identity engineering team can rebuild them in a credential issuance platform. This is a manual rebuild, not a migration.

  • Twenty Free tier cannot hold credential data

    Twenty's Free tier does not include custom objects. If your migration requires the Credential custom object to store credentialId, type, schema, and status, you need at minimum the Pro tier ($9/user/month) or Organization tier ($19/user/month) for unlimited custom objects. We check your target Twenty workspace edition during the planning phase — if Free tier is active, we either flag the custom-object gap or map credential data to a Notes-based workaround (with a clear loss-of-function disclosure) before migration proceeds.

Migration approach

Six steps for a successful Paradym to Twenty CRM data migration

  1. Audit Paradigm credential graph and map to Twenty schema

    We extract a full inventory of Paradigm holders, issuers, credentials, and verification events via the REST API. During this phase we identify nested attributes that need flattening, count issuer-holder relationships to understand the junction complexity, and check credential status distribution (active/revoked/expired). We also export credential templates and presentation templates as JSON for your rebuild reference. The output is a field-level mapping document — not a black box — so your team can review every decision before data moves.

  2. Set up Twenty workspace and create Credential custom object

    We create the Credential custom object in your Twenty workspace with all required fields (credentialId, type, status, issuedAt, expiresAt, schemaUrl, holderId lookup, issuerId lookup) and custom fields for paradigm IDs. We also add custom fields to People and Company for Paradigm_Holder_ID__c and Paradigm_Issuer_ID__c. If your Twenty workspace is on the Free or Starter tier, we flag the custom-object limitation before creating the schema and propose an alternative mapping strategy.

  3. Load Companies first, then People with companyId lookups

    Twenty requires Companies to exist before People can reference them via companyId. We migrate issuers into Companies first, preserving name, domain, type, and the Paradigm_Issuer_ID__c field. Then we migrate holders into People, resolving each holder's companyId by matching the issuer UUID from the credential data to the Paradigm_Issuer_ID__c on Company records. Any holders with unmatched issuer references are flagged for manual resolution before the credential step proceeds.

  4. Migrate credentials and verification events with relationship resolution

    With People and Companies in place, we migrate Credential records. Each Credential record gets its holderId resolved by matching holder UUID to Paradigm_Holder_ID__c on People, and issuerId resolved by matching issuer UUID to Paradigm_Issuer_ID__c on Companies. Verification events then migrate as Tasks linked to the correct People and Credential records. Any orphaned records (missing holder or credential) are held with a clear flag rather than created without links. FlitStack respects Paradigm's 200 req/10s rate limit using adaptive pacing.

  5. Run sample migration with field-level diff and delta window

    A representative slice — typically 200–500 records spanning multiple issuers, holder types, credential statuses, and verification events — migrates first. We generate a field-level diff showing source values against Twenty destination values for every mapped field. Your team reviews the diff and confirms credential attribute handling (individual fields vs. JSON serialization) before the full run commits. After the full migration, a 24–48 hour delta window captures any new holders, credentials, or verification events created in Paradigm during the cutover. Audit log and one-click rollback are available if reconciliation reveals unexpected gaps.

Platform deep dives

Context on both ends of the pair

Paradym logo

Paradym

Source

Strengths

  • Property Site builder with responsive design, video, and 3D model support for listing presentations.
  • Live Chat and Automatic Lead Responder deliver instant notifications to agent phone or email.
  • Promotional Toolkit includes QR codes, seller emails, buyer ecards, and custom listing showcases.
  • Lead Hub and Analytics tracks listing visibility and lead follow-up in a single view.
  • Built on Constellation1 providing multi-agent and brokerage-level administrative controls.

Weaknesses

  • Social media integrations are unreliable over longer periods, causing broken automated posting.
  • Limited pipeline or deal management features compared to general-purpose CRMs.
  • API documentation and developer resources are sparse, making custom integrations challenging.
  • No public bulk export or migration tooling built into the platform.
  • Not suitable for non-real-estate verticals; the entire data model assumes property-listings context.
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. 2 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 Paradym and Twenty CRM.

  • Object compatibility

    B

    2 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

    Paradym: Not publicly documented for paradym.com CRM; Constellation1 backend may impose undisclosed limits.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Paradigm-to-Twenty CRM migrations complete in 48–72 hours of clock time for under 50,000 credential records. Larger setups with 500,000+ holders or complex nested attribute structures extend to 5–10 days. The longest planning step is auditing the credential graph structure to decide how nested attributes flatten into Twenty's custom fields. The actual data load scales with Paradigm's 200 req/10s API rate limit — adaptive pacing is built in, but large datasets need multiple time windows.

Adjacent paths

Related migrations to explore

Ready when you are

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