بنقرة واحدة
gog-google-workspace-cli-for-gmail-drive-sheets-docs
// Gmail, Calendar, Chat, Classroom, Drive, Docs, Slides, Sheets, Contacts, Tasks, People, Groups, Keep — all via gog CLI.
// Gmail, Calendar, Chat, Classroom, Drive, Docs, Slides, Sheets, Contacts, Tasks, People, Groups, Keep — all via gog CLI.
Check stock prices, crypto quotes, option chains, and market history via Alpaca.
Create, edit, delete, and search calendar events in Apple Calendar on macOS. Use for "add a meeting", "what's on my calendar", or "move my 3pm".
Add, edit, complete, and list reminders on macOS via remindctl. Use for "remind me to…", "show my todos", or "mark X done".
Track live flight status, delays, gates, and position. Use for "track AA100", "is my flight on time?", or "where is BA123 right now?".
Fetch airport weather (METAR, TAF, PIREPs) for flight planning and briefings. Use for "weather at KJFK", "TAF for EGLL", or pre-flight weather checks.
Deploy to Cloudflare Workers, tunnels, DNS and Pages.
| name | gog-google-workspace-cli-for-gmail-drive-sheets-docs |
| description | Gmail, Calendar, Chat, Classroom, Drive, Docs, Slides, Sheets, Contacts, Tasks, People, Groups, Keep — all via gog CLI. |
| metadata | {"homepage":"https://gogcli.sh","dependencies":{"gog":{"description":"gog CLI","check":"gog --help","install":"brew install gogcli"},"gog-auth":{"description":"Google OAuth credentials configured for gog","check":"gog auth list","install":"gog auth credentials /path/to/client_secret.json && gog auth add you@gmail.com","interactive":["oauth","gcp-console"]}}} |
CLI for Google Workspace: Gmail, Calendar, Chat, Classroom, Drive, Docs, Slides, Sheets, Contacts, Tasks, People, Groups, Keep. Requires OAuth setup.
Before asking the user to manually create credentials, check if Chrome has a logged-in Google account:
https://accounts.google.com in agent-browser and read who's signed ingog auth credentials + gog auth addGCP project for client_secret.json (priority order):
gog auth credentials /path/to/client_secret.json
gog auth add you@gmail.com --services gmail,calendar,chat,classroom,drive,contacts,docs,slides,sheets,tasks,people
gog auth list
gog auth list — list accountsgog auth list --check — verify tokens are usablegog auth status — show current auth state and servicesgog auth alias set work work@company.com — create aliasgog --client work auth credentials ~/work.json--readonly, --drive-scope full|readonly|file, --gmail-scope full|readonlygog auth add you@gmail.com --services sheets --force-consentgog gmail search 'newer_than:7d' --max 10gog gmail messages search "in:inbox from:ryanair.com" --max 20gog gmail send --to a@b.com --subject "Hi" --body "Hello"gog gmail send --to a@b.com --subject "Hi" --body-file ./message.txtgog gmail send --to a@b.com --subject "Hi" --body-file -gog gmail send --to a@b.com --subject "Hi" --body-html "<p>Hello</p>"gog gmail send --to a@b.com --subject "Hi" --body "Hello" --trackgog gmail drafts create --to a@b.com --subject "Hi" --body-file ./message.txtgog gmail drafts send <draftId>gog gmail send --to a@b.com --subject "Re: Hi" --body "Reply" --reply-to-message-id <msgId>gog gmail labels listgog calendar calendarsgog calendar events <calendarId> --from <iso> --to <iso>gog calendar create <calendarId> --summary "Title" --from <iso> --to <iso>gog calendar create <calendarId> --summary "Title" --from <iso> --to <iso> --event-color 7gog calendar update <calendarId> <eventId> --summary "New Title" --event-color 4gog calendar delete <calendarId> <eventId>gog calendar search "query"gog calendar freebusy <calendarIds> --from <iso> --to <iso>gog calendar colors — IDs 1-11gog calendar focus-time --from <iso> --to <iso>gog calendar out-of-office --from <iso> --to <iso>gog chat spaces listgog chat spaces find "name"gog chat messages list <space>gog chat messages send <space> --text "Hello"gog chat dm send user@example.com --text "Hello"gog drive search "query" --max 10gog drive lsgog drive download <fileId>gog drive upload ./file.txtgog contacts list --max 20gog sheets get <sheetId> "Tab!A1:D10" --jsongog sheets update <sheetId> "Tab!A1:B2" --values-json '[["A","B"],["1","2"]]' --input USER_ENTEREDgog sheets append <sheetId> "Tab!A:C" --values-json '[["x","y","z"]]' --insert INSERT_ROWSgog sheets clear <sheetId> "Tab!A2:Z"gog sheets metadata <sheetId> --jsongog docs cat <docId>gog docs export <docId> --format txt --out /tmp/doc.txtgog docs info <docId>gog docs create "Title"gog docs write <docId> "new content"gog docs write <docId> "new content" --replacegog docs insert <docId> "text" --index 1gog docs delete <docId> --start 1 --end 10gog docs find-replace <docId> "old" "new"gog slides create "Deck Title"gog slides create-from-markdown "Title" --content-file slides.mdgog slides export <presentationId> --format pdf --out /tmp/deck.pdfgog slides info <presentationId>gog slides list-slides <presentationId>gog slides add-slide <presentationId> image.pnggog tasks lists listgog tasks lists create "List Name"gog tasks list <taskListId>gog tasks add <taskListId> --title "Do thing"gog tasks done <taskListId> <taskId>gog tasks delete <taskListId> <taskId>gog people megog people get <userId>gog people search "query"gog groups listgog groups members <groupEmail>gog classroom courses listgog classroom courses get <courseId>gog classroom students list <courseId>gog classroom coursework list <courseId>gog keep listgog keep get <noteId>gog keep search "query"--body-file for multi-paragraph messages (or --body-file - for stdin).--body-file pattern works for drafts and replies.--body does not unescape \n. For inline newlines use a heredoc or $'Line 1\n\nLine 2'.--body-html only when rich formatting is needed.<p>, <br>, <strong>, <em>, <a href="url">, <ul>/<li>.GOG_ACCOUNT=you@gmail.com to avoid repeating --account.--json plus --no-input. Also available: --plain (TSV output).--values-json (recommended) or inline rows.gog gmail search returns threads; gog gmail messages search returns individual emails.gog <group> --help to discover subcommands not listed here.