Migrating from your CRM
Migrate from Microsoft Dynamics 365 Sales
Export closed-lost opportunities from Dynamics 365 Sales using Advanced Find or a system view.
Migrate from Microsoft Dynamics 365 Sales to Thawly
Move your closed-lost opportunities from Dynamics 365 Sales to Thawly in 10 minutes. Dynamics gives you several routes — this guide uses Advanced Find (or the modern Advanced Filter) plus the Export to Excel action, which works on both the legacy web client and the modern Power Apps interface.
What you need
- A Dynamics 365 user with an Export to Excel privilege on the Opportunity entity. Most sales-app security roles have this; if you can see the Export to Excel button in the command bar of any view, you're set.
- A modern browser. No XrmToolBox, no Power Automate flow, no API.
- About 10 minutes.
If your tenant has tightened export-to-Excel permissions for compliance ("Disable export to Excel" can be set per security role), ask your Dynamics admin to grant the privilege temporarily — or to run the export and email you the file. Don't try to scrape it through the API for this; the Excel route is faster.
Step-by-step extraction
- Log in to Dynamics through your tenant's URL — usually something like
https://<your-org>.crm.dynamics.comor via the Power Apps maker portal. - Open the Sales Hub app from the app launcher.
- From the left nav, click Opportunities.
- In the view selector at the top of the list, pick Closed Opportunities (or your equivalent system view). You'll get won + lost mixed together.
[Screenshot: Dynamics Sales Hub → Opportunities → view selector] - Click the Edit columns or Edit filters option in the command bar to refine. You want filters along the lines of:
- Status Reason → Equals → Lost (or your custom equivalent — common names include
Disqualified,Lost — competitor,Lost — no decision). - Actual Close Date → On or after → pick a sensible date (most teams find anything older than three years too cold).
- If you operate multiple processes, filter on Process Stage or your Pipeline custom field too.
- Status Reason → Equals → Lost (or your custom equivalent — common names include
- Make sure the columns visible on the view include at minimum: Topic, Account, Estimated Revenue (or Actual Revenue), Actual Close Date, Status Reason, Description, and any custom fields you use for Competitor or notes. Use Edit columns in the command bar to add them.
[Screenshot: Dynamics view with Edit columns panel open] - With the filtered view showing the right rows, click Export to Excel in the command bar. Pick Static worksheet — this gives you a clean spreadsheet, not a refresh-on-open one.
- Open the downloaded
.xlsxfile in Excel. - Use File → Save As → CSV UTF-8 (Comma delimited) (*.csv) to save it as a CSV. Don't use the legacy CSV (Comma delimited) option — it drops the BOM and mangles non-ASCII characters in account names like Tewkesbury Group Ltd or Pendle Civils Ltd if any of them have unusual characters.
Field mapping
Thawly's importer auto-maps any reasonable header. For reference:
- Account →
name(the parent account is what Thawly matches against Companies House; if your Dynamics setup keeps account on the opportunity itself, that column also works) - Estimated Revenue or Actual Revenue →
deal_value(GBP — see currency note below for multi-currency tenants) - Actual Close Date →
lost_date - Status Reason + any custom Loss Reason field →
lost_reason - Custom Competitor field →
lost_to - Description + any custom long-text fields →
notes
If your Dynamics is account-less ("standalone opportunities"), Thawly will use the Topic as the company name and run Companies House lookup on it. Less reliable, but works.
What to do with the Notes column
Don't pre-clean. Paste the raw Description, the call-summary fields, the Notes entity content if you exported it — Thawly's AI summarises long activity logs and extracts the structured bits (objection type, named decision-maker, competitor name, budget threshold) automatically. Editing notes by hand before upload is wasted work.
To bring across the separate Notes entity (the timeline notes attached to each opportunity), you'll need to add a calculated/rollup field on the opportunity that concatenates them, or do a separate export. For most teams, the Description field on the opportunity is enough — the timeline-note workflow is heavyweight and rarely worth it.
Common gotchas
- Duplicate companies. Multiple lost opportunities against the same Account are normal (Marsden Ltd lost twice in 2024). Thawly de-duplicates on lower-cased company name on import, so the CSV doesn't need pre-deduplication.
- Currency mismatches. Dynamics has both Currency and Exchange Rate on every opportunity. If your tenant is multi-currency, the Estimated Revenue column is in the deal's currency, while Estimated Revenue (Base) is in your tenant's base currency. Pick the one that's already GBP — and check it's actually GBP, not USD or EUR base currency.
- Multi-pipeline issues. Dynamics calls them Business Process Flows, but the principle holds: you've probably got a sales process and one or more parallel processes (renewals, partner). Filter to the sales process only.
- Stale "won" or "open" deals. Status Reason = Lost is the safe filter. Don't rely on Status = Closed alone — that catches both won and lost.
- Status Reason custom values. Many Dynamics tenants have customised the Status Reason picklist beyond Microsoft's defaults. If you can't see Lost in the filter dropdown, ask your admin which value(s) are mapped to a "lost" outcome. Common custom names:
Lost — Competitor,Lost — No Budget,Disqualified.
What happens next
Drop the CSV at thawly.co.uk/upload. Thawly auto-maps the columns, runs a Companies House lookup against every Account name and shows you a per-row preview before importing anything.
After import, monitoring starts on the next signal-source pass. The first digest arrives only when there's a real signal — see Reading your digest.
Coming from a different CRM?
- Migrate from Salesforce — similar Advanced Find / report-driven export pattern.
- Migrate from HubSpot — list-view export, simpler if your team's mid-migration.
- Migrate from a spreadsheet — if you'd rather export to Excel and clean up before uploading.
For the bigger picture, read Dead deal recovery and Buying signals in B2B sales.