ravn
Integrations · Attio

Enrich Attio records through a CSV

Export the Attio people or company list you want to clean as CSV, run npx ravn enrich over it, and import the enriched file back into Attio matched on email address or domain.

Start free: 1,000 lookups Read the docs

Setup

Round-trip a list

There is no native Ravn app for Attio. Attio’s CSV export and import do the moving; the CLI does the checking.

  1. / 01

    Add attributes to hold results

    On the People object, add text attributes such as Email verdict and Email risk. For companies, add attributes for industry or headcount if you plan to enrich those.

  2. / 02

    Export the view

    Open the list or view, filter to the records you want, and export to CSV. Keep the email column (or domain column for companies).

  3. / 03

    Enrich

    Run the commands below. Look at the dry-run line first: it says how many rows and how many lookups it will use. Company enrichment runs on your own People Data Labs key (ravn keys add pdl); verifying emails is our own check and needs no key.

  4. / 04

    Import and match

    Import the enriched CSV into the same object, matching on email address for people or domain for companies, and map the rw_* columns to your new attributes.

Commands

People and companies

# People: verify emails
npx ravn enrich attio-people.csv --tool validate_email \
  --column "Email addresses" --dry-run
npx ravn enrich attio-people.csv --tool validate_email \
  --column "Email addresses"

# Companies: firmographics on your own PDL key (one lookup per company found, 0 on a miss)
npx ravn enrich attio-companies.csv --tool domain_to_company \
  --column Domains --out attio-companies.enriched.csv
Recipes

Good uses in Attio

  1. / 01

    Pre-sequence check

    Before enrolling a list in a sequence, verify it and only enrol people whose verdict is valid.

  2. / 02

    Fill gaps in a target list

    For people with a name and company but no email, run search_business_email_by_name with --map name=Name,company=Domain. See the email finder API.

  3. / 03

    Ask Claude instead

    If you have an Attio connector in Claude, add the Ravn connector too and ask Claude to verify a view and write back the verdicts. Best for small lists.

Good to know

Reading the verdicts

For validate_email, the verdict lands in rw_verdict (valid, invalid, risky or unknown), with rw_risk_score from A to F and rw_reason saying why, such as mailbox_not_found or catch_all_domain. Rows with no answer show not_found in rw_status and cost nothing.

Treat invalid as safe to exclude, risky as a judgement call, and never send to an address with disposable true. Before any outreach, check our compliance notes: our terms forbid contacting people who opted out.

FAQ

Common questions.

All questions →

Does importing back create duplicate people in Attio?

Not if you match on the email attribute for people (or domain for companies) during import. Rows that match update the existing record; check Attio’s import preview before you confirm.

My Attio export has several emails in one cell. What happens?

The tool receives the whole cell as one value, which will not validate as a single address. Split it to one address per row in a spreadsheet first, or keep only the primary email column.

Can I enrich companies without a provider key?

Yes. scrape_website is our own check and needs no provider key: it returns the name, description, logo, socials, phones and technologies from the company’s own site, one lookup per call. Firmographics like headcount come from domain_to_company, which runs on your own People Data Labs key.

Where does the enriched file go?

Next to the input, named <file>.enriched.csv, unless you pass --out. All original columns stay; Ravn only adds rw_* columns.