CRM migration

Migrate from Phreesia to Microsoft Dynamics 365 Sales

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

Phreesia logo

Phreesia

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

14 of 14

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

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Phreesia is a patient intake and engagement platform designed for healthcare organizations—it stores patient demographics, insurance verification records, appointment data, clinical screening results, consent forms, and payment information. Dynamics 365 Sales is Microsoft's CRM built for sales pipeline management, lead tracking, and account relationships. These platforms serve fundamentally different business functions, which means the migration requires deliberate choices about what healthcare data becomes CRM data. FlitStack AI migrates patient demographic records to Dynamics 365 Contact entities, with organization-level data routing to Account records when a healthcare organization relationship exists in Phreesia. Insurance carrier, plan name, member ID, and group number migrate to custom fields since Dynamics 365 Sales has no native insurance data structure. Visit history, appointment timestamps, and clinical screening responses transfer to custom entities that your team configures before data lands. Patient intake workflows, appointment reminder sequences, and clinical screening automations do not migrate—Dynamics 365 Sales lacks a patient-engagement framework. Phreesia's automations must be rebuilt using Power Automate or Dynamics workflow tools. We provide an export of your Phreesia workflow definitions as a rebuild reference. The migration uses Phreesia's API to extract patient records, transforms healthcare-specific fields into CRM-compatible formats, and loads into Dynamics 365 via the Dataverse API. A sample migration validates field-level accuracy before the full run. A 24–48 hour delta pickup window captures any new patient registrations during cutover.

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

Phreesia logo

Phreesia

What's pushing teams away

  • Workflow automation beyond intake is limited; recall campaigns, treatment plan follow-ups, and marketing sequences require separate tools, frustrating practices seeking a unified patient engagement platform.
  • Integration promises sometimes do not match actual capability; organizations report that promised data write-back to their PM/EHR did not function as sold during implementation.
  • Frequent user interface updates disrupt staff workflows and require retraining, with some reviewers describing the platform as difficult to navigate after changes.
  • Patient-facing complexity creates friction for older or less technical patients, who struggle with self-service check-in and require staff assistance that partially negates efficiency gains.
  • Pricing is opaque and requires sales consultation, making budget planning difficult and leading some organizations to seek alternatives with published pricing tiers.

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 Phreesia objects map to Microsoft Dynamics 365 Sales

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

Phreesia

Patient

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Phreesia patient records map directly to Dynamics 365 Contact entities. First name, last name, email, phone, address, and date of birth transfer as standard Contact fields. If a patient record includes an employer or organization link in Phreesia, that relationship routes to an Account record with the Contact linked via AccountId.

Phreesia

Patient Organization / Employer

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Phreesia patient records may include an employer or affiliated healthcare organization. When present, this organization maps to a Dynamics 365 Account record. The Account stores organization name, address, and domain. If no employer is stored, patients without organizations attach to a default 'Individual Patients' Account record.

Phreesia

Insurance Record

maps to

Microsoft Dynamics 365 Sales

Custom Fields on Contact + Account

1:1
Fully supported

Phreesia stores insurance carrier name, plan name, member ID, group number, subscriber name, and eligibility status. Dynamics 365 Sales has no native insurance structure. We create custom text fields on both Contact (Insurance_Member_ID__c, Insurance_Group__c) and Account (Insurance_Carrier__c, Insurance_Plan__c) to preserve the full insurance record.

Phreesia

Visit / Appointment

maps to

Microsoft Dynamics 365 Sales

Custom Visit Entity (Dataverse table)

1:1
Fully supported

Phreesia visit records include appointment timestamp, provider name, visit reason, and clinical notes. Dynamics 365 Sales has no native appointment entity for patient visits. We create a custom Dataverse table (Patient_Visit__c) with fields for visit date, provider, reason, and notes, linked to the Contact record via a lookup relationship.

Phreesia

Clinical Screening Response

maps to

Microsoft Dynamics 365 Sales

