Skip to content

Set up your import files

Last updated: March 6, 2024

Available with any of the following subscriptions, except where noted:

All products and plans

Whether HubSpot is your first CRM or you’re moving from another system, importing helps you create records and activities, and update your database. Import files are spreadsheets of data used to organize your business’ relationships and processes.

To watch an overview on how to set up your files, check out the video below: 

 

Before you start importing, review the relevant HubSpot terms and requirements for your import files.

Glossary

  • CRM Object: a type of a relationship or process that your business has, such as contacts, companies, deals, and tickets. When importing, an object is the type of dataset you're importing into HubSpot.

  • Record: an individual instance of an object (e.g., “Tom Smith” is a contact record). In a single object import file, each row of your file represents one object record. If you're importing multiple objects in one file, each row will represent records that are associated with each other.

  • Activity: an engagement that can be associated with records, such as an email sent to a contact, or a note logged on a ticket record. Activities include calls, emails, meetings, notes, and tasks. You can create new activities and can update existing calls via import, but you cannot update existing emails, meetings, notes, or tasks. Calls and tasks can be imported on their own, but emails, meetings, and notes must be imported and associated with a CRM object.
  • Property: a field created to store information about your records and activities. In an import, properties will match up with your file’s column headers.

    contact-import-example-1Example file

In this example, the object being imported is contacts. Each row represents a contact record, and each column of information represents a contact property (First Name, Last Name, Email Address).

  • Unique identifier: a property value that HubSpot uses to recognize each record as one of a kind. In an import, you need a unique identifier to avoid creating duplicate records (e.g., two records for “Tom Smith”) and to associate different records (e.g., import “Tom Smith” and associate him with his company “Smith Inc.”). The unique identifiers available for use when importing are:
    • Email: the email address of a contact. This is required when importing contacts to avoid duplicates or to associate contacts with another object. If you don’t have contact email addresses, use the Record ID to update and associate existing contact records.
    • Company domain name: the website domain of a company (e.g., example.com). This is required when importing companies to avoid duplicates or to associate companies with another object. If you don’t have company domain names, use the Record ID to update and associate existing company records.
    • Record ID: a unique property value given to each record by HubSpot. If you export existing records from HubSpot, each record will have a Record ID. This is a required column when importing and associating existing deals, tickets, or custom objects with another object, but can also be used as the unique identifier for contacts and companies if you don't have emails or company domain names.
    • Custom property that requires unique values (contacts, companies, deals, tickets, and custom objects only): if you've created a property that requires unique values, you can use the property as a unique identifier in your import files.
  • Association label (Professional and Enterprise only): a value that specifies the relationship between records. Once you've created association labels, you can import them with your records.
  • Map columns: a step in the import process, when you'll be prompted to match the column headers in your file to HubSpot properties.

For example, you want to import and associate contacts and companies in one file. The objects being imported and associated are contacts and companies. Each row represents a contact record and its associated company record. Each column header represents properties that will be mapped during import. The file shown below includes contact properties (First name, Last name, Email address, Phone number, Favorite food) and company properties(Name, Company domain name). There is also a unique identifier for each object that will link the two unique records in HubSpot (Email address for contacts and Company domain name for companies). During the import process, you'll map columns to HubSpot properties (First Name column to the First Name HubSpot property).

import-contacts-and-companies-example-1Example file

import-mapping-examplesMapping columns to properties

File requirements and technical limits

All files being imported into HubSpot must:
  • Be a .csv, .xlsx, or .xls file.
  • Have only one sheet.
  • Include a header row in which each column header corresponds to a property in HubSpot. The column headers can be organized in any order without affecting the import. You can confirm if a default property already exists to match your header or create a custom property prior to importing. Learn more about property requirements.
  • Contain less than 1000 columns.
  • Be UTF-8 encoded if foreign language characters are included.
  • If you're importing an Excel file:
  • Only contain currency data formatted for USD using decimals (e.g. 123.45). 

There are additional technical limits for the import tool depending on your HubSpot subscription. These limits include the size and row limits of an import file, as well as how many files and rows you can import per day.

  • If you're using HubSpot's free tools, you can:
    • Import files up to 20MB.
    • Complete up to 50 imports per day.
    • Import up to 500,000 rows per day. If you import a file containing more than 500,000 rows, it will take multiple days to complete.
  • If your account has a Starter, Professional, or Enterprise subscription, you can:
    • Import files up to 512 MB.
    • Complete up to 500 imports per day.
    • Import up to 10,000,000 rows per day, with a limit of 1,048,576 rows per file. If you're importing via the imports API, you can import up to 80,000,000 rows per day.

