home / skills / openclaw / skills / gog

gog skill

/skills/steipete/gog

This skill streamlines managing Gmail, Calendar, Drive, Contacts, Sheets, and Docs via a unified CLI for rapid automation.

npx playbooks add skill openclaw/skills --skill gog

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
1.7 KB
---
name: gog
description: Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
homepage: https://gogcli.sh
metadata: {"clawdbot":{"emoji":"🎮","requires":{"bins":["gog"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/gogcli","bins":["gog"],"label":"Install gog (brew)"}]}}
---

# gog

Use `gog` for Gmail/Calendar/Drive/Contacts/Sheets/Docs. Requires OAuth setup.

Setup (once)
- `gog auth credentials /path/to/client_secret.json`
- `gog auth add [email protected] --services gmail,calendar,drive,contacts,sheets,docs`
- `gog auth list`

Common commands
- Gmail search: `gog gmail search 'newer_than:7d' --max 10`
- Gmail send: `gog gmail send --to [email protected] --subject "Hi" --body "Hello"`
- Calendar: `gog calendar events <calendarId> --from <iso> --to <iso>`
- Drive search: `gog drive search "query" --max 10`
- Contacts: `gog contacts list --max 20`
- Sheets get: `gog sheets get <sheetId> "Tab!A1:D10" --json`
- Sheets update: `gog sheets update <sheetId> "Tab!A1:B2" --values-json '[["A","B"],["1","2"]]' --input USER_ENTERED`
- Sheets append: `gog sheets append <sheetId> "Tab!A:C" --values-json '[["x","y","z"]]' --insert INSERT_ROWS`
- Sheets clear: `gog sheets clear <sheetId> "Tab!A2:Z"`
- Sheets metadata: `gog sheets metadata <sheetId> --json`
- Docs export: `gog docs export <docId> --format txt --out /tmp/doc.txt`
- Docs cat: `gog docs cat <docId>`

Notes
- Set `[email protected]` to avoid repeating `--account`.
- For scripting, prefer `--json` plus `--no-input`.
- Sheets values can be passed via `--values-json` (recommended) or as inline rows.
- Docs supports export/cat/copy. In-place edits require a Docs API client (not in gog).
- Confirm before sending mail or creating events.

Overview

This skill is a Google Workspace CLI that provides command-line access to Gmail, Calendar, Drive, Contacts, Sheets, and Docs. It streamlines common workspace tasks like searching mail, sending messages, managing events, manipulating sheets, and exporting docs. Setup uses OAuth credentials and supports multiple accounts. Designed for both interactive use and automation with JSON output and no-input flags.

How this skill works

You configure OAuth once, add one or more Google accounts with scoped services, and then run focused subcommands (gog gmail, gog calendar, gog drive, gog contacts, gog sheets, gog docs). Commands support filters, range queries, and structured input for Sheets and Docs operations. For scripting, use --json and --no-input to get machine-readable output and suppress prompts. Environment variable GOG_ACCOUNT can set a default account to avoid repeating the --account flag.

When to use it

  • Search and archive Gmail messages or send mail from scripts and terminals.
  • List, create, or inspect Calendar events across date ranges for automation.
  • Search Drive files, download or export documents, and perform backups.
  • Read, write, append, or clear ranges in Sheets for ETL and reports.
  • Export or cat Google Docs contents for processing or archival.

Best practices

  • Run gog auth credentials and gog auth add once per account and service to avoid repeated prompts.
  • Use --json and --no-input in scripts to produce parseable output and skip confirmations.
  • Set GOG_ACCOUNT to a default account in CI or local shells to simplify commands.
  • Pass Sheets data with --values-json for reliable, quoted-ready payloads.
  • Confirm actions that modify or send data when running interactively to avoid accidental changes.

Example use cases

  • Daily backup: search Drive for recently modified files and export Docs to plain text for archiving.
  • Automated report: append computed rows into a reporting sheet using gog sheets append with --values-json.
  • Monitoring: run gmail search 'newer_than:7d' and notify on matching messages via a CI job.
  • Calendar sync: list events in a date range to reconcile schedules between systems or generate availability reports.
  • Bulk contacts export: list contacts and pipe JSON to a migration or import tool.

FAQ

How do I avoid entering the account on every command?

Set the environment variable [email protected] or use the --account flag once; gog will then default to that account.

Can I edit Docs in-place with gog?

No. Docs supports export, cat, and copy. In-place edits require a Docs API client and are not provided by this CLI.