All Posts
· Sentinel · 10 min read

Salesforce Data Import Wizard: Step-by-Step Guide

Salesforce Data Import Wizard, step by step: prep the CSV, pick matching, map fields, run it, check the job. Plus what to build when imports keep repeating.

SalesforceData Import WizardData ManagementTutorialAISentinel
Salesforce Data Import Wizard: Step-by-Step Guide, Sentinel blog cover

The Salesforce Data Import Wizard is the right tool for most one-time imports, and most bad imports are not the wizard’s fault. They come from a file nobody cleaned, a matching choice nobody thought about, and a field map nobody read before clicking Start. This guide walks through the wizard screen by screen, in the order the decisions actually matter.

It also takes a position: if you find yourself running the same import every month, the wizard has stopped being the right answer. We’ll get to what to do instead at the end.

What the Data Import Wizard does (and doesn’t)

The wizard lives in Setup and runs in the browser. Nothing to install, no credentials to manage. According to Salesforce’s own Trailhead unit on data import, it handles up to 50,000 records at a time for accounts, contacts, leads, solutions, person accounts, campaign members, and custom objects.

It can add new records, update existing ones, or do both in the same pass. It cannot export and it cannot delete. Salesforce Ben’s walkthrough also lists the objects it does not support, and the list surprises people: opportunities, cases, campaigns, contracts, products, and assets are all out. If your file is opportunities, you are in Data Loader territory before you start.

If you are still choosing between the two tools, Data Loader vs Data Import Wizard covers that decision. The rest of this guide assumes the wizard is the right fit: under 50,000 rows, a supported object, and a one-off job.

Before you open the wizard: three things to have ready

Most of the work happens before Setup. Skip this section and you’ll be repeating the import, or worse, cleaning up after it.

1. A clean CSV. The wizard takes CSV only, not a native Excel file. Save as CSV, then open it in a plain text editor once to check that the headers are on the first row, there are no blank rows at the bottom, and dates and picklist values look the way Salesforce expects. One column per field. If a picklist value in your file doesn’t exist in the org, decide now whether to fix the file or add the value.

2. A matching key. Decide how the wizard should recognize a record that already exists. For updates, the strongest key is the Salesforce record ID or an external ID field. Names and emails work for new records, but they are only as reliable as your data. Two contacts named “J. Smith” at the same company will teach you this the hard way.

3. A backup of whatever you are about to touch. If the job updates existing records, export those records first with a report, so you hold the “before” state. The wizard has no undo button. A report export takes two minutes. Reconstructing 8,000 overwritten phone numbers takes a weekend.

Step 1: Launch the wizard and choose the object

In Setup, type “Data Import Wizard” into Quick Find, open it, and click Launch Wizard!

The first screen asks what kind of data you’re importing. Standard objects are listed by name; anything custom sits under Custom Objects. Pick the object your file actually describes. A file of people with company names is usually contacts with accounts, and the wizard will offer to match or create the parent account as part of a contact import.

Then choose the action:

  • Add new records inserts every row as a new record.
  • Update existing records only changes records the wizard can match. Unmatched rows are skipped.
  • Add new and update existing records matches what it can and inserts the rest.

“Add new and update existing” is the tempting default, and it’s the one most likely to create duplicates. If the match key is weak, every row it fails to match becomes a new record. Choose it only when your match key is strong.

Step 2: Set matching and the automation options

Next come the matching settings. For contacts, Salesforce Ben notes the wizard can match on name and email for new records, and on the contact ID for updates. Accounts match on name and site, or on ID. Either can use an external ID field if your org has one. Hover the question-mark icons on this screen; they spell out exactly what each option does for your object.

Two other settings here deserve a deliberate choice:

Automation. The wizard lets you choose whether your org’s automation (workflow rules, processes and flows) fires for the imported records. Leave it on and every row runs through every record-triggered flow, which can mean thousands of emails, tasks, or field updates you didn’t plan for. Turn it off and records arrive without the side effects your org normally depends on, like a calculated field or an owner assignment. Neither answer is wrong. Not knowing which one you picked is.

Lead options. On a lead import you can set a Lead Source for the batch and apply lead assignment rules. If your CSV already carries Lead Source and Owner, you probably don’t need either. If it doesn’t, assignment rules are how new leads reach a rep instead of landing on the person who ran the import. If your routing is more complicated than an assignment rule can express, that’s a separate problem, covered in Salesforce lead routing automation.

