The Scenario
The new quarter starts in four days. Your VP of Sales built the pipeline tracker in Google Sheets over the last six weeks — 80 deals, each with a name, estimated value, close date, and the account it's attached to. Now she wants all of it in Dynamics 365 before the QBR. She handed it to you with one instruction: "Get it in by Friday."
Nobody documented how Dynamics 365 expects opportunity fields to be structured. You've never used the Data Import Wizard for opportunities before — leads, yes, but opportunities have a required account link and a currency field and a probability that the wizard may or may not populate automatically.
The bad version:
- Look up the Dynamics opportunity entity schema in Microsoft docs to figure out which fields are required and what format the close date needs to be in
- Build the import CSV with the correct column names, discover the account ID column needs to reference an existing Dynamics account record ID (not the account name from the sheet)
- Run the import, get 18 errors for opportunities where the account ID was a name string instead of a GUID — go back and resolve each account name to its Dynamics record ID manually
Friday is 72 hours away. You are not a Dynamics administrator. You are the person who got handed the spreadsheet.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads your pipeline tracker, understands the columns, and creates opportunity records in Dynamics 365 directly — no entity schema research required, no import wizard, no GUID lookup step.
Create a Dynamics 365 opportunity for each row in my Google Sheet — columns are opportunity name, estimated value, close date, and account ID — and write the opportunity ID to column E
What You Get
- One Dynamics 365 opportunity created per row, with name, value, close date, and account linkage populated
- Column E filled with the new opportunity ID for each deal
- Rows that fail (invalid account ID, missing required field) surface an error in column E rather than dropping silently
- The sheet becomes a live manifest: every deal has either a Dynamics opportunity ID or an error explaining why it didn't
What If the Data Is Not Quite Ready
Close dates are in inconsistent formats across rows
For each row in my Google Sheet, standardize column C (close date) to ISO 8601 format (YYYY-MM-DD), then create a Dynamics 365 opportunity using columns A through D and write the opportunity ID to column E
Some rows have estimated values in mixed currencies
Create a Dynamics 365 opportunity for each row in my Google Sheet using columns A (name), B (value), C (close date), and D (account ID) — if column B contains a currency symbol, strip it before sending, and convert any GBP values to USD using today's exchange rate — write the opportunity ID to column E
Some account IDs in column D are account names instead of GUIDs
For each row in my Google Sheet where column D contains a text name instead of a GUID, look up the matching Dynamics 365 account record by name and replace the value in column D with the account ID, then create the opportunity and write the opportunity ID to column E
Normalize all fields, resolve account names, and create all 80 opportunities in one shot
Standardize close dates in column C to YYYY-MM-DD, strip currency symbols from column B, resolve any account names in column D to their Dynamics account record IDs, skip rows where column D could not be resolved and flag them in column F, then create a Dynamics 365 opportunity for every remaining row and write the opportunity ID to column E
One prompt covers the full chain. No intermediate export, no pre-processing step.
Try It
Get the 7-day free trial of SheetXAI and open the pipeline tracker Google Sheet, then ask it to create all 80 opportunities in Dynamics 365 before the QBR on Friday.
Also see: Bulk Create Dynamics 365 Accounts From a Google Sheet and Export All Dynamics 365 Leads to a Google Sheet.
