{
  "version": "2",
  "generatedAt": "2026-11-03T20:14:12.538Z",
  "listing": {
    "slug": "googleworkspace--cli",
    "name": "Google Workspace CLI (gws)",
    "tagline": "One CLI over every Google Workspace API, with JSON output and agent skills for Calendar events, free/busy and agendas.",
    "shortTagline": "Agent skills",
    "description": "gws is a Rust CLI on the googleworkspace GitHub org that builds its command surface from Google's Discovery Service at runtime, so every Calendar v3 method (events, calendars, ACL, free/busy, settings) is a shell command with structured JSON output. It ships 100+ agent skills, a Gemini CLI extension and helper commands such as calendar +agenda and +insert. Google Calendar itself is free with a Google account.",
    "capabilities": [
      "operable"
    ],
    "vertical": "scheduling-staffing",
    "shape": "product",
    "formFactor": "cli",
    "executionModel": "deterministic",
    "provenance": "unknown",
    "codeStack": {
      "languages": [
        "Rust"
      ],
      "frameworks": [],
      "packageManager": "cargo",
      "database": [],
      "hostingTarget": [
        "binary"
      ]
    },
    "modelStack": {
      "providers": [
        "any agent that can run a shell"
      ],
      "models": [],
      "requiredKeys": [],
      "promptLocations": [
        "skills/gws-calendar/SKILL.md",
        "skills/gws-calendar-agenda/SKILL.md",
        "skills/gws-calendar-insert/SKILL.md",
        "skills/recipe-find-free-time",
        "skills/recipe-reschedule-meeting",
        "skills/recipe-plan-weekly-schedule"
      ],
      "tools": [
        "gws calendar events",
        "gws calendar freebusy query",
        "gws calendar +agenda",
        "gws calendar +insert"
      ]
    },
    "repos": [
      {
        "url": "https://github.com/googleworkspace/cli",
        "owner": "googleworkspace",
        "name": "cli",
        "license": "Apache-2.0",
        "stars": 30708,
        "lastCommit": "2026-08-25"
      }
    ],
    "interface": {
      "kind": "cli",
      "url": "https://github.com/googleworkspace/cli",
      "official": true,
      "hosted": "local"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "List, create, update and delete events",
        "reachable": true,
        "evidence": "skills/gws-calendar/SKILL.md: events list, insert, patch, update, delete"
      },
      {
        "job": "Query free/busy across calendars",
        "reachable": true,
        "evidence": "SKILL.md: freebusy query; recipe-find-free-time skill"
      },
      {
        "job": "Show an agenda across all calendars",
        "reachable": true,
        "evidence": "helper command gws calendar +agenda with timezone handling"
      },
      {
        "job": "Create an event from a text phrase",
        "reachable": true,
        "evidence": "SKILL.md: events quickAdd"
      },
      {
        "job": "Manage calendars and sharing",
        "reachable": true,
        "evidence": "SKILL.md: calendars insert/patch/delete, calendarList, acl insert/list"
      },
      {
        "job": "Expand recurring events",
        "reachable": true,
        "evidence": "SKILL.md: events instances"
      },
      {
        "job": "Watch for changes",
        "reachable": true,
        "evidence": "SKILL.md: events watch and channels stop; needs a public HTTPS endpoint to receive pushes"
      },
      {
        "job": "Reschedule and invite in bulk",
        "reachable": true,
        "evidence": "skills recipe-reschedule-meeting, recipe-batch-invite-to-event, recipe-create-events-from-sheet"
      },
      {
        "job": "Appointment schedules (booking pages)",
        "reachable": false,
        "evidence": "not in the Calendar v3 Discovery surface, so not in gws"
      },
      {
        "job": "Attach a Google Meet link",
        "reachable": null,
        "evidence": "conferenceData on events insert; gws-meet skill exists but not verified for calendar events"
      }
    ],
    "editions": [
      {
        "name": "Free",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/googleworkspace/cli"
          },
          {
            "kind": "binary",
            "url": "https://github.com/googleworkspace/cli/releases"
          },
          {
            "kind": "installable",
            "url": "https://www.npmjs.com/package/@googleworkspace/cli",
            "command": "npm install -g @googleworkspace/cli"
          },
          {
            "kind": "installable",
            "url": "https://brew.sh/",
            "command": "brew install googleworkspace-cli"
          }
        ]
      }
    ],
    "skills": {
      "kind": "bundled",
      "paths": [
        "skills/gws-*/SKILL.md"
      ],
      "install": "npx skills add https://github.com/googleworkspace/cli",
      "note": "Ships per-service skills (Drive, Gmail, Calendar, Docs, Chat, Admin) that teach an agent to drive the CLI; installable individually or as a set."
    },
    "customization": null,
    "useWhen": [
      "my whole calendar lives in Google and I want my agent to find a slot, book it and send invites from the terminal",
      "I need scripted Calendar operations in CI or on a server with a service account and no browser"
    ],
    "accounts": [
      "Google account",
      "Google Cloud project with an OAuth client or service account"
    ],
    "active": true,
    "lastActivity": "2026-08-25",
    "gotchas": [
      "README: 'not an officially supported Google product' and breaking changes expected before v1.0",
      "Unverified OAuth apps are capped at about 25 scopes, so log in with -s calendar rather than the recommended preset; you must add yourself as a test user",
      "gws auth setup requires the gcloud CLI; otherwise create the OAuth client by hand",
      "Google Workspace business plans are paid, but a free Google account is enough for Calendar"
    ],
    "fit": {
      "adaptable": 0,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README: CLI binary from GitHub Releases, npm or Homebrew",
      "executionModel": "the CLI makes API calls; no model at runtime (Model Armor sanitization is optional and external)",
      "operability": "published on the googleworkspace GitHub organization; Calendar helper commands and skills in the repo",
      "editions": "README: Apache-2.0 source, binaries, npm, brew, nix",
      "active": "shortlist pushedAt 2026-08-25"
    },
    "confidence": {
      "formFactor": 0.95,
      "executionModel": 0.9,
      "operability": 0.85,
      "reach": 0.85,
      "editions": 0.95
    },
    "openQuestions": [
      "Official by organization but disclaimed as unsupported: does the Curator treat googleworkspace-org publication as official?",
      "Provenance: CLAUDE.md and AGENTS.md sit at the repo root; how much of the code is agent-written is not stated"
    ],
    "sources": [
      {
        "url": "https://github.com/googleworkspace/cli",
        "foundBy": "sourcing:scheduling-staffing:vendor"
      },
      {
        "url": "https://github.com/googleworkspace/cli/blob/main/skills/gws-calendar/SKILL.md",
        "foundBy": "analysis:scheduling-staffing"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "Operable only: an agent-oriented CLI over Google Calendar from the googleworkspace org with near-complete Reach. Not software to adapt.",
      "disputed": []
    },
    "url": "apps/googleworkspace--cli.html",
    "coverage": "partial",
    "paid": false,
    "source": "research/verified/googleworkspace--cli.json"
  }
}
