Importing your book
Turn any contact spreadsheet into contacts, businesses and deals — matched against what you already have, previewed before anything is written.
TL;DRAI summary
This chapter explains how to import customer and business information from a spreadsheet into your book. This process helps you keep your customer data organized and avoids creating duplicate entries. You can import contacts, businesses, and even create deals from a single file.
For: Sellers · Cypress Managers
Prospect lists rarely arrive tidy: a dealer list from a conference, an export from someone else's CRM, a colleague's spreadsheet with whatever columns they happened to keep. CRM → Import takes that file as it is and turns it into your book — without ever creating a duplicate of someone you already know.
One template covers all three record types. Each row can produce a contact, a business, and optionally a deal, depending on which cells it carries:
- a row with an email creates or matches a contact
- a row with a business name creates or matches a business
- a row with both files the person under the company
- deal columns (title, stage, amount) open a deal attached to that row's contact or business
Rows import into your book — a seller's import never touches the platform book, and a Cypress import (or one made while acting for an org) lands where the acting-for lens points.
The four steps
- Upload — CSV or Excel, up to 5,000 rows. Any columns, any order, headers optional; a headerless list of emails is understood as one.
- Map columns — the mapper auto-matches your headers ("Dealership", "Main Phone", "Primary Contact Name" all land where you'd expect) and reads sample values when headers don't help — a column of email addresses maps itself. Only one thing is required: an Email or a Business Name column. Everything else is optional.
- Review — the dry run. Nothing has been written; the screen shows exactly what committing will do, row by row and in total.
- Import — the batch runs in the background with live progress. When it finishes, View imported contacts / businesses opens the book already filtered to what the file produced.
What the review is telling you
Every row carries up to three intent chips — one per record type:
- New — nothing in your book matches; the record will be created.
- Update — a match was found and the file fills in something the record is missing (a phone, a last name, a website). Blanks only: an import never overwrites a value someone typed.
- Match — already in your book, nothing to add. Duplicate rows inside the file collapse the same way.
- Skip — nothing to do on this side (a row without an email still imports its business; it just can't create a contact).
- Error — the row has neither an email nor a business name. Error rows are skipped at import; everything else proceeds.
Messy cells become warnings, never rejections: an unparseable phone is kept as typed, "GM: Brian" becomes Brian with a note, two people in one cell keep the first and say so. One bad cell never sinks a 2,000-row file. The Issues CSV button exports every warning and error with its row number if you'd rather fix the file and re-upload.
How matching works
- Contacts are matched by email, case-insensitively, within your book. The email is the identity — the same address can exist in another seller's book without ever colliding with yours.
- Businesses are matched by name, ignoring case, punctuation and
legal suffixes — Goldie's Motors and GOLDIES MOTORS INC are one
company. Rows that share a company email domain merge too: two
spellings of the same dealership on
babbitt-ford.combecome one business with both contacts. A new business whose name merely resembles an existing one is flagged for your eyes but never merged automatically. - State and city land on the business as its location; states are normalised ("Texas", "TX", "texas" are all TX).
- ZIP leads the address. Map a Zip column and the import resolves it to a city and state for you — the same convention every address form on the platform follows. Here the ZIP is the authority: a row whose state disagrees with its ZIP is corrected, and the correction is flagged on the row so you can see it happened. A city you supplied is kept. A ZIP that doesn't resolve is a warning, never a blocked row.
- Where the address lands depends on the row. A row with a business name describes the company's location, so ZIP, street, city and state go to the business (when it's new, or has no location on file yet). A row with no business is about the person, so the address lands on the contact — which is why contacts have one of their own.
Because matching is the same on every run, re-importing a file is safe: the second pass matches everything it created the first time and creates nothing new. An import that fails mid-way can simply be retried.
Batch options
Set on the review screen, applied to everything the import creates:
- Source label — provenance stamped on every new record (default
import). This is the handle that finds them later: both the Contacts and Businesses tabs have a Source filter, and/crm?tab=contacts&source=importdeep-links straight to it. - Tags — applied to every created contact and business, useful for
marking the file itself (
dealer-list, west). - Open an onboarding deal for each new business — for prospect lists: every business the import creates gets an onboarding pursuit opened at Prospecting, so the list lands as a working pipeline rather than a pile of records.
Deal columns in the file work independently of the toggle: a mapped Deal Title, Deal Stage (Prospecting, Interested or Qualified — the later stages are earned, not imported) or Deal Amount opens a deal on that row.
After the import
- Created records carry the batch's source and count as activity, so they surface at the top of the book's default sort.
- Fill-blank updates on existing records are written to the record's history, attributed to the import.
- The full batch — per-row outcome, warnings, failures — is kept and inspectable; the done screen lists any row that failed with its reason.
Vehicles are a different door: fleet spreadsheets go through Onboarding → Import, which speaks VINs, valuations and dispositions.