Skip to content

BunsDev/atcli

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

atcli

Minimal Attio CLI for records, lists, tasks, and raw REST API calls. Uses Attio's REST API directly; no MCP server.

Install

npm install -g @mariozechner/atcli

Setup with pi

Install atcli as a pi package from GitHub:

pi install https://github.com/badlogic/atcli

Then create an Attio access token in your workspace's developer settings:

https://app.attio.com/<workspace-slug>/settings/developers/access-tokens

Set the permission options you need, click Save changes, and export the token:

export ATTIO_TOKEN="your_token_here"

The pi package exposes an atcli skill. On first use, save the token under an account name:

node ~/.pi/agent/git/github.com/badlogic/atcli/dist/cli.js accounts token work "$ATTIO_TOKEN"

After that, ask pi to use Attio/atcli, or run commands directly with the same node .../dist/cli.js path.

Setup

Create an Attio access token, then save it under an account name:

atcli accounts token work $ATTIO_TOKEN
# or
atcli accounts token work attio_pat_or_oauth_token_here

Usage

atcli accounts <action>                    Account management
atcli <account> <command> [options]        Attio operations

Commands

accounts

atcli accounts token <name> <token>        # Save token
atcli accounts list                        # List configured accounts
atcli accounts remove <name>               # Remove account

me

atcli work me

objects

atcli work objects                         # List objects
atcli work objects people                  # Get one object by slug/UUID

records

Query object records (people, companies, deals, etc.).

atcli work records <object> [--filter JSON] [--sorts JSON] [--limit N] [--offset N] [--view UUID] [--json]

Examples:

atcli work records people --limit 10
atcli work records people --filter '{"email_addresses":"ada@example.com"}' --json
atcli work records companies --filter '{"name":"Acme"}'
atcli work records deals --sorts '[{"direction":"asc","attribute":"name"}]'

record

atcli work record people 891dcbfc-9141-415d-9b2a-2238a6cc012d

create / update / delete

atcli work create companies '{"name":"Acme Inc","domains":["acme.com"]}'
atcli work update companies <recordId> '{"description":"Important account"}'
atcli work delete companies <recordId>

lists / entries

atcli work lists
atcli work entries hiring-engineering --limit 50
atcli work entries hiring-engineering --filter '{"stage":"Interview"}' --json

tasks

atcli work tasks --limit 20
atcli work tasks --json

raw

Call any Attio API endpoint under /v2.

atcli work raw GET /objects/people/attributes
atcli work raw POST /objects/people/records/query '{"limit":5}'
atcli work raw PATCH /objects/people/records/<recordId> @body.json

Data Storage

All data is stored in ~/.atcli/:

  • accounts.json - saved account names and bearer tokens

Development

npm install
npm run build
npm run check

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 77.7%
  • TypeScript 22.3%