Import Contacts from CSV and Map Columns Correctly
Upload a CSV of contacts into Revamp365, match each column to the right CRM field, choose how duplicates are handled, and confirm the import row by row.
Open the import wizard
Go to Contacts CRM and click Upload Contacts in the top-right corner, next to + Add Contact. The wizard opens on Step 1 of 5: Upload and moves through Upload, Map Fields, Settings, Processing, and Results. Every step before Start Import is a dry run — you can close the wizard and return to a pending import at any time. Want the bird's-eye view of all four ways to get people into your CRM first? See adding and importing contacts.
What files the importer accepts
The wizard reads a comma-delimited CSV or TXT file up to 100 MB. A few rules keep an upload from bouncing: The first row must be a header row — column names like First Name, Email, and Phone — so the wizard knows what each column holds. Columns must be comma-separated. Files that use semicolons, tabs, or pipes are rejected, but the AI cleanup can convert them for you. The file must be plain, unencrypted text. Password-protected or corrupt exports cannot be read. If you do not have a file ready, click Download Template to get a sample CSV with every supported column already in the header row. Excel, Numbers, and Google Sheets can all export to CSV — an .xlsx workbook has to be saved as CSV first. Drag your file onto the drop zone or click Choose file, then click Upload File. Revamp365 reads your header row and the first few rows so it can suggest a mapping for each column.
Map your columns
On the Map Fields step, every column from your file gets its own row with a few sample values and a Map to dropdown. Columns Revamp365 recognizes are tagged Auto matched — always double-check them, because a wrong guess writes data to the wrong field. Targets are grouped so they are easy to find: Contact Info — email, phone, full name (or separate first and last name), plus Additional Emails and Additional Phones for people who have more than one. Address – Mailing and Address – Property — map one full-address column to have it parsed into street, city, state, and ZIP, or map the parts individually. Mailing is where the owner receives mail; Property is the subject property. Lead Management — lead status, temperature, source, objective (deal strategy), next steps, and lead manager (matched to a teammate by their email). Organization — company, external ID, and email type. Tags and Categories — tags, lists, automation lists, counties, ZIP codes, and more; these accept several comma-separated values in a single cell. Custom Fields — any custom fields you have created appear here. Notes — writes the cell into a contact note instead of a plain field. Set any column you do not want to import to Skip. You must map at least an email or a phone column before you can continue, and no two columns can point at the same field. A Live preview of the first few rows updates as you map, so you can confirm the data lands where you expect. For a deeper look at reading that preview, see preview and validate a CSV import before committing.
Choose how duplicates are handled
On the Settings step, pick an import mode: Create and update — add new contacts and update any that already match. Update only — only update existing matches, and skip everything else. Create only — add new contacts and skip rows that already match. Then choose which fields decide a match — Email, Phone, or External ID. Matching on email and phone is what keeps a re-imported list from piling up duplicates: the same person updates in place instead of doubling. If you pick any mode other than Create only, you must select at least one dedup field before the import can start.
Apply defaults to the whole file
Still on Settings, you can stamp every row in the file with the same values: Default tags and Default lists — comma-separated; handy for marking the whole batch as one campaign, source, or list. Default objective — the deal strategy applied to each imported contact (AI may refine it later). Default next steps — a tactical plan written onto each contact and marked as manually edited. If you also mapped a column to Objective or Next Steps, that column wins and the matching default is ignored, so you never end up with conflicting values.
Start the import and read the results
Click Start Import. This is the only step that writes to your CRM. The Processing screen shows live progress with running counts of created, updated, skipped, and errors, refreshing every couple of seconds. Large files run in the background, so you can close the wizard and keep working — when it finishes you get a notification in the bell menu and an email, and reopening the wizard drops you back on the results. When it finishes you get a summary. If any rows had problems, click Download Error Report for a CSV listing the row number, the error message, and the original data, so you can fix and re-import just those rows. Click View Imported Contacts to see them in your list. If progress sits at zero for more than a few seconds, the background queue worker may not be running — ask your admin to start it.
Clean up a messy file with AI
If your export has odd delimiters, merged columns, junk rows, or inconsistent casing, click Messy file? Let AI clean it up for you on the upload step. Drop the file, tell it in plain English what to fix — "dedupe by name", "strip the +4 off the ZIP", "merge the two phone columns" — and tick the box to confirm you understand the file is processed by our AI provider. The cleanup shows a before / after preview so you can see exactly what changed, along with the estimated AI usage cost for that run before you commit to it. Only a small sample of rows is ever shown to the model to infer the cleanup plan; that plan is then applied to every row. Keep refining with more instructions until it looks right, then choose Use this cleaned file to drop straight into the mapping step. AI cleanup handles files up to 100 MB and 20,000 rows. Rows it cannot safely place — duplicates or rows with no contact info — are set aside, and you can download them for review after cleaning.
Fix a rejected file automatically
If a normal upload is rejected for a fixable reason — a missing header row or the wrong delimiter — the error card offers Fix this file with AI. It detects the problem, prepares a corrected CSV, and shows you a preview with a short note on what it changed. Review it, then choose Use repaired file to load the corrected version, or Keep original to back out. This is the quickest path when a file is "almost right" and you would rather not re-export it from scratch.
Preview safely before anything is written
Uploading never touches your contacts. The Upload, Map Fields, and Settings steps are a full dry run — the import is created with a pending status and writes zero contacts until you click Start Import. To validate a file and walk away, upload it, inspect the preview, then find it under Recent imports on Step 1 and click the trash icon; any still-pending import deletes along with its stored file. Stale pending uploads are cleaned up automatically after a day. The complete walkthrough is in preview and validate a CSV import before committing.
Troubleshooting uploads
Most upload problems come with a plain-English message and a suggested fix right in the wizard. Here is what the common ones mean and how to clear them: Message or symptom What it means How to fix This file is larger than the 100 MB limit The file is over the import size cap Split it into smaller CSVs or remove unused columns, then re-export This does not look like a CSV or TXT file The file is not a .csv or .txt (often an .xlsx) Open it in Excel, Numbers, or Google Sheets and export as CSV The file did not finish uploading The server rejected it before reading — usually a server upload limit or a dropped connection Confirm it is under 100 MB, close it if it is open elsewhere, and retry on a stable network The file is missing a header row The first row is data, not column names Add a header row, or start from the downloaded template This file uses a different separator The file is semicolon-, tab-, or pipe-delimited Re-export as comma-delimited, or use the AI repair option to convert it The uploaded file could not be read The file is encrypted, password-protected, or corrupt Export a fresh, unprotected CSV and upload again Too many upload attempts Several files were uploaded in quick succession Wait about a minute, then try again The upload could not reach the server Your connection dropped mid-upload Check your connection and retry, ideally on a stable network Processing stays at 0% The background queue worker is not running Ask your admin to start the import worker
Frequently asked questions
Does uploading a file change my contacts right away? No. Nothing is created or updated until you click Start Import — every step before that is a preview. Will re-importing an updated list create duplicates? Not if you keep a dedup field (email or phone) selected. Matching rows update in place instead of creating a second record. Can I undo an import? There is no one-click undo. Before starting, you can delete a pending import from Recent imports. After an import runs, correct the data and re-import, or clean up overlaps with find and merge duplicate contacts. Can I upload an Excel workbook? Not directly — save the sheet as a CSV first, then upload the .csv. How do I import someone with more than one phone or email? Map the extra columns to Additional Phones or Additional Emails; each holds several values per contact. Can I map one column that holds a whole address? Yes. Map it to Full Mailing Address or Full Property Address and the wizard splits it into street, city, state, and ZIP. What is the difference between mailing and property address? Mailing is where the owner receives mail; property is the subject property you are working. Map whichever your file has — or both. How large a file can I import? Up to 100 MB through the standard importer. AI cleanup also handles up to 100 MB and 20,000 rows. Can I tag or list everyone in the file at once? Yes — use Default tags and Default lists on the Settings step. Some rows failed — how do I fix just those? Download the Error Report, correct the flagged rows using the row number and error message, and re-import that smaller file. Is my file sent to an AI? Only if you choose AI cleanup or AI repair, and only a small sample of rows is shown to the model. You confirm consent before it runs. Once your contacts are in, set a lead status and temperature, organize them with tags, saved views, filters, and lists, and clear overlaps with find and merge duplicate contacts.