NexlyFlow
  • Data
  • How it works
  • Contact
  • Compliance
  • FAQ
  • Pricing
Log in Get Started Free
  • Data
  • How it works
  • Contact
  • Compliance
  • FAQ
  • Pricing
Log in Get Started Free
NexlyFlowNexlyFlow
DataHow it worksComplianceFAQPricingHelpContact
Log inStart Free Trial
Privacy PolicyTerms of ServiceRefund PolicyData DeletionSecurityDPAContactHelp Center

Popular:
Help Center / Leads & Contacts / Import contacts from a file

Import contacts from a file (email and WhatsApp)

7 steps · About 10 minutes, plus the import itself

What you will finish with. Your contacts in CRM and WhatsApp Contacts, with each person who has both an email and a mobile number kept as one record.

Who this is for. Anyone bringing in a list from a spreadsheet, another CRM, an event or a sign-up form.

Before you start: a CSV file with up to 100,000 rows. If you want to send WhatsApp marketing to these contacts, know how they agreed to hear from you.

1Prepare your file

Put one person on each row and the column names on the first row. Useful columns: Email, Mobile, First name, Last name, Company, Tags and WhatsApp opt-in (yes or no). Write mobile numbers with the country code, for example +60 12 345 6789; an 8-digit number without a code is read as a Singapore number. In Excel or Google Sheets, save or download the sheet as CSV. Not sure how to lay it out? Open the import window and click Download sample file: it has every recognised column, three example rows and your own attributes.

contacts.csv
contacts.csv – first line holds the column names
Email Mobile First name Company Tags WhatsApp opt-in
anna@acmelogistics.com 9123 4567 Anna Acme Logistics expo-2026 yes
ben@harbourfoods.com.my +60 12 345 6789 Ben Harbour Foods expo-2026 no
sales@brightprint.com 6234 5678 – Bright Print – –
– 8765 4321 Chloe – walk-in yes
✓ Saved as CSV (Comma delimited), one person per row
A file ready to import. Row 1 becomes one person on email and WhatsApp, row 2 uses a Malaysian number with its country code, row 3 has an office landline (email only), row 4 has no email (WhatsApp only).

Why this matters. A row that has both an email and a mobile number becomes one person across email and WhatsApp, so replies on either channel land on the same record.

Expected result. You have a .csv file of up to 100,000 rows and 60 MB.

If it fails. If you only have an .xlsx file, open it and use File → Save as → CSV. If the file is bigger than 100,000 rows or 60 MB, split it into two files and import them one after the other.

2Open the import window

In CRM, click Import. On the WhatsApp side, go to Contacts and click Import contacts. Both open the same window, with four steps shown at the top: Upload, Match columns, List & options and Review.

nexlyflow.com/app
NexlyFlow
Find Leads
CRM
Campaigns
Email Templates
Pipeline
Inbox
Sending Setup
CRM / Contacts
1PageCRM Contacts
2⟶Import
✓ On WhatsApp, the same window opens from Contacts → Import contacts
Where the import starts. One Import handles email and WhatsApp contacts together, for any size of file.

Why this matters. One window handles both channels, so you do not have to import the same list twice.

Expected result. The Import contacts window opens and asks for a file.

If it fails. If you do not see the button, your role may not allow changing contacts. Ask the workspace owner to give you that permission.

3Upload the file

Drag your CSV onto the upload area, or click the area to choose the file. Large files upload in small pieces, so you see the percentage climb.

Why this matters. Uploading in pieces keeps a slow connection from failing on a big file.

Expected result. The window shows how many rows it found, for example 12,480 rows found in contacts.csv.

If it fails. If it says the file has no rows, check that the first line holds the column names and the rows below hold the data. If the upload stops, check your connection and choose the file again.

4Check the columns

Each column in your file is listed with an example value and the field it will fill. Most are matched for you. Fix any that are wrong, and choose Don't import for columns you do not need. Then click Next.

nexlyflow.com/app
NexlyFlow
Find Leads
CRM
Campaigns
Email Templates
Pipeline
Inbox
Sending Setup
Import contacts / Check the columns
1EmailEmail · e.g. anna@acmelogistics.com
2MobileMobile number · e.g. 9123 4567
3First nameFirst name · e.g. Anna
4WhatsApp opt-inWhatsApp opt-in · e.g. yes
5NotesDon't import
6⟶Next
Each column shows an example from your file and the field it will fill. Change any field that is wrong, or pick Don't import to leave a column out.

Why this matters. A column in the wrong field is the most common cause of messy data, for example phone numbers ending up in the company name.

Expected result. Every column you want is matched to the right field, and at least one column is Email or Mobile.

If it fails. If it says a field is chosen for more than one column, change one of them. If it asks for the email or mobile column, match the column that holds them.

5Choose the options

If a contact already exists: keep what you have, or only fill in empty fields. Where did these contacts come from: pick the closest source. You can also add the email contacts to a list, or create a new list right there with + Create a new list, and tag everyone in the file. Lists that update themselves from rules are not shown, because contacts join them automatically when they match. If your file has a WhatsApp opt-in column, tick the box only if these people agreed to receive WhatsApp messages from you, choose the lawful basis (for example Explicit opt-in or Existing customer relationship) and describe how they agreed. Then click Next: review, check the summary of what will happen and click Start import.