These limits apply to a rolling 24-hour period and do not reset at a specific time of day. Learn more about your HubSpot subscription and its limitations. 

Property requirements

Formatting property values

Depending on the property field type or the data your cells contain, there are other specific formatting requirements:
  • Additional emails or domains: if you're importing contacts with more than one email address, include an Additional email addresses column with their secondary emails. If you're importing companies with more than one domain name, include an Additional domains column with their secondary domains. To include multiple emails or domains in a cell, separate the values with semi-colons (e.g., email@email.com; emailtwo@email.com). If you're importing to create contacts or companies, you cannot set a new contact's Email or new company's Company domain name to an email or domain that's an existing additional email/domain for another record.
  • Blank cells: the import tool ignores blank cells in a spreadsheet, so when importing new property data, leave cells blank for records without a value for the property. If an existing record already has a value for the property within HubSpot, blank cells will not clear the existing property value. To clear existing property values in bulk, you can manually edit the values or use the Clear property value workflow action.
  • Checkbox properties: learn more about importing to checkbox properties.
  • Custom number, text, or date picker properties: if you've set validation rules, your imported values must follow the rules or they will not be imported.
  • Date properties: for properties containing a date, to format a value for this property:
    • Months can be a number, three letters, or a full name (10, OCT, Oct, OCTOBER, October), years can be two digits or four (2023, 23), and separators can be a forward slash, hyphen, or period (10/28/2023, 10-28-2023, 10.28.2023).
    • Valid date formats are day month year (e.g., 28/10/2023), month day year (e.g., 10-28-23), or year month day (e.g., 2023.OCT.28). 
    • For date-time properties, to include a time, add the timestamp as hh:mm (28/10/2020 14:30). By default, the import tool uses a 24-hour clock. To specify a 12-hour clock, add AM or PM to the timestamp (10/28/2020 2:30 PM). If you don't include a timestamp, the time is set to midnight by default.

Please note: if you're importing a default HubSpot date property (e.g., Close date), your values must be formatted as a UNIX timestamp in milliseconds. The date-time property cells must be in Number format if importing an Excel file. Learn more about how to format timestamp values and how to convert a date into UNIX format.

  • Enumeration properties: the values in your import file must match either the label or the internal value of the property's defined options. For HubSpot default enumeration properties (e.g., Lifecycle stage, Industry), the values must match the internal value or the label in English.
  • Owner properties: to assign an owner to a record or activity during the import:
    • For objects, include a [Object] owner header. For activities, include an Activity assigned to header.
    • Add the name or email address of the user to each row in that column. Users who are assigned a record through import will not receive a notification that they were assigned a new record or activity.
  • Percentages: when importing a number property formatted as a percentage, you can format your values with a % percent sign or as a decimal. For example, to import 25%, your cell should contain either 25% or .25.
  • Phone number: the contact properties Phone number and Mobile phone number, to import and automatically format the phone number based on country code, format as +[country code][number]. If there is an extension, add ext[number]. For example, a phone number with a United States country code would look like +11234567890 ext123.
  • Price: for properties containing a price, you must use one of HubSpot's accepted currencies. The list of accepted currencies and their currency codes can be found in the Currency tab of your account default settings.
  • Product properties:
    • If importing a Term property value, you can format the value in the Term column as a number in months (e.g., 10 for 10 months), as PXM where X is the number of months (e.g., P6M, for a term of 6 months) or PXY where X is the number of years (e.g., P1Y, for a term of 1 year).
    • If importing a Billing frequency property value, use monthly, annually, or quarterly if the product has a recurring price type. Leave the cell blank if the product has a one-time price.
  • Owner properties: to assign an owner to a record or activity during the import:
    • For objects, include a [Object] owner header. For activities, include an Activity assigned to header.
    • Add the name or email address of the user to each row in that column. Users who are assigned a record through import will not receive a notification that they were assigned a new record or activity.

Required properties

Depending on which objects or activities you're importing, the following properties are required, and must be included as columns headers in your files:

  • Contacts: at least one of First name, Last name, Email, or for existing contacts, Record ID.
  • Companies: at least one of Name, Company Domain Name, or for existing companies, Record ID.
  • Deals: if you're creating new deals, Deal name, Pipeline, and Deal stage. For existing deals, Record ID. 
  • Tickets: if you're creating new tickets, Ticket name, Pipeline, and Ticket status. For existing tickets, Record ID. 
  • Products: Unit price and Name, or for existing products,Record ID.
  • Line items: Name, Quantity, Price, and the associated deals' Record ID or Deal name. Include the product's Product ID if you're also associating the line item with a product, which will be mapped as a line item property during the import.

