Back to Dynamics 365 in Google Sheets
SheetXAI logo
Dynamics 365 logo
Dynamics 365 · Google Sheets Guide

Bulk Create Dynamics 365 Contacts From a Google Sheet

2026-05-14
5 min read

The Scenario

The platform migration just finished. Your company moved from an older CRM to Dynamics 365, and the legacy vendor handed you a CSV export: 300 contacts. First name, last name, email, phone, job title — all there, all formatted slightly wrong. Your job as customer success manager is to get these people into Dynamics 365 as contact records before the team starts working their accounts next week.

This is the third migration handoff you've received this quarter. The first two went through the Dynamics import wizard. Both required at least two import cycles to get the error rate down to zero.

The bad version:

  • Open the Data Import Wizard, upload the CSV, and discover the phone column has formats mixed across rows — some with dashes, some with dots, some with country codes, some without
  • Spend 45 minutes cleaning the phone column in the sheet, re-export, re-upload, and step through the mapping screen again
  • Run the import, get 28 errors for contacts where the job title field exceeded Dynamics' character limit — truncate those rows, re-import

The third import wizard cycle in three months is not a thing you want to experience again.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It reads your data, understands your column layout, and creates records directly in Dynamics 365 through its built-in integration — no import wizard, no field mapping screen, no error log cycle.

Create a Dynamics 365 contact record for each row in my Google Sheet — columns are first name, last name, email, phone, job title — and write the contact ID to the last column

What You Get

  • One Dynamics 365 contact created per row, with all five fields mapped to the correct entity fields
  • Contact ID written to the rightmost column for each row
  • Rows that fail (field length exceeded, duplicate detection) surface an error message in the ID column rather than disappearing quietly
  • You have a full audit trail: every source row has an outcome — either a Dynamics contact ID or a legible error

What If the Data Is Not Quite Ready

Phone numbers have inconsistent formatting across rows

For each row in my Google Sheet, normalize column D (phone) to a consistent format with no dashes or dots, just digits and a leading plus sign for international numbers, then create a Dynamics 365 contact using columns A through E and write the contact ID to column F

Job titles are too long for Dynamics field limits

Create a Dynamics 365 contact for each row in my Google Sheet using columns A through E — if the value in column E exceeds 100 characters, truncate it to 100 before sending — write the contact ID to column F and note any truncation in column G

Duplicate emails exist across rows

Scan column C in my Google Sheet for duplicate email addresses, mark any duplicate rows in column F as "duplicate - skipped", then create a Dynamics 365 contact only for the first occurrence of each email using columns A through E, writing each contact ID to column F

Normalize, deduplicate, truncate, and import all 300 contacts in one pass

Trim all cells in columns A through E, normalize phone numbers in column D to digits-only format, truncate job titles in column E to 100 characters, deduplicate on column C keeping the first occurrence of each email, then create a Dynamics 365 contact for every remaining row and write the contact ID to column F — flag skipped rows with a reason in column G

Ask for the cleanup and the import in one prompt. SheetXAI handles the conditional logic inline.

Try It

Get the 7-day free trial of SheetXAI and open the Google Sheet with your migrated contact data, then ask it to push all 300 contacts into Dynamics 365 without touching the import wizard.

Also see: Bulk Create Dynamics 365 Accounts From a Google Sheet and Bulk Update Dynamics 365 Leads From a Google Sheet.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more