Technology & IT • Oct 30, 2026

Moving to Dynamics 365? Get the Data Migration Right Before You Think About AI

By Vaden Consultancy

18 Views

Most CRM migrations do not fail on go-live day. They fail a few months later, when a sales manager opens an account and finds three copies of the same contact, no owner, and a call history that stops in 2021. By then the licenses are paid for, the old system is switched off, and half the team has gone back to personal spreadsheets.

That is the real cost of a rushed move. The data lands in the new system, but it does not work there. It matters even more now, because teams expect Copilot and AI agents to point them to the next step. An agent can only suggest something sensible if the records behind it are complete, current and connected.

This guide covers how to migrate to Dynamics 365 from legacy CRM, a set of spreadsheets or another platform: planning, cleaning, mapping, tooling, testing and cutover. It ends with how to get the data ready for AI-assisted work once your users are live. The same steps apply whichever of the Dynamics 365 CRM solutions you roll out first, Sales, Customer Service or both.

Why migration quality decides what AI can do later

Dynamics 365 captures conversations, activities, opportunities and service cases. The hard part for most teams is not a shortage of data. It is the time people spend connecting it before they act. A rep opens five tabs before a customer call. A service agent searches old cases hoping someone solved the same problem before.

AI agents built with Microsoft Copilot Studio can pull that context together and suggest what to do next. But they read the same records your users read. If the opportunity stage is wrong, the last activity date is blank, or one customer exists twice, the agent will point at the wrong thing and sound sure about it.

So plan your move as if a machine will read every row, because soon it will. A Dynamics 365 CRM implementation is judged less by how fast the data loads and more by whether people trust what they see afterwards.

Signs your current setup is already costing you

•      Reps keep real customer notes in personal files because the CRM is out of date

•      Reports from sales and finance never match

•      Nobody is sure which of two account records is the right one

•      Moving a deal to the next stage means updating the same details in two or three places

If two or more of these sound familiar, the migration is a chance to fix them, not just copy them across.

Step 1: Audit what you have before deciding what moves

Start with a plain inventory. List every source that holds customer data: the old CRM, Excel files, shared mailboxes, the accounting tool, the support desk. For each one, note the record count, who owns it, and when someone last used it.

Then sort everything into three buckets: migrate, archive, and leave behind. Loading ten years of closed leads that nobody has touched in five buys you slow views, cluttered search and noisy AI answers. A common approach is to bring active records across in full, keep closed history for a set window in Dynamics 365, and archive the rest. Pick that window based on your sales cycle and any retention rules that apply to you.

Step 2: Clean the data before it moves

Fix problems in the source or in a staging area, not after loading. Once data sits in Dynamics 365, every correction is an update, and updates can fire workflows, plugins and audit entries you did not plan for.

The usual clean-up list:

•      Merged duplicate accounts and contacts

•      Standardize country, state, phone and job title formats

•      Reconcile picklist values that mean the same thing ("Closed Won", "Won", "closed-won")

•      Reassign records owned by people who left the company

•      Fill the fields the new system will require

Ask a business owner, not only IT, to approve the rules. Someone in sales has to decide which of two duplicate accounts survives.

Step 3: Map your fields to Dataverse

Dynamics 365 stores its data in Dataverse tables. Mapping means deciding where each source field will land. Do this in a shared spreadsheet that both the business and the technical team can read and sign off.

Source data

Dataverse target

What to watch

Companies

Account

Parent and child hierarchies, duplicate names

People

Contact

Contacts with no company, linking to the right account

Deals

Opportunity

Stage and probability mapping, estimated close dates

Calls, emails, meetings

Activities (Phone Call, Email, Appointment)

The record each activity relates to, original dates

Support tickets

Case

Status reasons, links to knowledge articles

Dropdown values

Choice columns

Label and stored value mismatches

Load order matters. Bring in users and business units first, then accounts, then contacts, then opportunities and cases, then activities and notes. A lookup fails when the parent record is not there yet.

One detail people miss: Dynamics 365 stamps migrated records with the date they were loaded. To keep the real history, use the Record Created On column (overriddencreatedon) so a note written in 2022 still shows 2022.

Step 4: Pick the right migration method

There is no single best tool. Match the method to the size and shape of your data.

Method

Good for

Limits

Import Data wizard with Excel or CSV

Small, one-time loads

Little room for transformation

Dataflows (Power Query)

Moderate volumes that need cleaning steps, can run on a schedule

Not the tool for every complex relationship

Azure Data Factory or SSIS with a Dynamics connector

Large volumes, several sources, heavy transformation

Needs a developer and careful planning

Dataverse Web API or custom code

Unusual sources, ongoing sync

Build and upkeep effort

Whatever you choose, run the first load in a sandbox environment. Production should only ever see a load that has already worked at least once.

Step 5: Bring history, notes and files across

Sales and service teams rely on context. Emails, notes and attachments are what make an account record useful, so decide early how they travel.

