Back to Attio in Google Sheets
SheetXAI logo
Attio logo
Attio · Google Sheets Guide

Bulk Import Person Records Into Attio From a Google Sheet

2026-05-15
5 min read

The Scenario

The conference ended Friday. You are a business development rep sitting at your desk Monday morning with a Google Sheet of 300 people you scanned badges with — first name, last name, email, job title, phone. Half of them are already in the CRM from past events. The other half are new. You don't know which is which, and the last time you ran a bulk import without checking, you ended up with 80 duplicate contacts that someone else had to clean up.

Your plan had been to export Attio contacts, do a VLOOKUP against the sheet to separate new from existing, update the existing ones by hand, and create the new ones through the import tool. You started mapping that out and realized it would take the whole morning.

The bad version:

  • Download the Attio person export as CSV, deduplicate against the sheet in a second tab, mark each row as "new" or "existing."
  • For the "existing" rows, go into Attio one by one and update the job title and phone fields.
  • For the "new" rows, use the CSV importer — which will still require reformatting the sheet to match the import template exactly.

The whole point of a CRM is that it tracks these people so you don't have to. Doing the dedup yourself by hand is running the CRM manually.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It reads your contact list and through its built-in Attio integration it upserts each person by email — creating the ones who don't exist yet and updating the ones who do — without you ever opening the import tool.

For each row in this sheet, assert an Attio person record using the email in column C as the unique key; set first name from column A, last name from column B, job title from column D, and phone from column E; write the record ID into column F.

What You Get

  • Column F fills with the Attio record ID for each person.
  • Records that already existed are updated with the new job title and phone values.
  • New contacts are created with all five fields set.
  • Any row with a missing or malformed email surfaces an error in column F — no silently skipped rows.

What If the Data Is Not Quite Ready

First and last name are merged into one column

The badge scanner output put everything in one "Full Name" column.

Split the full name in column A into first name and last name, then assert each row as an Attio person using the email in column C as the unique key; write the first name, last name, job title from column D, and phone from column E to the record; log the record ID in column F.

Some job titles have inconsistent formatting from the scanner

"VP, Sales" and "VP of Sales" and "vp sales" are all in the sheet.

Normalize the job title values in column D to title case with standard punctuation, then upsert each person into Attio by email from column C; set first name, last name, job title, and phone from columns A, B, D, and E; write the record ID into column F.

There's a company domain column you want to use to associate each person to their company record.

For each row, assert an Attio person by email in column C with first name, last name, job title, and phone from columns A, B, D, and E; look up the Attio company by domain in column G and link the person to it; write the record ID into column F.

Validate, clean, upsert, and flag opted-out contacts in one shot

Check each email in column C — flag any that are malformed in column F with 'skip - bad email'. For valid rows, upsert an Attio person matching on email; set name, title, and phone from columns A through E; if column H says 'opted out', add the tag 'opted-out' to the record; write the record ID for successful rows into column F.

Run the cleanup and the action together rather than in two separate steps.

Try It

Get the 7-day free trial of SheetXAI and open any Google Sheet with a contact list from an event, a form, or a lead source, then ask it to push the records into Attio. The Attio integration is included in every SheetXAI plan. See also the spoke on adding contacts to an Attio list, or the hub for a full overview of Attio integration methods.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more