Task guide

Prepare, map, preview, and execute a CRM contact import

Run the four-step CRM CSV import with exact file limits, supported mapping, current preview binding, suppression preservation, and a verified commit.

20 to 45 minutes, depending on file cleanupFor CRM users importing first-party contact recordsIntermediateLast verified September 11, 2026

Outcome

You can prepare a supported file, map only current targets, validate a bound preview, and commit Create, Enrich, and Match rows safely.

Navigation path

CRM > Contacts > People > Import

Access

Active CREBuilder subscription with CRM entitlement

On this page

Before you start

Data, sources, and access to prepare

  • A first-party CSV with a header row and at least one contact row
  • A clear owner and source for the records
  • Provider opt-outs retained in the export

Prepare and import contacts from a supported file

CRM People list in the empty state before the four-stage contact import begins.

Short animated UI capture. No audio.

Prepare a contact CSV, open the import, map fields, preview outcomes, and select Import safe rows for valid records.
Orient users to the four-stage CRM import before any rows are committed.
File selection and the import-stage context are visible.
The CRM contact importer is different from Email Blast recipient file extraction. CRM imports do require headers.
RuleSupported value
File typeCSV selected through the CRM importer
Required structureOne nonblank unique header per column and at least one contact row
Maximum size10 MB
Maximum rows50,000 contact rows
DelimitersComma, semicolon, or tab
Text handlingQuoted and multiline values; UTF-8, UTF-16, or Windows-1252 fallback
IdentityEmail is required to create; a stable source record ID supports safer reimports
  1. 1

    Export from the source system

    HubSpot, Salesforce, Pipedrive, Zoho, Buildout, Crexi, LoopNet/CoStar, or your spreadsheet

    Include a stable source ID, email, names, company, and any supported opt-out column.

    Expected result: The local CSV contains one row per source contact and retains provider identity and opt-out evidence.

    If this does not happen: If no stable ID exists, plan to rely on normalized email and review reimports more carefully.

  2. 2

    Check file structure

    Local spreadsheet or text editor

    Confirm unique nonblank headers, consistent columns, and no more than 50,000 data rows or 10 MB.

    Expected result: The file meets the importer limits before upload.

    If this does not happen: Split an oversized export into controlled batches. Preserve the same headers and source label.

  3. 3

    Choose the import source

    CRM > Contacts > People > Import

    Select the source preset or Generic CSV.

    Expected result: The importer applies the corresponding source context.

    If this does not happen: Use Generic CSV for a spreadsheet without a supported provider preset.

  4. 4

    Select the import file

    CRM import > Choose file

    Choose the prepared CSV file.

    Expected result: CREBuilder reads the delimiter and encoding and advances to Map.

    If this does not happen: If parsing fails, download the generic template and repair headers or quotes before choosing the file again.

Map only supported fields

Show the source-to-CRM field mapping decision before validation.
Source columns, target fields, and mapping controls are visible.
Map only supported fields field reference
FieldRequirementWhat it meansFormatUnitsSave behaviorDownstream effect
Source record IDRecommendedStable provider identity for safe reimportsProvider-issued text identifierNot applicableStored for safe rows only when Import safe rows succeeds with this column mapped.Lets later imports match the same provider record more safely.
EmailRequiredCanonical contact identity and required creation fieldValid email addressNot applicableNormalized and stored for safe rows only when Import safe rows succeeds.Creates or matches the canonical person and prevents duplicate email identities.
First name and Last nameOptionalCombined into the contact nameSeparate plain-text source columnsNot applicableStored for safe rows when the executed mapping uses separate name columns.Builds the contact display name; use these columns or Full name, not both.
Full nameOptionalSingle source column used instead of separate namesPlain textNot applicableStored for safe rows when the executed mapping uses Full name.Builds the contact display name instead of separate first and last columns.
CompanyOptionalCompany name associated with the contactPlain textNot applicableStored for safe rows when Import safe rows succeeds.Adds company context used for contact organization and later company matching.
TitleOptionalJob title or rolePlain textNot applicableStored for safe rows when Import safe rows succeeds.Adds professional role context to the contact workspace.
PhoneOptionalPrimary phone numberPhone number accepted by the import previewNot applicableStored for safe rows when Import safe rows succeeds.Provides the contact’s primary calling number.
Lead typeOptionalBuyer, Tenant Rep, Seller, Landlord, Investor, or OtherSupported lead-type labelNot applicableStored for safe rows when Import safe rows succeeds.Classifies the contact and controls which requirement panel can appear.
Do not emailRecommendedProvider unsubscribe or opt-out evidenceSource opt-out value recognized by the import previewNot applicableCommitted for safe rows when Import safe rows succeeds; import undo does not remove the resulting suppression.Creates a company Email Blast suppression that protects future hosted audiences.

Required means the field is needed to complete or support this workflow. Some screens allow a draft to save before every required item is complete. The steps and troubleshooting call out controls the product actively blocks.

Tags are not an import mapping target

