Plugin files use ~~category as a placeholder for whatever tool you connect in that category.
This plugin is script-based — all Google Workspace API calls run as Python scripts using a service account with domain-wide delegation. This means you configure credentials once and every skill runs without browser token extraction.
| Category | Placeholder | Included servers | Notes |
|---|---|---|---|
| Dashboard / Wiki | ~~dashboard |
Notion | Optional — update your security dashboard after each audit |
| Chat / Notifications | ~~chat |
Slack | Optional — post audit summaries to a channel |
All skills in this plugin use a Google Cloud service account with domain-wide delegation. This means:
- One-time setup — configure the service account once; all skills use it automatically
- No browser token required — runs fully headless, suitable for scheduling
- Read-only by default — all required scopes are audit/read-only; no destructive permissions
- Requires Super Admin — the impersonation account must have Super Admin privileges in Google Workspace Admin Console
- Go to console.cloud.google.com
- Create a new project (e.g.,
your-org-it-automation) - Enable the Admin SDK API and Google Drive API
- In your project → IAM & Admin → Service Accounts → Create Service Account
- Name it (e.g.,
gworkspace-automation) - Create and download a JSON key file
- Save the key file to a secure path (e.g.,
~/path/to/your/google_service_account.json)
- Note the service account's Client ID (numeric, from the JSON key)
- Go to admin.google.com → Security → Access and Data Control → API Controls → Domain-Wide Delegation
- Add a new entry with the Client ID and the following scopes:
https://www.googleapis.com/auth/admin.reports.audit.readonly
https://www.googleapis.com/auth/admin.reports.usage.readonly
https://www.googleapis.com/auth/admin.directory.user.readonly
In each SKILL.md, update two constants at the top of the Python script:
KEY_FILE = os.path.expanduser("~/path/to/your/google_service_account.json")
ADMIN_EMAIL = "admin@yourdomain.org" # Super Admin account for impersonationpip install google-auth google-auth-httplib2 google-api-python-client openpyxl| Scope | Skills that use it |
|---|---|
admin.reports.audit.readonly |
threat-scan, external-share-audit, admin-audit, oauth-audit, meet-audit |
admin.reports.usage.readonly |
inactive-accounts, storage-report, meet-audit |
admin.directory.user.readonly |
threat-scan, inactive-accounts, admin-audit, storage-report |
All scripts are suitable for scheduled execution (cron, Task Scheduler, or Claude scheduled tasks). Recommended schedule:
| Skill | Suggested cadence |
|---|---|
gworkspace-threat-scan |
Weekly |
gworkspace-inactive-accounts |
Monthly |
gworkspace-external-share-audit |
Monthly |
gworkspace-admin-audit |
Monthly |
gworkspace-oauth-audit |
Quarterly |
gworkspace-storage-report |
Monthly |
gworkspace-meet-audit |
Monthly or on-demand |