Gog Cli

by intellectronica9b0e00ad1b94No licenseListed Oct 8, 2026Updated Oct 8, 2026

Use this skill whenever the user wants to operate Google Workspace from the command line with gog/gogcli, including Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Apps Script, Chat, Classroom, Contacts, Tasks, People, Groups, Admin, Keep, auth, configuration, scripting, or agent-safe Google automation. Prefer this skill for Google account/file/mail/calendar work when the user mentions gog, gogcli, Google CLI, Gmail search/send, Calendar events, Drive files, Docs/Sheets/Slides editing, Forms, Apps Script, Workspace admin, or command-line Google automation.

AI-generated overview

Guides command-line use of the gog/gogcli tool to operate Google Workspace services such as Gmail, Calendar and Drive.

What it does
This skill provides instructions and reference material for driving the gog (gogcli) command-line tool against Google Workspace. It covers installation and authentication, global flags, account selection, and workflows for Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Apps Script, Chat, Classroom, Contacts, Tasks, People, Groups, Admin and Keep. It also describes scripting patterns such as JSON output, pagination, dry runs and command allowlists, and points to bundled reference files for each service area.
When to use it
Use it when a user wants to read, search, send or modify Google Workspace data from the command line using gog or gogcli. It fits tasks involving Gmail messages, Calendar events, Drive files, Docs, Sheets, Slides, Forms, Apps Script, or Workspace administration. It is also relevant when setting up gog authentication, configuration or agent-safe automation.
Requirements
Requires the gog/gogcli tool to be installed (for example via Homebrew) and Google account authentication, such as OAuth client credentials or a service account with domain-wide delegation for admin and Keep features. Network access to Google APIs is needed. Some services require Workspace accounts or specific scopes. The skill ships no scripts; it is instructions plus reference documents.

gogcli (gog)

gog is a fast, script-friendly CLI for Google services. It is JSON-first, supports multiple accounts/OAuth clients, and has explicit guardrails for agent and CI usage.

Authoritative upstream: https://github.com/steipete/gogcli

This skill was refreshed against upstream gog v0.13.0 (2026-04-20). When exact syntax matters, run gog <command> --help or gog schema --json; the command surface moves quickly, rather inconveniently for anyone fond of stale notes.

Operating rules

  • Prefer gog --json ... | jq ... for inspection and scripting.
  • Use --plain only when stable TSV is more convenient than JSON.
  • Use --dry-run for supported mutating operations when preparing a change or when user intent is ambiguous.
  • Use --no-input in automation so commands fail instead of prompting.
  • Use --force only when the user asked for the destructive/public/send/admin operation or after you have clearly explained the effect.
  • Do not repair OAuth, consent, keyring, or Workspace delegation problems silently. Show the exact command the user should run.
  • Do not export tokens, print secrets, open public shares, add delegates/forwarding, send mail, suspend users, or permanently delete data unless the user explicitly requested that action.
  • For agent runs that must not send mail, add --gmail-no-send, set GOG_GMAIL_NO_SEND=1, or configure gog config no-send set <account>.

Install and auth

bash
brew install gogcligog auth credentials set ~/Downloads/client_secret_....jsongog auth add [email protected] --services gmail,calendar,drivegog auth list --check

Notes:

  • Homebrew now uses brew install gogcli; old tap examples are obsolete.
  • gog auth add defaults to --services user. Request the services needed for the task.
  • --services all is accepted only as a backwards-compatible alias for user; do not use it when you need every API.
  • Use --readonly, --drive-scope readonly|file|full, and --gmail-scope readonly|full for least privilege.
  • Keep and Admin require Workspace service-account/domain-wide delegation. Google Chat, Groups, directory, and Classroom also have Workspace restrictions.
  • For headless/CI, consider --manual, --remote, --access-token, or GOG_AUTH_MODE=adc.

Read references/authentication.md for full auth patterns.

Global flags

bash
--account, -a <email|alias|auto>   # account selection--client <name>                    # named OAuth client/token bucket--access-token <token>             # direct short-lived token; also GOG_ACCESS_TOKEN--json, -j                         # machine-readable JSON--plain, -p                        # stable TSV--results-only                     # JSON primary result only--select <fields>                  # best-effort JSON projection--dry-run, -n                      # preview supported writes--force, -y                        # skip confirmations--no-input                         # never prompt--enable-commands <csv>            # allowlist top-level or dotted commands--disable-commands <csv>           # denylist top-level or dotted commands--gmail-no-send                    # block Gmail send operations--verbose, -v                      # debug logging

Useful command aliases:

bash
gog send ...             # alias for gog gmail sendgog ls                   # alias for gog drive lsgog search "budget"      # alias for gog drive searchgog download <fileId>    # alias for gog drive downloadgog upload ./file.pdf    # alias for gog drive uploadgog me                   # alias for gog people megog status               # alias for gog auth statusgog open <id-or-url>     # best-effort Google web URL, offline