A source preset may recognize a provider whose export contains tag columns, but the current CRM mapping screen does not import tags. Add tags after import using supported CRM controls.

  1. 1

    Review suggested mappings

    Import > Map

    Compare every CREBuilder field, selected source column, and sample value.

    Expected result: Only intended columns are mapped and Email is selected.

    If this does not happen: Use Skip this field for unsupported or ambiguous columns. Do not map a tag column into another field.

  2. 2

    Choose a name strategy

    Import > Map

    Map Full name, or map First name and Last name.

    Expected result: The alternative name mapping is cleared automatically.

    If this does not happen: If source names are inconsistent, keep the raw file and test a small batch first.

  3. 3

    Create the preview

    Import > Map > Preview changes

    Select Preview changes after the mapping is final.

    Expected result: The server creates a preview bound to this file, mapping, user, company, scope, and row set.

    If this does not happen: If the file, mapping, permissions, or rows change, create a new preview. Do not try to execute a stale batch.

Validate the safe preview outcomes

Demonstrate file selection, mapping, preview, and commit as one controlled sequence.

Short animated UI capture. No audio.

Each import stage appears in order without silently committing early.

Preview before any CRM contact changes

Create, Enrich, and Match are eligible to commit. Every unresolved outcome stays outside CRM for the separate recovery workflow.

  • CSV rowCreate, Enrich, or Matchsafe result
  • CSV rowUnresolved rowneeds recovery
Validate the safe preview outcomes
Safe outcomeMeaningCommit behavior
CreateA permitted new canonical contact can be made.Creates the contact.
EnrichA permitted existing contact has blank supported fields.Fills blanks only. It does not overwrite populated values.
MatchThe row resolves to an existing contact without a safe field change.Records safe source identity as applicable without duplicating the person.
  1. 1

    Review totals and opt-outs

    Import > Preview

    Compare Create, Enrich, Match, unresolved, and provider opt-out counts with the source file.

    Expected result: The safe commit size and held-row count are understood before execution.

    If this does not happen: If counts are surprising, return to Map or repair the source file. Preview again after every change.

  2. 2

    Inspect safe rows

    Import > Preview > Create, Enrich, and Match filters

    Review representative and high-value rows in each safe outcome.

    Expected result: New people, blank-field enrichment, and existing matches are intentional.

    If this does not happen: If identity or ownership is uncertain, do not commit yet. Return to the source and preview again.

  3. 3

    Open the recovery guide for unresolved rows

    Import > Preview > unresolved summary

    Open the Resolve CRM import conflicts and safely undo a batch guide.

    Expected result: The separate recovery workflow opens for the held rows.

    If this does not happen: Do not alter identifiers or mappings merely to force a held row into Create.

Commit the reviewed safe rows

Show the committed, skipped, quarantined, and duplicate outcomes after import.
Import outcome counts and the next recovery action are visible.
  1. 1

    Confirm the preview is current

    Import > Preview

    Verify filename, source preset, mapping, outcome totals, opt-out count, and unresolved count.

    Expected result: The preview still represents the exact file and mapping you intend to commit.

    If this does not happen: If anything changed, return to Map and create a new preview.

  2. 2

    Commit safe rows

    Import > Preview > Import safe rows

    Select Import safe rows once every safe outcome group is reviewed.

    Expected result: Safe contact, source-map, result, and suppression changes commit together; unresolved rows stay out.

    If this does not happen: If commit fails, the UI states that no contacts changed. Preserve the file and create a fresh preview before retrying.

  3. 3

    Verify the result summary

    Import > Results

    Compare Created, Enriched, Matched, and unresolved totals with the preview.

    Expected result: The executed totals match the reviewed plan.

    If this does not happen: If the totals differ, stop and use the import recovery article before another batch.

  4. 4

    Spot-check canonical contacts

    CRM > Contacts > People

    Open representative contacts from the executed batch.

    Expected result: The created or enriched records match the reviewed outcome.

    If this does not happen: If a contact differs or unresolved rows remain, use the import recovery article before another batch.

Import is not marketing consent

A contact import creates or enriches CRM data. It does not prove permission for a hosted Email Blast. Imported provider opt-outs become company suppressions.

Resolve import failures without losing evidence

Show quarantined or conflicting rows and the correction-file action.
Conflict details and the correction-file entry point are visible.
Show corrected rows accepted without undoing unrelated successful imports.
Corrected rows are accepted and prior successful rows remain.
The file will not open

Likely cause: It lacks a header/data row, has duplicate or blank headers, contains an unclosed quote, or exceeds limits.

  1. Read the exact error.
  2. Repair the local CSV or use the generic template.
  3. Keep within 10 MB and 50,000 rows.
  4. Upload the repaired file as a new preview.
An existing contact was not overwritten

Likely cause: Enrichment intentionally fills blank fields only and respects ownership.

  1. Open the canonical contact.
  2. Compare current and source values.
  3. Edit manually if authorized and the new value is correct.
  4. Do not alter the source ID to force a new person.
The preview expired or no longer matches

Likely cause: The file, mapping, rows, user, company, scope, or permission context changed.

  1. Return to Map.
  2. Review the current mapping.
  3. Create a new preview.
  4. Commit only that new batch.

Final verification

  • Import > Preview: The preview still represents the exact file and mapping you intend to commit.
  • Import > Preview > Import safe rows: Safe contact, source-map, result, and suppression changes commit together; unresolved rows stay out.
  • Import > Results: The executed totals match the reviewed plan.
  • CRM > Contacts > People: The created or enriched records match the reviewed outcome.
  • No blocking warning, failed status, or unresolved validation message remains in the completed workflow.

Was this guide helpful?