nexlyflow.com/app
NexlyFlow
Find Leads
CRM
Campaigns
Email Templates
Pipeline
Inbox
Sending Setup
Import contacts / Options
1Already existsSkip it and keep what you have
2Came fromTrade show or event
3Add to listExpo 2026 visitors
4Tagsexpo-2026
5WhatsApp☑ These contacts agreed to receive WhatsApp messages from us
Lawful basisExplicit opt-in (form, checkbox, reply)
6How they agreedSigned form at our booth, 12 Sep 2026
7⟶Next: review
The options step. The WhatsApp box only appears when your file has an opt-in column, and it asks how the contacts agreed so you have a record.

Why this matters. WhatsApp marketing needs the person's permission. Rows marked yes are subscribed only when you confirm and describe how they agreed; rows marked no are unsubscribed. Without an opt-in column nobody is subscribed to marketing, but you can still reply when they message you.

Expected result. The import starts and the window switches to a progress bar.

If it fails. If it asks you to describe how the contacts agreed, fill in the box, for example Signed form at our booth, 12 Sep 2026.

6Follow the progress

The window shows a progress bar, the rows done and how many minutes are left. You can close it: the import keeps running, and a small card in the bottom-right corner of the CRM and WhatsApp Contacts pages keeps showing the progress. Click Show details on the card to open the window again. As a guide, about 2,000 rows are imported per minute: 10,000 rows take about 5 minutes and 100,000 rows about 50 minutes.

nexlyflow.com/app
NexlyFlow
Find Leads
CRM
Campaigns
Email Templates
Pipeline
Inbox
Sending Setup
Import contacts / Progress
Importing contacts.csv…
34,000 of 100,000 rows · 17 min so far · about 33 min left. You can close this window, the import keeps running.
Importing contacts · 34%

17 min so far · about 33 min left
Show details
Progress inside the window (top) and the small card that stays in the bottom-right corner of the CRM and WhatsApp Contacts pages after you close it (bottom).

Why this matters. You can keep working while a large file imports, and your teammates see that an import is running, so nobody starts the same one twice.

Expected result. The bar moves every few seconds and the minutes left count down.

If it fails. If you need to stop, click Cancel import. Rows already imported stay; you can import the file again later and the contacts already there are skipped.

7Check the results

When the import finishes, the window and the corner card show what happened, and we email you the same summary. The last five imports are listed under Recent imports in the import window. Click Download rows with problems to get every row that could not be imported as it was, with the reason next to it.

nexlyflow.com/app
NexlyFlow
Find Leads
CRM
Campaigns
Email Templates
Pipeline
Inbox
Sending Setup
Import contacts / Results
Import finished
Email contacts added9,840
WhatsApp contacts added7,215
Linked as one person across email and WhatsApp6,030
Landline numbers, no WhatsApp402
Invalid email addresses37
Download rows with problems
✓ We also email you this summary when the import finishes
The results. Every row that could not be imported as it was is in the problem file, with the reason next to it.

Why this matters. Fixing the few rows with problems and importing only those is much faster than guessing what went wrong.

Expected result. The new contacts are in CRM and in WhatsApp Contacts, and people with both an email and a mobile number show as one person.

If it fails. If a number you expected on WhatsApp is missing, check the problem file: Singapore landlines and numbers that are not recognised are not added to WhatsApp.

Undo an import

Imported the wrong file? Open the import window, find the import under Recent imports and click Remove added contacts. You see how many contacts will be removed before anything happens.

What is removed. Only the email and WhatsApp contacts that this import created. Contacts that already existed before the import are never touched.

What is kept. Anyone who has already been emailed or messaged, has a conversation, a task, a booking or a pending send is kept, together with the rest of the same person.

Where they go. Removed contacts go to the recycle bin in CRM and in WhatsApp Contacts, and you can restore them from there.

Who can do it, and until when. Owners and admins can undo any import; a customer-service seat with import permission can undo its own imports. An import can be undone for 30 days after it finishes. Imports made before 20 Sep 2026 cannot be undone this way.

What happens in special cases

The same email appears twice in the file. The first row adds the contact. The second one is counted as already there and nothing is duplicated.

Two people share one company phone number. Both email contacts are added, but they are not merged into one person, because a shared office number does not identify a single person. You can review suggested matches in CRM under Matches to review.

A Singapore landline. The email contact is added, but no WhatsApp contact is made, because WhatsApp only works on mobile numbers.

An email that has unsubscribed before. It is not imported again, so you never email someone who asked you to stop.

An invalid email, an unrecognised number or an empty row. The row goes to the problem file with the reason.

More contacts than your plan allows. Rows beyond your plan's email contact limit go to the problem file. Upgrade your plan and import them again.

← Previous: Find and import leadsNext: Delete and restore contacts →
Still need help?

Tell us what you clicked and what you saw. Contact support – we reply within 1 business hour.

NexlyFlow

NexlyFlow Pte. Ltd.
UEN 202632611H

B2B outreach, built on comprehensive, up-to-date business data.

Product

Lead LibraryContactOutreach EngineComplianceHelp Center

Company

Privacy PolicyTerms of ServiceRefund PolicySecurityDPAEmail: info@nexlyflow.com
© 2026 NexlyFlow Pte. Ltd. All rights reserved.
Contains information from ACRA datasets accessed via data.gov.sg under the Singapore Open Data Licence v1.0. NexlyFlow Pte Ltd is not affiliated with, or endorsed by, ACRA or the Singapore Government.
NexlyFlow

One platform. Every channel. Smarter growth.

Product

  • Features
  • Pricing
  • Integrations
  • Changelog

Solutions

  • B2B SaaS
  • E-commerce
  • Agencies
  • Enterprise

Company

  • About
  • Blog
  • Careers
  • Contact

Nexly AI Lead Generation System

Privacy Policy Terms of Service Refund Policy Security DPA Cookie Policy