CRM migration

Migrate from Upvio to Microsoft Dynamics 365 Sales

Field-level mapping, validation, and rollback between Upvio and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .

Upvio logo

Upvio

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

10 of 10

objects map 1:1 between Upvio and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Upvio is a Human Insights AI platform built for telehealth operators — it stores client records, practitioner profiles, appointment histories, FaceScan vital-sign data, and intake-form responses. Dynamics 365 Sales, built on Microsoft Dataverse, is a sales CRM with standard entities for Accounts, Contacts, Leads, Opportunities, and Activities. There is no one‑to‑one object match: Upvio’s practitioner‑as‑user model, its FaceScan vital‑sign records, and its HIPAA‑context intake forms require custom Dataverse tables and fields in Dynamics 365. We migrate what exists in Upvio’s API export — client contacts, appointment timestamps, practitioner assignments, form responses, and FaceScan results — into the closest Dynamics 365 equivalents or into new custom tables your Dynamics admin pre‑creates. Workflows, automation sequences, and Zoom/Teams video‑session links do not migrate and must be rebuilt in Power Automate or Dynamics workflows post‑cutover. We preserve original creation timestamps and owner assignments, flagging data that has no native equivalent so your team can decide whether to create custom fields, extend entities, or handle those records outside Dynamics 365.

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

Upvio logo

Upvio

What's pushing teams away

  • Complex initial setup and calendar integration configuration create significant onboarding friction, especially for non-technical solo practitioners.
  • Poor customer support quality and limited training materials leave customers stranded when configuration issues arise.
  • Expensive add-on services beyond the base plan inflate total cost of ownership, with add-on fees not disclosed in the core pricing page.
  • Steep learning curve for the forms builder and workflow customization requires dedicated time investment that smaller teams cannot absorb.

Choosing

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

What's pulling them in

  • Deep Microsoft 365, Teams, and Outlook integration makes Microsoft Dynamics 365 Sales a natural fit for Microsoft-first organizations already invested in that ecosystem
  • Sales Enterprise and Premium tiers offer unlimited custom tables and advanced AI-driven forecasting and predictive analytics not available in lower tiers
  • Professional tier pricing at $65 per user per month offers a lower entry cost than Salesforce for SMB teams with straightforward CRM needs
  • Flexible customization options allow businesses to build bespoke apps, tailor forms and views, and integrate with other Dynamics 365 modules
  • Microsoft Copilot AI tools are embedded directly into the sales workflow on Enterprise and Premium, automating routine tasks and providing deal intelligence

Object mapping

How Upvio objects map to Microsoft Dynamics 365 Sales

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

Upvio

Client

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Upvio clients map directly to Dynamics 365 Contacts. Each client record carries a name, email, phone, and address. We preserve the original client ID as Source_System_ID__c for delta‑run deduplication and audit traceability. The Source_System_ID__c field also facilitates incremental syncs after the initial migration, allowing you to capture new or updated clients without re‑processing the entire dataset.

Upvio

Client

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

When Upvio clients represent organizations (clinics, practice groups) rather than individuals, the client name and domain map to a Dynamics 365 Account, with the individual contact linked via the Primary Contact lookup. Your team defines which clients are person-level vs. organization-level before migration.

Upvio

Practitioner

maps to

Microsoft Dynamics 365 Sales

User / Contact

1:1
Fully supported

Upvio practitioners are the user actors who own appointments and FaceScan records. They map to Dynamics 365 Users when the practitioner will log in to Dynamics; otherwise they migrate as Contact records. We match by email to resolve existing Dynamics users first.

Upvio

Appointment

maps to

Microsoft Dynamics 365 Sales

Appointment (Activity)

1:1
Fully supported

Upvio appointments map to Dynamics 365 Appointment activities. The scheduled start/end time, practitioner owner, and linked client contact are preserved. Upvio's video-session links (Zoom, Teams) do not transfer — they must be regenerated in Dynamics 365 or shared via Teams integration post-migration.

