google-workspace

Manage Gmail, Calendar, Drive, Contacts, Sheets, and Docs through OAuth-authenticated CLI commands.

115|9|Updated Aug 5, 2026
One-click install
npx skills add https://github.com/AtlasOmnia/donna-starter --skill google-workspace-atlasomnia
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: google-workspace
Source: https://github.com/AtlasOmnia/donna-starter/tree/main/skills/productivity/google-workspace
Command: npx skills add https://github.com/AtlasOmnia/donna-starter --skill google-workspace-atlasomnia

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires google-api-python-client, google-auth-oauthlib, google-auth-httplib2, and includes scripts (resource) and references (resource) components.

What problem does it solve? Accessing Google Workspace services from an AI agent or terminal normally requires juggling multiple APIs, OAuth flows, and SDKs. This Skill provides a single authenticated CLI that covers Gmail, Calendar, Drive, Contacts, Sheets, and Docs with consistent JSON output. ## Core Features & Use Cases - Gmail operations: Search with Gmail query syntax, read full messages, send plain or HTML email, reply in threads, and manage labels. - Calendar, Drive, Sheets, and Docs: List and create calendar events, search/upload/download/share Drive files, read and write spreadsheet ranges, and create or append to Docs. - Non-interactive OAuth setup: A step-by-step setup script handles client credentials, authorization URLs, PKCE code exchange, token refresh, and revocation, designed to be driven by an agent on any platform. - Use Case: Ask your agent to find unread emails from your boss this week, summarize them, create a follow-up calendar event with attendees, and log the action items into a Google Sheet — all without leaving the chat. ## Quick Start Ask the agent to check whether Google Workspace is authenticated, and if not, walk you through the OAuth setup before listing your upcoming calendar events.

Frequently Asked Questions about google-workspace

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search and send Gmail from the command line?

Use the google_api.py CLI with commands like gmail search "is:unread" to query messages and gmail send --to --subject --body to send mail. All results return as JSON, and standard Gmail search operators like from:, newer_than:, and has:attachment are supported.

How do I authenticate the Google Workspace API with OAuth?

Run setup.py with --client-secret to store your Google Cloud OAuth client file, then --auth-url to get a consent URL, and --auth-code with the pasted redirect code to complete the PKCE exchange. The token is saved to ~/.hermes/google_token.json and refreshes automatically.

Can I use this for Gmail only without full Workspace scopes?

For email-only access, the documentation recommends the himalaya skill with a Gmail App Password instead, which avoids creating a Google Cloud project. Full Workspace access requires enabling the Gmail, Calendar, Drive, Sheets, Docs, and People APIs.

Why does Google Calendar browser automation fail to sign in?

Browser automation sessions do not carry over logged-in Chrome cookies, so navigating to calendar.google.com lands on the public marketing page. Use the google_api.py CLI or the direct Calendar API with the stored OAuth token instead.

What causes HttpError 403 Insufficient Permission with Google APIs?

This error means the stored token is missing a required scope for the operation. Revoke the token with setup.py --revoke and redo the authorization flow to grant the broader scope set.