Docs/Developers
CLI
The Hermes CLI puts the entire platform in your terminal — connections, triggers, drafts, signals, templates, and analytics — scriptable and agent-friendly.
npm install -g @tryhermes/cliHanding the CLI to an AI agent? The agent-facing reference — every command, workflow, and convention, written for agents to read directly — lives at docs.tryhermes.dev.
Sign in
hermes auth loginThis opens a browser sign-in (device flow) and connects your whole account — every organization you belong to. For CI or single-org use, sign in with an API key from Settings → API keys instead:
hermes auth login --key hk_...Check who you are and which org you're operating on at any time with hermes auth whoami.
Pick an organization
If you belong to several organizations, either pass --org <slug> per command or link a directory to an org once:
hermes link # writes ./.hermes/project.jsonFrom then on, every hermes command in that directory targets the linked org — handy when a repo maps to one workspace.
Commands
| Group | What it covers |
|---|---|
hermes connections | List, add, and remove data sources; view and refresh schemas; run ad-hoc read-only queries. |
hermes triggers | Create, update, preview, activate, pause, run, and delete campaigns. |
hermes signals | List, inspect, review, dismiss, and restore signals; discover kicks a discovery pass. |
hermes drafts | The review queue: list, show, approve (single or batch), reject. |
hermes emails | Sent history and per-email delivery timelines. |
hermes templates | List, create, AI-design, update, publish, archive, set the org default, and switch the org's rendering mode. |
hermes domains | Register sending domains, view DNS records, verify. |
hermes senders | Manage sender identities. |
hermes analytics | Org-wide overview and per-trigger campaign funnels. |
hermes orgs / hermes auth / hermes link | Account and workspace plumbing. |
A working session
# What did discovery find?
hermes signals list --status new
# Turn an idea into a campaign and see who it matches
hermes triggers create
hermes triggers preview trg_123
# Run it now instead of waiting for the schedule
hermes triggers run trg_123
# Review what it drafted, then approve the good ones
hermes drafts list --trigger trg_123
hermes drafts approveFlags for scripts and agents
| Flag | Effect |
|---|---|
--json | Structured JSON output on any command — pipe into jq or feed to an agent. |
--org <slug> | Target a specific organization, overriding any directory link. |
--no-wait | Don't poll async operations (trigger runs, discovery) — return the job ID immediately. |
The CLI is a thin client over the same REST API the dashboard uses, so anything you script against it behaves identically to clicking the button.