Agent-friendly marketing CLI

Sienna

Give AI agents a reliable command surface for marketing work: one login restores your linked platforms on any machine, and Meta Ads and Google Ads answer with evidence that is easy to parse — from Claude Cowork, Claude Code, Codex, or your servers.

JSON
Machine-readable by default when agents need it.
Auth
Brokered through a separate secure service.
Meta + Google
Direct Ads API access — Insights and GAQL — with clear caveats.

Quickstart

Hand it to your agent.

Install the Sienna app once, finish Setup, then connect the Plugin for the agent you use.

Claude Code

After installing Sienna, paste this into Claude Code:

Run `sienna init-agent --claude`, verify the installed Plugin version, then run `sienna auth status --json` and tell me which account connection is still needed.

Claude Cowork

Preview fallback: the official Directory listing is not approved yet.

  1. Open Customize, then Plugins
  2. Add https://github.com/sienna-work/sienna-plugin as a marketplace
  3. Install sienna@sienna, then paste:
Using the Sienna skill, connect my ad accounts, then show my campaigns.

The Plugin already contains checksum-verified Linux runtimes. Opening this page does not install the Plugin; complete the Customize steps above.

Codex

After installing Sienna, paste this into Codex:

Run `sienna init-agent --codex`, verify the installed Plugin version, then run `sienna auth status --json` and tell me which account connection is still needed.

After logging in, tell your agent to link an ad platform — it will run sienna link meta or sienna link google and hand you one more link to approve. Agent-readable docs live at /llms.txt.

Claude Code and Codex reuse the installed app CLI. Cowork uses the Plugin's bundled runtime and does not download an executable at first use; organization network policy may still need to allow the Sienna auth and advertising API domains.

Download

Install Sienna like an app.

Open the DMG, drag Sienna to Applications, then open /Applications/Sienna.app and finish Setup. The signed app owns the CLI launcher and updates the complete bundle in the background. Latest release: v0.11.2.

Standalone CLI for Linux, Windows, and managed terminals

curl -fsSL https://get.sienna.work/install.sh | bash

This installs a standalone CLI with checksum-verified atomic self-update. It is an alternative for systems that cannot use the macOS app.

SHA256SUMS

Workflow

From agent intent to marketing evidence.

Sienna keeps the CLI small and deterministic so the agent can spend its attention on strategy, analysis, and next actions.

01

Connect safely

Log in once, link Meta and Google Ads when you need them, and get every linked platform restored automatically on any new machine.

02

Inspect accounts

Discover Meta ad accounts and Google Ads customers, with status and scopes — token material never appears in any output.

03

Fetch evidence

Pull Meta Insights and raw GAQL results through stable commands that agents can branch on with predictable exit codes.

Agent contract

Built for command-line operators.

Sienna treats stdout as data, stderr as diagnostics, and every failure as a typed condition the agent can recover from. The same standard Skill ships through native Plugins for Claude Cowork, Claude Code, and Codex, while the CLI keeps itself updated.

sienna login --no-browser
sienna auth status --json
sienna ads meta get /act_123/insights --param level=campaign --json
sienna ads google query "SELECT campaign.name, metrics.clicks FROM campaign" \
  --customer 1234567890 --json

Trust boundary

Separate surfaces, smaller blast radius.

The public site, auth broker, and CLI each own their own deployment surface. Marketing iteration stays away from OAuth callbacks and token handoff code.

sienna.work

Public homepage and product introduction.

auth.sienna.work

Login, Meta OAuth callback, policy pages, and token handoff.

get.sienna.work

Public downloads, install script, and agent instructions.

sienna CLI

Agent-facing commands, secure local storage, and direct Meta and Google Ads API calls.