CRM migration
Field-level mapping, validation, and rollback between Weave and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Weave
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between Weave and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48-72 hours
Overview
Weave stores healthcare communication data — patients, phone calls, text messages, appointment reminders, and payments — in a HIPAA-compliant platform designed for dental, veterinary, and medical practices. Microsoft Dynamics 365 Sales stores business data — accounts, contacts, leads, and opportunities — on the Dataverse platform with Power Platform extensibility. The data models are fundamentally different: Weave optimizes for patient communication workflows, while Dynamics 365 Sales optimizes for sales pipeline management with deep Microsoft 365 integration. FlitStack AI migrates your Weave records into Dynamics 365 Sales by mapping patients to contacts, communication histories to activity records, and appointment data to tasks or custom entities on Dataverse. We preserve original create dates, owner assignments, and message content during the migration. Workflows — automated appointment reminders, patient intake sequences, and communication templates — do not migrate and must be rebuilt using Dynamics 365 Sales automation tools or Power Automate. We extract Weave data via the Weave API, transform field names and data types to match Dynamics 365 Sales schema conventions, and load through the Dataverse Web API. A 24-48 hour delta-pickup window captures records modified during cutover.
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
Weave platform overview
Scorecard, SWOT, gotchas, and pricing for Weave.
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 Weave 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.
Weave
Patient
Microsoft Dynamics 365 Sales
Contact
1:1Weave patients map to Dynamics 365 Sales Contacts. The patient's primary location, contact preferences, and HIPAA consent flags migrate as custom fields on the Contact record. Phone numbers and email addresses transfer directly to the Contact phone and email fields.
Weave
Patient Location/Address
Microsoft Dynamics 365 Sales
CustomerAddress
1:1Weave stores patient addresses per location. Each address pair migrates as a Dynamics 365 CustomerAddress record linked to the Contact, preserving address type (billing, shipping, home) and the associated location identifier from Weave. For multi-location practices, each clinic location creates a separate address entry with its own type classification and location reference, maintaining the full geographic context from the original Weave dataset.
Weave
Appointment
Microsoft Dynamics 365 Sales
Task
1:1Weave appointments map to Dynamics 365 Tasks or custom Dataverse Appointment entities. The appointment subject, scheduled time, and assigned staff member migrate as Task Subject, Due Date, and Owner respectively. Appointment status (confirmed, completed, no-show) maps to Task StatusCode values.
Weave
Phone Call Log
Microsoft Dynamics 365 Sales
PhoneCall (Activity)
1:1Weave call logs preserve call direction (inbound/outbound), duration, timestamp, and recording reference. These migrate as Dynamics 365 PhoneCall activity records with the Subject, Duration, and actual Start time populated from the Weave call log. Call recording URLs or file references transfer as notes attached to the PhoneCall activity, maintaining access to the original audio for audit and quality assurance purposes.
Weave
Text Message
Microsoft Dynamics 365 Sales
Email (Activity) or Custom Entity
1:1Weave text messages migrate as Email activities in Dynamics 365 Sales for audit trail purposes. The message body, timestamp, and direction transfer as Subject prefix ('SMS Incoming' or 'SMS Outgoing'), Description, and Created On. Alternatively, messages can land in a custom Dataverse SMSLog entity if configured.
Weave
Payment/Invoice
Microsoft Dynamics 365 Sales
Invoice (or Custom Entity)
1:1Weave payment records have no direct Dynamics 365 Sales equivalent outside of the Sales module's Invoice entity. If the practice uses Dynamics 365 Sales for billing, payments map to Invoice records. Otherwise, payments migrate as a custom PaymentHistory custom entity on Dataverse linked to the Contact.
Weave
User/Staff Member
Microsoft Dynamics 365 Sales
SystemUser
1:1Weave staff members (dentists, hygienists, front desk) resolve to Dynamics 365 Sales SystemUser records by email match. Unmatched staff members are flagged before migration so the practice can create their Dynamics user accounts or assign records to a fallback owner.
Weave
Intake Form Response
Microsoft Dynamics 365 Sales
Custom Entity (IntakeResponse)
1:1Weave intake form data — medical history, insurance information, consent signatures — has no standard Dynamics 365 equivalent. We create a custom IntakeResponse Dataverse entity with fields for each intake question, linked to the Contact record via a lookup relationship.
Weave
Insurance Information
Microsoft Dynamics 365 Sales
Custom Entity (InsuranceDetail)
1:1Patient insurance carriers, policy numbers, group numbers, and coverage details from Weave migrate as a custom InsuranceDetail Dataverse entity. Fields include InsuranceCarrier, PolicyNumber, GroupNumber, EffectiveDate, and RelationshipToInsured, linked to the Contact.
Weave
Appointment Reminder/Recall
Microsoft Dynamics 365 Sales
Custom Entity (RecallTask) or Task
1:1Weave's automated appointment reminders and recall campaigns have no direct Dynamics 365 Sales equivalent. These records preserve as a custom RecallTask entity or migrate as Future-dated Tasks for reference, but the automated sending logic must be rebuilt using Power Automate or Dynamics 365 Sales Accelerator. The custom RecallTask entity approach preserves the scheduled reminder logic as data rather than automation, making it straightforward to rebuild the sending workflows within the Microsoft ecosystem.
Weave
Communication Template
Microsoft Dynamics 365 Sales
Email Template (no_equivalent for automation)
1:1Weave text and email templates migrate as Dynamics 365 Email Template records for manual reuse. The template body and subject transfer, but automated trigger logic (send on appointment confirmation, send 24 hours before) must be rebuilt in Power Automate flows.
Weave
Review Request
Microsoft Dynamics 365 Sales
Custom Entity (ReviewRequest)
1:1Weave's automatic Google review request triggers have no Dynamics 365 Sales equivalent. Review request history migrates as a custom ReviewRequest entity linked to the Contact for reference, but the automated sending mechanism requires a separate rebuild. The migrated ReviewRequest records preserve request dates, patient links, and review platform identifiers for post-migration reconciliation and future workflow integration.
| Weave | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Patient Location/Address | CustomerAddress1:1 | Fully supported | |
| Appointment | Task1:1 | Fully supported | |
| Phone Call Log | PhoneCall (Activity)1:1 | Fully supported | |
| Text Message | Email (Activity) or Custom Entity1:1 | Fully supported | |
| Payment/Invoice | Invoice (or Custom Entity)1:1 | Fully supported | |
| User/Staff Member | SystemUser1:1 | Fully supported | |
| Intake Form Response | Custom Entity (IntakeResponse)1:1 | Fully supported | |
| Insurance Information | Custom Entity (InsuranceDetail)1:1 | Fully supported | |
| Appointment Reminder/Recall | Custom Entity (RecallTask) or Task1:1 | Fully supported | |
| Communication Template | Email Template (no_equivalent for automation)1:1 | Fully supported | |
| Review Request | Custom Entity (ReviewRequest)1: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.
Weave gotchas
Pricing hides setup, hardware, and addon costs
SMS and voicemail retention limits
Limited public API documentation
VoIP call records tied to phone service
Consolidated pricing tiers obscure feature availability
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
Audit Weave data export and map to Dynamics 365 Dataverse schema
FlitStack connects to Weave via API to inventory all patients, appointments, communications, payments, and custom intake fields. We generate a data dictionary from the Weave export and map each field to either a standard Dynamics 365 Sales entity (Contact, Task, PhoneCall) or a custom Dataverse table (InsuranceDetail, IntakeResponse, RecallTask). The mapping plan is shared with the practice for approval before migration begins, with explicit documentation of what maps directly, what requires custom fields, and what has no Dynamics 365 equivalent and will be preserved as reference data.
Configure Dynamics 365 Sales environment and custom Dataverse entities
Before data moves, the Dynamics 365 administrator (or FlitStack's team) creates the custom Dataverse entities, fields, and pick-list values required for the Weave migration. This includes InsuranceDetail__c, IntakeResponse__c, RecallTask__c, and ReviewRequest__c entities, plus custom fields on Contact (HIPAA_Consent_Date__c, Original_Create_Date__c, Source_System_ID__c, Preferred_Contact_Method__c). FlitStack delivers a schema setup plan listing every entity and field to create, the data type for each, and the source Weave field feeding it.
Resolve Weave staff members to Dynamics 365 Sales users by email match
Weave staff members (providers, front desk, billing) are matched against Dynamics 365 Sales SystemUser records by email address. FlitStack generates a pre-migration owner resolution report showing matched users, unmatched users, and unassigned records. The practice either creates Dynamics user accounts for unmatched staff before migration or designates a fallback owner for their records. No patient record or appointment lands in Dynamics 365 without a resolved owner.
Run sample migration with field-level diff on a representative data slice
A representative sample — typically 100-500 records spanning patients, appointments, call logs, text messages, and a few intake forms — migrates into the Dynamics 365 sandbox environment first. FlitStack produces a field-level diff comparing the Weave source values against the Dynamics 365 destination values for every mapped field. The practice reviews the diff to verify patient data accuracy, appointment date mapping, owner resolution, and custom field population before the full migration is authorized.
Execute full migration with delta-pickup window and rollback capability
The full Weave dataset migrates into the production Dynamics 365 Sales environment via the Dataverse Web API. A delta-pickup window (24-48 hours) runs concurrently, capturing any Weave records modified during the cutover period. FlitStack generates an audit log for every record operation (create, update, link), and one-click rollback is available if post-migration reconciliation reveals data integrity issues. After delta-pickup closes, the migration is considered complete and the practice transitions to Dynamics 365 Sales as the system of record.
Platform deep dives
Weave
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 Weave 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
Weave: Not publicly documented.
Data volume sensitivity
Weave 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 Weave to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Weave 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 Weave
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.