---
title: "Attio enrichment with Leadsets: skills and API"
description: "Enrich Attio people and company records with Leadsets: verified work emails and firmographics through free skills, the REST API or the MCP server."
canonical: https://www.leadsets.ai/integrations/attio
updated: 2026-11-09
---

# Attio enrichment with Leadsets

Leadsets connects to Attio through free skills and its REST API, as listed on its integrations page. An AI agent or workflow calls enrich_person and enrich_company to fill Attio people and company records with sourced, dated fields, including verified work emails and firmographics. Leadsets has a free plan of 1,000 one-time records and flat monthly plans from $29. It does not provide phone numbers yet.

## How Leadsets works with Attio

Attio is a CRM. Leadsets lists Attio on its [integrations page](https://www.leadsets.ai/integrations) under CRMs with the connection type "Skills + API". That means two things:

- **Skills:** free, open-source SKILL.md playbooks that tell an agent which Leadsets tools to call, in what order, and how to check the result.
- **API:** the Leadsets REST API at `https://api.leadsets.ai/v1`, for automation tools and your own code.

The Leadsets site does not document Attio-specific setup screens, so this page describes the generic MCP, REST, skill and CSV setup from the Leadsets docs. Leadsets is not a CRM. It supplies people and company data, and the agent or workflow writes that data into your Attio records.

## What an agent can do in Attio with Leadsets

According to the Leadsets integrations page, an agent can backfill missing emails, enrich companies and flag stale records in CRMs including Attio. The skills library lists three skills that connect to Attio, including:

- **Attio record enrichment:** fills people and company records in Attio with sourced, dated fields, using `enrich_person` and `enrich_company`.
- **Enrich companies from domains:** adds industry, headcount band, location and stack to a list of domains, using `enrich_company`, with CSV, Google Sheets and Attio listed as connections.

The tools behind these skills:

- `enrich_person` returns current role, company and a verified work email when one exists.
- `enrich_company` returns firmographics for a domain, with source and freshness on every field.
- `verify_email` labels an address verified, catch-all, unknown or invalid, with a confidence score.
- `search_people` and `search_companies` find new people and accounts to add, with a match reason on every result.

Every field Leadsets returns carries its source, last-checked date and confidence, so the agent can record how fresh a value was when it wrote it to Attio. Browse every playbook in the [full skills list](https://www.leadsets.ai/skills/all).

## How to connect it

### Option 1: an AI agent over MCP

Leadsets is a remote MCP server at `https://mcp.leadsets.ai`. Nothing is installed locally.

1. In Claude on the web or desktop, open Customize, Connectors, click + Add, then Add custom connector.
2. Name it Leadsets and paste `https://mcp.leadsets.ai` as the MCP server URL.
3. Click Continue, choose Sign in now, click Add, then sign in to Leadsets. It uses OAuth, so there is no key to paste.
4. In a chat, click +, Connectors and switch Leadsets on.
5. Ask "What's my Leadsets usage?" If the agent calls `get_usage` and answers with your remaining balance, you are connected.

In Claude Code, run `claude mcp add --transport http leadsets https://mcp.leadsets.ai`. In Cursor, add a server named leadsets with that URL and an Authorization header containing your bearer key. Full steps are in the [MCP setup docs](https://www.leadsets.ai/docs/mcp).

The agent also needs its own access to Attio to read and write records. The Leadsets site does not describe how that access is set up, so use whatever Attio connection your agent already has.

### Option 2: the REST API in a workflow or code

Create a free account and copy your key, which starts with `ls_live_`. Keep it server-side. Call the API with the key as a bearer token:

- `POST /v1/people/enrich` for a person and a verified email when available
- `POST /v1/companies/enrich` for company details from a domain
- `POST /v1/emails/verify` for single or batch verification

The TypeScript and Python SDKs (`npm i @leadsets/sdk`, `pip install leadsets`) return typed responses and retry 429s automatically. You can also call the API from an n8n HTTP node or a Make HTTP module. Send an `Idempotency-Key` on paid calls so retries never count records twice.

### Option 3: add a skill

Download the skill folder and upload it in Claude, Settings, Skills, or clone the library with `git clone github.com/leadsets/leadsets-skills`. Skills are MIT licensed and work on the free key.

### Option 4: CSV

Leadsets supports CSV import and export. Enrich a file of domains or contacts, export the result, and bring it into Attio through the process your team already uses.

## Example: backfilling Attio records at Northwind Analytics

Maya Chen runs revenue operations at Northwind Analytics (northwind.co). Her Attio workspace has 300 people records with no email and 80 company records, including Stackfold and Parcelry, with empty industry and headcount fields. She is on the Solo plan and asks Claude, with the Leadsets connector and the Attio record enrichment skill:

> "Fill missing emails on our Attio people and missing firmographics on our Attio companies. Keep catch-alls separate."

An illustrative run:

1. The agent calls `get_usage`, which is free. Solo allows 1,000 enrichment records per five hours, and this job needs at most 380.
2. It calls `enrich_company` for the 80 domains and writes industry, headcount band and location back, each with its checked date.
3. It calls `enrich_person` for the 300 people. Returned emails are already verified, so no separate `verify_email` call is needed.
4. It writes verified emails to Attio, lists catch-all addresses separately for lower-volume sending, and flags unknown ones as unconfirmed.
5. People with nothing to enrich come back as `404 not_found` and use no records, so the agent leaves them blank and moves on.

## What to watch for

- **Records and requests:** a record counts only when data comes back. Every call counts as a request, hit or miss, and the request limit is five times the record allowance.
- **Windows:** search and enrichment each have rolling five-hour and weekly limits, shown in [limits and costs](https://www.leadsets.ai/docs/limits). Over a limit, the API returns 429 with a Retry-After time and the blocked call counts against nothing.
- **Standalone verification:** `verify_email` counts toward the enrichment limit. Emails from `enrich_person` carry no extra charge.
- **Email labels:** verified means the mailbox accepts mail. Catch-all means the domain accepts everything, so send at lower volume. Unknown means no clear answer. Invalid emails are never served as contact emails. See [what a catch-all email is](https://www.leadsets.ai/answers/what-is-a-catch-all-email).
- **Free plan:** 1,000 records, one time, shared across search and enrichment. When they run out the API returns `402 free_records_exhausted`.
- **Suppression:** if Leadsets tells you a record has been suppressed, you must stop using it, including copies in Attio.

## What it does not do

- No phone numbers yet. Leadsets returns work emails, US personal emails on paid plans, roles and company data.
- It is not a CRM or a sending tool. It feeds Attio and your sequencer.
- Business data only: no consumer data, sensitive categories or home addresses.
- Website and careers page scraping is a paid add-on in units and is not on the free plan. See [pricing](https://www.leadsets.ai/pricing).
- SOC 2 Type I is planned, with a target of Q3 2027, not completed.

## Questions and answers

### Does Leadsets integrate with Attio?

Yes. Leadsets lists Attio as a CRM integration through free skills and its REST API, and says an agent can backfill missing emails, enrich companies and flag stale records there. The Leadsets site does not document Attio-specific setup screens, so you connect using the generic MCP, REST or CSV setup.

### How do I enrich Attio records with verified work emails?

Use the free Attio record enrichment skill, which calls enrich_person and enrich_company to fill people and company records with sourced, dated fields. Emails returned by enrich_person are already verified, with no second tool or second bill.

### How much does it cost to enrich Attio data with Leadsets?

The free plan gives 1,000 records once, with no card. Paid plans are flat monthly prices in USD: Solo $29, Pro $99, Team $399 and Max $999, with no credits and fair-use limits per five hours and per week.

### How should I handle catch-all and unknown emails in Attio?

Leadsets labels them separately and never reports either as valid. It suggests sending to catch-all addresses at lower volume and treating unknown as unconfirmed, so keeping them in a separate list or field is a sensible approach.

### Can Leadsets add phone numbers to Attio records?

No. Leadsets does not offer phone numbers yet and says it will only add them once sourcing rights and costs are clear. It returns work emails, US personal emails on paid plans, roles and company data.

### Can I enrich Attio without using Claude?

Yes. Any MCP client can add https://mcp.leadsets.ai, and every tool is also a REST endpoint with TypeScript and Python SDKs. You can call it from an n8n HTTP node, a Make HTTP module or your own code.

---

Leadsets · https://www.leadsets.ai · Site index: https://www.leadsets.ai/llms.txt