Attachments grow quickly and can eat into Dataverse storage. Many teams keep documents in SharePoint and link them to records through the Dynamics 365 and SharePoint integration instead of copying every file.

Also check status handling. Closed opportunities and resolved cases need the right state and status, and in some cases that has to be set as a separate step after the record is created. Test this early with a small batch, because it is the kind of thing that breaks on the full load.

Dynamics 365 CRM Data Integration: Keep the Systems Around Your CRM in Sync

Migration moves history once. Integration keeps the picture current afterwards. List the systems that need to talk to your CRM: ERP or finance, email and calendar, marketing tools, the support desk, website forms, telephony.

For each shared field, decide which system is the source of truth. Billing address might belong to the ERP while account owner belongs to the CRM. If you run Business Central, it has a built-in connection to Dataverse for customer and contact data. Power Automate handles lighter, event-based flows, and Azure services cover heavier ones.

This matters for AI too. An agent reading only CRM data cannot warn a rep that the customer is sixty days overdue before a renewal call if the invoice status never leaves the finance system. The agent is only as informed as the data you let it reach.

Step 6: Set up security before users log in

Create business units, security roles and field-level security before the first user signs in. Migrated records carry an owner, and the owner decides who sees what. A wrong owner means a wrong view.

This also sets the ground rules for AI later. An agent that only retrieves information needs far less access than one that creates tasks or updates records. Decide up front what each can read, what each can change, and where a person has to approve.

Step 7: Test, reconcile and cut over

•      Compare record counts by table between source and target

•      Spot-check a sample of records from each entity with the people who use them daily

•      Confirm that views, dashboards and reports show figures that match the old ones

•      Run user acceptance testing with real users on real migrated data

•      Rehearse the cutover at least twice and time it

For cutover itself, freeze changes in the old system, run a final delta load of whatever changed since the last trial, validate, and open the new system. Keep the old one read-only for a while so nobody has to guess whether something went missing.

After go-live: getting the data ready for next-action AI

Once the data is clean and connected, AI becomes practical. Start small and with low risk.

  • Retrieve. A sales rep asks for the recent activity on an opportunity, account details and approved guidance before a meeting. A service agent asks for related knowledge articles and similar past cases.
  •  Recommend. The agent suggests a next step, and the person decides.
  • Act. Only after the first two work, let it create follow-up tasks or update fields, with clear rules on duplicates, missing information, access and human approval.

Test with awkward cases, not just the clean demo. What happens when a contact has no email, or two tasks would be created for the same event?

Measure against a baseline, and record that baseline before go-live. Useful measures include time spent preparing for meetings, time spent finding the right knowledge article, and the number of manual corrections after an agent acts. Speed means little if it creates wrong updates and extra work.

Common migration mistakes and what to do instead

Mistake

What it causes

Better approach

Loading everything

Slow views, noisy search, higher storage use

Agree a retention window

Cleaning after the load

Updates trigger flows and are hard to trace

Clean in staging

Skipping trial runs

Surprises on cutover weekend

Rehearse in a sandbox

No named data owner

Nobody settles disputes

One business owner per entity

Training on dummy data

Users drift back to spreadsheets

Train on real migrated records

Choosing a partner for the move

Bringing in a Dynamics 365 CRM implementation partner to rollouts is not about picking the biggest name. Ask practical questions:

•      Have they migrated from your specific source system before?

•      How do they handle trial loads and reconciliation, and will you see the results?

•      Can they cover US business hours, including cutover windows?

•      Can they explain data residency and compliance questions clearly, in terms of your own requirements?

•      Who owns the mapping documents and runbooks after handover?

A good partner will also ask you hard questions: who owns the data, what you will stop doing in the old system, and how you will know the move worked.

Frequently asked questions

How long does a CRM migration to Dynamics 365 take?

It depends on the number of sources, the volume, and how clean the data is. A small, single-source move can be done in a few weeks. Several sources with heavy clean-up take longer. Anyone quoting a number before looking at your data is guessing.

Can we migrate from Salesforce, HubSpot or Excel?

Yes. The steps stay the same: audit, clean, map, trial load, test, cut over. Only the extraction method changes.

Do we need to migrate all historical data?

Not always. Most teams bring active records and a defined window of closed history, then archive the rest.

Will AI work straight after migration?

It can, but the quality of its answers follows the quality of your records, your integrations and your permissions. Fix those first.

Final thoughts

A migration is your one good chance to clean up years of habits and stray records. Do the audit, clean before you load, rehearse the cutover, and plan CRM data migration alongside the move rather than after it. Then AI has something dependable to work from.

Vaden Consultancy is a Microsoft Solutions Partner in Ahmedabad, India, working with businesses in India and the US on Dynamics 365 CRM, Business Central, Power Platform, Azure and AI. If you are planning a move and want a second opinion on your approach, write to us at connect@vadenconsultancy.com.