CRM migration
Field-level mapping, validation, and rollback between Denticon and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Denticon
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
11 of 12
objects map 1:1 between Denticon and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
Denticon stores patient demographics, insurance groups, treatment plans, procedure codes, referrals, provider schedules, and multi-office configurations in a practice-management schema optimised for clinical workflows. Microsoft Dynamics 365 Sales uses the Dataverse data model — Account, Contact, Lead, Opportunity, and custom tables — with a security-role and team-based sharing architecture that differs fundamentally from Denticon's office-assignment model. FlitStack AI maps Denticon patients to Dynamics 365 Contacts and Accounts (primary practices to Account records, insured group plan details to custom fields), referral sources to custom referral-tracking tables, and provider records to User or Contact entities resolved by email match. Clinical procedure codes and tooth-chart data have no native Dynamics 365 equivalent and are preserved as custom fields for reference. Workflows, automated campaigns, and RCM (revenue cycle management) logic in Denticon do not migrate — those must be rebuilt in Dynamics 365 or assessed separately. We use the Denticon REST APIs (Patients API v0, Appointments API v0, RCM API v0) to extract records with original timestamps, then load into Dynamics 365 via the Dataverse Web API, handling Dataverse request limits and duplicate-detection by source system ID. A 24–48 hour delta-pickup window captures any records modified during the cutover window so Dynamics 365 reflects Denticon's final state at go-live.
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.
Source platform
Denticon platform overview
Scorecard, SWOT, gotchas, and pricing for Denticon.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Denticon object lands in Microsoft Dynamics 365 Sales , including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Denticon
Patient
Microsoft Dynamics 365 Sales
Contact
1:1Denticon Patient maps directly to Dynamics 365 Contact. Name, date of birth, address, phone, email, and emergency contact fields transfer directly as standard Contact attributes. The patient's primary office assignment is stored as a custom Office_ID__c field for reporting segmentation by location, and the original Denticon patient ID is preserved in Source_System_ID__c for deduplication and reconciliation across migration runs.
Denticon
Patient (primary insured)
Microsoft Dynamics 365 Sales
Account
1:1Denticon patients carry insurance group and employer details that translate to Account records for insurance payers. The primary insurance company name, group number, and plan type map to custom fields on an Account record representing the insurance carrier. Subscriber relationship to the patient is modelled via the Account's Contact sub-grid.
Denticon
Insurance Group
Microsoft Dynamics 365 Sales
Account
1:1Denticon Insurance Group (plan name, group number, subscriber ID, coverage percentages) maps to a custom Insurance_Coverage__c table linked to both the Account (insurance payer) and the Contact (subscriber). Primary and secondary insurance positions are preserved as separate relationship records, and the effective date and termination date of each insurance plan are stored on the coverage record for eligibility tracking in Dynamics 365.
Denticon
Referral Source (Incoming/Outgoing)
Microsoft Dynamics 365 Sales
Custom Referral_Custom__c Table
1:1Denticon's dedicated referral module (source provider, referring office, referral cost, attachment URL, completion status) has no native Dynamics 365 equivalent. We create a Referral_Custom__c custom table with fields for Referring_Provider__c, Referral_Cost__c, Referral_Status__c, and External_Form_URL__c linked to the patient Contact record.
Denticon
Provider
Microsoft Dynamics 365 Sales
System User / Contact
1:manyDenticon Providers who are licensed to use Dynamics 365 become System User records, with NPI, license number, and specialty stored in custom fields on the User record. Providers who are not Dynamics users become Contact records with provider-role custom fields. The split is determined by email resolution against the target Dynamics 365 tenant user list.
Denticon
Office / Location (OID)
Microsoft Dynamics 365 Sales
Business Unit / Team + Custom Office_ID__c
1:1Denticon OIDs (office identifiers) map to Teams in Dynamics 365 for data access segmentation. The original OID value is preserved in a custom Office_ID__c field on every record. If the DSO uses Business Units for strict data isolation, we create one Business Unit per OID and map the Denticon PGID to the root Business Unit.
Denticon
Appointment
Microsoft Dynamics 365 Sales
Custom Appointment__c Table
1:1Denticon appointments (scheduled date, provider, production type, duration, status) have no direct Dynamics 365 equivalent. We create a custom Appointment__c table linked to the Contact (patient) and User (provider), preserving the original appointment date, production type, and status. Appointment conflicts are flagged during migration if the provider's Dynamics User record does not exist.
Denticon
Treatment Plan / Procedure Code
Microsoft Dynamics 365 Sales
Custom Treatment_Plan__c Table on Contact
1:1Denticon CDT procedure codes, tooth numbers, surface charting, and treatment plan status do not exist in Dynamics 365's standard schema. We create a Treatment_Plan__c custom table linked to Contact, storing CDT_Code__c, Tooth_Number__c, Surface__c, Plan_Status__c, and Proposed_Date__c fields for clinical reference continuity.
Denticon
Clinical Note
Microsoft Dynamics 365 Sales
Custom Clinical_Note__c Table on Contact
1:1Denticon clinical charting notes (AI Assist findings, periodontal recordings, existing conditions, radiograph notes, and oral health observations) are stored as a custom Clinical_Note__c table linked to the Contact, with a free-text Note_Body__c field for raw note content and a Note_Type__c pick-list for categorisation by clinical type. Original clinical note timestamps are preserved on each record for chronological accuracy in the Dynamics 365 timeline.
Denticon
RCM / Billing Record
Microsoft Dynamics 365 Sales
Not Migrated (Finance/ERP scoped out)
1:1Denticon's RCM module (claims, payments, adjustments, accounts receivable, clearinghouse status) is scoped out of the CRM migration. Revenue cycle data requires a separate integration with Dynamics 365 Finance or Business Central and is not handled by FlitStack's CRM migration service.
Denticon
Practice Group (PGID)
Microsoft Dynamics 365 Sales
Root Business Unit
1:1Denticon's Practice Group ID (PGID) — the top-level organisational container above individual offices — maps to the root Business Unit in Dynamics 365. All child OIDs (offices) become child Business Units or Teams under this root, preserving the Denticon PGID hierarchy in the Dynamics 365 Business Unit tree.
Denticon
Subscription / Contract Record
Microsoft Dynamics 365 Sales
Custom Subscription__c Table on Account
1:1Denticon subscription and contract records tied to specific payers or service agreements are stored as a custom Subscription__c table linked to the Account, preserving start date, end date, contract type, and monthly rate fields for continuity in the CRM layer.
| Denticon | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Patient (primary insured) | Account1:1 | Fully supported | |
| Insurance Group | Account1:1 | Fully supported | |
| Referral Source (Incoming/Outgoing) | Custom Referral_Custom__c Table1:1 | Fully supported | |
| Provider | System User / Contact1:many | Fully supported | |
| Office / Location (OID) | Business Unit / Team + Custom Office_ID__c1:1 | Fully supported | |
| Appointment | Custom Appointment__c Table1:1 | Fully supported | |
| Treatment Plan / Procedure Code | Custom Treatment_Plan__c Table on Contact1:1 | Fully supported | |
| Clinical Note | Custom Clinical_Note__c Table on Contact1:1 | Fully supported | |
| RCM / Billing Record | Not Migrated (Finance/ERP scoped out)1:1 | Fully supported | |
| Practice Group (PGID) | Root Business Unit1:1 | Fully supported | |
| Subscription / Contract Record | Custom Subscription__c Table on Account1: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.
Denticon gotchas
PGID Split requires signed agreements and coordination between buyer and seller
Chrome cache and bad shortcuts corrupt patient context between sessions
Custom fields are severely limited to two fields of 25 characters
API writeback scope is limited to specific endpoints
Automated campaign quiet hours restrict message delivery timing
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
Map Denticon schema to Dataverse data model and create custom tables
Before extracting any data, FlitStack AI analyses your Denticon PGID/OID structure, patient property fields, insurance groups, provider list, referral module configuration, and clinical custom fields. We create the required custom tables in Dataverse (Referral_Custom__c, Appointment__c, Treatment_Plan__c, Clinical_Note__c, Insurance_Coverage__c) and custom fields on Contact and Account, using the custom-field setup plan as the baseline for all downstream field mapping. The Dataverse solution is validated against your Dynamics 365 environment before data extraction begins.
Extract patient, provider, and referral records via Denticon REST APIs
FlitStack AI uses the Denticon Patients API v0, Providers API v0, Appointments API v0, and RCM API v0 (read-only) to pull records with original timestamps, system IDs, and relationship links preserved. We respect Denticon API rate limits by pacing requests and chunking the export into manageable batches. The extract captures all standard patient properties, insurance group details, referral source records, appointment history, and provider credentials. Clinical treatment plan records and AI Assist findings are extracted as separate JSON payloads and linked back to patient records by Denticon patient ID during transformation.
Transform data and resolve provider-user email matches against Dynamics 365
During transformation, Denticon patient records are split into Contact entities (with primary insurance fields as custom properties) and Account entities for insurance payers. Provider email addresses are matched against the target Dynamics 365 tenant's user list — matched providers become System User records with custom NPI and license fields; unmatched providers are flagged for manual resolution before migration. OID values are written to Office_ID__c on every record, and the Business Unit tree is pre-built to match the Denticon PGID hierarchy. CDT codes, tooth numbers, and production types are mapped to their custom Dataverse table fields.
Run sample migration with field-level diff and stakeholder sign-off
A representative sample — typically 200–500 records spanning patients, providers, referrals, appointments, and treatment plans — migrates to Dynamics 365 first. FlitStack AI generates a field-level diff report showing source values vs. destination field values for every mapped field, including custom table records. You review the diff to verify insurance group mapping, provider resolution, OID-to-Business-Unit assignment, and clinical data placement. No records are committed to production until you approve the sample. Adjustments to field mapping or custom table schema are made before the full migration run.
Execute full migration with delta-pickup window and post-migration audit
The full Denticon dataset migrates to Dynamics 365 with a 24–48 hour delta-pickup window that captures any records created or modified in Denticon during the cutover period. An audit log records every operation (create, update, skip, duplicate) with source Denticon ID and destination Dynamics 365 record ID. After delta-pickup completes, FlitStack AI delivers a reconciliation report showing record counts by entity, error summaries, and duplicate flags. One-click rollback reverts all Dynamics 365 changes if reconciliation fails. RCM billing data and automation rules (workflows, recall sequences) are explicitly documented as not-migrated items for your ERP and Power Automate planning.
Platform deep dives
Denticon
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
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 Denticon and Microsoft Dynamics 365 Sales .
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
Denticon: Not publicly documented in either the legacy reference (api.denticon.com) or the new developer portal pages indexable without authentication. Confirm at partner onboarding..
Data volume sensitivity
Denticon 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 Denticon to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Denticon to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Denticon
Other ways to arrive at Microsoft Dynamics 365 Sales
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.