Import your data

Import your contacts from any spreadsheet or CRM export, as a CSV

To import contacts into a CRM, save your list as a CSV, match each column to a field and check the preview. Nothing is saved until you click Import.

Start free

Free plan. No card.

  • Zyflow finds the record you already have, by email, phone or exact name.
  • Any unclear row is skipped and listed by its row number for you to check.
  • One click undoes the whole file.1

Zyflow is a lightweight small-business CRM your AI app keeps up to date (Claude, Cursor, ChatGPT Business, any MCP app). Every AI change is labeled. Bring your list in once, from a spreadsheet, Google Contacts or another CRM. After that, your AI keeps it current as you talk.

A glass file, contacts.csv, tipping into a list of contacts: 1,240 rows, 0 duplicates

What you can import

You can import people and companies into Zyflow from any CSV, one file for each. Save it from Excel, Google Sheets or Numbers, or export it from Google Contacts or another CRM. That’s how you import a spreadsheet into a CRM without retyping a row.

Fields you can import
People Companies
Full name, or First name and Last name Company name and Legal name
Job title, Company, 2 emails, 2 phones and WhatsApp Website, Industry, Email and Phone
Lifecycle, Source and Tags Lifecycle, Source and Tags
Address, City, State, Postal code and Country Address, City, State, Postal code and Country
Birthday and Anniversary Tax ID (such as a VAT number or EIN), Payment terms and Credit limit
Notes (saved as a note) Notes (saved as a note)

Zyflow maps common headers such as Full name, Email, Mobile, Company, Status and Tags for you. You match any other column in the preview.

Before you import: a quick checklist

  • One header row, then one person or company per row. Include an email or phone column if you have one, because Zyflow matches on those first.
  • Save as CSV UTF-8, so names like José and Zoë stay intact.
  • Split files over 10 MB or 50,000 rows.
  • Use two-letter country codes (US, GB, DE). Zyflow keeps only the first two letters of the Country column, so “Germany” would become GE, the code for Georgia.
  • Give phone numbers from other countries their country code (+44, +49). Numbers without one are read as being in your workspace’s country.
  • Write birthdays like 15 Aug. Numeric dates like 04/03 are read day-first, or month-first in a US workspace.
  • Import companies first, so each person links to the full company record.

How to import contacts into a CRM from a CSV

Save your list as a CSV, upload it, match each column to a field, then run the import. In Zyflow that’s six steps, and nothing is saved until the last one.

  1. Save your sheet as a CSV (see below for Excel, Google Sheets and Numbers).

  2. In Zyflow, open Settings > Import and export, and choose People or Companies.

  3. Drop the file in. You see each column header with sample values, and the row count.

  4. Check the guessed column mapping. Change any column or set it to “Don’t import”. Map at least a name, email or phone.

  5. Optional: tag everyone in the file, and choose a lifecycle for rows without one.

  6. Click Import (it reads “Import 1,400 people”). The import runs in the background with live counts, then shows what was added, updated and skipped, and lists each unclear or failed row by number.

What your columns turn into:

  • Status or Stage words become lifecycles: client, active or paid become Customer; new, inquiry, cold, warm or hot become Lead; supplier becomes Vendor; former, inactive or lost become Past customer.
  • Tags split on commas, semicolons or pipes, and a Notes column becomes one note on each record.

Importing for a client, or from a script

The REST API takes the same CSV at POST /api/v1/imports. Leave out the mapping and Zyflow guesses it from the headers. The import runs in the background, with the same matching and one undo.

How Zyflow avoids duplicate contacts on import

Before adding a row, Zyflow looks for the record you already have. For people, it checks the email, then the phone or WhatsApp number, then the exact name. An email or phone counts only when the names agree. If a row could belong to more than one record, Zyflow skips it and lists its row number, so you can fix it yourself.

How Zyflow finds the record you already have
Check People Companies
1st Email, when the names agree Website domain, or the domain of a work email
2nd Phone or WhatsApp number, when the names agree Phone
3rd Exact name, unless the person you have works at a different company Email
4th (none) Exact name, ignoring endings such as Inc, Ltd and GmbH

What happens next:

  • Filled-in cells update the record, new emails, phones and tags are added, and empty cells change nothing. A matched person keeps their name.
  • Rows that match more than one record, or whose email or phone belongs to someone with a different name, are skipped and listed.
  • Rows with no name, email or phone, or with nothing new, are skipped and counted but not listed.

A worked example: 5 rows, 5 outcomes

Your workspace has Maya Chen at Northwind (maya@northwind.example) and Sam Ortiz at Halden. You import:

A worked example: 5 rows, 5 outcomes
Row In the sheet What Zyflow does
2 Maya Chen · maya@northwind.example · +1 202 555 0143 Updated: found by email, phone added
3 Sam Ortiz · Halden · Creative director Updated: exact name at the same company, job title added
4 Sam Ortiz · Kestrel Added: the same name at another company is someone else. Kestrel is added as a company
5 Sam Lee · maya@northwind.example Skipped and listed: that email is Maya Chen’s, and the names don’t agree
6 Lisbon (a city, nothing else) Skipped and counted: no name, email or phone

Result: 1 added · 2 updated · 2 skipped, using 2 new records (Sam Ortiz at Kestrel, and Kestrel).3

near-matches such as Sam Ortiz and Samuel Ortiz come in as two people, and the import doesn’t flag them. After the import, your AI can find them for you. An email or phone counts as a match when the names share one word, so Sam Lee on Sam Ortiz’s number would update Sam Ortiz. Check rows where two people share an office line.

The same matching runs whenever your AI saves to your customer database.

Undo the whole import in one click1

The whole file is one change. Undo removes the records the import added and puts back the ones it updated, keeping any field someone has edited since. Use it when a column was mapped wrong or you imported last year’s file by mistake.

  • Companies added from a Company column, and imported notes, are undone with it.
  • You’ll find Undo on the result (“Undo this import”), in Past imports and in History’s Imports tab.
  • Imported records show “CSV import” as their source, so you can tell them apart from what your AI adds.
  • You can leave the page while it runs. An email tells you when it’s done, and any open Zyflow tab shows when the import has finished.
Start free

Free plan. No card.

CSV import limits

Zyflow imports contact details, not history, from CSV files of up to 50,000 rows and 10 MB. Deals, past activities, follow-ups and files stay in the old tool.

CSV import limits
What Limit
File type CSV only. Save .xlsx, .xls, Numbers or vCard files as CSV first
Size Up to 50,000 rows and 10 MB per file
Each file People or companies, not both
Not imported Deals, past activities, follow-ups, files and custom fields
Other CRMs No direct connection. Export a CSV, then import it
Rows listed The first 200 rows that were skipped as unclear or failed
Records 5,000 on Free, 10,000 on Solo, 50,000 on Team and 250,000 on Pro, counted across contacts, companies and deals 3

A Company column adds companies too, so a 2,000-row sheet naming 600 companies uses 2,600 records. Past your limit, rows that would add a record are listed as failed, and updates to records you already have still go through.

If you need email history or deal stages moved from another CRM, Zyflow isn’t the right fit yet. HubSpot and Pipedrive read Excel files directly. They and Attio also take bigger files, from 20 MB on HubSpot Free to 100 MB on Attio. Attio also offers free migration from more than 40 CRMs (vendor help pages, checked Oct 3, 2026).

Export your contacts from another CRM or app

Switching CRMs? Export people and companies as separate CSV files, import companies first, and keep the old tool running until the import looks right. Column names differ between tools, so check the mapping in the preview. If you’re still deciding, read our dated CRM comparisons.

From Excel, Google Sheets or Numbers

  • Excel: File > Save As, then CSV UTF-8 (Comma delimited). The plain CSV option can turn accented letters into symbols.
  • Google Sheets: File > Download > Comma-separated values (.csv). It saves the sheet you have open.
  • Numbers: File > Export To > CSV.

From HubSpot

Go to CRM > Contacts, click Export and choose CSV. Under Customize, pick “All properties on records”. HubSpot emails a download link that expires after 30 days. Repeat for Companies.

HubSpot’s export guide

Last checked against HubSpot on Oct 3, 2026. Spot an error? Tell us.

From Pipedrive

You need global admin rights or the export permission. Open the account menu, then Tools and apps > Export data. Choose People and CSV, click Export, and download the file from Generated exports within 28 days. Repeat for Organizations.

Pipedrive’s export guide

Last checked against Pipedrive on Oct 3, 2026. Spot an error? Tell us.

From Attio

Show the columns you want in your People view (click Save for everyone if it’s filtered), then choose Import / Export > Export view as CSV. Repeat for Companies. Enriched fields export as blank cells.

Attio’s export guide

Last checked against Attio on Oct 3, 2026. Spot an error? Tell us.

From folk

In folk, you export one group at a time: open the group, click the three dots at the top right and choose Export view as CSV. You get a zip with a contacts file and a notes file. Import the contacts file.

folk’s export guide

Last checked against folk on Oct 3, 2026. Spot an error? Tell us.

From Notion

