Aggrandize Docs
Features

Data Import

Bring contacts, companies, deals, and tasks into Aggrandize from a CSV file.

Data Import is the way into Aggrandize — the mirror image of Data Export. Point it at a .csv file and it loads the rows in as contacts, companies, deals, or tasks. Use it to migrate from another CRM when you're getting started, or to drop in a fresh lead list — a conference attendee export, a purchased prospect list — whenever one lands.

Where to find it

Open Settings → Data Import. Unlike Data Export, this page is available to every org member — anyone on your team can bring a list in.

An import is a five-step wizard. You can leave the page while a large file processes in the background and come back to it later.

Step 1 — pick what you're importing and drop a file
crm.aggrandizelabs.com/settings/import

Data Import

Bring contacts, companies, deals, or tasks in from a CSV file

1Upload
2Map columns
3Preview
4Importing
5Done
Contacts
Companies
Deals
Tasks

Drop a .csv file here, or click to browse

The first row must be column headers

Step 1 — Upload

Pick the record type first — Contacts, Companies, Deals, or Tasks — then drop in a .csv file. One file is one record type; if you have contacts and companies to load, run two imports.

Your file's first row must be the column headers (First Name, Email, and so on). Aggrandize reads the headers and the first handful of rows right in your browser to set up the next step — nothing is uploaded yet.

Step 2 — Map columns

This is where you tell Aggrandize what each column in your file means. It auto-matches your headers to CRM fields using a built-in synonym list — Title finds Job title, Zip finds Postal code, Organization finds the company link — so most rows are already correct when the step opens. Fix any that aren't with the dropdown beside each one.

Step 2 — column mapping and duplicate handling
crm.aggrandizelabs.com/settings/import

Data Import

Bring contacts, companies, deals, or tasks in from a CSV file

Upload
2Map columns
3Preview
4Importing
5Done
Importing as Contacts
People — clients, leads, and other contacts
Change type
conference-leads.csv
5 of 6 columns mapped

Map each CSV column to a field.

1 column will not be imported.
CSV columnMaps toSample
First Name
First name
Dana
Last Name
Last name
Whitfield
Email
Email
dana@brightway.example
Phone
Phone
(312) 555-0177
Company
Company
Brightway Retail
Internal Notes
— don't import —
met at booth 214

Import options

Duplicate handling
Skip duplicates
Match on
Email
Tag imported contacts
+ New tag "conference-leads"
Create missing companies automatically
Back
Validate

Each column shows a Sample value from the first row of your file, so you can confirm a mapping is right at a glance. A column with no place to go isn't an error — set its Maps to dropdown to — don't import — and it's skipped. The wizard keeps a running count of skipped columns so dropped data is never a surprise.

This step also sets the import options:

  • Duplicate handlingSkip duplicates (leave existing records untouched, only add genuinely new rows) or Update existing (refresh a matched record's fields, and still add the new rows).
  • Match on — which column decides whether a row is a duplicate. Contacts default to Email, companies to Name; change it to any column you've mapped.

Contact imports get one more option: tag every imported contact. Pick or create a tag and every contact from this file receives it — which turns the whole import into a group you can filter on later, or hand to the AI assistant as "the trade-show list."

Step 3 — Preview

Before anything is written, Aggrandize validates every row and shows you the result: how many rows are valid and how many have errors. Nothing has touched your CRM yet.

Step 3 — review valid and error counts before importing
crm.aggrandizelabs.com/settings/import

Data Import

Bring contacts, companies, deals, or tasks in from a CSV file

Upload
Map columns
3Preview
4Importing
5Done
1,210
Valid rows
14
Rows with errors
Match column "Email" is empty in 48 of 1,210 rows — those import as new.
Cancel
Import 1,210 rows

It also checks the match column you chose. If that column is blank in some rows, those rows simply import as new records — the preview tells you how many. But if the match column is blank in every row, duplicate matching can't do anything, and importing anyway would risk creating a pile of duplicates on a re-run. In that case the wizard blocks the Import button and asks you to pick a better match column:

A match column that's blank everywhere blocks the import
crm.aggrandizelabs.com/settings/import

Data Import

Bring contacts, companies, deals, or tasks in from a CSV file

Upload
Map columns
3Preview
4Importing
5Done
1,210
Valid rows
14
Rows with errors
Match column "Email" is empty in all 1,210 rows — duplicate matching can't work. Go back and choose a different match column, or import without matching.
Cancel
Import 1,210 rows

When the preview looks right, click Import.

Step 4 — Importing

The rows are written in the background with a live progress bar. A large migration file — tens of thousands of rows — can take a few minutes; you don't have to wait on the page.

Step 4 — rows are written in the background
crm.aggrandizelabs.com/settings/import

Data Import

Bring contacts, companies, deals, or tasks in from a CSV file

Upload
Map columns
Preview
4Importing
5Done

Import in progress

1,840 of 4,179 rows processed

Step 5 — Done

A summary shows exactly what happened: how many records were created, updated, skipped, and failed.

Step 5 — the import summary and error-rows file
crm.aggrandizelabs.com/settings/import

Data Import

Bring contacts, companies, deals, or tasks in from a CSV file

Upload
Map columns
Preview
Importing
5Done

Import complete

3,910
Created
255
Updated
0
Skipped
14
Failed
import-errors.csv

If any rows failed validation, you get a downloadable error-rows CSV — just the failed rows, each with an extra column explaining why. Fix those rows in that file and import it again; the rows that already succeeded won't be touched a second time, as long as your match column identifies them.

How duplicate matching works

Matching keeps a re-import from doubling your data. A row is considered a duplicate of an existing record when its match column value is the same.

A couple of things worth knowing:

  • Contacts are always also matched on email, and companies on domain — even if you chose a different match column. A contact and its email are one-to-one in Aggrandize, so if an imported row carries an email that already belongs to someone, it updates that person (or is skipped) rather than creating a clashing duplicate.
  • A blank match value always imports as new. A contact row with no email can't match anything, so it's created. That's why a file with no emails at all triggers the Step 3 block — re-importing it would duplicate everyone.

The safest pattern for a recurring list: import it once, then re-import the same file with Update it selected. Matched rows refresh in place; only genuinely new contacts are added.

Good to know

  • CSV only. Export your spreadsheet to .csv first — .xlsx files aren't accepted.
  • One record type per file, one import at a time per person.
  • Names are flexible. A contact file can carry a single Full Name column, or separate First Name / Last Name — Aggrandize reconciles whichever you have.
  • Messy phone numbers are fine. (555) 123-4567, 555 123 4567, 5551234567 all load.
  • Linking by name. When a contact or deal row references a company by name, Aggrandize links it to a company that already exists. It won't invent a new company unless you opt in.

Who can run an import

Every org member can import. Imports are scoped to your organization, and the same team-visibility rules that apply everywhere else in Aggrandize apply to the records you bring in.

On this page