Agent skill
managing-google-workspace
Manages Google Workspace services including Gmail, Drive, Docs, Sheets, Slides, Calendar, Forms, Tasks, and Chat. Use when the user wants to interact with Google services, manage emails, documents, spreadsheets, presentations, or calendar events.
Install this agent skill to your Project
npx add-skill https://github.com/binome-dev/humcp/tree/main/src/tools/google
SKILL.md
Google Workspace Tools
Tools for interacting with Google Workspace APIs.
Authentication
All tools require OAuth2 authentication. Set environment variables:
GOOGLE_OAUTH_CLIENT_IDGOOGLE_OAUTH_CLIENT_SECRET
Quick Reference
| Service | Common Operations |
|---|---|
| Gmail | Send, search, read emails |
| Drive | List, upload, download, share files |
| Docs | Create, read, edit documents |
| Sheets | Read, write, query spreadsheets |
| Slides | Create presentations, add slides |
| Calendar | List, create, update events |
| Forms | Create forms, get responses |
| Tasks | Manage task lists and tasks |
| Chat | Send messages to spaces |
Gmail
# Search emails
result = await gmail_search_emails(query="from:user@example.com", max_results=10)
# Send email
result = await gmail_send_email(
to="recipient@example.com",
subject="Hello",
body="Message content"
)
# Read email
result = await gmail_get_email(message_id="abc123")
Drive
# List files
result = await drive_list_files(query="name contains 'report'", max_results=25)
# Upload file
result = await drive_upload_file(file_path="/local/file.pdf", folder_id="folder123")
# Download file
result = await drive_download_file(file_id="abc123", destination="/local/path")
# Share file
result = await drive_share_file(file_id="abc123", email="user@example.com", role="reader")
Docs
# Create document
result = await docs_create_document(title="My Document")
# Read content
result = await docs_get_content(document_id="abc123")
# Append text
result = await docs_append_text(document_id="abc123", text="New paragraph")
Sheets
# Read values
result = await google_sheets_read_values(spreadsheet_id="abc123", range_notation="Sheet1!A1:D10")
# Write values
result = await google_sheets_write_values(
spreadsheet_id="abc123",
range_notation="Sheet1!A1",
values=[["Header1", "Header2"], ["Data1", "Data2"]]
)
# Create spreadsheet
result = await google_sheets_create_spreadsheet(title="New Sheet", sheet_names=["Data", "Summary"])
Slides
# Create presentation
result = await google_slides_create_presentation(title="My Presentation")
# Add slide
result = await google_slides_add_slide(presentation_id="abc123", layout="TITLE_AND_BODY")
# Add text
result = await google_slides_add_text(
presentation_id="abc123",
slide_id="slide1",
text="Hello World",
x=100, y=100
)
Calendar
# List events
result = await calendar_list_events(max_results=10)
# Create event
result = await calendar_create_event(
summary="Meeting",
start_time="2024-01-15T10:00:00",
end_time="2024-01-15T11:00:00"
)
Forms
# Create form
result = await forms_create_form(title="Survey")
# Add question
result = await forms_add_question(
form_id="abc123",
title="Your feedback?",
question_type="TEXT"
)
# Get responses
result = await forms_get_responses(form_id="abc123")
Tasks
# List task lists
result = await tasks_list_tasklists()
# Create task
result = await tasks_create_task(tasklist_id="abc123", title="Complete report")
# Complete task
result = await tasks_complete_task(tasklist_id="abc123", task_id="task456")
Chat
# Send message
result = await chat_send_message(space_name="spaces/abc123", text="Hello team!")
# List spaces
result = await chat_list_spaces()
Response Format
All tools return:
{
"success": true,
"data": { ... }
}
On error:
{
"success": false,
"error": "Error description"
}
Additional Resources
See README.md for detailed setup instructions and OAuth configuration.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
llm
Generate text, call tools, and get structured JSON output using LLM providers (Claude, OpenAI, Gemini, Ollama). Use when the user needs to call an LLM API for text generation, function calling, or structured data extraction.
calendar-tools
Manages calendar bookings and video conferencing. Use when the user needs to check availability, create bookings on Cal.com, or schedule and manage Zoom meetings.
http-api-client
Make HTTP requests to any URL or API endpoint. Use when the user needs to call a REST API, fetch data from a URL, send webhooks, or test HTTP endpoints. Supports GET, POST, PUT, PATCH, DELETE methods with custom headers and JSON body.
processing-data
Processes CSV files and pandas DataFrames. Use when working with CSV files, tabular data, spreadsheets, or when the user asks to query, analyze, or manipulate structured data.
persistent-memory
Store, search, and retrieve persistent memories and conversation history using Mem0 or Zep. Use when the user needs to remember facts, maintain context across sessions, or manage conversational memory.
storage
Use these tools for S3-compatible object storage operations with MinIO
Didn't find tool you were looking for?