CRM migration

Migrate from Dental-Exec to Twenty CRM

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

Dental-Exec logo

Dental-Exec

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

100%

11 of 11

objects map 1:1 between Dental-Exec and Twenty CRM.

Complexity

BStandard

Timeline

24–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Dental-Exec organizes dental practices around patient records, appointments, treatment plans, insurance claims, and referring-provider tracking. It uses a dental-specialized data model with tooth-chart fields, procedure codes, claim statuses, and recall intervals that have no direct equivalent in standard CRM objects. Twenty CRM provides a clean People object, a Companies object, an Opportunities pipeline, Tasks, Notes, and a full custom object layer built on a PostgreSQL-backed metadata schema. We map Dental-Exec patients to Twenty People, appointments to Tasks linked to the person, treatment plans to a custom Treatment object, insurance and referral records to custom objects, and all dental-specific fields (procedure codes, claim numbers, recall dates) to Twenty custom fields. The source export relies on Dental-Exec's CSV export mechanism — we handle transformation, relation resolution by email for assigned providers, and loading through Twenty's CSV import or REST/GraphQL API. Workflows, views, and permission sets must be rebuilt manually after migration; we provide a structured rebuild guide as a post-migration deliverable.

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

Dental-Exec logo

Dental-Exec

What's pushing teams away

  • With only 6 verified reviews and a 3.2 rating, Dental-Exec has a thin track record that raises concerns about long-term vendor stability and support responsiveness.
  • Customer service scores of 3.0 on Capterra indicate slow support response times and difficulty reaching a knowledgeable representative for configuration issues.
  • The platform lacks a documented public API, limiting automation and forcing practices to rely on manual data entry for tasks and scheduling.
  • Offices outgrowing basic task management report that Dental-Exec does not scale into patient relationship marketing, multi-location dashboards, or insurance claim workflows.

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

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

Dental-Exec

Patient

maps to

Twenty CRM

People

1:1
Fully supported

Dental-Exec patients map directly to Twenty's People object. All contact fields (name, email, phone, address) are direct mappings. Dental-specific properties such as date of birth, medical history flags, and insurance references move as custom fields on the People record. Owner assignment resolves by email match against invited Twenty Workspace Members.

Dental-Exec

Appointment

maps to

Twenty CRM

Task

1:1
Fully supported

Dental-Exec appointment records (date, time, provider, treatment type, status) map to Twenty Tasks. The task is linked to the corresponding People record via personId. Appointment duration maps to task due-date and completion fields. Cancelled or no-show statuses map to custom task status values defined in Twenty's data model before import.

Dental-Exec

Treatment Plan

maps to

Twenty CRM

Custom Object: Treatment

1:1
Fully supported

Dental-Exec treatment plans include procedure codes, tooth numbers, stages (proposed, in-progress, completed), and notes. A custom Treatment object is created in Twenty to hold these fields. The Treatment object is linked to the People record via a relation field. Procedure code values may require a value-mapping table if Twenty's select field options are pre-defined.

Dental-Exec

Insurance Record

maps to

Twenty CRM

Custom Object: Insurance

1:1
Fully supported

Dental-Exec insurance records (carrier name, policy number, group number, subscriber relationship, claim history) have no native equivalent in Twenty. A custom Insurance object is created with fields for carrier, policy number, group number, subscriber ID, and coverage type. It is linked to the People record via a relation field. Active versus inactive coverage status is mapped to a custom select field.

Dental-Exec

Referral Source

maps to

Twenty CRM

Custom Field on People

1:1
Fully supported

Dental-Exec tracks referring dentist or doctor names and referral source codes. In Twenty, this becomes a custom text or select field on the People object (e.g., Referral_Source__c). If the practice uses a defined list of referral sources, a select field with defined options is created before import to allow filtering in Twenty's views.

Dental-Exec

Provider / Staff

maps to

Twenty CRM

WorkspaceMember

1:1
Fully supported

Dental-Exec staff and provider records map to Twenty Workspace Members. The import requires that all providers be invited to Twenty and accept their invitations before the migration runs, because task assignments (ownerId and assignee) use the Twenty Workspace Member ID. Staff without email addresses in Dental-Exec require a fallback email or manual assignment in Twenty after migration.

Dental-Exec

Practice / Clinic

maps to

Twenty CRM

Company

