@anaella/cli
Command-line tool for anaella.com: one catalog of tools over the accounts
you connected (mailboxes, calendars, Drive, Docs and Sheets, Slack, Search Console, Analytics, ads,
reviews, Stripe, PayPal, n8n, a phone number, a meeting notetaker, social networks…). find what
you need, explain its input, do it.
Install
npm i -g @anaella/cli
# or run without installing:
npx @anaella/cli --help
Auth
anaella login # sign in in the browser (over SSH: paste the callback address)
anaella login --api-key ana_xxx # or save a key directly
echo ana_xxx | anaella login # or pipe it on stdin
anaella logout # remove the saved key
The key is resolved with this precedence: --api-key flag > ANAELLA_API_KEY env var > the file
saved by anaella login (~/.config/anaella/config.json, or under $XDG_CONFIG_HOME if set).
Commands
anaella find "unread emails" # capabilities for a task
anaella explain email.list # its input schema and price
anaella do email.list --query is:unread # run it: fields as flags (names from explain)
anaella do email.send --to [email protected] --to [email protected] --subject Hi --text "Hello" --draft
anaella do email.list --channel [email protected] --query is:unread # pick an account by name, email or id
anaella do email.list -i '{"query":"is:unread"}' # or the whole input as JSON
anaella do media.image.generate -i '{"prompt":"a fox"}' --wait # async: wait for the job
anaella job <jobId> # status, output and cost of a job
anaella channels # connected accounts (their ids = channelId)
anaella connect google-search-console # a connect link for an account
anaella connect-account imap -f email=… -f password=… -f imapHost=… -f smtpHost=…
anaella remove-account <channelId> # disconnect it (a phone number is released)
anaella upload ./photo.jpg # local media into the library
anaella balance # wallet balance
Social posts go through the catalog like everything else:
anaella do social.post.create -i '{"channels":["<channelId>"],"text":"hello","when":"now"}'
anaella do social.posts.list
anaella do social.post.analytics -i '{"postId":"<id>"}'
(post, posts, get, update, delete and analytics were removed in 0.11.0: use
social.post.create, social.posts.list, social.post.get, social.post.update,
social.post.delete and social.post.analytics / social.analytics.get.)
Global options
--api-key <key>: override the resolved API key for this invocation.--api-url <url>: override the API base URL (defaulthttps://api.anaella.com).--json: print raw JSON instead of a table.