Custom Screening Entity + Custom Fields on Contact

1:1
Fully supported

Phreesia captures structured clinical screening responses (social determinants of health, risk assessments, patient-reported outcomes). These map to custom fields on Contact and a linked custom Screening entity in Dataverse. If the screening uses a pick-list or multi-select format in Phreesia, we apply value mapping to the Dynamics custom pick-list.

Phreesia

Consent Form

maps to

Microsoft Dynamics 365 Sales

Note (Attachment) + Custom Fields on Contact

1:1
Fully supported

Phreesia digital consent records include consent type, signature timestamp, and the signed form document. We preserve the signed form as a Note attachment on the Contact record and create custom fields (Consent_Type__c, Consent_Completed_Date__c, Consent_Valid_Until__c) for structured tracking. The Note stores the actual PDF or image of the signed form.

Phreesia

Payment Method / Card on File

maps to

Microsoft Dynamics 365 Sales

Custom Fields on Contact

1:1
Fully supported

Phreesia stores payment card type, last four digits, and billing address for card-on-file records. These map to custom encrypted text fields on Contact (Payment_Method_Type__c, Payment_Last_Four__c, Billing_Postal_Code__c). Full card numbers do not migrate due to PCI compliance—the last-four and type are sufficient for payment reconciliation in Dynamics.

Phreesia

Appointment Reminder Workflow

maps to

Microsoft Dynamics 365 Sales

No Equivalent

1:1
Fully supported

Phreesia appointment reminder sequences (SMS, email, IVR reminders before a visit) have no direct equivalent in Dynamics 365 Sales. These automations must be rebuilt in Power Automate or Dynamics workflows using appointment date triggers from the Patient_Visit__c custom entity. We export the Phreesia workflow definitions as a configuration reference.

Phreesia

Recall / Re-engagement Campaign

maps to

Microsoft Dynamics 365 Sales

Dynamics 365 Sales Playbooks or Power Automate

1:1
Fully supported

Phreesia's recall campaigns (follow-up reminders for preventive care, annual wellness visits, specialist referrals) do not migrate. Dynamics 365 Sales Playbooks or Power Automate flows can replicate this behavior using the Patient_Visit__c custom entity and Contact records as triggers. We provide a workflow export for your Power Platform team to rebuild.

Phreesia

Patient Relationship to Provider

maps to

Microsoft Dynamics 365 Sales

Contact-to-Contact Relationship or Custom Junction Entity

1:1
Fully supported

Phreesia associates patients with their care team members (primary care provider, specialists, referring physicians). Dynamics 365 Sales stores person-to-person relationships using the native Contact relationships feature or a custom Patient_Provider_Junction__c entity. We map provider names to related Contact records and establish the relationship in Dynamics.

Phreesia

Patient Balance / Outstanding Balance

maps to

Microsoft Dynamics 365 Sales

Custom Field on Contact

1:1
Fully supported

Phreesia tracks patient outstanding balances from time-of-service payments. This value migrates to a custom currency field (Outstanding_Balance__c) on the Contact record. Dynamics 365 Sales does not have a native patient billing object—your billing team reconciles this field against your PM or billing system post-migration.

Phreesia

Referral Source

maps to

Microsoft Dynamics 365 Sales

Custom Field on Contact + Opportunity (if applicable)

1:1
Fully supported

Phreesia records how a patient was referred (self-referred, physician referral, insurance network, marketing campaign). We map this to a custom pick-list field (Referral_Source__c) on Contact. If the referral originates from a referring physician in your network, that physician becomes an Account or Contact record with a referral relationship established.

Phreesia

Eligibility Verification Result

maps to

Microsoft Dynamics 365 Sales

Custom Fields on Contact

1:1
Fully supported