Upvio

FaceScan Result

maps to

Microsoft Dynamics 365 Sales

Custom Table (FaceScanResult)

1:1
Fully supported

Upvio FaceScan vital-sign data (heart rate, HRV, blood-pressure trends) has no native equivalent in Dynamics 365 Sales. We create a custom Dataverse table (FaceScanResult) with columns for vital_type, value, unit, measured_at timestamp, and a lookup to the source Contact. Sales Enterprise or Dynamics CE is required for unlimited custom tables.

Upvio

Intake Form Response

maps to

Microsoft Dynamics 365 Sales

Custom Table (IntakeFormResponse)

1:1
Fully supported

Upvio intake forms generate custom field sets per form. These map to a custom Dataverse table (IntakeFormResponse) with columns for form_name, field_label, field_value, and submitted_at. Each response links to the submitting Contact. Standard Dynamics fields cannot hold unstructured form field sets.

Upvio

Client Group / Tag

maps to

Microsoft Dynamics 365 Sales

Contact (Custom Tag Field)

1:1
Fully supported

Upvio client grouping and tagging (e.g., 'New Patient', 'Follow‑up', 'Chronic Care') migrates as a custom multi‑select pick‑list field or as tags on the Contact record. We map each Upvio tag value to a corresponding pick‑list value in Dynamics 365. If the number of distinct tags exceeds the pick‑list limit, we switch to a text field to avoid truncation and preserve the full tag set.

Upvio

Billing / Invoice

maps to

Microsoft Dynamics 365 Sales

Invoice (Dynamics 365 Sales)

1:1
Fully supported

Upvio billing records (if exported via API) map to Dynamics 365 Invoice records. Amount, status, payer contact, and line items transfer. Dynamics 365 Invoice requires the Account to exist first — we sequence Account migration before Invoice migration. We also validate that each invoice's currency matches the target organization's default currency to prevent pricing mismatches during import.

Upvio

Stripe / PayPal Payment

maps to

Microsoft Dynamics 365 Sales

Custom Table (PaymentRecord)

1:1
Fully supported

Payment records from Upvio's Stripe or PayPal integrations have no native Dynamics 365 equivalent. We preserve them as a custom PaymentRecord table linked to the Contact or Invoice. Financial reconciliation is handled outside Dynamics 365. Each PaymentRecord entry captures transaction ID, amount, currency, payment method, and timestamp, enabling downstream reporting via Power BI if required.

Upvio

Calendar Integration (Google, Office 365)

maps to

Microsoft Dynamics 365 Sales

Dynamics 365 User Mailbox / Exchange

1:1
Fully supported

Upvio's calendar sync with Google Calendar and Office 365 Calendar does not migrate. After cutover, the Dynamics 365 Outlook integration and server‑side synchronization must be reconfigured for the same calendar connections. We recommend scheduling a brief walkthrough with your Microsoft partner to test OAuth permissions and verify that calendar events appear correctly in the Dynamics 365 timeline after reconfiguration.

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.

Upvio logo

Upvio gotchas

High

AI vitals scan results use a proprietary Upvio JSON schema

Medium

White-label and branding configurations do not export via API

Medium

Credit-based AI scan usage is not tracked as a migratable record

Medium

Calendar integrations use per-appointment tokens that are not portable

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales gotchas

High

Professional tier 15-table custom table limit blocks migrations

High

October 2024 pricing increase applies at renewal for all customers

Medium

Custom fields must be created in the UI before API writes

Medium

Power Platform request limits apply to bulk migrations

Medium

Activity records orphaned to inactive owners fail silently

