KosmoKrator

other

Attio CLI for AI Agents

Use the Attio CLI from KosmoKrator to call Attio tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.

7 functions 6 read 1 write Bearer token auth

Attio CLI Setup

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 --json
kosmokrator integrations:doctor attio --json
kosmokrator integrations:status --json

Credentials

Authentication type: Bearer token bearer_token. Configure credentials once, then use the same stored profile from scripts, coding CLIs, Lua code mode, and the MCP gateway.

KeyEnv varTypeRequiredLabel
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.

kosmo integrations:call attio.attio_list_records '{
  "object_id": "example_object_id",
  "limit": 1,
  "offset": 1,
  "sorts": "example_sorts",
  "filters": "example_filters"
}' --json

Use the provider shortcut form for shorter human-facing commands.

kosmo integrations:attio attio_list_records '{
  "object_id": "example_object_id",
  "limit": 1,
  "offset": 1,
  "sorts": "example_sorts",
  "filters": "example_filters"
}' --json

Agent Discovery Commands

These commands return structured output for coding agents that need to inspect capabilities before choosing a function.

kosmo integrations:docs attio --json
kosmo integrations:docs attio.attio_list_records --json
kosmo integrations:schema attio.attio_list_records --json
kosmo integrations:search "Attio" --json
kosmo integrations:list --json

All CLI Functions

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.

Parameters
object_id, limit, offset, sorts, filters

Generic CLI call

kosmo integrations:call attio.attio_list_records '{"object_id":"example_object_id","limit":1,"offset":1,"sorts":"example_sorts","filters":"example_filters"}' --json

Provider shortcut

kosmo integrations:attio attio_list_records '{"object_id":"example_object_id","limit":1,"offset":1,"sorts":"example_sorts","filters":"example_filters"}' --json

attio.attio_get_record

Read read

Get a single record from Attio by its object type and record ID. Returns full record details including all attribute values.

Parameters
object_id, id

Generic CLI call

kosmo integrations:call attio.attio_get_record '{"object_id":"example_object_id","id":"example_id"}' --json

Provider shortcut

kosmo integrations:attio attio_get_record '{"object_id":"example_object_id","id":"example_id"}' --json

attio.attio_create_record

Write write

Create a new record in Attio for a given object type. Pass attribute values keyed by their attribute slug in the data parameter.

Parameters
object_id, data

Generic CLI call

kosmo integrations:call attio.attio_create_record '{"object_id":"example_object_id","data":"example_data"}' --json

Provider shortcut

kosmo integrations:attio attio_create_record '{"object_id":"example_object_id","data":"example_data"}' --json

attio.attio_list_objects

Read read

List all object types defined in the Attio workspace (e.g. people, companies, deals, custom objects). Useful for discovering available objects before querying records.

Parameters
none

Generic CLI call

kosmo integrations:call attio.attio_list_objects '{}' --json

Provider shortcut

kosmo integrations:attio attio_list_objects '{}' --json

attio.attio_get_object

Read read

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.

Parameters
id

Generic CLI call

kosmo integrations:call attio.attio_get_object '{"id":"example_id"}' --json

Provider shortcut

kosmo integrations:attio attio_get_object '{"id":"example_id"}' --json

attio.attio_list_workspaces

Read read

List all Attio workspaces accessible to the authenticated user. Returns workspace IDs and names useful for understanding the context of the current integration.

Parameters
none

Generic CLI call

kosmo integrations:call attio.attio_list_workspaces '{}' --json

Provider shortcut

kosmo integrations:attio attio_list_workspaces '{}' --json

attio.attio_get_current_user

Read read

Get the currently authenticated Attio user profile. Useful for verifying API connectivity and identifying which workspace the integration is connected to.

Parameters
none

Generic CLI call

kosmo integrations:call attio.attio_get_current_user '{}' --json

Provider shortcut

kosmo integrations:attio attio_get_current_user '{}' --json

Function Schemas

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.

Operation
Read read
Schema command
kosmo integrations:schema attio.attio_list_records --json
ParameterTypeRequiredDescription
object_id string yes 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.

Operation
Read read
Schema command
kosmo integrations:schema attio.attio_get_record --json
ParameterTypeRequiredDescription
object_id string yes The object slug or ID (e.g. "people", "companies", "deals").
id string yes The record UUID.

attio.attio_create_record

Create a new record in Attio for a given object type. Pass attribute values keyed by their attribute slug in the data parameter.

Operation
Write write
Schema command
kosmo integrations:schema attio.attio_create_record --json
ParameterTypeRequiredDescription
object_id string yes 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.

Operation
Read read
Schema command
kosmo integrations:schema attio.attio_list_objects --json
ParameterTypeRequiredDescription
No parameters.

attio.attio_get_object

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.

Operation
Read read
Schema command
kosmo integrations:schema attio.attio_get_object --json
ParameterTypeRequiredDescription
id string yes 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.

Operation
Read read
Schema command
kosmo integrations:schema attio.attio_list_workspaces --json
ParameterTypeRequiredDescription
No parameters.

attio.attio_get_current_user

Get the currently authenticated Attio user profile. Useful for verifying API connectivity and identifying which workspace the integration is connected to.

Operation
Read read
Schema command
kosmo integrations:schema attio.attio_get_current_user --json
ParameterTypeRequiredDescription
No parameters.

Permissions

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.