Importing / Uploading Contacts

Whether this is your first CRM or you’re moving from another system, importing helps you create records and update your database. 

Each row represents a contact record, and each information column represents a contact property (First Name, Last Name, Email Address, etc.)


Pre-requisites:

  • Only users with an 'Admin' role will have the option to import and export contacts. 
  • The import file needs to be a .csv file
  • Have only one sheet/tab within the spreadsheet
  • Be smaller than 50MB
    (Note: a typical .csv file with 4 columns and 10,000 records will be ~500kb in size)
  • The first row should NOT be blank! Include a header row in which at least one column header corresponds to a field in the system


How to import contacts into the CRM

Step 1: Setting up your CSV and Custom Fields before importing

Please Note:
- When adding a phone number that requires a "+" sign, please add an apostrophe ' at the beginning of the number, like this: '+191668128779 (Correct format).

- File Upload and Signature Fields are NOT supported when importing

- When important contacts are with a DND column within your CSV, please note that the contact will be DND for ALL the channels. If you would like to DND for specific channels, please set up a workflow first and use tags


Step 2: 
Check for duplicates.

It's always best practice to clean your list and check for duplicates before importing into any software, especially if you are running cold traffic campaigns. Failure to do so can result in deliverability issues.

Step 3: Importing your contacts

There are two methods to import contacts depending on your CSV data:

 

 

Breaking down advanced filters:

Image not available

 

  • Add New and Update Existing Contact Records:
    This means that it will create new contacts, and if you have any leads already in the system, it will update them with the information from your CSV file. The system will check for existing contacts in the sub-account based on the unique identifier (Email, phone, or contact id) you have selected (Primary or Secondary preference).

  • Add New Contact Records:
    This will create new contact records and will not update existing contacts in the location.

  • Update Existing Contact Records:
    This option will only update existing contact records and not create new contacts in the location.


Please Note: 

While the unique default identifier is Email, our system allows you to choose fields other than Email for de-duplication purposes during the Bulk CSV Upload

FAQ

My CSV list is mixed; some contacts have an email or phone #, and some have both an email and phone. How should I proceed?

Image not available

Please use the 'secondary preference' option for a CSV that is mixed. The system will search for the first preference and then the second if it cannot locate the first. In the example above the first preference is 'Email' and the second is 'Phone'. 

Now we can find existing contact based on the secondary field, so if the contact record has only the phone number, we can also upload them!

 

Some of my contacts have multiple emails and or phone numbers. How should I proceed?

If a contact has multiple phone numbers or emails, please split the contacts into multiple so they will be uploaded.

Example:
Original with two phone number columns:

 

Josephine

 


810-292 9388

 

810-374-9840

 

josephine_darakjy@darakjy.org

 

 Cleaned for upload version:

Josephine

810-292-9388

josephine_darakjy@darakjy.org

Josephine

810-374-9840

 

 

Keep the email blank for the second lead with a different phone number because it will create duplicates when we upload contacts with phone numbers as the unique field.

 

Important note for people that use Keap:

The phone field from the CSV export in Keap is incompatible with GHL. The parenthesis '()' and dashes '-' make it incompatible. We have to highlight the entire column in the CSV file and make sure it is numbered in, remove any parenthesis and dashes, and then we can import without corrupting the data in the CRM. 

 

When importing the phone numbers, I get the error code 1007 'invalid required property':

When importing numbers, add a country code for numbers outside the sub-account country. If the sub-account country is set to the US, you won't need to add a +1 (US country code) to the imported phone numbers. However, if you're importing numbers outside of the US, you will need to add the country code 

I.e. A sub-account that has set its business location to the US would need to add '+44 to call the UK. If the Sub-Accounts country is set to a different country other than the US (like - the UK, Australia, etc.), to call/SMS US numbers you would need to add a '+1 to the country's area code within the CSV File.

 

I'm trying to import a CSV with a DND Column, but all contacts are set to DND for ALL channels.

When importing contacts with a DND column within your CSV, please note that the contacts will be DND for ALL the channels. If you want to DND for specific channels, please set up a workflow first and use tags for each channel. 

I.e. I would like john to be DND for SMS only. I would create a workflow that DNDs a contact when a tag 'DND SMS' is added. So now, on the CSV, I would add the Tag 'DND SMS' next to John's name. When importing, this would fire automation to DND John for SMS Only. 

 

I'm trying to import a CSV with Notes, and I cannot generate more than one note per contact record.

When importing contact notes, you may only have one note per contact record with a limit of 5000 characters. Please use the large text custom field if you have more than one note or more characters than the allowed amount.

 

I'm trying to export a CSV with Notes. 

As of now, We do not have any limit for CSV import for notes, and As per our current export behavior, we support Max of 255 Characters for the last note.

 

 


Was this article helpful?
© 2026 flourish™