Salesforce import templates
Import leads into Salesforce
with the Data Import Wizard
The wizard’s first screen decides whether your file updates the leads you already have or adds them a second time. Here’s each choice, and what Salesforce’s documentation says it does.
Each template page checks your export first, in your browser, for what Salesforce would skip. Nothing is uploaded.
Only need Salesforce’s columns? Leads CSVContacts CSV
FreeNo accountLeads and Contacts files
The number to check after
an import is Records Updated
This job closed with 12 failures out of 1,860 records. The 0 under Records Updated is the bigger problem.
| Status | Object | Records Created | Records Updated | Records Failed |
|---|---|---|---|---|
| Closed | Lead | 1,848 | 0 | 12 |
Behind those three numbers
412of the 1,848 new leads were already in Salesforce. Match Lead by was left at None, and the org’s standard lead duplicate rule, on by default, had been turned off. Nothing compared them, so every row was created.
1,848leads are owned by whoever ran the import. No assignment rule was picked and the file had no owner column.
0workflow rules or processes ran on them. The box that runs them starts unchecked. Any Apex triggers ran anyway.
The import is made up. What happens to it is from Salesforce’s help pages, and all three trace back to the wizard’s first screen.
What each screen of
the Data Import Wizard decides
Three screens and a results table. Most of what goes wrong is decided on the first one.
Edit Field Mapping: Leads
Your file has been auto-mapped to existing Salesforce fields, but you can edit the mappings if you wish. Unmapped fields will not be imported.
| Edit | Mapped Salesforce Object | CSV Header | Example | Example |
|---|---|---|---|---|
| Change | elena.torres@halcyonfreight.co | jamie.ruiz@mail.example | ||
| Change | Last Name | Last Name | Torres | Ruiz |
| Change | Company | Company | Halcyon Freight | |
| Change | Lead Owner | Rep | Sam Patel | Sam Patel |
| Change | Industry | Sector | Freight & Logistics | Healthtech |
| Change | Event Date | Met on | 05/03/2026 | 06/03/2026 |
| Map | Unmapped | Booth notes | Wants a demo in April | Price-sensitive |
Review & Start Import
Recent Import Jobs
| Status | Object | Records Created | Records Updated | Records Failed | Start Date | Processing Time (ms) |
|---|---|---|---|---|---|---|
| Closed | Lead | 1,848 | 0 | 12 | 06/03/2026 10:38 | 41,206 |
Launch the Data Import Wizard to import your data.
Launch Wizard!A drawing based on the wizard’s own screens, not a screenshot. Each point is from Salesforce’s help pages.
What an update does
to a lead you already have
The same file again, this time matched by Email with Add new and update existing records. Elena is already a lead, so her row updates her.
| Field | In Salesforce now | In the file | After the import |
|---|---|---|---|
| Title | VP Operations | Operations | Operations |
| Industry | Transportation | Freight & Logistics | Freight & Logisticsnot on your Industry list |
| Lead Owner | Jordan Hale | Sam Patel | Youtwo users are called Sam Patel |
| Description | Renewal due Q3 | blank | Renewal due Q3blank cell skipped |
- Replaced
- Title and Industry. Every mapped value with something in it replaces the one on the lead, better or not. Industry took a value that isn’t on its list: Salesforce keeps the file’s value when a picklist isn’t restricted. To protect a text field, leave its column unmapped. An unmapped picklist or checkbox still gets its default value, if it has one, even on an update.
- Reassigned
- Lead Owner. Two users are called Sam Patel, so Salesforce gave the lead to the person importing. An owner’s User ID can’t be shared.
- Kept
- Description. A blank cell leaves the value alone, so the wizard can’t clear a field. Salesforce says that needs Data Loader.
If you match leads by name instead
Salesforce’s name matching is case-sensitive. So it misses people whose name is written differently, and matches different people who share a name.
ELENA TORRESrow 77, from a badge scanNo matchThe scanner wrote her name in capitals. To a case-sensitive match that’s a different name, so she’s created a second time.
Elena Torresrow 1,402, at Corvane HealthWrong matchA different Elena Torres. The name is all that’s compared, so her title, phone and industry are written over the Halcyon Freight lead.
Match leads by Email where you can. It compares the exact address, and two people rarely share one.
One row the wizard
takes the first time
Use Salesforce’s field names as headers so the wizard can map more columns itself. What’s left is getting each value into a form Salesforce accepts.
Event_Date__c and Interests__c are custom fields, included for the date and multi-select formats. A US-locale user writes March 5, 2026 as 03/05/2026.
A lead or contact can’t be saved without one. First Name is optional: a row with no first name imports, a row with no last name fails.
Required for leads, not contacts. A personal sign-up with no company needs something in this column, or the row fails, unless your org uses person accounts.
The 15 or 18 character ID Salesforce recommends. A name shared by two users sends the lead to you. A name that doesn’t exactly match a user can fail the whole import.
An unrestricted picklist takes any value, so a typo is saved on the lead as typed. A restricted one gets its default value instead.
The way dates show in Salesforce for the person importing. The same file can read differently for a colleague in another locale.
Up to 100 values in a record. Past that, Salesforce leaves the field blank.
More of Salesforce’s import rules
- Checkbox
1for checked,0for unchecked- Currency
- Format amounts for your locale
- Formula fields
- Read only. Leave them out of the mapping.
- Record type
- Set on new records only. An update doesn’t change it.
- Unmapped fields
- An unmapped picklist or checkbox gets its default value, if it has one
- Encoding
- Pick the one the file was saved in. CSV UTF-8 needs UTF-8.
The Salesforce field names our templates use
The 23 fields our 30 Leads and Contacts templates fill, the most common first. Department, AccountName and the Mailing fields are Contact fields. AccountName is the wizard’s Account Name mapping, which links a contact to its account. LinkedIn_URL__c is a custom field: create it before you import. Every field’s API name is in Object Manager, under Fields & Relationships.
EmailFirstNameLastNameDescriptionPhoneTitleCompanyCountryCityStateLinkedIn_URL__cPostalCodeStreetLeadSourceMobilePhoneStatusWebsiteAccountNameIndustryMailingCountryDepartmentMailingCityMailingStateImporting leads from Excel
The Data Import Wizard “supports only the CSV format,” Salesforce says. Save the sheet as a CSV in Excel first, then upload that file to the wizard.
- Save As, then a CSV typeIn Excel, File, then Save As, and pick CSV (Comma delimited) as the file type.
- One tab per fileExcel saves only the active sheet to a CSV. Each tab you need goes in as its own import.
- Or convert it hereExcel to CSV exports one tab at a time to a CSV, free for files up to 2,000 rows.
From Salesforce Help: Data Import Wizard and Microsoft Support: Save a workbook to text format, read October 13, 2026.
Importing contacts instead of leads
The same wizard and the same limits. On its first screen, under Standard Objects, choose Accounts and Contacts instead of Leads.
- What every row needsLast Name on every contact. Company is for leads only.
- The permissionImport Personal Contacts, for your own accounts and contacts.
- Contacts you already haveContacts match on Salesforce ID, name, email or External ID. Choosing none creates every row as new.
On Starter and up, an Operelio push sends people to Contacts or Leads, whichever you pick, and can also write Accounts and Opportunities. It matches each row on email: a match updates that record, a new email creates one, and a row with no email is skipped.
Mass and bulk imports:
the Data Import Wizard’s limits
From Salesforce’s import documentation. The wizard stops at whichever comes first.
- Long notes are cutA note or description over 32 KB is shortened to fit.
- Past 50,000, Data LoaderA separate desktop app, for Enterprise edition and up or orgs with API access. It runs workflow rules and processes on every import, with no box to turn them off.
Salesforce templates
for your export
23 exports mapped to Salesforce’s lead fields, 7 with a Contacts file as well. Each template is a free Excel file: paste the export in, then save the import tab as a CSV.
If the same file goes into Salesforce every week
Matching, owners and workflow rules are set on the wizard’s first screen for every import. These take that off your hands.
Salesforce import guides
For the errors, file sizes and messy headers this page only touches on, and where the wizard sits among other import tools.
Salesforce import questions
Why did my Salesforce import create duplicate leads?
The wizard only looks for existing leads when you tell it how. With Match Lead by set to None, it creates every row as a new lead. Set it to Email to update the leads you have. Name matching is case-sensitive, so it misses people whose name is written differently. If your org’s lead duplicate rule is on, those rows fail instead, even when the rule is set to Allow with an alert. Our guide to Salesforce duplicate rules explains why, and how to load a list without tripping them. Pushing from Operelio instead matches on email before anything is written. A match updates the existing record and fills only its blank fields unless you choose to overwrite. A new email creates a record, and a row with no email is skipped. By default, rows in your file that share an email are cut to one first, the first one kept. The email match looks only at the record type you push to, Leads or Contacts. Someone already in Salesforce as either type, with a similar name at the same company, can be flagged as a possible duplicate. The report shows which rows are new, updated or not sent before you confirm, and Operelio never merges or deletes Salesforce records.
Can I undo a Data Import Wizard import?
Not as such. Salesforce’s way back is Mass Delete Records, which needs the Modify All Data permission and removes records the import created. It can’t put back the values an update replaced, so export the records before you update them.
Who owns the leads I import?
The person importing, unless the file has an owner column or you pick an assignment rule. In an owner column, use each owner’s User ID. A name that two users share sends the records to you instead.
Do workflow rules run on imported records?
Only if you check Trigger workflow rules and processes for new and updated records on the first screen. It’s unchecked unless you check it. Apex triggers run whatever the box says.
Why were some records not imported?
A record missing a required field, such as Company on a lead, isn’t imported. Nor is one that fails a validation rule: Salesforce runs them on every record first. They’re counted under Records Failed in Recent Import Jobs, and Salesforce emails you the result.
Can an import clear a field?
No. A blank cell leaves the value already in Salesforce alone. Salesforce says clearing values in bulk needs Data Loader, which requires Enterprise edition and up, or API access.
Which fields are required to import leads or contacts into Salesforce?
Last Name and Company on every lead; Last Name on a contact.
Know what Records Updated will say before you start.
Run the export through the CRM Formatter first. Mapping to Salesforce’s fields is on every plan, and from Starter it reads your Salesforce to count new leads and updates before anything is sent.