Google Workspace
Overview
This skill consolidates all Google Workspace integrations into a single interface.
Authentication
Configure GOOGLE_WORKSPACE_OAUTH_CLIENT_ID and
GOOGLE_WORKSPACE_OAUTH_BROKER_URL through AgentConfig or the process
environment. The broker must use HTTPS and must not contain embedded
credentials, a query, or a fragment. Keep its client secret in the broker's
secret manager; never place it in this skill or a generated config.
Each service has a scoped auth.py helper. Run
python scripts/<service>/auth.py status, then login when needed. Tokens are
stored only in the system keyring. The token command reports availability and
never prints token material. Never copy authorization URLs, OAuth state, or
tokens into logs, traces, reports, or chat.
Outbound API calls are restricted to the exact Google service hosts, reject
redirects and ambient proxies, use finite timeouts and bounded responses, and
verify TLS. For a managed trust chain, configure SSL_CERT_FILE, SSL_CERT_DIR,
or REQUESTS_CA_BUNDLE at runtime; the skill never persists those paths or the
certificate material. File and attachment uploads are limited to 32 MiB.
Capabilities/Tools
1. Gmail (scripts/gmail/)
- Usage:
python scripts/gmail/gmail.py [command]
- Commands:
search, read, send, reply, trash
2. Google Calendar (scripts/calendar/)
- Usage:
python scripts/calendar/gcal.py [command]
- Commands:
today, list, search, create, delete
3. Google Chat (scripts/chat/)
- Usage:
python scripts/chat/chat.py [command]
- Commands:
list-spaces, read-space, send-message, search
4. Google Docs (scripts/docs/)
- Usage:
python scripts/docs/docs.py [command]
- Commands:
read, create, append, replace
5. Google Drive (scripts/drive/)
- Usage:
python scripts/drive/drive.py [command]
- Commands:
search, list, find-folder, download, upload, create-folder, move, copy, rename, trash
6. Google Sheets (scripts/sheets/)
- Usage:
python scripts/sheets/sheets.py [command]
- Commands:
read, read-range, list-sheets, write, append, create, clear
7. Google Slides (scripts/slides/)
- Usage:
python scripts/slides/slides.py [command]
- Commands:
read, create, add-slide, add-text
Usage Notes
- When working with files (Docs, Sheets, Slides), it's often best to use the Drive tool to search for the file and get its
ID first, then pass that ID to the respective tool.
- Resolve scripts relative to this skill root; do not persist machine-specific absolute paths.
1---2name: google-workspace3description: Interact with Gmail, Google Calendar, Google Chat, Google Docs, Google Drive, Google Sheets, and Google Slides. Use for searching or managing Workspace content, messages, files, events, documents, spreadsheets, or presentations.4license: MIT5---6# Google Workspace78## Overview910This skill consolidates all Google Workspace integrations into a single interface.1112## Authentication1314Configure `GOOGLE_WORKSPACE_OAUTH_CLIENT_ID` and15`GOOGLE_WORKSPACE_OAUTH_BROKER_URL` through AgentConfig or the process16environment. The broker must use HTTPS and must not contain embedded17credentials, a query, or a fragment. Keep its client secret in the broker's18secret manager; never place it in this skill or a generated config.1920Each service has a scoped `auth.py` helper. Run21`python scripts/<service>/auth.py status`, then `login` when needed. Tokens are22stored only in the system keyring. The `token` command reports availability and23never prints token material. Never copy authorization URLs, OAuth state, or24tokens into logs, traces, reports, or chat.2526Outbound API calls are restricted to the exact Google service hosts, reject27redirects and ambient proxies, use finite timeouts and bounded responses, and28verify TLS. For a managed trust chain, configure `SSL_CERT_FILE`, `SSL_CERT_DIR`,29or `REQUESTS_CA_BUNDLE` at runtime; the skill never persists those paths or the30certificate material. File and attachment uploads are limited to 32 MiB.3132## Capabilities/Tools3334### 1. Gmail (`scripts/gmail/`)35- **Usage**: `python scripts/gmail/gmail.py [command]`36- **Commands**: `search`, `read`, `send`, `reply`, `trash`3738### 2. Google Calendar (`scripts/calendar/`)39- **Usage**: `python scripts/calendar/gcal.py [command]`40- **Commands**: `today`, `list`, `search`, `create`, `delete`4142### 3. Google Chat (`scripts/chat/`)43- **Usage**: `python scripts/chat/chat.py [command]`44- **Commands**: `list-spaces`, `read-space`, `send-message`, `search`4546### 4. Google Docs (`scripts/docs/`)47- **Usage**: `python scripts/docs/docs.py [command]`48- **Commands**: `read`, `create`, `append`, `replace`4950### 5. Google Drive (`scripts/drive/`)51- **Usage**: `python scripts/drive/drive.py [command]`52- **Commands**: `search`, `list`, `find-folder`, `download`, `upload`, `create-folder`, `move`, `copy`, `rename`, `trash`5354### 6. Google Sheets (`scripts/sheets/`)55- **Usage**: `python scripts/sheets/sheets.py [command]`56- **Commands**: `read`, `read-range`, `list-sheets`, `write`, `append`, `create`, `clear`5758### 7. Google Slides (`scripts/slides/`)59- **Usage**: `python scripts/slides/slides.py [command]`60- **Commands**: `read`, `create`, `add-slide`, `add-text`6162## Usage Notes63- When working with files (Docs, Sheets, Slides), it's often best to use the **Drive** tool to search for the file and get its `ID` first, then pass that `ID` to the respective tool.64- Resolve scripts relative to this skill root; do not persist machine-specific absolute paths.