From sundial-org-awesome-openclaw-skills-4
Access Gmail, Calendar, Drive, Docs, and Sheets with zero Google Cloud Console setup. Uses @presto-ai/google-workspace-mcp for OAuth sign-in and MCP-based commands.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sundial-org-awesome-openclaw-skills-4:google-workspaceThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Why this skill?** Traditional Google API access requires creating a project in Google Cloud Console, enabling APIs, creating OAuth credentials, and downloading client_secret.json. This skill skips ALL of that.
Why this skill? Traditional Google API access requires creating a project in Google Cloud Console, enabling APIs, creating OAuth credentials, and downloading client_secret.json. This skill skips ALL of that.
Uses @presto-ai/google-workspace-mcp — just sign in with your Google account and go.
| Traditional Approach | This Skill |
|---|---|
| Create Google Cloud Project | ❌ Not needed |
| Enable individual APIs | ❌ Not needed |
| Create OAuth credentials | ❌ Not needed |
| Download client_secret.json | ❌ Not needed |
| Configure redirect URIs | ❌ Not needed |
| Just sign in with Google | ✅ That's it |
npm install -g @presto-ai/google-workspace-mcp
mcporter config add google-workspace --command "npx" --arg "-y" --arg "@presto-ai/google-workspace-mcp" --scope home
On first use, it opens a browser for Google OAuth. Credentials stored in ~/.config/google-workspace-mcp/
# Search emails
mcporter call --server google-workspace --tool "gmail.search" query="is:unread" maxResults=10
# Get email content
mcporter call --server google-workspace --tool "gmail.get" messageId="<id>"
# Send email
mcporter call --server google-workspace --tool "gmail.send" to="[email protected]" subject="Hi" body="Hello"
# Create draft
mcporter call --server google-workspace --tool "gmail.createDraft" to="[email protected]" subject="Hi" body="Hello"
# List calendars
mcporter call --server google-workspace --tool "calendar.list"
# List events
mcporter call --server google-workspace --tool "calendar.listEvents" calendarId="[email protected]" timeMin="2026-01-27T00:00:00Z" timeMax="2026-01-27T23:59:59Z"
# Create event
mcporter call --server google-workspace --tool "calendar.createEvent" calendarId="[email protected]" summary="Meeting" start='{"dateTime":"2026-01-28T10:00:00Z"}' end='{"dateTime":"2026-01-28T11:00:00Z"}'
# Find free time
mcporter call --server google-workspace --tool "calendar.findFreeTime" attendees='["[email protected]","[email protected]"]' timeMin="2026-01-28T09:00:00Z" timeMax="2026-01-28T18:00:00Z" duration=30
# Search files
mcporter call --server google-workspace --tool "drive.search" query="Budget Q3"
# Download file
mcporter call --server google-workspace --tool "drive.downloadFile" fileId="<id>" localPath="/tmp/file.pdf"
# Find docs
mcporter call --server google-workspace --tool "docs.find" query="meeting notes"
# Read doc
mcporter call --server google-workspace --tool "docs.getText" documentId="<id>"
# Create doc
mcporter call --server google-workspace --tool "docs.create" title="New Doc" markdown="# Hello"
# Read spreadsheet
mcporter call --server google-workspace --tool "sheets.getText" spreadsheetId="<id>"
# Get range
mcporter call --server google-workspace --tool "sheets.getRange" spreadsheetId="<id>" range="Sheet1!A1:B10"
Auth: auth.clear, auth.refreshToken Docs: docs.create, docs.find, docs.getText, docs.insertText, docs.appendText, docs.replaceText, docs.move, docs.extractIdFromUrl Drive: drive.search, drive.downloadFile, drive.findFolder Sheets: sheets.getText, sheets.getRange, sheets.find, sheets.getMetadata Slides: slides.getText, slides.find, slides.getMetadata Calendar: calendar.list, calendar.listEvents, calendar.getEvent, calendar.createEvent, calendar.updateEvent, calendar.deleteEvent, calendar.findFreeTime, calendar.respondToEvent Gmail: gmail.search, gmail.get, gmail.send, gmail.createDraft, gmail.sendDraft, gmail.modify, gmail.listLabels, gmail.downloadAttachment Chat: chat.listSpaces, chat.findSpaceByName, chat.sendMessage, chat.getMessages, chat.sendDm, chat.findDmByEmail, chat.listThreads, chat.setUpSpace People: people.getUserProfile, people.getMe Time: time.getCurrentDate, time.getCurrentTime, time.getTimeZone
mcporter call --server google-workspace --tool "auth.clear"
Then run any command to trigger re-auth.
mcporter call --server google-workspace --tool "auth.refreshToken"
rm -rf ~/.config/google-workspace-mcp
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin sundial-org-awesome-openclaw-skills-4Manages Google Workspace operations across 12 services (Gmail, Drive, Calendar, Docs, Sheets, etc.) via MCP tools or CLI. Activates on email, file, calendar, or document requests.
Manages Google Workspace services via CLI — Gmail search/send, Calendar events, Drive search, Contacts, Sheets read/write/append/clear, and Docs export/cat.
Operates Google Workspace from the command line via gog/gogcli: Gmail, Calendar, Drive, Docs, Sheets, Slides, Forms, Apps Script, Chat, Classroom, Contacts, Tasks, People, Groups, Admin, Keep, and more. Includes auth, configuration, scripting, and agent-safe automation patterns.