Import contacts by CSV: mapping, dedupe, verification
If you're bringing contacts in from a spreadsheet — a trade show list, a partner's referral sheet, an export from another tool — the import wizard maps your columns to Current's fields, checks for duplicates, and lets you undo the whole batch if something looks wrong. Companies aren't imported separately; they're created or matched automatically from the company name, a website column, or the person's email domain.
Column matching is AI-assisted: when you upload a file, Current reads the header names plus a few sample rows and matches them to its fields — so "Work E-Mail", "Acct Name", or a column in another language still lands in the right place, and confidently matched columns get an AI-matched badge. You always see the full mapping and can change any column before importing; if the AI assist is unavailable, the wizard says so and falls back to keyword matching. Files don't have to be comma-separated, either — semicolon-separated CSVs (the European Excel default) and tab-separated exports are detected and parsed automatically.

Run an import
- 1Open Partners → Contacts and click ImportAnyone with CRM access can run an import — the same button also lives on Sales → Lists as "Import contacts." An Account Executive's imported companies land in their own book automatically; undoing a finished batch stays a manager action, because undo removes contacts.
- 2Upload your CSVCurrent reads the header row and guesses which column is which — email, first/last name, company, phone. Confidently-matched columns are flagged so you can spot-check them fast.
- 3Confirm the mappingFix any column Current guessed wrong. You'll see a live preview of the first few rows mapped to real fields before you commit to anything.
- 4Name the batch or tagGive the import a name — this becomes a tag you can filter by later, so "Spring trade show 2026" stays a distinct group inside your contacts.
- 5Review duplicatesCurrent matches incoming rows against your existing contacts by email. Each row shows what it will do — create, update, tag only, or skip — and you can override any row before running the import.
- 6Run it and check the reportThe import runs in the background with a progress bar. When it finishes you get a batch report, and a one-click Undo if you need to back the whole thing out.
What's required, and what wins on a match
- +You need an email address plus a name or a company on each row — that's the minimum Current (and your PSA, downstream) needs to create a usable contact.
- +If a row matches a contact that's synced from your PSA, the import only adds a tag — it never overwrites a field the PSA owns.
- +If a row matches a contact Current owns outright, the import only fills in blanks — it won't clobber information you already have.
- +Company matching tries the company name first, then a website column, then the email domain. The email domain is matched against the websites you have on file and against the addresses your existing contacts already use, which is what most companies synced from your PSA carry.
- +Personal email domains (gmail, outlook, yahoo and the like) never identify a company. Neither does a domain claimed by two different companies — Current leaves that row to name-matching rather than filing somebody into the wrong account. The review step counts the rows matched by domain so you can see it before committing.
A list in Current is a tag with a name — importing into a named list, and importing with a batch tag, land you in the same place. Once contacts carry a tag, that tag is one of the stackable filters in the audience builder, so an imported list becomes a targetable audience immediately. See "Campaigns and audiences" for how that filter works in the composer.
Do not email: the one list every send checks
Pinned above your lists is Do not email: the one list of addresses every send checks. Addresses land there when a person clicks unsubscribe, when a Resend or Microsoft 365 bounce comes back, when someone marks a message as spam, when verification says an address is invalid, or when you add them. Everyone with CRM access except Partner Viewers can search it and export it as a CSV whose columns are email, reason, source and added_at. Sales leadership and tenant admins can also add an address by hand, upload a CSV, and remove addresses that were added by hand; an entry that came from a person's own click, a bounce, a complaint or a verification is kept for compliance and cannot be removed by anyone.
- +Upload: a .csv with an email column (any other columns are ignored, a header row is optional), up to 5 MB. Addresses are lower-cased and de-duplicated, you see how many are valid, invalid or repeated before anything is written, and the import runs in chunks with a progress bar.
- +Adding takes effect right away: anyone on the uploaded list who is in a sequence leaves it as Unsubscribed, their pending Outreach queue items are cancelled, and a queued marketing campaign send to them is dropped. An invitation that has already gone out is left alone. The toast tells you the counts.
- +Which mail a reason stops: an unsubscribe stops sequences and marketing campaigns only. A bounce, a complaint or an invalid address stops everything, service notices and app notifications included. A service notice (a price change, an outage note) still reaches someone who only opted out of marketing.
Organizing with folders
Lists, Campaigns and Sequences all use folders, and they work the same way on each screen. Once you have more than a screenful, click New folder, name it, then drag rows into it by the handle on the left. Every row's ⋯ menu also has Move to folder if you would rather not drag. A folder is drawn as a card holding its rows, so you can see where one ends and the next begins.
If the folder you want does not exist yet, you do not have to go and make it first. Open the row's ⋯ menu, choose New folder under Move to folder, and type a name: Current creates the folder and files that row into it in one step.
- +Folders are shared with your whole team. A list you file under "Trade shows" is under "Trade shows" for everyone. Which folders you leave open or collapsed is yours alone, and follows you between browsers.
- +There is one level. You cannot put a folder inside a folder.
- +Anything you have not filed sits in Unfiled at the bottom of the screen, so nothing is ever somewhere you cannot find it.
- +Deleting a folder does not delete anything inside it. Whatever was in there moves to Unfiled.
- +Who can organize is who can already manage the row: a sales manager, or the person who created it. That holds on all three screens.
- +Campaign folders cover the working list. The Approvals queue and the Templates shelf stay flat, because both are meant to show you everything at once.
Renaming a list
Open the ⋯ menu on any list row and choose Rename. The name turns into a text field in place: press Enter to save, Escape to leave it alone.
Work a list as leads
A list isn't only an audience to email — you can qualify its people one by one. On Sales → Leads, click "Import from list," pick the list, and choose some or all of its members. They land on the leads board under the Lists source filter, alongside your website and manual leads.
- +Anyone already sitting in the funnel is skipped, shown to you before you commit, and counted in the result — you never quietly create a second lead for the same person.
- +Imported leads arrive unrouted with no response timer, because they are people you chose to work rather than an enquiry waiting on a reply. The clock starts when someone routes one.
- +Nothing is pushed to your PSA. These contacts and their companies are already in your CRM, which is what made them list members in the first place.
- +A dynamic list resolves its filter at import time, so you get who is on it now, not who was on it when you built it.
Full detail on the board, the source filter, and what converting one of these leads does is in "Website leads: intake forms, routing, and SLA timers."
Remove several contacts from a static list at once
Each row on a static list's Members tab has a checkbox. Tick the people you want off the list (the box in the header ticks the whole page you are looking at) and a bar appears above the table with Remove from list. Confirm once and they come off the list together, with an Undo in the toast for a few seconds. Only the membership goes — the contacts stay in your CRM, on any other list, and in any sequence they are enrolled in. The toast reports the number the list actually lost: an Account Executive can only take their own book's contacts off a list, so a mixed selection says how many stayed.
Verifying the addresses you imported
Import doesn't verify email addresses on its own — verification is a separate step you run afterward, from the list. Open the list and choose to verify it; Current estimates the cost before it spends any credits, and only checks addresses that are unverified or haven't been checked in the last six months.
