Skip to main content
Attio is a manifest-driven source — connectors/http/manifests/attio.yaml declares its resources, auth, and pagination against the shared grammar in connectors/http/manifest/; no Attio-specific Go code exists. See HTTP for how the manifest mechanism works.

Auth

A single api_key (Attio workspace API key, bearer auth). Attio’s objects and lists are workspace-defined — CRMs commonly extend people/companies/deals with custom objects — so the manifest reads the workspace’s actual object and list definitions rather than assuming a fixed schema.

Resources

Twenty-three resources, all statically discovered. Most fan out from a handful of top-level resources via for_each:
Attio’s standard CRM objects are still just objects — records already covers them via the generic for_each: objects fan-out. The five shortcut resources reuse records’ field set (use_fields: [record]) with the object slug hardcoded into the path, so a pipeline can select “Companies” directly instead of selecting records and filtering to one object afterward.
Pagination is per-resource: offset-based for query endpoints (500-record pages), cursor-based for list endpoints that return pagination.next_cursor, and none for small unpaginated resources like objects and lists themselves.

Modes

ModeFull and ModeIncremental (see HTTP); this manifest declares no incremental: blocks, so runs are full extracts — see Slack for what an incremental resource looks like in the same grammar.