Import your contacts

If you're moving from another CRM, a spreadsheet, an email tool, or a paper Rolodex, you'll need to get those contacts into Intellivizz CRM. The import wizard handles standard fields (name, email, phone, address) automatically, plus custom fields you've created. This article covers preparing your CSV, the import process, deduplication, and what to do if something goes wrong.

Importing 50,000 contacts is the same effort as importing 50 — maybe 5 extra minutes of processing time. The work is in cleaning the data BEFORE you import. Garbage-in, garbage-out applies brutally here.

Step-by-step

1. Export contacts from your current system

Every CRM and email tool has a contact export. Find yours and export to CSV. Some common locations:

  • HubSpot: Contacts → Actions → Export

  • Salesforce: Setup → Data Export → Schedule Export

  • Mailchimp: Audience → All Contacts → Export Audience

  • Google Contacts: contacts.google.com → Export

  • Outlook: File → Open & Export → Import/Export → Export to CSV

  • Most CRMs: look for a Contacts page with an Export button

2. Clean your CSV before importing

Open your CSV in Excel, Google Sheets, or Numbers. Walk through these passes:

  • Remove duplicate rows (sort by email, eyeball; or use Excel's Remove Duplicates feature)

  • Standardize phone formats: prefer +1xxxxxxxxxx, but Intellivizz auto-normalizes most US/Canada formats

  • Verify email column has actual emails (not full names)

  • Split full-name columns into "First Name" and "Last Name" if needed

  • Remove deceased contacts, former employees, test entries, "DO NOT CONTACT" rows

  • Add a "Source" column noting where these came from (helps you remember context later)

  • Add a "Tags" column with pipe-delimited tags ("client|vip|2024" — we'll map this on import)

WARNING — Verify SMS opt-in status before importing

Importing a contact does NOT automatically grant you legal consent to send them SMS. Under TCPA in the US and CASL in Canada, you need documented prior consent. If your old system tracked opt-in status (a checkbox, a date, a source), preserve that as a custom field during import — then create a Smart List of opted-in contacts only, and use THAT list for any SMS campaigns. Importing 5,000 contacts and immediately blasting them SMS is the fastest way to get your A2P number flagged for spam and your business sued.

TCPA (47 U.S.C. § 227(b)(1)(A)) — Requires "prior express written consent" for automated SMS marketing in the US. Retain consent records for 4+ years.

CASL (S.C. 2010, c. 23) — Canadian Anti-Spam Legislation requires explicit, documented consent for any commercial electronic message.

3. Run a small test import first

122.    Save just 5–10 rows of your CSV as test_import.csv

123.    In Intellivizz CRM, go to Contacts → Import

124.    Upload test_import.csv

125.    Map columns: drag your CSV columns onto matching Intellivizz fields

126.    For columns that don't match a default field, create a Custom Field on the fly

127.    Preview what will be imported — check 2–3 rows look right

128.    Click Import — should take seconds for 10 rows

129.    Open Contacts → verify the test contacts look correct (name, email, phone, custom fields, tags)

130.    If anything is wrong, fix your CSV and run another test — do NOT proceed to full import yet

4. Run the full import

131.    Once test import looks correct, upload the full CSV

132.    Apply the same column mapping (or save the mapping as a template)

133.    Choose deduplication strategy: Skip duplicates (safest), Update existing (overwrite), or Always create new (rarely correct)

134.    Click Import

135.    For 10,000+ rows, the import processes in the background — you'll get an email when complete

136.    Once complete, spot-check 10–20 random contacts to confirm everything imported correctly

Field mapping reference

Intellivizz field CSV column patterns it matches Notes
First Name first_name, fname, given_name Required for personalization
Last Name last_name, lname, surname, family_name -
Email email, email_address, e_mail Used for deduplication by default
Phone phone, mobile, cell, telephone Auto-normalized to E.164 (+1xxxxxxxxxx)
Company company, organization, employer Optional B2B
Address street, address1, addr_1 Combines with city/state/zip
City city, town
State state, province, region 2-letter abbreviation preferred
Postal Code zip, postal_code, postcode
Country country 2-letter code preferred (US, CA)
Tags tag, tags, labels Pipe-delimited or comma-delimited
Source source, lead_source, origin Tracks where the contact came from
Custom fields anything else Map to existing Custom Field or create new on-the-fly

Worked examples

Worked example: Migrating 8,000 contacts from HubSpot

Heritage Accounting exports their HubSpot contacts: name, email, company, phone, "Lifecycle stage" (lead/customer/etc.), "Source" field, "Last contact date".

They open the CSV in Google Sheets and clean: remove 240 duplicates, remove 80 deceased/inactive, standardize phone formats.

They create 4 Custom Fields in Intellivizz CRM matching: Lifecycle Stage, Source, Last Contact Date, Hubspot ID.

They run a 10-row test import — spot check, looks good.

They run the full import (8,000 rows) — takes 90 seconds. Email notification confirms 7,920 imported, 80 skipped (duplicates by email).

They spot-check 20 random contacts, verify everything mapped correctly, and tag the entire batch with "imported-from-hubspot-2026-04" so they can filter later.

Worked example: Importing 200 contacts from Mailchimp — with consent verification

Marco exports his Mailchimp audience: name, email, sign-up source, sign-up date, opt-in status.

He notices Mailchimp tracks "Email opt-in" (yes for all subscribed) but does NOT track SMS opt-in. So he creates a Custom Field "SMS Opt-In" defaulted to NO.

He maps Mailchimp's "opt-in date" to a custom Intellivizz field "Email Consent Date" — important for CASL compliance.

After importing, he creates a Smart List "Email-OK" filtered on Email Opt-In = YES — this is the only list he uses for email campaigns.

He never sends SMS to these contacts until they re-opt-in via a fresh consent flow.

Troubleshooting

Symptom Likely cause What to do
Import says "Failed: file format error" CSV has weird encoding (e.g., UTF-16) or hidden BOM bytes Open in Google Sheets, re-save as CSV (UTF-8); or use Excel → Save As → CSV UTF-8
Phone numbers come in mangled Excel converted phone column to scientific notation (e.g., 4.155551234E+09) Format the phone column as Text BEFORE saving; or prefix each number with a leading apostrophe (Excel ignores formatting)
Duplicate contacts are being created Deduplication strategy set to "always create new" Re-run with "Skip duplicates" or "Update existing"; clean up duplicates in Contacts → Bulk Actions → Merge Duplicates
"Permissions denied" or import button grayed out User role lacks Import permission Settings → Team → [user] → Permissions → enable "Import Contacts"
Import seems stuck at 99% for 30+ min Background processing finishing up; or rare bug Wait full 60 minutes; if still stuck, contact support with the import ID
Custom field values come in blank CSV column was mapped to wrong field, or field doesn't exist yet Create the Custom Field first in Settings → Custom Fields, then re-import
Tags come in as one big tag CSV used commas as separators inside a single cell Use pipe character (|) as separator, OR split the column into multiple columns first
Need to undo an import Imported the wrong file, or wrong mapping Contacts → Import History (within 7 days) → Revert. After 7 days, it's permanent — you'd need to filter by source-tag and bulk-delete.

Success criteria

  • My CSV is cleaned: no duplicates, valid phones, valid emails

  • I ran a 10-row test import and verified results

  • Custom fields are created for any non-standard data

  • I ran the full import and got the success email

  • I spot-checked 10–20 random contacts and they look correct

  • I tagged the imported batch with a date-stamped tag for future filtering

  • I created a Smart List filtered on consent-status before any campaign sends

Intellivizz AI Logo

© 2026 Intellivizz AI. Powered by Intellivizz.