Phreesia runs real-time insurance eligibility verification and stores the result (active, inactive, coverage details). This migrates to custom fields on Contact (Eligibility_Status__c, Eligibility_Check_Date__c, Eligibility_Coverage_Details__c). The verification result is preserved for historical reference but does not affect Dynamics workflows. If your organization uses the eligibility data for reporting or segmentation, the fields can be included in Dynamics views and Power BI dashboards without additional configuration.

Phreesia

Patient Communication Preferences

maps to

Microsoft Dynamics 365 Sales

Custom Fields on Contact

1:1
Fully supported

Phreesia tracks whether patients prefer SMS, email, or phone contact, and whether they've opted out of marketing communications. We map these preferences to custom fields on Contact (Preferred_Contact_Method__c, SMS_Opt_In__c, Marketing_Email_Opt_In__c) for compliance tracking in Dynamics. These fields enable your team to respect patient preferences during outreach and ensure that Dynamics marketing emails comply with opt‑out requests.

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.

Phreesia logo

Phreesia gotchas

High

PM/EHR integration configuration must be validated before patient data import

High

Custom intake forms lack a standard schema export

Medium

Phreesia is an intake platform, not a longitudinal patient database

Low

Patient secure authentication links are time-limited and non-migratable

Medium

Payment plan configurations require manual reconciliation

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

  • Dynamics 365 Sales has no native insurance or clinical data structure

    Phreesia stores rich insurance data (carrier, plan, member ID, group number, eligibility status) and clinical screening responses that have no equivalent in Dynamics 365 Sales. Without pre-migration custom field creation, this data cannot land cleanly. We create the custom Dataverse fields before migration and deliver a schema setup plan that your Dynamics admin executes first. Clinical screening records require a custom Patient_Screening__c entity linked to Contact—this structure must exist before the full migration runs.

  • Patient intake workflows and appointment reminders do not transfer

    Phreesia's appointment reminder sequences, recall campaigns, and patient re-engagement automations are built on Phreesia's patient-engagement framework. Dynamics 365 Sales has Sales Playbooks and Power Automate flows, which use different triggers, conditions, and actions. These automations must be rebuilt. We export your Phreesia workflow definitions as a configuration reference document that your Power Platform team uses to rebuild in Dynamics. This is a manual rebuild effort that is not included in migration pricing.

  • Visit history requires a custom Dataverse table that must exist before migration

    Phreesia visit records (appointment timestamp, provider, visit reason, clinical notes) map to a custom Patient_Visit__c table in Dynamics 365 Sales Dataverse. This table must be created in your Dynamics environment before data can load. If your Dynamics admin hasn't created the table and its fields, the visit data cannot migrate in the first pass and must be handled in a second migration phase. We include custom entity creation guidance in the pre-migration schema plan.

  • Referral source mapping to Dynamics 365 Sales Opportunity requires decision

    If your organization wants to track referral-source attribution on a sales pipeline, the referral data from Phreesia (which physician referred, which campaign drove the appointment) must map to a custom field on both Contact and Opportunity. Dynamics 365 Sales does not have a native referral tracking field. Your team needs to decide whether to use a single Referral_Source__c field on Contact or a separate Opportunity-level referral field if you are building a referral-driven revenue model in Dynamics.

  • Phreesia's EHR/PM integrations cannot migrate to Dynamics 365 Sales connections

    Phreesia maintains bi-directional integrations with EHR and practice management systems (Epic, eClinicalWorks, NextGen, etc.) for real-time demographic updates and consent syncing. Dynamics 365 Sales does not have native EHR integration connectors. These integrations must be rebuilt using Dynamics connectors, Power Automate, or middleware. If your organization relies on Phreesia's EHR sync for real-time demographic updates, that workflow breaks after migration unless a replacement integration is built. Your IT team should map each integration endpoint to a Dynamics connector or Power Automate flow, test the sync, and confirm patient demographics and consent data stay current after cutover. Missing rebuild may cause stale CRM records.

