The 60-second version
Importing is a short, three-step wizard. You can stop reading after this and get a clean import — the rest of the guide is for when you want to understand exactly what each choice does.
- Upload file — drag your CSV in (or browse), then pick an import mode.
- Map columns — tell Exabloom which spreadsheet column is the name, which is the phone number, and so on. It guesses for you; you fix the rest.
- Confirm details — give the import a name and press Submit. It runs in the background.
Choose an import mode
This is the one choice that changes what actually happens to your data, so it’s worth getting right. After you upload a file, an Import mode dropdown appears. Exabloom matches rows to existing contacts by phone number, then the mode decides what to do with each match.
The default. New phone numbers become new contacts; numbers you already have get their details refreshed from the file.
Only adds people you don’t already have. Rows whose phone number already exists are left untouched.
Only edits people you already have. Rows with a phone number that isn’t in your contacts yet are skipped.
Prepare your spreadsheet
A few minutes tidying the file beforehand saves you a messy results screen later. The import reads a plain .CSV — other formats aren’t accepted — with one row of headers at the top and one contact per row after that.
- One header row. The first row should be column titles (Name, Mobile, Email…), not a real person. Clear, distinct titles also help the auto-mapper guess correctly.
- Phone numbers in full. Always include the country code — +65 8123 4567, not 8123 4567. This is how a contact links up across WhatsApp and your other channels.
- No duplicate numbers. Two rows with the same phone number can’t both become the same contact — remove repeats before uploading.
- Dates in a consistent format. If you’re importing into a date or time custom field, keep one format throughout (e.g. DD/MM/YYYY) — you’ll tell Exabloom which one during mapping.
Map your columns
Mapping is where your spreadsheet’s columns get matched to Exabloom’s contact attributes. Each row of the table is one column from your file: its name on the left, a couple of sample values from your data in the middle, and the attribute it will fill on the right.
Parent Name
Mei Ling
Arjun
Mobile
+65 8123 4567
+65 9876 5432
Must include country code + national number
Notes
Trial booked
Referred by Jane
When you upload, Exabloom auto-maps columns whose header matches a known attribute — a “Mobile” or “Phone” column lands on Phone No. without you lifting a finger. Anything it can’t place is set to ⊘ Skipped, so a stray column never imports by accident. Check its guesses and adjust.
The attributes you can map to
These built-in contact attributes are always available. Map a column to as many as apply — but each attribute can only be used once per import (pick it for one column and it greys out for the rest).
Your own fields, and date formats
- Custom fields you’ve created show up in the same dropdown. Need one that doesn’t exist yet? Click New Custom Field at the bottom of the list to create it without leaving the import.
- Date and time fields show an extra format picker once you map them — choose the layout your file uses (like DD/MM/YYYY) so the values are read correctly. There’s a custom option for unusual patterns.
- Skip what you don’t need. Leaving a column on ⊘ Skipped simply ignores it — the data isn’t imported, but your file is untouched.
Name it and run
The last step is a quick sanity check. You’ll see how many contacts are about to import and how many columns you mapped, plus an Import name field.
Give it something you’ll recognise later — “March newsletter leads” beats “import 7” — because that’s the name you’ll scan for on the Bulk Actions page when you check how it went. Press Submit and you’ll get an Import scheduled! confirmation: contacts process in the background, and large files may take a few minutes.
Read the results
Every import is logged on the Bulk Actions page. Find your import by name, open its ⋮ menu, and choose Show stats to see how it landed.
Total
1,000
Processed
940
94%
Unprocessed
60
6%
Want the full breakdown?
Download Report (.csv)- Processed — contacts created or updated, depending on your import mode. Your total contact count only grows by the genuinely new ones.
- Unprocessed — rows that were skipped: invalid data, an import-mode mismatch, or a duplicate phone number within the file.
To see exactly which rows didn’t make it and why, click Download Report (.csv) in that dialog (or Download import report from the same ⋮ menu). The report lists every row with its outcome, so you can fix the rejects in your sheet and re-import just those.
Why a row doesn’t import
A non-zero Unprocessed count is normal and usually harmless. The three reasons a row gets skipped:
Setups to copy
Three common jobs and the mode that fits each. Map First Name and Phone No. in every case — the rest is up to you.
Map First Name and Phone No., add a Tags column like spring-campaign so you can find them later, and Skip anything you don’t need yet.
Upload the whole sheet — people you already have are left exactly as they are, and only the genuinely new numbers get added.
Export your contacts, fix the columns in a spreadsheet, then re-import. Match on Phone No. and only the mapped columns are overwritten — unmapped fields stay as they were.
Good to know & pitfalls
- Nothing is saved until you press Submit. Uploading and mapping all happen in the dialog — close it before submitting and no contacts are touched.
- First Name and Phone No. are mandatory. You can’t move past mapping until a column is matched to each. Everything else is optional.
- Phone numbers need a country code. Store them in full international form (for Singapore, +65…) so they match across WhatsApp and your other channels.
- Big imports run in the background. After you submit, contacts are processed in batches — large files can take a few minutes. You don’t have to wait on the dialog.
- De-duplicate before uploading. Repeated phone numbers within one file are skipped, which inflates the Unprocessed count for no real reason.
Migrating from another tool?
Our Singapore-based team can help you clean up an export and get your contacts imported correctly during onboarding — just reach out.