aibrevoBook a call

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.

Updated October 22, 2026 · Reviewed by Alpit Patel, Founder and CEO

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.

  1. 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.
  2. Prepare the file. CSV only, header row required, each column named after an attribute.
  3. 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.
  4. 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.
  5. Review values. Click each column to compare the raw value with the mapped value. Fix invalid values here.
  6. Preview import. A summary of what Attio will create or update.
  7. 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.

Maximum rows per CSV import

Insightly Plus
25,000
Insightly Pro and Enterprise
50,000
Attio (all plans)
100,000

Sources: Attio Help Center, "Import data into Attio via CSV"; Insightly Help Center, "CRM Plan Level Limits", both checked Oct 22, 2026.

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

More guides

Related reading

FAQs

How do I import a CSV into Attio?

Select the object under Records or the list under Lists, click Import / Export in the top right and choose Import CSV. Drop in your file, map each column to an Attio attribute, check the Review values and Preview import screens, then click Start import. The file needs a header row. Imports run in the background, so you can close the page.

What are the file limits for an Attio CSV import?

Attio's help center sets three limits: a maximum of 100,000 rows, a maximum of 100 columns and a maximum file size of 100 MB. The file must be a CSV with a header row. Attio does not list an Excel import in the CSV guide, so save spreadsheets as CSV first.

How do I stop Attio from creating duplicate records on import?

Map a unique attribute for every object in the file. For companies that is Domains and for people it is Email addresses. Attio uses them to find existing records and updates those instead of creating new ones. If you skip them you see an 'Avoid creating duplicate records' warning and new duplicates are created.

Can I update existing Attio records with a CSV?

Yes. Map a unique attribute such as email or domain and Attio updates the matching record. To match by Attio's own Record ID, export the view first to get the IDs, then map Record ID. Only mapped attributes change, and empty cells do not overwrite existing values. IDs that do not exist are skipped.

What date format does Attio accept in a CSV?

You choose the format during import. On the Review values step, click the gear icon and pick ISO (YYYY-MM-DD), European (such as 14/07/2024 or 14 July 2024) or American (such as 07/14/2024 or July 14, 2024). The format must match the file. Timestamps default to ISO 8601. Values that do not parse show an Invalid format error.

Can I import people and companies in one Attio CSV?

Yes. Import into People and include a company domain column next to each person's email. Attio updates the company if the domain matches and creates it if not, then links it as the person's Company. A file with companies, deals and people needs two imports, one into People and one into Deals.

Can I import notes or tasks into Attio from a CSV?

No. Attio's help center says tasks and notes cannot be imported by CSV and call recordings cannot be imported at all. If you are coming from another CRM, Attio points to its migration tool. Notes and tasks can also be created through Attio's API, which needs a script or an integration tool.

Why did my Attio import fail on some rows?

Hover over the red error icon on the progress page for the reason. Common ones are 'A required value was not provided', 'No records found' when a Record ID does not exist, and 'Blocked due to object rules violation'. Filter the progress table by Failed, fix those rows in the file and import them again.

How do I import first and last name into Attio?

You can import one Full name column, or First name and Last name as separate columns. On the Map columns step, click the Name attribute and choose First, Last or Full to match your file. Attio treats name as one attribute with those three sub-options.

Why can't I see my imported data in Attio?

Usually a view setting, not a failed import. Attio does not show every imported attribute by default, so add the columns in View settings. If whole rows are missing, clear the filters on the view, because an applied filter can hide the new records. Check the import history for failed rows as well.

Stuck on this? Ask an engineer

Not ready for a call? Send one question about your setup. An engineer replies by email within one business day.

Want a second opinion on your setup?

A free 30-minute call with an engineer. A written read on your current setup, whether or not you hire us.