Then upload the CSV by dragging it in or browsing to it. Most users can leave character encoding at the default. Change it only if your file contains accented names or other non-English characters that come out garbled in the preview.

Step 3: Map the fields

The mapping screen is where imports go quietly wrong. The wizard auto-maps any column whose header looks like a Salesforce field name. Everything else shows as Unmapped, and unmapped columns are not imported. No error, no warning in the result, just missing data.

Work down the list:

  1. Check every automatic match. “Phone” might have landed on Phone when you meant Mobile. “Status” might have mapped to a field you didn’t intend.
  2. Map every unmapped column you care about. Click Map, pick the field, and save. You can map one column to more than one field if you need the same value in two places.
  3. Confirm the required fields are covered. Last Name for contacts and leads, Account Name for accounts, plus anything your org has marked required.
  4. Leave genuinely irrelevant columns unmapped. That’s fine. Just make sure it was a choice.

A good habit: rename CSV headers to the exact Salesforce field labels before you upload. Auto-mapping gets better, and this screen becomes a check rather than a chore.

Step 4: Review, then start the import

The review screen summarizes the object, the action, the number of mapped and unmapped fields, and the file. Read it as if someone else set it up. The numbers that matter are the mapped-field count (does it match what you expected?) and the action (is this really an upsert?).

Click Start Import. The wizard hands the job to Salesforce’s bulk processing and returns you to a confirmation screen.

Step 5: Check the job and read the errors

Imports run in the background. Track yours in Setup under Bulk Data Load Jobs; the person who started the import also gets an email when it finishes.

Open the job and look at three numbers: records processed, records failed, and processing time. If anything failed, download the result file. Each failed row comes with an error message, and the usual culprits are a missing required field, a bad picklist value, a validation rule, or a duplicate rule blocking the save. Fix those rows in a new CSV that contains only the failures and run the wizard again on that file. Re-running the whole file is how the successful rows end up imported twice.

Then spot-check. Open ten records from the file and compare them to the CSV, field by field. A SOQL query or a quick report filtered to records created today makes that faster. Ten records is enough to catch a systematic mapping mistake while it’s still cheap to fix.

Five mistakes the wizard won’t stop you from making

  • Importing duplicates. The wizard matches on what you tell it. If a contact is “Jon” in Salesforce and “Jonathan” in the file, that’s a new contact. Your duplicate management rules may catch some of these at save time, or may block rows you meant to update.
  • Overwriting good data with blanks. On an update, decide what an empty cell should mean before you import, and check the result on a few records.
  • Firing automation by accident. A welcome-email flow on contact creation plus a 5,000-row import is a bad afternoon.
  • Skipping the backup. There’s no undo. The export you didn’t take is the only real rollback.
  • Treating a recurring job as a one-off. Which brings us to the real point.

When the import keeps coming back

A one-time migration is exactly what the Data Import Wizard is for. The trouble starts when “import the trade show leads” becomes a monthly ritual, “update the partner tiers” turns into a quarterly spreadsheet, and the same person spends the same afternoon on the same CSV every time.

At that point, the CSV is a symptom. The data has a source, and the rule that turns that source into Salesforce records already exists, just in someone’s head. The durable fix is to write the rule into the org: an integration that pulls from the source, a scheduled job that applies the update, or a validated intake that catches bad rows before they save. We walk through that pattern in bulk-updating Salesforce records without Data Loader, and the cleanup side of it in Salesforce data cleanup automation.

That build used to mean a developer ticket and a long wait, which is why the spreadsheet won. With Sentinel, your AI writes and deploys that job against your org: sandbox first, with tests, every change logged, and a snapshot taken before each deploy so the “before” state is kept automatically rather than hoped for. You describe the rule you’ve been applying by hand; the AI builds it, and you review the result in a sandbox before it goes anywhere near production.

The takeaway

Use the Data Import Wizard for what it does well: a clean, one-time load of a supported object, under 50,000 rows. Prepare the CSV, pick a matching key on purpose, make a deliberate choice about automation, read every field mapping, back up before updates, and re-run only the failures.

And when you notice you’ve imported the same file three times this year, stop running the wizard and build the job instead.

Want to see that job built in your own sandbox? Book a Demo Call and bring the import you keep repeating. Pricing is flat per Sentinel and is covered on that call.

See Sentinel build in your own CRM on a 30 minute call.

Book a Demo Call