1:1
Fully supported

Dental-Exec clinic or practice records map to Twenty Companies. Practice name, address, phone, and specialty are direct field mappings. For multi-location practices, each location is a separate Company record, and the People records are linked to the appropriate location via the companyId relation.

Dental-Exec

Billing / Payment

maps to

Twenty CRM

Custom Object: Payment

1:1
Fully supported

Dental-Exec payment records (amount, date, method, associated treatment) are stored as a custom Payment object in Twenty, linked to the People record and optionally to the Treatment record. Payment method values (cash, card, insurance) are mapped to a custom select field. Outstanding balance is tracked as a custom currency field.

Dental-Exec

Recall / Reappointment

maps to

Twenty CRM

Task

1:1
Fully supported

Dental-Exec recall intervals (e.g., '6-month cleaning due') map to Twenty Tasks with a future due date and a custom task type of 'Recall'. The task is linked to the People record. Recurrence information from Dental-Exec is noted as a text field on the task since Twenty's task model does not have native recurrence scheduling in all tiers.

Dental-Exec

Attachment / File

maps to

Twenty CRM

Note

1:1
Fully supported

Dental-Exec file attachments (PDF treatment plans, claim documents, imaging references) are migrated as Twenty Notes with a custom type field set to 'Attachment'. The original filename and a reference URL are stored in the Note body or a custom text field. Files exceeding Twenty's storage configuration are flagged before the full run so limits can be adjusted.

Dental-Exec

Custom Dental Fields

maps to

Twenty CRM

Custom Fields on People / Treatment / Insurance

1:1
Fully supported

Any custom fields defined in Dental-Exec for tooth-chart data, claim status codes, NPI numbers, or HIPAA consent flags are created as custom fields in Twenty before import. These include select fields for procedure code categories, date fields for consent签署 dates, and checkbox fields for treatment plan milestones. All custom fields must be present in Twenty's data model before the CSV import runs, per Twenty's field-first import requirement.

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.

Dental-Exec logo

Dental-Exec gotchas

High

No public API for automated exports

Medium

Recall and hygiene data embedded in task records

Medium

Drug interaction flags are binary, not structured

Low

Thin vendor footprint raises continuity risk

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's field-first import requirement blocks records without pre-created custom fields

    Twenty CRM's CSV import creates records but not fields. All custom fields — procedure codes on Treatment, insurance_policy_number on Insurance, recall_type on Task, and any dental-specific select options — must exist in Settings → Data Model before the import runs. If a custom field is missing, the CSV column is silently ignored and data is lost. We deliver a pre-migration checklist of every custom field that needs to be created in Twenty, with field type, name, and select options, so your workspace is field-ready before a single record is loaded.

  • Twenty's 20,000-record export ceiling requires staged exports for large practices

    Twenty's built-in export caps at 20,000 records per view or export action. Practices with patient databases exceeding 20,000 records must export in batches — filtering by creation date ranges, alphabetical splits, or record ID ranges. We handle the batching logic and validate that the union of all batch exports reconciles to the total record count in Dental-Exec. Missing records after reconciliation are flagged in the sample-diff report before the full migration commits.

  • Dental-Exec staff without email addresses cannot be auto-assigned as Twenty Workspace Members

    Twenty requires that any user referenced in ownerId or assigneeId fields already exist as a Workspace Member, resolved by email. Dental-Exec staff records that lack an email address (e.g., part-time hygienists or contracted assistants with no portal login) cannot be mapped automatically. We flag all unresolvable staff assignments in the pre-migration audit and create a fallback mapping to a designated admin Workspace Member, with a post-migration reassignment task list so nothing is permanently orphaned.

  • Twenty's API rate limits (100–200 req/min) constrain bulk migration throughput

    Twenty Cloud tiers impose API rate limits: 100 requests per minute on Cloud Starter, 200 on Cloud Pro and Organization. For practices migrating over 10,000 records, we use Twenty's CSV import endpoint (which bypasses per-record rate limits) and reserve the REST/GraphQL API for record updates and relation stitching only. If you are self-hosting Twenty, rate limits are configurable on your server — we provide the rate-limit configuration guidance as part of the migration plan.

  • Dental-Exec recall and sequence workflows cannot be migrated to Twenty's workflow builder

    Dental-Exec's automated patient-recall reminders, appointment confirmation sequences, and treatment-stage notifications are workflow constructs with no equivalent in Twenty's current automation model. Twenty's workflow builder handles task creation, field updates, and notification triggers, but native time-based sequences with conditional branching (e.g., 'if no response in 5 days, send SMS reminder') require either a third-party automation layer (n8n, Make) or custom code on the v2 SDK. We provide a workflow-rebuild map that lists every Dental-Exec workflow, its trigger conditions, and a recommended Twenty implementation path.

