SAMIOS
Help Center

Import contacts from a CSV file

Upload a CSV, map each column to a contact field, and bulk-add or update contacts in SAMI OS.

Already have a list of leads in a spreadsheet or another CRM? Export it to a CSV and you can bring everyone into SAMI OS at once, mapping each column to the right field as you go.

Upload and review your CSV

Importing happens under Settings → Imports. You drop a file, review the parsed rows as a spreadsheet, decide what each column becomes, and set a few shared defaults before anything is saved.

  1. Open the Imports tab

    Go to Settings → Imports. You'll see an upload pad for your file.

  2. Drop in your CSV

    Drag a .csv file onto the pad, or click it to browse. SAMI OS parses the file and shows how many rows and columns it found. Picked the wrong file? Use Replace to swap it.

  3. Review rows in the spreadsheet

    Click Review to open the preview. Each column appears with its header and your CSV values underneath. Empty columns are hidden automatically, and a long file shows the first 25 rows — but every row imports.

  4. Map each column

    Under each header is a dropdown. Choose the contact field it should fill — fields are grouped into Identity, Contact methods, Address, Attribution, Assignment, and more. Leave a column on Skip to ignore it.

  5. Set shared defaults

    Below the grid, pick a Stage (New lead, Contacted, Nurturing, Showing, Under contract, Closed, or Lost), an Assigned user, and any Tags (separate multiple tags with commas). These apply to every contact in the import unless a mapped column overrides them.

  6. Import

    Click Import contacts. SAMI OS creates or updates each record and shows a summary when it finishes.

Map columns to fields and custom fields

The dropdown above each column controls exactly where that data lands. Beyond the built-in contact fields, you have two ways to capture data that doesn't have a home yet:

  • Add as custom field — for a skipped column, this one-click button turns the header into a brand-new text custom field. You can rename it in the box that appears.
  • Existing custom field — any custom field you've already created shows up in the dropdown as "Custom field: [name]", so the same column always maps to the same place.

Map a "Source" column to the Source field so every imported contact keeps its lead source for reporting. Mapping a name column to Full name lets SAMI OS split it into first and last name for you.

Validation, duplicates, and the summary

Before you import, SAMI OS validates the mapped values and flags anything that needs attention — an unreadable phone number, an invalid email, a price or date it can't parse, or a contact with no phone (which can't be enrolled in a SAMI Bot until one is added). These appear as warnings per row so you can fix the source file and re-upload, or import anyway.

A row with no email and no phone is matched on name only, so duplicates are harder to catch. Include at least one contact method per row whenever you can.

When the import finishes, you'll see a summary: created, updated, skipped, and failed. Imports aren't only for new people — when an incoming row matches an existing contact by email or phone, SAMI OS updates that record instead of creating a duplicate, so a CSV is also a clean way to enrich contacts you already have. From there, head to Contacts to filter your new arrivals by tag or stage and start working them.

Related articles

Last updated 2026-06-21

Was this helpful?