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 singleapi_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 viafor_each:
Why people/companies/deals/users/workspaces exist alongside records
Why people/companies/deals/users/workspaces exist alongside records
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.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.