# Attio Contact Enrichment & Verification — Ravn

Canonical: https://askravn.com/integrations/attio

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](https://askravn.com/#start) [Read the docs](https://askravn.com/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.
- / 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.
- / 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).
- / 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.
- / 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

- / 01
### Pre-sequence check
Before enrolling a list in a sequence, verify it and only enrol people whose verdict is `valid`.
- / 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](https://askravn.com/features/email-finder-api).
- / 03
### Ask Claude instead
If you have an Attio connector in Claude, add [the Ravn connector](https://askravn.com/integrations/claude) 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](https://askravn.com/compliance): our terms forbid contacting people who opted out.
FAQ
## Common questions.
[All questions →](https://askravn.com/faq)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.

## More in [integrations](https://askravn.com/integrations)
Every page uses the same account, plan and tools. [See pricing →](https://askravn.com/pricing)
- [Claude Contact Data ConnectorAdd Ravn to Claude as a custom connector and ask for verified emails, company facts and phone checks in plain English, on web, desktop and mobile..](https://askravn.com/integrations/claude)
- [Claude Code MCP for Email & Contact DataAdd the Ravn MCP server to Claude Code in one command, authenticate with /mcp, and install the Ravn skill so Claude Code can enrich files for you..](https://askravn.com/integrations/claude-code)
- [Clay Email Verification via HTTP APIAdd Ravn to a Clay table with the HTTP API enrichment: verify emails, find work addresses and pull company facts into new columns..](https://askravn.com/integrations/clay)
- [CSV Email Verification & EnrichmentVerify or enrich any CSV with npx ravn enrich: keeps every column, adds rw_* results, saves progress every 25 rows and resumes after a stop..](https://askravn.com/integrations/csv)
- [Cursor MCP Server for Contact DataConnect Ravn to Cursor with a few lines in mcp.json, so Cursor’s agent can verify emails, find work addresses and look up companies while you code..](https://askravn.com/integrations/cursor)
- [Google Sheets Email VerificationVerify a column of emails in Google Sheets with an Apps Script custom function that calls Ravn, with your key kept in Script Properties..](https://askravn.com/integrations/google-sheets)
