productivity
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.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 reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| 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 |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call attio.attio_api_get '{}' --json kosmo integrations:attio attio_api_get '{}' --json Discovery
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_api_get --json
kosmo integrations:schema attio.attio_api_get --json
kosmo integrations:search "Attio" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
attio.attio_api_get
Call any Attio GET endpoint.
read - Parameters
- none
kosmo integrations:call attio.attio_api_get '{}' --json kosmo integrations:attio attio_api_get '{}' --json attio.attio_api_post
Call any Attio POST endpoint.
write - Parameters
- none
kosmo integrations:call attio.attio_api_post '{}' --json kosmo integrations:attio attio_api_post '{}' --json attio.attio_api_patch
Call any Attio PATCH endpoint.
write - Parameters
- none
kosmo integrations:call attio.attio_api_patch '{}' --json kosmo integrations:attio attio_api_patch '{}' --json attio.attio_api_put
Call any Attio PUT endpoint.
write - Parameters
- none
kosmo integrations:call attio.attio_api_put '{}' --json kosmo integrations:attio attio_api_put '{}' --json attio.attio_api_delete
Call any Attio DELETE endpoint.
write - Parameters
- none
kosmo integrations:call attio.attio_api_delete '{}' --json kosmo integrations:attio attio_api_delete '{}' --json 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.
read - Parameters
- none
kosmo integrations:call attio.attio_list_workspaces '{}' --json kosmo integrations:attio attio_list_workspaces '{}' --json 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.
read - Parameters
- none
kosmo integrations:call attio.attio_get_current_user '{}' --json kosmo integrations:attio attio_get_current_user '{}' --json 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.
read - Parameters
- none
kosmo integrations:call attio.attio_list_objects '{}' --json kosmo integrations:attio attio_list_objects '{}' --json 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.
read - Parameters
- id
kosmo integrations:call attio.attio_get_object '{"id":"example_id"}' --json kosmo integrations:attio attio_get_object '{"id":"example_id"}' --json attio.attio_list_attributes
List object or list attributes.
read - Parameters
- none
kosmo integrations:call attio.attio_list_attributes '{}' --json kosmo integrations:attio attio_list_attributes '{}' --json attio.attio_get_attribute
Get an object or list attribute.
read - Parameters
- none
kosmo integrations:call attio.attio_get_attribute '{}' --json kosmo integrations:attio attio_get_attribute '{}' --json attio.attio_create_attribute
Create an object or list attribute.
write - Parameters
- none
kosmo integrations:call attio.attio_create_attribute '{}' --json kosmo integrations:attio attio_create_attribute '{}' --json 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.
read - Parameters
- object_id, limit, offset, sorts, filters
kosmo integrations:call attio.attio_list_records '{"object_id":"example_object_id","limit":1,"offset":1,"sorts":"example_sorts","filters":"example_filters"}' --json 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
Get a single record from Attio by its object type and record ID. Returns full record details including all attribute values.
read - Parameters
- object_id, id
kosmo integrations:call attio.attio_get_record '{"object_id":"example_object_id","id":"example_id"}' --json kosmo integrations:attio attio_get_record '{"object_id":"example_object_id","id":"example_id"}' --json 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.
write - Parameters
- object_id, data
kosmo integrations:call attio.attio_create_record '{"object_id":"example_object_id","data":"example_data"}' --json kosmo integrations:attio attio_create_record '{"object_id":"example_object_id","data":"example_data"}' --json attio.attio_update_record
Update a record for an object type.
write - Parameters
- none
kosmo integrations:call attio.attio_update_record '{}' --json kosmo integrations:attio attio_update_record '{}' --json attio.attio_delete_record
Delete a record for an object type.
write - Parameters
- none
kosmo integrations:call attio.attio_delete_record '{}' --json kosmo integrations:attio attio_delete_record '{}' --json attio.attio_list_record_entries
List list entries for a record.
read - Parameters
- none
kosmo integrations:call attio.attio_list_record_entries '{}' --json kosmo integrations:attio attio_list_record_entries '{}' --json attio.attio_list_lists
List Attio lists.
read - Parameters
- none
kosmo integrations:call attio.attio_list_lists '{}' --json kosmo integrations:attio attio_list_lists '{}' --json attio.attio_get_list
Get an Attio list.
read - Parameters
- none
kosmo integrations:call attio.attio_get_list '{}' --json kosmo integrations:attio attio_get_list '{}' --json attio.attio_create_list
Create an Attio list.
write - Parameters
- none
kosmo integrations:call attio.attio_create_list '{}' --json kosmo integrations:attio attio_create_list '{}' --json attio.attio_update_list
Update an Attio list.
write - Parameters
- none
kosmo integrations:call attio.attio_update_list '{}' --json kosmo integrations:attio attio_update_list '{}' --json attio.attio_list_entries
Query entries in an Attio list.
read - Parameters
- none
kosmo integrations:call attio.attio_list_entries '{}' --json kosmo integrations:attio attio_list_entries '{}' --json attio.attio_create_entry
Add a record to an Attio list.
write - Parameters
- none
kosmo integrations:call attio.attio_create_entry '{}' --json kosmo integrations:attio attio_create_entry '{}' --json attio.attio_get_entry
Get an Attio list entry.
read - Parameters
- none
kosmo integrations:call attio.attio_get_entry '{}' --json kosmo integrations:attio attio_get_entry '{}' --json attio.attio_update_entry
Update an Attio list entry.
write - Parameters
- none
kosmo integrations:call attio.attio_update_entry '{}' --json kosmo integrations:attio attio_update_entry '{}' --json attio.attio_delete_entry
Delete an Attio list entry.
write - Parameters
- none
kosmo integrations:call attio.attio_delete_entry '{}' --json kosmo integrations:attio attio_delete_entry '{}' --json attio.attio_list_notes
List Attio notes.
read - Parameters
- none
kosmo integrations:call attio.attio_list_notes '{}' --json kosmo integrations:attio attio_list_notes '{}' --json attio.attio_create_note
Create an Attio note.
write - Parameters
- none
kosmo integrations:call attio.attio_create_note '{}' --json kosmo integrations:attio attio_create_note '{}' --json attio.attio_list_tasks
List Attio tasks.
read - Parameters
- none
kosmo integrations:call attio.attio_list_tasks '{}' --json kosmo integrations:attio attio_list_tasks '{}' --json attio.attio_create_task
Create an Attio task.
write - Parameters
- none
kosmo integrations:call attio.attio_create_task '{}' --json kosmo integrations:attio attio_create_task '{}' --json attio.attio_update_task
Update an Attio task.
write - Parameters
- none
kosmo integrations:call attio.attio_update_task '{}' --json kosmo integrations:attio attio_update_task '{}' --json attio.attio_delete_task
Delete an Attio task.
write - Parameters
- none
kosmo integrations:call attio.attio_delete_task '{}' --json kosmo integrations:attio attio_delete_task '{}' --json attio.attio_list_webhooks
List Attio webhooks.
read - Parameters
- none
kosmo integrations:call attio.attio_list_webhooks '{}' --json kosmo integrations:attio attio_list_webhooks '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
attio.attio_api_get 0 parameters
kosmo integrations:schema attio.attio_api_get --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_api_post 0 parameters
kosmo integrations:schema attio.attio_api_post --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_api_patch 0 parameters
kosmo integrations:schema attio.attio_api_patch --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_api_put 0 parameters
kosmo integrations:schema attio.attio_api_put --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_api_delete 0 parameters
kosmo integrations:schema attio.attio_api_delete --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_list_workspaces 0 parameters
kosmo integrations:schema attio.attio_list_workspaces --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_get_current_user 0 parameters
kosmo integrations:schema attio.attio_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_list_objects 0 parameters
kosmo integrations:schema attio.attio_list_objects --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_get_object 1 parameters
kosmo integrations:schema attio.attio_get_object --json | Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The object slug or UUID (e.g. "people", "companies", "deals"). |
attio.attio_list_attributes 0 parameters
kosmo integrations:schema attio.attio_list_attributes --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_get_attribute 0 parameters
kosmo integrations:schema attio.attio_get_attribute --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_create_attribute 0 parameters
kosmo integrations:schema attio.attio_create_attribute --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_list_records 5 parameters
kosmo integrations:schema attio.attio_list_records --json | Parameter | Type | Required | Description |
|---|---|---|---|
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 2 parameters
kosmo integrations:schema attio.attio_get_record --json | Parameter | Type | Required | Description |
|---|---|---|---|
object_id | string | yes | The object slug or ID (e.g. "people", "companies", "deals"). |
id | string | yes | The record UUID. |
attio.attio_create_record 2 parameters
kosmo integrations:schema attio.attio_create_record --json | Parameter | Type | Required | Description |
|---|---|---|---|
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_update_record 0 parameters
kosmo integrations:schema attio.attio_update_record --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_delete_record 0 parameters
kosmo integrations:schema attio.attio_delete_record --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_list_record_entries 0 parameters
kosmo integrations:schema attio.attio_list_record_entries --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_list_lists 0 parameters
kosmo integrations:schema attio.attio_list_lists --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_get_list 0 parameters
kosmo integrations:schema attio.attio_get_list --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_create_list 0 parameters
kosmo integrations:schema attio.attio_create_list --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_update_list 0 parameters
kosmo integrations:schema attio.attio_update_list --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_list_entries 0 parameters
kosmo integrations:schema attio.attio_list_entries --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_create_entry 0 parameters
kosmo integrations:schema attio.attio_create_entry --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_get_entry 0 parameters
kosmo integrations:schema attio.attio_get_entry --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_update_entry 0 parameters
kosmo integrations:schema attio.attio_update_entry --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_delete_entry 0 parameters
kosmo integrations:schema attio.attio_delete_entry --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_list_notes 0 parameters
kosmo integrations:schema attio.attio_list_notes --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_create_note 0 parameters
kosmo integrations:schema attio.attio_create_note --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_list_tasks 0 parameters
kosmo integrations:schema attio.attio_list_tasks --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_create_task 0 parameters
kosmo integrations:schema attio.attio_create_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_update_task 0 parameters
kosmo integrations:schema attio.attio_update_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_delete_task 0 parameters
kosmo integrations:schema attio.attio_delete_task --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
attio.attio_list_webhooks 0 parameters
kosmo integrations:schema attio.attio_list_webhooks --json | Parameter | Type | Required | Description |
|---|---|---|---|
| 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.