High-value workflows

Account selection

bash
gog auth alias set work [email protected]gog --account work gmail search 'is:unread newer_than:2d'GOG_ACCOUNT=work gog calendar events primary --todaygog --client work auth credentials set ~/Downloads/work-client.jsongog --client work auth add [email protected] --services gmail,calendar

Gmail

bash
gog --json gmail search 'is:unread newer_than:7d' | jq -r '.threads[].id'gog gmail messages search 'from:[email protected] has:attachment' --include-bodygog gmail messages search 'subject:report newer_than:30d' --fullgog gmail thread get <threadId> --download --out-dir ./attachmentsgog gmail labels modify <threadId> --add Project --remove INBOXgog gmail messages modify <messageId> --add STARREDgog gmail send --to [email protected] --subject "Hello" --body-file ./body.txtgog gmail forward <messageId> --to [email protected] --note "FYI"

For forwarding, autoreply, watch/Pub/Sub, filters, delegates, send-as, label colours, batch operations, and tracking, read references/gmail.md.

Calendar

bash
gog calendar calendarsgog calendar events primary --today --weekdaygog calendar events --all --from "2026-04-25T00:00:00+02:00" --to "2026-04-26T00:00:00+02:00"gog calendar freebusy --cal primary --from "2026-04-25T09:00:00+02:00" --to "2026-04-25T17:00:00+02:00"gog calendar create primary --summary "Planning" --from "2026-04-25T14:00:00+02:00" --to "2026-04-25T14:30:00+02:00" --attendees "[email protected],[email protected]" --with-meetgog calendar respond primary <eventId> --status accepted --send-updates all

Use RFC3339 with timezone offsets for generated datetimes. Read references/calendar.md for aliases, subscriptions, secondary calendars, extended properties, Focus Time, OOO, working locations, team calendars, and conflict detection.

Drive, Docs, Sheets, Slides, Forms, Apps Script

bash
gog drive search "invoice filetype:pdf" --max 20gog drive upload ./report.md --convert-to doc --parent <folderId>gog drive upload ./deck.pdf --replace <fileId> --name "Board Deck.pdf"gog drive share <fileId> --to user --email [email protected] --role commentergog docs write <docId> --file ./brief.md --replace --markdowngog docs sed <docId> 's/status/{b c=green}approved/g' --dry-rungog sheets update <spreadsheetId> 'Sheet1!A1' '[["Name","Score"],["Ada",98]]'gog sheets chart list <spreadsheetId>gog slides thumbnail <presentationId> <slideId> --out ./slide.pnggog forms responses list <formId> --max 20gog appscript run <scriptId> myFunction --params '["arg1", 123]'

Read references/drive-docs.md for current file/content commands. For Docs sed formatting, read references/sedmat.md.

Other services

bash
gog contacts search "Ada"gog tasks listsgog tasks add <tasklistId> --title "Weekly review" --due "2026-04-27" --repeat weeklygog chat messages send spaces/<spaceId> --text "Build complete"gog groups members [email protected]gog admin users list --domain example.comgog keep search "receipt"

Read references/other-services.md for Chat, Classroom, Contacts, Tasks, People, Groups, Admin, Keep, and time utilities.

Scripting patterns

bash
# Inspect shape firstgog --json gmail search 'is:unread' --max 3 | jq .
# Use pagination/all-pages where availablegog --json calendar events primary --from today --to tomorrow --all-pages
# Fail cleanly when a supported list command has no resultsgog --json calendar events primary --query "unlikely query" --fail-empty
# Batch with xargs after checking outputgog --json gmail search 'older_than:1y label:newsletter' --max 200 | \  jq -r '.threads[].id' | \  xargs -n 50 gog gmail labels modify --remove INBOX
# Agent-safe command surfaceGOG_ENABLE_COMMANDS=calendar.events,calendar.freebusy,tasks \  gog --no-input --json calendar events primary --today

Reference map

  • references/command-reference.md - generated command index from gog schema --json
  • references/authentication.md - OAuth clients, service accounts, scopes, keyrings, headless auth
  • references/configuration.md - config keys, environment variables, output modes, safety switches
  • references/gmail.md - Gmail search, read, send, labels, settings, watch, tracking, autoreply
  • references/calendar.md - Calendar listing, event writes, scheduling, special events, aliases
  • references/drive-docs.md - Drive, Docs, Sheets, Slides, Forms, Apps Script
  • references/sedmat.md - Docs sed/formatting DSL
  • references/other-services.md - Chat, Classroom, Contacts, Tasks, People, Groups, Admin, Keep

Source and attribution

Source:intellectronica/agent-skillsinskills/gog-cliat commit9b0e00a

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal