Something went wrong!
Hang in there while we get back on track
Google Workspace Integration
Unified API access to Google Drive, Docs, Sheets, and Slides for file management, document creation, spreadsheet operations, and presentations
Requires Claude Code CLI
This skill integrates with Google Workspace through Claude Code. Install Claude Code and add this skill to use it.
Available Actions
List Drive Files
List files and folders in Google Drive with metadata
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| max_results | integer | Optional | Maximum number of files to return |
Returns
object List of files with metadata
Try saying...
- "List my Google Drive files"
- "Show me the 20 most recent files in Drive"
- "What files are in my Google Drive?"
Create Drive Folder
Create a new folder in Google Drive
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Required | Name of the folder to create |
| parent_id | string | Optional | ID of parent folder (omit for root) |
Returns
object Created folder metadata
Try saying...
- "Create a folder called 'Project Documents' in Google Drive"
- "Make a new folder named 'Reports'"
- "Create a Drive folder for my meeting notes"
Upload File to Drive
Upload a local file to Google Drive
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| file_path | string | Required | Local path to the file to upload |
| parent_id | string | Optional | ID of parent folder (omit for root) |
Returns
object Uploaded file metadata
Try saying...
- "Upload the file report.pdf to Google Drive"
- "Upload this document to my Drive folder"
- "Add the local file data.csv to Google Drive"
Download File from Drive
Download a file from Google Drive to local storage
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| file_id | string | Required | Google Drive file ID |
| output_path | string | Required | Local path where file should be saved |
Returns
object Download confirmation
Try saying...
- "Download the file with ID abc123 to my local machine"
- "Save the Drive file to my downloads folder"
- "Download document xyz789 as report.pdf"
Share Drive File
Share a file with another user by email
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| file_id | string | Required | Google Drive file ID |
| string | Required | Email address of user to share with | |
| role | string | Optional | Permission level: reader, writer, or commenter |
Returns
object Permission grant confirmation
Try saying...
- "Share the file with ID abc123 with user@example.com as a reader"
- "Give colleague@example.com write access to my document"
- "Share this spreadsheet with the team as commenters"
Create Google Doc
Create a new blank Google Doc
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| title | string | Required | Title of the document |
Returns
object Created document metadata
Try saying...
- "Create a Google Doc called 'Meeting Notes'"
- "Make a new Google document titled 'Project Plan'"
- "Create a blank doc named 'Ideas'"
Read Google Doc
Read the text content of a Google Doc
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| document_id | string | Required | Google Doc document ID |
Returns
object Document content and metadata
Try saying...
- "Read the document with ID abc123"
- "Show me the content of this Google Doc"
- "Get the text from document xyz789"
Append to Google Doc
Append text to the beginning of a Google Doc
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| document_id | string | Required | Google Doc document ID |
| text | string | Required | Text to append |
Returns
object Update confirmation
Try saying...
- "Add the text 'Action items: Review budget' to document abc123"
- "Append meeting notes to this Google Doc"
- "Write 'Next steps:' at the top of the document"
Create Google Sheet
Create a new blank Google Sheet
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| title | string | Required | Title of the spreadsheet |
Returns
object Created spreadsheet metadata
Try saying...
- "Create a Google Sheet called 'Budget 2025'"
- "Make a new spreadsheet titled 'Sales Data'"
- "Create a blank sheet named 'Inventory'"
Read Sheet Range
Read data from a specific range in a Google Sheet
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| spreadsheet_id | string | Required | Google Sheets spreadsheet ID |
| range | string | Required | A1 notation range (e.g., 'Sheet1!A1:B10') |
Returns
object Range data
Try saying...
- "Read cells A1 to B10 from spreadsheet abc123"
- "Get data from Sheet1 range A1:C20"
- "Show me the values in the first 10 rows"
Write Sheet Range
Write data to a specific range in a Google Sheet
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| spreadsheet_id | string | Required | Google Sheets spreadsheet ID |
| range | string | Required | A1 notation range (e.g., 'Sheet1!A1:B2') |
| values | string[] | Required | JSON array of rows to write |
Returns
object Update confirmation
Try saying...
- "Write a header row to cells A1:B1 in spreadsheet abc123"
- "Update cells A1:C3 with sales data"
- "Add a row of values to the spreadsheet"
Create Google Slides
Create a new blank Google Slides presentation
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| title | string | Required | Title of the presentation |
Returns
object Created presentation metadata
Try saying...
- "Create a Google Slides presentation called 'Q4 Review'"
- "Make a new presentation titled 'Product Launch'"
- "Create a blank slides deck named 'Training'"
Read Google Slides
Read the structure and metadata of a Google Slides presentation
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| presentation_id | string | Required | Google Slides presentation ID |
Returns
object Presentation structure
Try saying...
- "Read the presentation with ID abc123"
- "Show me the structure of this slides deck"
- "Get information about presentation xyz789"
Getting Started
- 1 Go to Google Cloud Console (https://console.cloud.google.com)
- 2 Create or select a project
- 3 Enable required APIs: Drive, Docs, Sheets, Slides
- 4 Go to IAM & Admin > Service Accounts
- 5 Create a service account
- 6 Download the JSON key file
- 7 Add to shell config: export GOOGLE_APPLICATION_CREDENTIALS="$HOME/path-to-key.json"
- 8 Restart terminal or source shell config
- 9 Share files/folders with the service account email to grant access
Security & Access
Access Scope
Full read/write access to Google Drive, Docs, Sheets, and Slides for files accessible to the service account
- The service account has full access to any files shared with it - treat the JSON key file like a password
- Store the JSON key file securely with restricted permissions (chmod 600)
- Never commit the key file to version control - add *-key.json to .gitignore
- Service account can read, write, and delete any files it has access to
- When sharing files with the service account, any process using these credentials can access them
- Revoke service account access by deleting permissions in Google Drive or deleting the service account key
Limitations
- Service accounts cannot access personal Drive files unless explicitly shared
- Files created by the service account are owned by it, not your personal account
- Large file uploads may take time and require resumable upload support
- Batch operations are more efficient than individual requests for bulk operations
- Sheets API limited to 10 million cells per spreadsheet
Get This Skill
Requires Pro subscription ($9/month)
Quick Reference
- Type
- PYTHON_SDK
- Auth
- Service_account
- Setup
- Advanced Setup
- Tools Required
- Bash
- Python Dependencies
- google-api-python-client google-auth google-auth-oauthlib google-auth-httplib2 python-dotenv
Documentation
Have Feedback?
Help us improve this skill by sharing your ideas and suggestions.
Request Improvements