Pair-specific challenges

  • FaceScan vital-sign data requires a custom Dataverse table — Dynamics 365 Sales has no native biometric storage

    Upvio FaceScan results store heart rate, HRV, blood-pressure wellness trends, and stress markers as structured JSON records. Dynamics 365 Sales has no standard entity for biometric time-series data. We create a custom FaceScanResult table on Dataverse to preserve vital_type, vital_value, unit, and measured_at timestamp linked to the Contact. This requires Dynamics 365 Sales Enterprise or Dynamics 365 Customer Engagement (CE) — Sales Professional caps custom tables at 15 and will reject a migration with more than 15 custom entities.

  • Upvio intake forms generate non-standard field sets that cannot map to standard Dynamics 365 fields

    Each Upvio intake form defines its own field schema — custom labels, field types, and conditional logic that exists only inside the form builder. Dynamics 365 Sales has no form-builder equivalent for contact records with dynamic field sets. We map form responses to a custom IntakeFormResponse table keyed by form_name, field_label, and field_value. If your team uses more than five distinct intake forms, the custom-table count grows quickly and may require Sales Enterprise licensing.

  • Practitioner-to-Dynamics-User resolution fails for inactive Upvio practitioner accounts

    Upvio practitioners who have left the organization may still own historical appointments and FaceScan records. When FlitStack resolves practitioners by email to Dynamics 365 Users, inactive or deleted practitioner emails generate no match. We flag all unmatched owners before migration commits and assign those records to a fallback Dynamics user — but the original practitioner name is preserved in a custom field (Original_Practitioner_Name__c) for audit purposes. If multiple inactive practitioners share the same email alias, FlitStack uses the most recent record timestamp to assign the fallback user, ensuring consistent ownership.

  • Calendar integrations (Google Calendar, Office 365 Calendar) do not migrate and must be reconfigured post-cutover

    Upvio's two-way calendar sync with Google Calendar and Office 365 Calendar is a platform‑specific integration that has no equivalent in Dynamics 365. After cutover, your Dynamics admin must re‑enable the Dynamics 365 App for Outlook and re‑establish server‑side synchronization with the same calendar accounts. Video‑session links (Zoom, Teams) generated by Upvio are not exported — new meeting links must be created in Dynamics 365 or Teams after go‑live. If you rely on recurring appointments, each recurrence pattern must be re‑created manually or via Power Automate templates, and the admin should verify OAuth permissions are correctly scoped for calendar access.

  • Upvio client tags require explicit value mapping or they collapse to a single catch-all pick-list entry

    Upvio allows unlimited tag values on client records (e.g., 'New Patient', 'Chronic Care', 'Telehealth-Only'). Dynamics 365 custom pick-list fields have a defined set of values. If your Upvio instance uses more than 20 distinct tag values, we create a text field instead of a pick-list to avoid truncation, but this means filtering and segmentation based on tags requires a different workflow in Dynamics 365 than the tag-based views in Upvio.

Migration approach

Six steps for a successful Upvio to Microsoft Dynamics 365 Sales data migration

  1. Audit Upvio data export and define Dynamics 365 target schema

    FlitStack connects to the Upvio REST API to enumerate all clients, practitioners, appointments, FaceScan results, intake form definitions, and billing records. We generate a schema inventory showing each entity's field count, data volume, and export feasibility. Your Dynamics admin (or our team) then creates the target custom tables (FaceScanResult, IntakeFormResponse) and custom fields in Dataverse before any data moves. During this phase we also validate API rate limits and request a test export to confirm data completeness.

  2. Resolve practitioner identities and pre-map Dynamics 365 Users

    We export the practitioner list from Upvio and match each practitioner email against existing Dynamics 365 users. Practitioners with a Dynamics account map directly to OwnerId. Practitioners without a Dynamics account are flagged — your team either creates a Dynamics user for them or designates a fallback owner before migration. This step prevents records from landing without a valid owner.

  3. Sequence entity migration: Clients/Accounts first, then Activities, then custom tables

    Dynamics 365 requires referential integrity — Contacts need Accounts, Appointments need Contacts, FaceScanResult records need Contact lookups. We sequence the migration so Account records land first (for organization‑level clients), then Contacts, then Appointments and Activities, then the custom FaceScanResult and IntakeFormResponse tables. Billing records and Invoice objects land last after all Contacts and Accounts exist. We also produce a dependency graph that highlights any circular references that might require manual resolution before proceeding.

  4. Run a sample migration with field-level diff before full commit

    A representative slice — typically 100–500 records spanning clients, practitioners, appointments, FaceScan results, and intake form responses — migrates first into a Dynamics 365 sandbox environment. We generate a field-level diff showing source values vs. destination field values for every mapped column. You verify FaceScan vital-sign preservation, intake form field mapping, and practitioner ownership before the full run is authorized.

  5. Execute full migration with delta-pickup window and rollback on reconciliation failure

    The full migration commits to production Dynamics 365. A delta‑pickup window (24–48 hours) captures any Upvio records modified during the cutover window. FlitStack generates an audit log of every insert, update, and skip operation. If reconciliation against the Upvio export count fails, one‑click rollback reverts the Dynamics 365 environment to its pre‑migration state. The rollback uses a snapshot taken before migration, ensuring no residual data remains if a rollback is triggered.