Please note: when importing line items with deals, the import will not update the deal amount. To update update the associated deal amount, you can manually edit the line items or associate the line items with a deal in HubSpot.


  • Calls: Call notes. When importing new calls, it's also recommended to include Activity date.
  • Emails: Email body and Email direction.
  • MeetingsMeeting description, Meeting start time, and Meeting end time. When importing new meetings, it's also recommended to include Activity date. The start time, end time, and activity date values should be formatted as date-time properties.
  • Notes: Note body.
  • TasksTask title and Due date. The due date should be formatted as a date-time property.

Please note: while not required, it's recommended to include Activity date when importing new activities to specify the date and time an activity occurred. If you don't include this property, the Activity date values are automatically set to the date and time of the import.

Optional properties

Additional properties are not required, but can also be imported into HubSpot to add or update data in bulk. You can import the following additional properties:

  • HubSpot default contact, company, deal, and ticket properties, excluding certain automatically set properties that cannot be edited. Learn more about default contact, company, deal, and ticket properties.
  • Any custom properties you've created for contacts, companies, deals, tickets, or custom objects.
  • HubSpot default call, email, meeting, note, and task properties. Learn more about default activity properties.

Association and deduplication requirements

The following are required to successfully avoid duplicates and associate records when importing. If you're importing same object associations, refer to the section below for additional requirements.

  • To import and associate multiple objects in one file, include information about associated records and/or activities in the same row. In two files, use a common column to connect the records in each file. You can refer to the example files for more help importing and associating records.
  • To update existing records, associate records, and avoid duplicate records, your files must include a unique identifier property for each object. For all objects, you can export existing records and use the Record ID as a unique identifier, or use a custom property that requires unique values. For contacts, you can also use Email. For companies, you can also use Company domain name.
    • If you're importing multiple objects and are including Record IDs, it is recommended to differentiate the file column headers to match the ID with the correct object (e.g., one column called Record ID - Contacts and another called Record ID - Companies).
    • If you're using a custom unique value property to deduplicate contacts, the Email property will still require unique values.
    • If you're using a custom unique value property to deduplicate companies, the Company domain name property will not require unique values. This means you can import duplicate company domains. If you don’t want multiple companies with same domain, you should remove duplicate domains from your file before importing, or use Company domain name as your unique identifier instead.
    • You can use a secondary email as the unique identifier for existing contacts who have a secondary email address listed in HubSpot. If you use a secondary email, and do not include the Record ID column in your file, the secondary email will not replace the primary email. However, if you include both the secondary email and Record ID as columns in your file, the secondary email will replace the primary email.
  • To associate one record with multiple activities or records of another object, include the record's unique identifier in multiple rows for each record you want to associate. For example, Luke Danes is a manager at Luke's Diner, but a contractor at The Dragonfly Inn. To associate him with both companies, you'd need to include two rows for Luke Danes with the columns Email (or Record ID), and Company domain name (or Record ID) for each company.

Please note: if you don't include unique identifiers (e.g., Email, Company domain name, Record ID), the import will create duplicate records instead of associating each to the same record.

flex-associations-import-example

  • To import association labels (Professional and Enterprise only), include an Association label column. You must create the association labels in HubSpot prior to importing.
    • To set a company association as primary, include the value Primary in the Association label column for that row.
    • To set multiple labels to describe the relationship between two records, you can include multiple association label values in one cell, separated by a semicolon (e.g., Manager; Billing contact).
    • If you're importing association labels in a multiple file import, you need to include the Association label column and a unique identifier for the object you're associating in the same file.
    • If you're importing paired labels for cross-object associations, only include one of the labels in the Association label column. The labels will be assigned to the correct object during the import process.
  • To create child-parent company associations via import, include a Parent company column in your import file with the parent companies' Record ID values. Learn more about importing child companies.

Same object association imports

You can import one file to associate records of the same object in bulk. When setting up your file, the following requirements are specific to same object imports:

  • At least one record in a record pair must already exist in HubSpot before importing. For example, you can import a new contact and associate it with an existing contact, but you cannot import to create and associate two new contacts.
  • If you're associating multiple records with one record, separate the records' unique identifier values by a semi-colon in the same cell (e.g., luke@lukesdiner.comrory@yale.edusookie@dragonfly.com).
  • If you're labelling associations (Professional and Enterprise only):
    • The association labels must already exist in your association settings before importing.
    • If all records have the same label, you can add this label during the import process.
    • If the records have different labels, include a label column in your file, with the corresponding label for each association.
    • If you use paired labels (e.g., manager and employee), the record in the Associated [unique identifier] column will receive the label added in the import process or included in the file's label column. The other record in the row will receive the other label in the pair.
  • During the import process, you'll need to select a checkbox to include same object associations.

