Import Contacts via CSV
Bring your existing book of business into Policy Stack with a guided three-step CSV import wizard. Whether you're migrating from another CRM or uploading a client spreadsheet, the import flow handles column mapping, duplicate detection, and data validation so your contact list is clean from the start.
Supported Formats
Policy Stack accepts CSV files from several common sources:
| Source | Notes | |--------|-------| | Blank template | Download from the import screen — includes all supported columns | | Wealthbox export | Standard Wealthbox contact CSV layout | | Redtail export | Standard Redtail contact CSV layout | | Custom CSV | Any UTF-8 CSV with header row |
For the smoothest import, download Policy Stack's blank template first, paste your data into it, and upload. This skips the column-mapping step entirely.
File Requirements
- Format: UTF-8 encoded CSV with a header row
- Maximum file size: 10 MB
- Maximum rows: 5,000 contacts per import
- Required column: At least one of email address or full name
Step 1 — Upload
Navigate to Clients > Import and drag your CSV file onto the upload area, or click to browse. Policy Stack validates the file format and row count before proceeding.
Step 2 — Map Columns
Policy Stack auto-maps columns when it recognizes header names from Wealthbox, Redtail, or the blank template. For custom CSVs, you'll see a mapping screen where each column in your file can be matched to a Policy Stack contact field. Unmapped columns are skipped — no data is lost from your file, but unmapped fields won't be imported.
Available target fields include: first name, last name, email, phone, stage, tags, and notes.
Step 3 — Review and Dedupe
Before the import runs, you'll see a summary of how many contacts will be created and whether any duplicates were detected. Duplicates are matched on email address.
Choose a duplicate-handling strategy:
| Strategy | Behavior | |----------|----------| | Skip | Existing contacts are left unchanged; only new contacts are created | | Update | Existing contacts are updated with the incoming data; new contacts are created | | Create | All rows are imported as new contacts regardless of duplicates |
After Import
Once the import completes, you'll see a results summary showing created, updated, and skipped counts. All imported contacts appear immediately in your client list.
Every import has a 24-hour revert window. If something looks wrong, open Clients > Import History and click Revert next to the import. All contacts created or updated by that import will be rolled back to their prior state.
Troubleshooting
- File rejected: Confirm the file is UTF-8 CSV, under 10 MB, and has fewer than 5,000 rows.
- Columns not auto-mapped: Your CSV header names may not match the expected format. Map them manually in Step 2 or use the blank template.
- Unexpected duplicates: Deduplication matches on email address only. Contacts without email addresses are always treated as new.