Use the Attio CLI from KosmoKrator to call Attio tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.
Attio can be configured headlessly with `kosmokrator integrations:configure attio`.
# Install KosmoKrator first if it is not available on PATH.curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash# Configure and verify this integration.kosmokrator integrations:configure attio --set access_token="$ATTIO_ACCESS_TOKEN" --enable --read allow --write ask --jsonkosmokrator integrations:doctor attio --jsonkosmokrator integrations:status --json
Credentials
Authentication type: Bearer tokenbearer_token. Configure credentials once, then use the same stored profile from
scripts, coding CLIs, Lua code mode, and the MCP gateway.
Key
Env var
Type
Required
Label
access_token
ATTIO_ACCESS_TOKEN
Secret secret
yes
Access Token
base_url
ATTIO_BASE_URL
URL url
no
API Base URL
Call Attio Headlessly
Use the generic call form when another coding CLI or script needs a stable universal interface.
Every function below can be called headlessly. The generic form is stable across all integrations;
the provider shortcut is shorter but specific to Attio.
attio.attio_list_records
Read read
List records for an object type in Attio (e.g. people, companies, deals). Supports filtering, sorting, and pagination via a POST query endpoint. Use filters to narrow results by attribute values and sorts to control ordering.
List all object types defined in the Attio workspace (e.g. people, companies, deals, custom objects). Useful for discovering available objects before querying records.
Get details for a specific object type in Attio, including its attributes and their types. Useful for understanding what fields are available before creating or updating records.
List all Attio workspaces accessible to the authenticated user. Returns workspace IDs and names useful for understanding the context of the current integration.
Get the currently authenticated Attio user profile. Useful for verifying API connectivity and identifying which workspace the integration is connected to.
Use these parameter tables when building CLI payloads without calling integrations:schema first.
attio.attio_list_records
List records for an object type in Attio (e.g. people, companies, deals). Supports filtering, sorting, and pagination via a POST query endpoint. Use filters to narrow results by attribute values and sorts to control ordering.
The object slug or ID (e.g. "people", "companies", "deals").
limit
integer
no
Maximum number of records to return (default: 20, max: 500).
offset
integer
no
Number of records to skip for pagination (default: 0).
sorts
array
no
Sort definitions. Each entry is an object with "attribute" (object with "slug") and "direction" ("asc" or "desc"). Example: [{"attribute": {"slug": "name"}, "direction": "asc"}].
filters
object
no
Filter definitions following Attio's filter grammar. Can be a single filter or a compound filter with "$and"/"$or". Example: {"$and": [{"attribute": {"slug": "name"}, "condition": "contains", "value": "Acme"}]}.
attio.attio_get_record
Get a single record from Attio by its object type and record ID. Returns full record details including all attribute values.
The object slug or ID (e.g. "people", "companies", "deals").
data
object
yes
Record data keyed by attribute slug. Example: {"name": "Acme Corp", "website": "https://acme.com"}. Values depend on the attribute type.
attio.attio_list_objects
List all object types defined in the Attio workspace (e.g. people, companies, deals, custom objects). Useful for discovering available objects before querying records.
Get details for a specific object type in Attio, including its attributes and their types. Useful for understanding what fields are available before creating or updating records.
The object slug or UUID (e.g. "people", "companies", "deals").
attio.attio_list_workspaces
List all Attio workspaces accessible to the authenticated user. Returns workspace IDs and names useful for understanding the context of the current integration.
Get the currently authenticated Attio user profile. Useful for verifying API connectivity and identifying which workspace the integration is connected to.
Headless calls still follow the integration read/write permission policy. Configure read/write defaults
with integrations:configure. Add --force only for trusted automation that should bypass that policy.