Import data into Attio via CSV
Easily import your data into Attio using a CSV file.
You can easily import data into your Attio objects or lists from other apps. All you need is a .csv file containing your data - a super common export option you'll find in most platforms.
Step 1: Prep your data
The first step is to prepare your file, and ensure it meets Attio’s file requirements.
In your CSV file, each row represents a record, and each column represents an attribute. If you’re importing into an object, the records in your file will be created or updated. If you’re importing into a list, the records will be created or updated, and list entries will be created or updated depending on the setting chosen in the mapping step.
You don’t have to create all attributes before starting the import process. You can create them within the importer.
Attribute columns to include
You must include all required attributes for a successful import. Unique attributes are strongly encouraged wherever possible to prevent duplicate records.
To learn more about how to use unique attributes to update existing records or list entries, see the Bulk update records or lists via CSV import guide.
Also, email addresses for people and domains for companies are needed for Attio to automatically enrich your person and company records with useful data like logos or profile pictures, social media handles, and descriptions. If you don’t have emails or domains for some records, you can still import them, but Attio won’t be able to provide any enrichment or prevent duplicates from being created. Learn more about data enrichment.
Required and unique attributes to include for each object:
Note: Record ID is also a unique attribute on all objects, but should only be included when you are using an import to update existing records. Record IDs are automatically generated by Attio when records are created, and cannot be changed or created with custom values.
Entry ID is a unique attribute also generated by Attio that can be used when you are using an import to update existing list entries.
Values for Record and List IDs can be attained by exporting a view. In the import process, if the ID is found, the record/list entry will be updated. If a provided ID has no match, it will be skipped.
Data not yet supported
It’s not yet possible to import Tasks or Notes. Stay tuned - these are coming in the future!
File requirements
To successfully import your data, your CSV file must meet the following requirements:
Formatting requirements
See our CSV imports formatting guide for accepted formats for each attribute type and some specific attributes.
Step 2: Choose a destination - object or list
Next, consider whether it makes sense for you to import your data into an object or a list:
Learn more about the differences between list and object attributes here.
Step 3: Upload file
For a video walkthrough of the CSV import process, see Attio Academy.
Select the object you are importing under Records in the left-hand sidebar, or the list under Lists. Click Import / Export at the top right corner, then Import CSV. Note that you don’t have to be a workspace admin to import records into objects. You do have to be an admin, have full access, or have read and write access to import into a list.
Either drag and drop a file, or click to browse your computer and select the CSV file you want to import.
Once you’ve uploaded a file, you’ll see a preview of the number of columns and rows Attio recognized in your file. The number of columns will be number of attributes you can map to, and rows will be the number of records/list entries. If you’re ready to proceed, click Next.
Step 4: Map columns
When you click next to progress to this step, Attio will upload your whole file. You can see the progress percentage in the lower-left corner of your screen. You can work on mapping columns while the file uploads, but you won’t be able to progress to reviewing values until the file upload is completed.
On the Map columns step, you will see the columns from your file on the left under File column, and the attributes in Attio that you want to map them to on the right under Attributes.
Attio will automatically try to map attributes based on the column name and content. On the right side under Attributes, select the attributes in Attio you want to map the data to from the corresponding column, or click + Create new attribute if it doesn't exist yet. If you are importing into an object, this will create an attribute on the primary object you’re importing. If you’re importing into a list, this will create a list attribute. To create other types of attributes, you’ll need to create them in settings rather than within the importer. Learn more about attributes.
If you decide not to import a particular column, simply don’t select an attribute for it, or click the x to remove an attribute if it was mapped automatically, and the column will be skipped.
You can also see a preview of the data from your file on the right (up to the first 100 rows) under Data preview when you hover over each attribute.
If you are importing into a list, decide how you want to handle records in your file that are already in the list. Where it says For records already in the list choose from these options:
When you’ve finished mapping attributes, click Continue.
Note: For multi-select attributes and attributes that allow for multiple values (like Email addresses or Domains), if you are updating existing records, values imported will be added to any existing values on those records. Existing values will not be replaced.
Importing attributes of linked objects
Objects in Attio can be connected by relationship attributes. For example, on Companies in Attio there is a relationship attribute for Team. Likewise, on People in Attio, there is a relationship attribute for Company. Learn more about relationship attributes.
You can update relationship attributes and update the attributes of records linked via relationships with imports. Whenever possible, you should include a unique attribute (such as domain for companies, email for people, or record ID for any object) in your import for the linked object so that Attio can check whether the record already exists, and update the existing record if it does rather than creating a duplicate. If you do not include a unique attribute, Attio has no way to check whether the record already exists, so a new record will be created with the attribute values specified in your import.
For example, if you are importing people, you can import their company’s domain and description. In the import process, Attio will check if a company with the domain already exists, and if so, update its description and set it as the person’s Company. If a company record with that domain does not already exist, the company will be created with the domain and description, and it will be set as the person’s Company.
To find attributes of linked objects when searching for an attribute, first choose Company, Team, or the relationship attribute, then search for and click the name of the linked object's attribute that you want to import.
Note that for record or relationship type attributes that allow for multiple values (such as Team on companies), you can update the attribute and connect other records by selecting one unique attribute to map in your import (such as email or record ID). However, you won't be able to update other attributes on the connected records, as there is not a way to map multiple attributes to multiple connected records. If you need to, for example, update many attributes on team members, it's best to initiate the import from the People object instead, and then you can also set Company attributes as needed.
You can update attributes of linked objects two levels removed from the primary object you're importing into in some cases, but you must provide at least one attribute mapping for each level. For example, if you're importing on People, you can update the company's CEO's attributes if the CEO is linked to the company by a relationship attribute. However, you must also map an attribute (preferably a unique one) for the company in order to map to the CEO.
Step 5: Review values
Now it’s time to check how Attio has interpreted your attribute values, and to fix any invalid values.
Under Columns on the left, you’ll see all the columns (and attributes) you’re importing. Click through them to see the Raw data from your file in one column, and the Mapped value, which is the attribute value as it will show in Attio, in the other column.
All unique values will be shown, with a number indicating how many rows had each value. Updates to the mapping will be applied to all rows that had the same value, where applicable.
Click into any mapped value or click the fix icon to edit it. Click the cancel icon to skip the value, meaning no value will be imported for that attribute for that record. (This does not skip the record entirely.) If you removed or edited a value the importer mapped and want to restore it, click the arrow to the right of it to revert the value.
When the format of the raw value is not recognized by Attio or does not match the formatting required for the attribute selected, you will see an Invalid format error. Click into the mapped value cell and correct the value. You can also proceed without correcting errors, and the import will simply not write any values for those instances. If all attributes for a record were invalid or blank, the record will not be imported at all.
Empty values will be automatically skipped. Importing with an empty value will not erase existing data.
Click Sorted by to choose between sorting by the Raw value (usually alphabetical or numeric sort), or Row count (the number of times the unique value appears in the CSV column) Ascending or Descending.
For date, number, and timestamp attributes, you can select the gear icon in the upper-right to choose the format your data is in. The selected format must match the values from your file for the import to be successful.
If you are importing select or multi-select attributes and have values in your file that haven't yet been added as options for the attributes in Attio, select Create missing select options in the upper-right so that they can be imported.
When you’re finished reviewing, click Continue.
Step 6: Preview import
At this step, you will see a list of updates the import will attempt to make to records and attribute values.
If you are importing into multiple objects, in the upper-left there will be tabs for each object that has records that will be created or updated by the import. Click between the tabs to see the records for each.
If you are importing into a list, you’ll see the objects tabs for the object you’re importing and any linked objects you’re updating via relationship attributes, as well as a tab for Entries showing the instances of the records that will be updated or added to the list. Keep in mind, the records themselves will be updated rather than duplicated as long as you’ve included and mapped a unique attribute in your import, but list entries (instances of the record in the list) will be updated or created, depending on the setting chosen on the Map columns step.
If you need to fix anything, click Back to revert to previous steps. Once you’re ready, click Start import.
Step 7: Run import
Once you’ve started the import, you’re taken to an import progress page. You can see the progress bar across the top showing how many records have been imported, along with a table containing all the records being imported.
Each record will show a green checkmark once imported successfully, or a red error icon if the record was not imported. Hover over the error icon to see an error description. You can also select Filter, then Failed, Planned, or Completed to show only records/entries in a certain status.
You can close the import progress page at any time, and it will continue to run in the background. If you’re an admin, you can navigate back to it later from Workspace settings.
Manage imports
Workspace admins can access all import drafts and completed imports in Workspace settings. To navigate there:
Non-admins can also access all import drafts and completed imports they have initiated in Account settings. To navigate there:
Here you will see all past and present imports, as well as drafts. The import states include:
From here, you can select an import draft to continue it (even if it was started by someone else) or view another import. Click the ⋮ icon on an import in progress to cancel it, or on a draft to delete it (deleting its setup and the uploaded file).
Share an import
You can share a link to a draft import with a team member for them to review or continue setup, complete the import, view the progress, or view the results.