Back to Attio in Excel
SheetXAI logo
Attio logo
Attio · Excel Guide

Search Attio by Domain or Email and Write Record IDs to a Excel

2026-05-15
5 min read

The Scenario

The enrichment file arrived yesterday. You are a sales analyst and the vendor delivered 300 company domains with firmographic data — employee count, funding stage, revenue range — in an Excel workbook. Your pipeline model references Attio record IDs, not domains. You need a record ID column in the enrichment output so you can join it to the rest of your data model.

You know these companies are in Attio — the SDR team imported the target list two weeks ago. You don't know their record IDs. You need 300 lookups.

The VLOOKUP approach means exporting all Attio companies as CSV, loading it as a second Excel sheet, and joining on domain. You tried this last quarter. The domain formatting didn't match between the systems — "acme.com" in one, "https://www.acme.com" in the other — and you spent 45 minutes normalizing before the join worked.

The bad version:

  • Re-run the export-and-join workflow. Spend 45 minutes on normalization again.
  • Do the lookups manually — search Attio for each domain, copy the record ID from the URL, paste it into the workbook. 300 times.
  • Push it to the CRM analyst and wait two days while the enrichment data sits idle.

The model is waiting. The data is perishable.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Excel workbook. Through its built-in Attio integration it reads each domain, queries the Attio search API, and writes the matched record ID and company name back to the workbook — domain normalization included.

Read the Excel table 'DomainList' — column A has company domains. For each domain, fuzzy-search Attio and write the matched record ID and name into columns B and C.

What You Get

  • Column B fills with the Attio record ID for each matched domain.
  • Column C fills with the company name from Attio — useful for spot-checking the match.
  • Unmatched domains show 'no match' in column B so you know exactly which rows need attention.
  • Domain normalization is handled automatically — "https://www.acme.com" and "acme.com" resolve to the same record.

What If the Data Is Not Quite Ready

Domain formatting in the workbook is wildly inconsistent

Normalize each domain in column A to bare domain format before searching; look up the matching Attio company; write record ID into column B and company name into column C; mark unmatched rows 'no match'.

You are looking up person records by email, not companies by domain

For each email in column A, search Attio for a matching person record and write the Attio record ID into column B and the person's full name into column C; mark unmatched rows 'no match'.

You want to fall back to company name search when domain fails

For each domain in column A, search Attio for a matching company; if no domain match is found, search by the company name in column B; write record ID, company name, and match method ('domain' or 'name' or 'no match') into columns C, D, and E.

Normalize domains, run lookups, flag low-confidence matches, join enrichment data

Normalize each domain in column A. Search Attio for a matching company; write record ID into column B and company name into column C. If the match used a name fallback, flag 'low confidence' in column D. If no match at all, flag 'no match'. Leave column D blank for clean domain matches.

Try It

Get the 7-day free trial of SheetXAI and open any Excel workbook with domains or emails you need to resolve against Attio, then ask it to run the lookup. The Attio integration is included in every SheetXAI plan. See also the spoke on querying Attio records with filters, 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