Google Workspace
The Google Workspace skill lets Mona read and manage your Gmail, Calendar, Drive, Contacts, Sheets, and Docs through Google's official APIs.
Prerequisites
- A Google account
- Google Cloud project with APIs enabled
- OAuth 2.0 credentials
Installation
The Google extra is included in the [all] install. If you installed the minimal bundle:
cd ~/.monoclaw/monoclaw-runtime
uv pip install -e ".[google]"
Google Cloud setup
- Go to console.cloud.google.com
- Create a new project (or use an existing one)
- Enable the following APIs:
- Gmail API
- Google Calendar API
- Google Drive API
- Google People API (Contacts)
- Google Sheets API
- Google Docs API
- Go to Credentials → Create Credentials → OAuth 2.0 Client ID
- Choose Desktop app as the application type
- Download the
client_secret.jsonfile
Authenticate
Place client_secret.json in ~/.monoclaw/secrets/ and run:
monoclaw google auth
This opens a browser window for OAuth consent. After approving, Mona stores the refresh token securely.
What Mona can do
Gmail
- Search emails by sender, subject, date
- Read email contents
- Draft replies (requires approval to send)
- Label and archive messages
Calendar
- List upcoming events
- Create new events
- Check availability
- Send invites
Drive
- Search files and folders
- Read file contents
- Upload files
- Share files
Sheets
- Read cell values
- Append rows
- Update cells
- Create new spreadsheets
Docs
- Read document contents
- Append text
- Find and replace
Example prompts
Find emails from team@sentimento.dev from this week and summarize them.
Add a meeting with John next Tuesday at 2pm for 30 minutes.
Create a new spreadsheet called "Q3 Expenses" and add headers: Date, Category, Amount, Notes.
Security
- OAuth tokens are stored encrypted in
~/.monoclaw/.env - Mona asks for approval before sending emails or sharing files
- You can revoke access anytime at myaccount.google.com/permissions
Troubleshooting
| Problem | Fix |
|---|---|
| "Google credentials not found" | Place client_secret.json in ~/.monoclaw/secrets/ |
| "Token expired" | Run monoclaw google auth again |
| "API not enabled" | Check all required APIs are enabled in Google Cloud Console |
| "Insufficient permissions" | Re-authenticate with broader OAuth scopes |