Platform deep dives

Context on both ends of the pair

Upvio logo

Upvio

Source

Strengths

  • All-in-one telehealth stack covering scheduling, video, messaging, forms, and patient portal in a single subscription.
  • AI-powered vitals scanning using any camera removes the need for wearable hardware in remote patient monitoring.
  • Wide specialty coverage across 20+ healthcare verticals, from mental health to physical therapy to wellness salons.
  • Native integrations with Zoom, Google Meet, Teams, Stripe, PayPal, and Zapier provide flexible connectivity options.
  • Fully hosted infrastructure with built-in encryption and compliance reduces IT overhead for healthcare practices.

Weaknesses

  • Complex initial setup and calendar integration create significant onboarding friction for non-technical users.
  • Customer support quality is frequently criticized, with limited training materials available for self-service troubleshooting.
  • Expensive add-on services beyond the base plan are not clearly disclosed, leading to unexpected cost surprises.
  • Rapid AI feature development means the platform is still maturing; some features are marked beta or early access.
Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

Destination

Strengths

  • Native integration with Microsoft 365, Teams, Outlook, and SharePoint for unified productivity workflow
  • Unlimited custom tables and complex workflows on Enterprise tier enable deep customization for complex sales processes
  • AI-driven predictive analytics and deal intelligence on Enterprise and Premium tiers help sales teams prioritize pipeline
  • Dataverse unified data layer provides a consistent API and data model across all Dynamics 365 and Power Platform apps
  • Strong security model with Field-Level Security and Record Ownership rules for governance-conscious enterprises

Weaknesses

  • Sales Professional tier caps custom tables at 15, creating a migration ceiling for highly customized SMB environments
  • October 2024 pricing increases of $15 per user across all tiers apply to existing customers upon renewal
  • Implementation typically requires costly certified partners, adding 30–50% to total project cost
  • Updates and platform releases can disrupt customizations and plugins, requiring regression testing after each wave
  • Non-Microsoft integrations require additional configuration or middleware, limiting flexibility for heterogeneous tech stacks

Complexity grading

How hard is this migration?

Standard CRM migration. All 8 core objects map 1:1 between Upvio and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Upvio and Microsoft Dynamics 365 Sales .

  • Object compatibility

    A

    All 8 core objects map 1:1 between Upvio and Microsoft Dynamics 365 Sales .

  • 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

    Upvio: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Upvio to Microsoft Dynamics 365 Sales 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 Upvio to Microsoft Dynamics 365 Sales data migrations

Answers to the questions buyers ask most during Upvio to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Upvio to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Upvio-to-Dynamics 365 migrations complete within 48–72 hours for setups with fewer than 25,000 records. Complex migrations with FaceScan vital-sign data, multiple intake forms, and practitioner-to-user resolution across more than 100,000 records extend to 5–10 days. The longest planning step is custom Dataverse table creation — pre-creating those tables in Dynamics 365 before migration day saves 1–2 days of downtime.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Upvio.
Land in Microsoft Dynamics 365 Sales , 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