Migration approach

Six steps for a successful Dental-Exec to Twenty CRM data migration

  1. Audit Dental-Exec data model and export structure

    We run a structured audit of your Dental-Exec instance to inventory all record types (patients, appointments, treatments, insurance, referrals), count records per type, identify custom fields, and document owner and provider assignments. We also test the CSV export from Dental-Exec's admin panel to confirm field headers, encoding, and record counts. This audit produces the field-mapping document and flags any data-quality issues (duplicate records, missing required fields) before we touch Twenty's data model.

  2. Pre-create Twenty custom objects and fields

    Before any data is loaded, we create the custom objects (Treatment, Insurance, Payment) and custom fields on People and Task that your Dental-Exec data requires. We deliver a schema-setup checklist with field names, types, and select options that your Twenty admin can create in Settings → Data Model. Once all fields exist, we verify by attempting a test import of a single record before committing to the full migration. This step prevents the silent-field-ignore failure mode in Twenty's CSV import.

  3. Invite and verify all Workspace Members in Twenty

    Twenty requires that any user referenced as an owner or assignee exists as a Workspace Member before task assignments can resolve. We cross-reference Dental-Exec staff and provider records against a list of invited Twenty users, flagging any provider without an email address or a Twenty account. Your team has a designated window to invite and confirm all relevant Workspace Members. Until this step is complete, task assignments default to a placeholder admin owner — we document every default assignment so it can be corrected post-migration.

  4. Run a sample migration with field-level diff

    We migrate a representative slice of records — typically 200–500 covering patients, appointments, treatment plans, and insurance records — and produce a field-level diff showing every source value and its destination counterpart. You review the diff to confirm that procedure codes, tooth numbers, insurance fields, recall dates, and owner assignments are all correctly mapped. Only after you approve the sample does the full migration proceed.

  5. Execute full migration with delta-pickup window

    The full migration runs against Twenty's CSV import and API endpoints. During the cutover window (typically 24–48 hours), your team continues working in Dental-Exec. A delta-pickup step captures any records created or modified after the initial extraction — new patients, updated treatment plans, or new appointments — and loads them into Twenty before the switchover. We generate an audit log of every record migrated, its source ID, and destination ID. One-click rollback is available if the audit log reveals reconciliation failures.

Platform deep dives

Context on both ends of the pair

Dental-Exec logo

Dental-Exec

Source

Strengths

  • Production goal tracking per provider gives small practices quantified output metrics rather than purely clinical recording
  • Multi-screen support lets front-desk staff manage patient information across simultaneous screens during consultations
  • Embedded drug reference (Lexicomp) and dental-benefit verification reduce reliance on separate point tools
  • Perio charting with customisable formatting is highlighted by reviewers as a strong clinical feature
  • Long-standing dental-industry support reputation — reviewers cite 35+ years of responsive support from DSN Dental Software

Weaknesses

  • Capterra rating sits at 3.2/5 across only 6 reviews — sparse track record raises evaluation confidence concerns
  • Reviewers report performance issues including slowness and program crashes that can cause data loss
  • No documented public API or bulk export, blocking automation and modern integration workflows
  • Cost is described by some reviewers as expensive relative to delivered functionality
  • Reports are flagged as hard to navigate, limiting practice-management analytics without external tooling
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 Dental-Exec 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

    Dental-Exec: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

For practices with fewer than 50,000 records across patients, appointments, and treatments, most Dental-Exec to Twenty migrations complete within 24–72 hours of clock time. The planning and schema-setup phase — creating Twenty custom fields and inviting Workspace Members — typically runs 3–5 days in parallel. Larger practices with over 100,000 records or multiple custom dental objects (Insurance, Payment, Treatment) extend to 5–10 days. The longest single step is pre-creating custom fields correctly in Twenty's data model before the CSV import runs.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Dental-Exec.
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