Source connector
Attio connector
Attio integration for databases, warehouses and BI tools
Modern CRM source for relationship and pipeline data. Datrise captures Attio entities such as objects, lists, records, notes, and relationship workflows, then lands normalized and typed models for warehouse reporting, attribution, and AI workflows.
The Attio REST API v2 authenticates with OAuth 2.0, API key, and Attio caps calls at 100 requests per second for reads and 25 requests per second for writes across the whole API; List records and List entries add a complexity score with a per-query cap and a 10-second sliding window; the Enterprise-only `POST /v2/sql` endpoint is capped at 2 requests per second.
Of the 5 objects, 5 sync as upserts keyed on the primary key and 0 as append-only streams, so each incremental run moves only what changed since the last watermark. Every object lands in its own table (for example `attio_objects`) with a schema derived from the Attio API rather than a flattened CSV, in any of the 43 supported destinations.
Datrise is in early access: pick a destination below to open the Attio pipeline page, and join the waitlist to get the Attio connector (CRM) with guided onboarding.
What Attio data Datrise extracts
Each object lands in its own typed table. Sync mode is derived from the object: history-style objects append, everything else upserts.
| Object | Landing table | Sync mode |
|---|---|---|
| objects | attio_objects | Upsert by primary key, incremental on updated-at |
| lists | attio_lists | Upsert by primary key, incremental on updated-at |
| records | attio_records | Upsert by primary key, incremental on updated-at |
| notes | attio_notes | Upsert by primary key, incremental on updated-at |
| relationship workflows | attio_relationship_workflows | Upsert by primary key, incremental on updated-at |
Attio API: setup facts for the connector
Verified against the vendor documentation on 2026-10-05. Unknown values are left blank rather than guessed.
| API | Attio REST API v2 |
|---|---|
| Authentication | OAuth 2.0, API key — Multi-workspace apps use OAuth 2.0 from the Developer console (`token_level` `workspace` by default, or `user` with mandatory PKCE); a single workspace can instead generate a scoped API key, and both are sent as `Authorization: Bearer <access_token>`. |
| Pagination | offset — `POST /v2/objects/{object}/records/query` and `List entries` take `limit` (defaults to 500) and `offset` in the body and you stop when a page returns fewer than `limit`; some newer endpoints such as `GET /v2/meetings` use `cursor`/`pagination.next_cursor` instead. |
| Rate limit | 100 requests per second for reads and 25 requests per second for writes across the whole API; List records and List entries add a complexity score with a per-query cap and a 10-second sliding window; the Enterprise-only `POST /v2/sql` endpoint is capped at 2 requests per second |
| Incremental cursor | Not published |
| Webhooks | Yes — V2 webhooks (record.created / record.updated / record.deleted / record.merged, list-entry.*, note.*, task.*) |
| Bulk export | No |
| Deletes detectable | Yes — Only via webhooks: `record.deleted` carries `id.record_id` and `id.object_id`, and `record.merged` fires twice per merge naming each absorbed original in `duplicate_record_id`; the records query endpoint has no deleted-record flag or tombstone. |
What bites when replicating Attio
- There is no updated-at attribute on records: the only system timestamp on every object is the non-writable `created_at`, so a sync engine must subscribe to `record.updated` webhooks (one event per changed `attribute_id`) or re-read every record on each run.
- Every attribute value carries `active_from` and `active_until`, and `GET /v2/objects/{object}/records/{record_id}/attributes/{attribute}/values?show_historic=true` returns the full value history oldest-first, but it answers 400 for COMINT and enriched attributes, so point-in-time reconstruction is not possible for those fields.
- Record and entry queries are score-rate-limited on top of the 100 reads/second ceiling: each `records/query` gets a complexity score from its filters, sorts and the object's record count, with a per-query cap and a 10-second sliding-window budget summed across all tokens, so heavy filters on large objects 429 well below 100 requests per second.
- Webhook subscriptions must be unique per target URL, event type and filter (duplicates are rejected with `409 uniqueness_conflict`), deliveries are smoothed to 25 requests per second per target URL with a 5-second response timeout, and after 10 failed retries over roughly 3 days the webhook is marked degraded, so a receiver outage of a few days loses the change stream for the gap.
Popular destinations for Attio
Choose a destination below to open the ready pipeline page.
- AAirtable
Relational spreadsheet destination for ops and go-to-market teams.
View pipeline - AAmazon Athena
Serverless SQL over S3 data lake tables.
View pipeline - AAmazon DynamoDB
Serverless key-value and document store on AWS.
View pipeline - AAmazon QuickSight
AWS serverless BI with SPICE and embedded analytics.
View pipeline - AAmazon Redshift
AWS petabyte-scale warehouse with Spectrum.
View pipeline - AAmazon S3 Data Lake
Object storage landing zone for parquet and snapshots.
View pipeline - AApache Superset
Open-source BI for SQL exploration, charts, and dashboard publishing.
View pipeline - AAzure Data Lake Storage
ADLS Gen2 object storage for analytics workloads.
View pipeline - AAzure Synapse
Microsoft analytics workspace with SQL pools.
View pipeline
Attio connector FAQ
- What Attio data does the connector extract?
- 5 objects: objects, lists, records, notes and relationship workflows. Each lands in its own table with types preserved; history-style objects (0) load as append-only streams.
- Is the Attio integration incremental?
- Yes. After the initial full load, every run reads only records changed since the last watermark (updated-at or event timestamp) and applies an upsert or an append depending on the object.
- Where can I load Attio data?
- Into 43 destinations: relational databases, cloud warehouses, data lakes, spreadsheets and BI tools. Each Attio → destination pair has its own page with the object-to-table mapping.
Related CRM sources
Other sources in the same category, each with its own connector page.
Early access
Launch your Attio pipeline with guided onboarding
Join the waitlist to get priority access for Attio integrations with guided setup, schema-aware mapping, and production-grade incremental sync.