Click ••• at the top right of the database, then Export > Markdown & CSV. The CSV in the zip holds one view, the current or default one. Columns named Name, Email and Company map by themselves.

Notion’s export guide

Last checked against Notion on Oct 3, 2026. Spot an error? Tell us.

From Google Contacts

Select any contact, then Selection actions > All. Click More actions > Export and choose Google CSV, not vCard, which Zyflow can’t read. In the preview, check the email and phone mapping, and set Labels to “Don’t import”.

Google’s export guide

Last checked against Google Contacts on Oct 3, 2026. Spot an error? Tell us.

After the import, your AI keeps it current

Once your list is in, connect the AI app you already use: Claude, ChatGPT2, Cursor or any MCP app. They all read the same records, so you can ask about a customer right away.

Try these:

  • What do we know about Northwind?
  • Find possible duplicates in the contacts I just imported and show them side by side.
  • Maya at Northwind has an open deal for $4,800. Add it.
  • Your AI is told to merge only the pairs you confirm, and one undo puts a merge back.1 Apps that show MCP prompts also offer “Find duplicate customers”. Merges don’t move linked files or documents.
  • Deals and past activities didn’t come in with the CSV, so your AI adds them when you mention them, each as a labeled change with an Undo.1

Export your data any time

On every plan, you can export your records, documents and history as six CSV files or one JSON file.4 The export buttons are on the same Settings > Import and export page you import from.

Glass CSV and JSON tiles with arrows flowing in and out of a glass database

One owner on r/smallbusiness called a hard exit a warning sign. We agree. On every plan, one click downloads your records, documents and history as one JSON file.4

Questions about importing contacts

How do I import contacts into a CRM?

Save your list as a CSV, upload it and match each column to a field. In Zyflow, open Settings > Import and export, choose People or Companies, check the guessed mapping against the sample values, and click Import. Zyflow updates the records you already have and lists any row it won’t guess, by row number.

How do I avoid duplicates when importing contacts?

Include an email or phone column. Zyflow updates the person you already have when the email or phone matches and the names agree, or when the exact name matches and they aren’t at a different company. A row that could belong to more than one record is skipped and listed, so you can fix it before it turns into a duplicate.

Can I undo a CRM import?

In Zyflow, yes. The whole file is one change, so “Undo this import” removes the records it added and puts back the ones it updated, keeping fields someone has edited since. It works within your plan’s history window: 30 days on Free.1 For comparison, Pipedrive lets global admins revert an import within 48 hours (Pipedrive help center, checked Oct 3, 2026).

How many contacts can I import?

Up to 50,000 rows and 10 MB per file, within your plan’s record limit. On Free that’s 5,000 contacts, companies and deals together.3 A Company column also adds those companies, so a sheet can use more records than it has rows.

Can I import an Excel file, or straight from HubSpot or Pipedrive?

Not directly. Zyflow reads CSV files only and has no built-in connection to other CRMs. Save Excel files as CSV UTF-8, export people and companies from the other CRM as CSV files, then import each one, companies first. Deals and past activities don’t import, so your AI adds open deals when you mention them.

Will my AI see the contacts I import?

Yes. Every AI app you connect reads the same records, so Claude or Cursor can answer “What do we know about Northwind?” right after the import. Imported changes are labeled “CSV import” in History, not with an AI app’s name. Every member, and every member’s AI, can see and edit every customer. There are no per-person permissions yet.

  1. 1 Undo works within your plan’s history window: 30 days on Free, up to 3 years on paid plans. Deleted items can be restored for 30 days on every plan. Settings changes, such as pipelines, custom fields and tag renames, are logged but can’t be undone. ↩
  2. 2 Writing to Zyflow from ChatGPT needs developer mode on a ChatGPT Business, Enterprise or Edu plan. It’s in beta, on the web, and an admin switches it on. Claude works on every plan. Checked October 2026. ↩
  3. 3 Records are contacts, companies and deals. Notes, calls, memories, follow-ups, files, invoices and quotes don’t count, and neither does anything in the trash. Importing contacts with a company column also creates those companies, so a sheet can use more records than it has rows. ↩
  4. 4 Export gives you six CSV files, or one JSON file with your records, documents, change history (up to 100,000 changes) and links to every file. File contents download separately from Files. ↩

Last updated Oct 3, 2026

Your AI talks. Zyflow remembers.

Tell your AI what happened. Zyflow keeps the record.

If your AI gets something wrong, undo it.1 If Zyflow isn’t for you, export your records, documents and history.4

Start free

Free plan. No card. Connect your AI in about two minutes.