Migration approach

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

  1. Stand up Dynamics 365 Sales schema before data extraction

    FlitStack AI delivers a schema setup plan that specifies every custom field, custom entity, and pick-list value set required in your Dynamics 365 Sales Dataverse environment before extraction begins. This includes the Patient_Visit__c entity, Patient_Screening__c entity, and all insurance, consent, and payment custom fields on Contact and Account. Your Dynamics admin creates these fields in the destination environment. Migration cannot begin until the schema is in place.

  2. Extract patient data from Phreesia via API

    We use Phreesia's API to extract patient records, insurance data, visit history, clinical screening responses, and consent forms. The extraction pulls all records modified since the last sync timestamp. If Phreesia's API returns paginated results, we batch the extraction to handle large datasets without exceeding Phreesia's rate limits. Unmapped fields are flagged and surfaced in the field-level diff before the destination load.

  3. Transform healthcare data into Dynamics 365 Sales format and load to Dataverse

    Patient demographics transform to Contact records. Organization data transforms to Account records with Contact linked via AccountId lookup. Insurance data maps to custom fields on both Contact and Account. Visit history loads to the Patient_Visit__c custom entity linked to Contact. Clinical screening data loads to Patient_Screening__c. Consent form PDFs re-upload as Note attachments. We resolve Phreesia provider names to related Contact records for patient-provider relationship mapping.

  4. Run sample migration with field-level diff

    A representative slice of 50–100 patient records migrates first, spanning multiple visit records, insurance scenarios, and consent types. We generate a field-level diff report showing source Phreesia values against destination Dynamics 365 values for every field. You verify insurance data mapping, visit history linking, consent attachment preservation, and referral source placement before the full migration commits. The sample includes both recent patients and those with extensive historical visit data to test performance under load. Your team reviews the diff, flags any mismatched option-set values, and approves the sample before proceeding.

  5. Execute full migration with delta-pickup window

    The full patient dataset migrates to Dynamics 365 Sales. A delta-pickup window of 24–48 hours captures any new patient registrations, visit updates, or consent completions that occur in Phreesia during the cutover period. Audit logs document every record created or updated. If reconciliation reveals missing records, one-click rollback reverts the Dynamics environment to its pre-migration state for reprocessing. We schedule the main load during off-peak hours to minimize impact on Phreesia API usage. After the delta window closes, a final reconciliation report is generated, highlighting any records that require manual review before the system goes live.

Platform deep dives

Context on both ends of the pair

Phreesia logo

Phreesia

Source

Strengths

  • Automated insurance eligibility and benefits verification before the patient arrives reduces claim denials and front-desk work.
  • Bidirectional integrations with major PM and EHR systems keep demographics, consents, and payments synchronized automatically.
  • Patient self-service check-in saves clinical staff over five minutes per visit on average across Phreesia's network.
  • Electronic consent capture with logic-driven prompting reaches 99% automatic signature or re-signature completion rates.
  • In-house merchant processing with flat-rate pricing consolidates payment infrastructure within the same platform.

Weaknesses

  • Workflow automation is limited to intake; recall campaigns, treatment follow-up, and marketing sequences require separate systems, frustrating practices seeking unified engagement tooling.
  • API documentation is not publicly accessible, making programmatic data extraction a coordination effort with Phreesia's implementation team rather than a self-service export.
  • Integration capabilities and actual data write-back behavior vary between PM/EHR systems, with some organizations reporting promised functionality did not work as described.
  • Custom intake forms and screening logic are organization-specific, making pre-migration field mapping a manual, per-customer effort with no standardized schema export.
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 Phreesia and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 8 core objects map 1:1 between Phreesia 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

    Phreesia: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Phreesia to Dynamics 365 Sales migrations typically complete in 48–72 hours for under 10,000 patient records. Larger datasets with 100,000+ records, multiple visit history entries per patient, or extensive clinical screening data extend to 5–7 days. The longest planning step is establishing the custom Dataverse schema—custom entities and fields must be created before extraction begins. The delta-pickup window runs 24–48 hours post-cutover to capture in-flight records.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Phreesia.
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