HOW-TO

How to Import 10,000 Contacts into SalesSheet in 5 Minutes

Andres MuguiraFebruary 28, 20265 min read
ImportCSVTutorial
← Back to Blog
Summarize with AI

Before You Start: Prep Your CSV

The import itself takes about 2 minutes. The other 3 minutes are for preparation and verification. A little CSV prep upfront saves you hours of cleanup later. Here is what to do before you upload anything.

Check Your Headers

Open your CSV in Google Sheets or Excel and make sure the first row contains column headers. SalesSheet uses these headers to auto-detect field mappings. Headers like "First Name," "Last Name," "Email," "Phone," and "Company" will be automatically matched to the corresponding SalesSheet fields. If your headers are something unusual like "Contact_FN" or "emailAddress," the auto-mapper will still try to match them, but you might need to manually map a few.

A few rules for headers:

Clean Your Data (Optional but Recommended)

You do not have to clean your data before importing. SalesSheet handles messy data reasonably well. But if you want the cleanest import possible, do a quick scan for these common issues:

Step 1: Upload Your File

In SalesSheet, click the "Import" button in the top toolbar or go to Settings and then Import/Export. Drag your CSV file onto the upload area or click to browse. The file uploads instantly -- even a 10,000-row CSV is usually under 2MB, which uploads in a second or two.

SalesSheet accepts CSV files up to 50MB, which is roughly 500,000 rows depending on how many columns you have. If your file is larger than that, split it into multiple files and import them sequentially. The CSV import system handles each file independently.

Step 2: Map Your Fields

Step 2 of 3: CSV fields on the left, SalesSheet field mapping slots in the center with auto-detected suggestions, live contact and account preview on the right

After upload, SalesSheet shows you a field mapping screen. On the left, you see your CSV column headers. In the center, you see the SalesSheet fields they will map to: Contact Fields (Name, Email, Phone, Address, LinkedIn, Facebook), Account Fields (Account Name, Address, Primary Contact, Industry), and List Fields. The system auto-maps obvious matches (Email to Email, Company to Account Name, etc.) and highlights any columns it could not match with a "Suggested" badge.

For unmatched columns, you have three options:

  1. Map to an existing field -- drag the CSV column chip and drop it onto the right SalesSheet field slot (Name, Email, Phone, Address, LinkedIn, Facebook for contacts; Account Name, Address, Primary Contact, Industry for accounts)
  2. Create a new custom field -- drop a CSV column onto the "Add Field" placeholder in the List Fields section, then define the field name and type (text, number, date, status, currency, or URL)
  3. Skip the column -- if you do not need the data, just leave it unmapped in the CSV Fields panel and it will be ignored during import

The mapping screen also shows a preview of the first 5 rows of your CSV alongside each mapping, so you can verify that the right data is going to the right field. This preview has caught countless mistakes for our users -- things like accidentally mapping "Last Name" to "Company" because the columns were shifted.

Always check the preview on the mapping screen. Thirty seconds of verification saves you from importing 10,000 contacts with their last names in the company field.

Step 3: Configure Duplicate Handling

This is the step most import tools skip, and it is the one that matters most. When you import 10,000 contacts, some of them probably already exist in your CRM. SalesSheet gives you three duplicate handling strategies:

Option A: Skip Duplicates

If a contact in your CSV matches an existing contact (by email address), the existing record is kept unchanged and the CSV row is skipped. This is the safest option for imports where you want to add new contacts without affecting existing data.

Option B: Update Duplicates

If a match is found, the existing record is updated with the data from the CSV. Empty fields in the existing record get filled. Fields that already have values are overwritten with the CSV data. Use this when your CSV has newer, more accurate data than what is currently in your CRM.

Option C: Update Only Empty Fields

If a match is found, only the empty fields in the existing record are filled from the CSV. Fields that already have values are left untouched. This is the best option when you want to enrich your existing data without losing any current values. It is our most popular duplicate handling choice.

Duplicate detection uses email as the primary match key. If a contact does not have an email, SalesSheet falls back to a name + company match. You can configure the match logic on the duplicate handling screen if the defaults do not fit your needs.

Step 4: Import

Click "Start Import." SalesSheet processes the file in the background, so you can continue using the app while it runs. A progress indicator shows you how many rows have been processed. For 10,000 contacts, the import typically finishes in 60-90 seconds.

When the import completes, you get a summary report:

Step 5: Verify

After the import, switch to the Smart Grid view and sort by "Date Created" descending. Your newly imported contacts appear at the top. Scan through the first 20-30 records to verify that the data looks correct. Check that names are in the right fields, emails are formatted properly, and any custom fields have the expected values.

If something looks wrong, you can undo the entire import within 24 hours. Go to Settings, Import History, and click "Undo" next to the import. All contacts created by that import are removed, and any contacts that were updated are reverted to their pre-import state. This is a full undo, not a partial one. We added this feature because import mistakes happen, and they should not require hours of manual cleanup to fix.

Pro Tips

Tag Your Imports

Before importing, create a tag like "SXSW-2026-import" or "HubSpot-migration." On the mapping screen, you can assign a tag to all imported contacts. This lets you easily filter and find the imported contacts later, and if something goes wrong, you can select all contacts with that tag and bulk-delete them.

Run Enrichment After Import

After importing, select all your new contacts in Smart Grid and run bulk enrichment. SalesSheet will fill in missing company data, job titles, LinkedIn URLs, and company size for contacts that only have a name and email. This turns a basic contact list into a rich, actionable database.

Importing from Other CRMs

If you are migrating from HubSpot, Salesforce, Pipedrive, or another CRM, export your contacts as CSV from that platform and import into SalesSheet using the same process. Most CRMs export clean CSV files with standard column headers, so the auto-mapping works well. For CRM-specific migration tips, check the CSV import documentation.

The fastest CRM migration is a CSV export and import. No API keys, no third-party migration tools, no consultants. Just a file.

Try SalesSheet Free

No credit card required. Start selling smarter today.

Start Free Trial