In the example file below, Rory and Jackson are new contacts being associated with unique labels to existing contacts, using their Email values as the unique identifier. Sookie is an existing contact being associated to two existing contacts with the same label. In the first row, the association label is part of a label pair, which means once the import is completed, the associated record will have the label Parent and Rory will have the paired label, Child.

associate-contacts-file

Sample import files

The following files include the required column headers for each object or activity, as well as possible additional headers. You can add your own column headers to update or create any additional properties that are important to maintain your organization’s HubSpot database.

One object or activity

  • Contacts sample spreadsheet: XLSX or CSV
  • Companies sample spreadsheet: XLSX or CSV
  • Deals sample spreadsheet: XLSX or CSV
  • Tickets sample spreadsheet: XLSX or CSV
  • Products sample spreadsheet: XLSX or CSV
  • Tasks sample spreadsheet: XLSX or CSV
  • Calls sample spreadsheet: XLSX or CSV

Once your file is ready, learn how to import one object or activity into HubSpot.

Please note: products can only be imported in a single object import. You can associate an existing product to a line item, or manually associate a product to a deal or quote.

One object with same object associations

The following example files include the required fields to create new records and associate them with existing records of the same object.

  • Contact to contactCSV.
  • Company to companyCSV.
  • Deal to dealCSV.
  • Ticket to ticketCSV.

Multiple objects with associations

You can import and associate multiple objects, or objects and activities, together in one file or in two separate files, where each file represents one object/activity.

Import multiple objects in one file

To import and associate multiple objects/activities in one file, include the records/activities you want to associate within the same row of your file. These sample files represent common use cases, but you can mix and match objects or activities by replacing the column headers.

  • Contacts and companies sample spreadsheet:  XLSX or CSV.
  • Contacts and companies with association labels sample spreadsheet: XLXS or CSV
  • Contacts and tickets sample spreadsheet: XLSX or CSV
  • Companies and deals sample spreadsheet: XLSX or CSV
  • Companies and notes sample spreadsheet: XLSX or CSV
  • Companies, deals, and notes sample spreadsheet: XLSX or CSV
  • Deals and new line items sample spreadsheet (with associated products) : XLSX or CSV. When importing in one file, you can only import one line item per deal.
  • Calls and contacts sample spreadsheet: CSV
  • Notes and tickets sample spreadsheet: CSV
  • Tasks and existing deals sample spreadsheet: CSV
  • Emails and existing contacts sample spreadsheet: CSV

Once your file is ready, learn how to import and associate multiple objects or activities into HubSpot.

Import multiple objects in two files

When importing and associating in two files, each file represents one object or activity. You can only import two objects or one object and one activity in a two file import. To import more than two objects/activities, you can import in one file.

To identify which records should be associated across the files, include a common column in both. One of your files should have a unique value for each row in this column. In the other file, use those values to indicate which record each row should be associated with. For example, a common use case is to import and associate contacts and companies. In the following sample files, Company Name is the common column:

  • Companies sample spreadsheet: XLSX or CSV.

  • Contacts sample spreadsheet: XLSX or CSV.

In the company file, there is a unique value for each row in the Company name column. In each row of the contacts file, the values in the Company name column match the company that the contact will be associated with. You can use these files when importing contacts and companies, or mix and match other objects, as long as you include a common column.

Additional examples include:

  • Deals and companies with association labels in two files: in these sample files, Company name is the unique key for the Company object.
    • Deals sample spreadsheet: XLSX or CSV.
    • Companies sample spreadsheet: XLSX or CSV.
  • Deals and new line items in two files: in these sample files, Deal name is the unique key for the Deal object. When importing in two files, you can import multiple line items per deal.
    • Deals sample spreadsheet: XLSX or CSV.
    • Line items sample spreadsheet (with associated products): XLSX or CSV.
  • Calls and contacts in two files: in these files, Email is the common column and unique key for contacts.
    • Calls sample spreadsheet: CSV.
    • Contacts sample spreadsheet: CSV.

Once your files are ready, learn how to import and associate multiple objects or activities into HubSpot.

Was this article helpful?
This form is used for documentation feedback only. Learn how to get help with HubSpot.