Gog
Verified@steipete
npx machina-cli add skill @steipete/gog --openclawgog
Use gog for Gmail/Calendar/Drive/Contacts/Sheets/Docs. Requires OAuth setup.
Setup (once)
gog auth credentials /path/to/client_secret.jsongog auth add you@gmail.com --services gmail,calendar,drive,contacts,sheets,docsgog auth list
Common commands
- Gmail search:
gog gmail search 'newer_than:7d' --max 10 - Gmail send:
gog gmail send --to a@b.com --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
GOG_ACCOUNT=you@gmail.comto avoid repeating--account. - For scripting, prefer
--jsonplus--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
Gog is a command-line tool to manage Gmail, Calendar, Drive, Contacts, Sheets, and Docs. It enables automation and scripting by exposing common Google Workspace actions as commands. After a one-time OAuth setup, you can perform batch operations from the terminal without opening the web UI.
How This Skill Works
Install Gog via Brew, configure OAuth with gog auth credentials and add your account for services, then use commands like 'gog gmail search' or 'gog sheets get' to interact with Google services. Gog translates CLI commands into Google API calls behind the scenes and supports JSON output for scripting. Use --json and --no-input to make pipelines fully machine-friendly.
When to Use It
- Automate Gmail searches or sends in batch scripts.
- Programmatically create, fetch, or modify calendar events.
- Query Drive files with a query and cap results for automation.
- List or export Contacts for mail merges or address books.
- Get, update, or append data in Sheets or export Docs.
Quick Start
- Step 1: Install gog via brew and ensure gog is in your PATH.
- Step 2: Run 'gog auth credentials /path/to/client_secret.json' and 'gog auth add you@gmail.com --services gmail,calendar,drive,contacts,sheets,docs'.
- Step 3: Try a sample command such as 'gog gmail search 'newer_than:7d' --max 10' and verify with 'gog auth list'.
Best Practices
- Authenticate once and reuse credentials with gog auth credentials and gog auth add.
- Use --json and --no-input when scripting to produce machine-friendly output.
- Set GOG_ACCOUNT=you@gmail.com to avoid repeating --account in commands.
- Limit results with --max and craft precise queries for efficiency.
- Always confirm before sending mail or creating events.
Example Use Cases
- gog gmail search 'newer_than:7d' --max 10
- gog gmail send --to alice@example.com --subject 'Hi' --body 'Hello'
- gog calendar events <calendarId> --from 2026-03-01T00:00:00Z --to 2026-03-02T00:00:00Z
- gog drive search 'type:document' --max 5
- gog sheets get <sheetId> 'Tab!A1:D10' --json