How to Import a CSV into Attio
Quick answer
Open the object or list under Records or Lists, click Import / Export, choose Import CSV, upload a file with a header row, map the columns, review the values, preview and click Start import. Attio accepts up to 100,000 rows, 100 columns and 100 MB per file.
Key takeaways
- Open the object under Records or the list under Lists, click Import / Export in the top right and choose Import CSV. The file needs a header row, at most 100,000 rows, at most 100 columns and a size under 100 MB (Attio help center, checked Oct 22, 2026).
- Map at least one unique attribute per object: Domains for companies, Email addresses for people. Without one Attio cannot check for existing records and creates duplicates.
- Deals need Deal name, Deal owner and Deal stage on every row. A file holding companies, deals and people needs two imports, one into People and one into Deals.
- Empty cells never overwrite existing data, and imported multi-select values are added to the existing ones rather than replacing them.
- Notes, tasks and call recordings cannot be imported by CSV. Attio points to its CRM migration tool or its API for those.
To import a CSV into Attio, open the object under Records (or a list under Lists), click Import / Export in the top right and choose Import CSV. Upload a file with a header row, map each column to an attribute, fix anything flagged on Review values, check the preview and click Start import. The file can hold up to 100,000 rows, 100 columns and 100 MB. Everything here comes from Attio’s help center, checked on October 22, 2026.
How do you import a CSV into Attio step by step?
Attio’s guide has seven steps, and the middle three (map, review, preview) are where most problems get caught.
- Define what you are importing. Decide whether the data goes into an object (Companies, People, Deals) or a list. Use an object when the attributes belong on every record, and a list when they belong to one workflow or segment.
- Prepare the file. CSV only, header row required, each column named after an attribute.
- Upload. Click Import / Export, then Import CSV, then drag the file in or choose it. Attio shows the number of columns and rows it detected.
- Map columns. Attio auto-maps where it can. Map the rest by hand, create new attributes with + Create new attribute, or skip a column by leaving it unmapped.
- Review values. Click each column to compare the raw value with the mapped value. Fix invalid values here.
- Preview import. A summary of what Attio will create or update.
- Start import. A progress page shows a green check or a red error icon per record. You can close the page and the import keeps running.
Who can import: admins, and members with Read and write or Full access to the object or list. The feature is on all plans, which matters if you are weighing the free plan.
What are the Attio CSV import limits?
Attio caps a CSV at 100,000 rows, 100 columns and 100 MB. For a sense of scale, here is how the row cap compares with Insightly’s per-import limits, both read from the vendors’ own help pages today.
The row cap is separate from the plan’s record cap. Free holds 50,000 records, so a 100,000-row file would exceed it. Our CRM import limits research lines up the same numbers for other platforms.
What does each Attio object need to import?
Each object has required attributes, and ideally a unique one so Attio can spot existing records. This is the list from the guide:
| Object | Required or unique attributes | Why it matters |
|---|---|---|
| Companies | Domains (unique) | Prevents duplicates and enables enrichment |
| People | Email addresses (unique) | Prevents duplicates and enables enrichment |
| Deals | Deal name, Deal owner, Deal stage (all required) | Rows missing any of them fail |
| Users | Primary email address and User ID (both unique and required) | Needed to match existing users |
| Workspaces | Workspace ID (unique and required) | Needed to match existing workspaces |
| Custom objects | Depends on setup | Check the object’s Attributes tab in workspace settings |
Source: Attio Help Center, “Import data into Attio via CSV”, checked Oct 22, 2026.
Attio’s tip for contacts without company domains: import people with their email addresses only. Attio creates the company from the email domain, links the person to it and enriches the company where it can. Public providers such as gmail.com, outlook.com and icloud.com do not create companies. Attio also offers downloadable CSV templates for people, companies, deals and combined files, linked from the help article.
Why is my Attio CSV import failing?
Match the message to the cause. Attio’s troubleshooting article documents these.
| What you see | Cause | Fix |
|---|---|---|
| “A required value was not provided” | A required attribute is empty, for example Deal owner on a deals import | Fill the value for every row and re-import |
| “No records found” | You mapped Record ID but left it blank or used an ID that does not exist | Map Record ID only to update, with IDs from an Attio export |
| “The linked record was not found” | A linked Record ID does not exist | Same fix, or map the linked record’s domain or email |
| “Multiple matches found” | A list update matched more than one entry for the same parent record | Use Entry IDs instead |
| “Blocked due to object rules violation” | A row breaks a rule on the object, such as Won stage with no deal value | Satisfy the rule in the file or on the record, then re-import |
| “Invalid format” on Review values | The value does not match the attribute type or date format | Edit the mapped value, or set the date format with the gear icon |
| “Avoid creating duplicate records” | No unique attribute mapped for an object | Map email or domain, or ignore only if every row is new |
| Import seems stuck | Several imports running, or a cancelled one still finishing | Cancel, wait for the cancel to finish, run one import at a time |
Source: Attio Help Center, “Troubleshooting CSV imports” and the import guide’s FAQ, checked Oct 22, 2026.
Two cases look like failures and are not. The preview can show more new records than the import creates, because Attio does not check new rows against each other. Rows that share a unique value merge into one record when the import runs. And missing columns after an import usually mean the attribute is hidden in the view. Add it in View settings, and clear filters if rows seem absent.
How should dates, numbers and select values look?
Attio’s formatting guide gives accepted forms per attribute type. These are the ones people trip on.
| Attribute type | Accepted | Watch for |
|---|---|---|
| Date | ISO YYYY-MM-DD, European (14/07/2024, 14 July 2024) or American (07/14/2024, July 14, 2024) |
Pick the matching format with the gear icon on Review values |
| Number | 9, 9.00, 1312313123.1233 |
Stored with up to 4 decimal places, extra digits are removed |
| Currency | Plain numbers such as 40.99 |
Symbols are not supported and only the attribute’s own currency can be imported |
| Checkbox | 1, true, TRUE, #t for checked; 0, false, FALSE, #f for unchecked |
Blank stays unchecked |
| Select and status | The option label (not case sensitive) or its ID | Use Create missing select options to add new ones during import |
| Multi-select | Values separated by a comma, such as 3D Printing, Architecture |
A label cannot contain a comma |
| Rating | 1 to 5 | 0 means no value |
Source: Attio Help Center, “CSV import formatting guide”, checked Oct 22, 2026.
How do you update existing records instead of adding new ones?
Map a unique attribute and Attio updates the match. Three rules from the guide:
- Only mapped attributes are updated. Everything else on the record stays as it was.
- Empty cells are skipped and never overwrite existing data.
- For multi-select and other multi-value attributes, imported values are added to the existing ones. A company already tagged SaaS that arrives with Technology ends up with both.
To update by Attio’s Record ID, export the view to get the IDs, edit the file and map Record ID on import. A matching ID updates the record and a non-matching one is skipped. Importing into a list adds one choice on the mapping step: Add again creates duplicate list entries, while Update existing updates the current entries.
What does Attio not import by CSV?
Tasks, notes and call recordings. Attio’s FAQ says tasks and notes cannot be imported with a CSV and call recordings cannot be imported at all. For notes and tasks coming from another CRM, Attio points to its migration tool, or you can create them through the API. Email history comes in through email and calendar sync, not through a file.
When to get help
A single clean CSV of contacts is a short job. The trouble starts with multi-object files, deal histories, linked records and a source CRM full of duplicates, where a bad mapping creates thousands of records you then have to delete by hand. If the plan is to leave Attio or to move another system into a CRM we build on, a specialist saves time on the cleanup and the field mapping. aibrevo does not implement Attio, so Attio work is quoted per project, and migration into Salesforce, HubSpot, Dynamics 365, Zoho CRM, Pipedrive, monday.com, Airtable or GoHighLevel is the common request. Book a short call or send a message. Our CRM migration guide and Pipedrive and HubSpot services cover those paths.
Sources
- Attio Help Center, Import data into Attio via CSV, checked Oct 22, 2026.
- Attio Help Center, Troubleshooting CSV imports, checked Oct 22, 2026.
- Attio Help Center, CSV import formatting guide, checked Oct 22, 2026.
- Insightly Help Center, CRM Plan Level Limits, checked Oct 22, 2026.
- Not verified and left out: whether Attio accepts Excel files in the CSV importer, and what happens when an import passes the plan’s record limit.