CRM migration
Field-level mapping, validation, and rollback between MOGO and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
MOGO
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between MOGO and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
24–72 hours
Overview
MOGO Cloud Dental Software stores patient records, appointments, treatment plans, insurance carriers, and clinical notes in a patient-centric schema built for dental practice operations. Dynamics 365 Sales models leads and opportunities around a sales process and does not include a native appointment or treatment-plan entity. The migration carries every MOGO patient, appointment, treatment record, and insurance profile into Dynamics 365 as Contacts, custom fields on Contact, and Opportunities linked by a custom junction entity. Custom MOGO fields for procedure codes, insurance plan names, and recall intervals become custom fields on the Contact or a custom treatment-plans table in Dynamics 365. Workflows, recall sequences, and appointment-reminder automations do not migrate — FlitStack exports MOGO workflow definitions as a rebuild reference for Power Automate. The API extraction runs against MOGO's export endpoints; data loads into Dynamics 365 via the Dataverse Web API, respecting per-user rate limits. Owner resolution matches dentist and staff email addresses to Dynamics 365 user accounts. A 24–48 hour delta-pickup window captures any MOGO records created or modified during cutover before 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
MOGO platform overview
Scorecard, SWOT, gotchas, and pricing for MOGO.
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 MOGO 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.
MOGO
Patient
Microsoft Dynamics 365 Sales
Contact
1:1Every MOGO patient becomes a Dynamics 365 Contact. The patient's first name maps to FirstName, last name to LastName, date of birth to BirthDate, and email to Email. The practice's clinic name populates the AccountId lookup so the Contact is associated with the correct Account (clinic) in Dynamics 365.
MOGO
Patient Address
Microsoft Dynamics 365 Sales
Contact (Address Fields)
1:1MOGO stores one address per patient. The address line, city, state or province, and ZIP or postal code map to Dynamics 365 Contact address fields (street, city, statecode, postalcode). Country is populated from MOGO country data or defaults to the clinic's country setting.
MOGO
Patient Phone
Microsoft Dynamics 365 Sales
Contact (Phone Fields)
1:1MOGO primary phone numbers map to Contact.Phone. Mobile or cell phone numbers map to Contact.MobilePhone. If MOGO stores a separate emergency contact phone number, it is preserved in a custom Emergency_Contact_Phone__c text field on the Contact record. Practices that record multiple contact numbers for a single patient — such as a home phone, work phone, and emergency line — can retain all values in dedicated custom fields to ensure no patient communication detail is lost during the migration to Dynamics 365.
MOGO
Insurance Record
Microsoft Dynamics 365 Sales
Contact (Custom Fields)
1:1MOGO insurance carrier name, plan name, group number, subscriber ID, and effective dates have no native Dynamics 365 equivalent. These become custom fields on Contact: Insurance_Carrier__c, Insurance_Plan__c, Insurance_Group_Number__c, Insurance_Subscriber_ID__c, and Insurance_Effective_Date__c. We preserve the full insurance record as a field set on the Contact rather than a separate entity.
MOGO
Appointment
Microsoft Dynamics 365 Sales
Opportunity + Custom Activity
1:1MOGO appointments track dentist, date, time, operatory, type, and status — concepts not native to Dynamics 365 Sales. We map appointments to a custom MOGO_Appointment__c table linked to the Contact via a lookup. The appointment date becomes Appointment_Date__c, dentist name becomes Provider__c (resolved to Dynamics OwnerId by email), and type becomes Procedure_Type__c pick-list. A Junction record connects each appointment to the patient's Contact.
MOGO
Treatment Plan
Microsoft Dynamics 365 Sales
Custom Treatment Plan Table
1:1MOGO treatment plans list procedure codes, tooth numbers, surfaces, fees, and clinical notes per visit. Dynamics 365 Sales has no native treatment-plan entity. We create a custom Treatment_Plan__c table in Dataverse with fields for procedure code, tooth number, surface, fee, date, provider, and status. Each treatment plan links to the Contact and optionally to an Opportunity representing the case value.
MOGO
Clinic / Practice Location
Microsoft Dynamics 365 Sales
Account
1:1MOGO supports multi-location practices. Each clinic location becomes a Dynamics 365 Account with the clinic name as Account.Name, the clinic address as Account.Address fields, and the clinic phone as Account.Telephone. Multiple providers can be associated with one Account via Contact records, each with the AccountId lookup set to the clinic.
MOGO
Provider / Dentist
Microsoft Dynamics 365 Sales
SystemUser + Contact.OwnerId
1:1MOGO providers (dentists, hygienists, office managers) do not exist as standalone objects in Dynamics 365. Provider records are resolved to existing Dynamics 365 users by email match. Unmatched providers are flagged as Contacts with a custom Provider__c flag set to true and a Provider_Role__c pick-list value, so the admin can invite them as users post-migration.
MOGO
Clinical Notes
Microsoft Dynamics 365 Sales
Contact (Custom Field)
1:1MOGO clinical notes per patient visit are preserved in a custom Clinical_Notes__c field on the Contact record, capped at 32,000 characters. For practices with high note volume, notes are linked as an Attachment record on the Contact using Dynamics 365 Notes with a file upload rather than a text field.
MOGO
Recall / Re-care Record
Microsoft Dynamics 365 Sales
Custom Recall__c Table
1:1MOGO recall intervals track when a patient is next due for hygiene or checkup appointments. Dynamics 365 Sales has no native recall concept. We create a custom Recall__c table with fields for Recall_Type__c (hygiene, perio, recall), Recall_Due_Date__c, and Recall_Status__c. Each recall record links to the Contact and can trigger a Power Automate flow to create an Opportunity or Task when the due date arrives.
MOGO
Invoice / Billing Record
Microsoft Dynamics 365 Sales
Opportunity (Amount) + Custom Field
1:1MOGO generates invoices for procedures. In Dynamics 365 Sales, the financial value of a case maps to the Opportunity Amount field. Invoice number, billing date, and payment status become custom fields on the Opportunity (Invoice_Number__c, Billing_Date__c, Payment_Status__c). Full accounts-receivable data lives in an ERP and is not part of the CRM migration scope.
MOGO
MOGO Custom Fields
Microsoft Dynamics 365 Sales
Dataverse Custom Fields
1:1MOGO Enterprise allows practices to add custom fields for specialty tracking, referral sources, or clinical flags. Each custom MOGO field maps to a corresponding custom field in Dataverse on the appropriate table (Contact, Account, or custom entity). FlitStack AI creates the target fields before migration and applies the correct data type (text, number, pick-list, date, or checkbox).
| MOGO | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Patient Address | Contact (Address Fields)1:1 | Fully supported | |
| Patient Phone | Contact (Phone Fields)1:1 | Fully supported | |
| Insurance Record | Contact (Custom Fields)1:1 | Fully supported | |
| Appointment | Opportunity + Custom Activity1:1 | Fully supported | |
| Treatment Plan | Custom Treatment Plan Table1:1 | Fully supported | |
| Clinic / Practice Location | Account1:1 | Fully supported | |
| Provider / Dentist | SystemUser + Contact.OwnerId1:1 | Fully supported | |
| Clinical Notes | Contact (Custom Field)1:1 | Mapping required | |
| Recall / Re-care Record | Custom Recall__c Table1:1 | Fully supported | |
| Invoice / Billing Record | Opportunity (Amount) + Custom Field1:1 | Fully supported | |
| MOGO Custom Fields | Dataverse Custom Fields1: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.
MOGO gotchas
Sparse public API documentation for MOGO Cloud Dental
Minimal review volume limits migration risk assessment
Insurance carrier mappings require manual verification
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
Extract and profile MOGO data
FlitStack AI connects to MOGO using export endpoints and profiles every record type — patient demographics, insurance sub-records, appointment history, treatment plans, provider list, and any custom fields your practice has configured. The data audit produces a field inventory, character-count distribution for clinical notes, and a count of unique provider email addresses for owner resolution. We share this inventory before writing a single record to Dynamics 365.
Design custom schema in Dynamics 365
Based on the MOGO data profile, FlitStack AI delivers a schema setup plan that names every custom field, its Dataverse data type, and the target table (Contact, Account, or custom entity). For practices on Dynamics 365 Sales Professional, we verify that the total custom-table count stays within the 15-table limit. Your admin creates the fields in the Dynamics 365 maker portal before the migration run — we provide the exact configuration steps and, if needed, a Power Automate flow to create them in bulk.
Match providers to Dynamics 365 users by email
FlitStack AI resolves each MOGO provider (dentist, hygienist, office manager) to a Dynamics 365 user account by matching email addresses. Unmatched providers are listed in a pre-migration report with their MOGO role and email. Your admin either invites them as Dynamics 365 users before migration or assigns their records to a designated fallback owner. No patient or appointment record is migrated without a confirmed Dynamics 365 owner.
Run sample migration with field-level verification
A representative sample — typically 100–300 patient records spanning multiple providers and including appointments, insurance records, and a few treatment plans — migrates first. FlitStack AI generates a field-level diff comparing source MOGO values against destination Dynamics 365 fields so you can verify that insurance carrier names, procedure codes, appointment dates, and provider assignments all landed correctly before the full run commits.
Execute full migration with delta-pickup window
The full migration runs in sequence: Accounts first (clinic locations), then Contacts (patients with insurance fields), then the custom MOGO_Appointment__c and Treatment_Plan__c tables with their Contact lookups. A delta-pickup window of 24–48 hours captures any MOGO records created or modified during the cutover period so Dynamics 365 reflects the final MOGO state at go-live. Every operation is logged in an audit table, and one-click rollback reverts to the pre-migration state if reconciliation fails.
Platform deep dives
MOGO
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 MOGO 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
MOGO: Not publicly documented.
Data volume sensitivity
MOGO 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 MOGO to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your MOGO 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 MOGO
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.