googledocs-automation
Scannednpx machina-cli add skill ComposioHQ/awesome-claude-skills/googledocs-automation --openclawGoogle Docs Automation via Rube MCP
Create, edit, search, export, and manage Google Docs documents programmatically using Rube MCP (Composio).
Toolkit docs: composio.dev/toolkits/googledocs
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active connection via
RUBE_MANAGE_CONNECTIONSwith toolkitgoogledocs - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitgoogledocs - If connection is not ACTIVE, follow the returned auth link to complete setup
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Create a New Document
Use GOOGLEDOCS_CREATE_DOCUMENT to create a new Google Doc with a title and initial text content.
Tool: GOOGLEDOCS_CREATE_DOCUMENT
Parameters:
- title (required): Document filename/title
- text (required): Initial text content to insert into the document
2. Search for Documents
Use GOOGLEDOCS_SEARCH_DOCUMENTS to find Google Docs by name, content, date, or sharing status.
Tool: GOOGLEDOCS_SEARCH_DOCUMENTS
Parameters:
- query: Search query string
- max_results: Limit number of results
- modified_after / created_after: Filter by date
- shared_with_me: Filter shared documents
- starred_only: Filter starred documents
- include_shared_drives: Search shared drives
- order_by: Sort results
- page_token: Pagination token
3. Update Document Content with Markdown
Use GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN to replace the entire content of a document with Markdown-formatted text.
Tool: GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN
Parameters:
- id (required): Document ID
- markdown (required): Markdown content to replace entire document body
4. Find and Replace Text
Use GOOGLEDOCS_REPLACE_ALL_TEXT to replace all occurrences of a string in a document.
Tool: GOOGLEDOCS_REPLACE_ALL_TEXT
Parameters:
- document_id (required): Target document ID
- find_text (required): Text to search for
- replace_text (required): Replacement text
- match_case: Case-sensitive matching (boolean)
- search_by_regex: Use regex for find_text
- tab_ids: Specific tabs to search
5. Export Document as PDF
Use GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF to export a Google Doc to PDF format.
Tool: GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF
Parameters:
- file_id (required): Document file ID
- filename: Output PDF filename
6. Copy a Document
Use GOOGLEDOCS_COPY_DOCUMENT to duplicate an existing Google Doc.
Tool: GOOGLEDOCS_COPY_DOCUMENT
Parameters:
- document_id (required): Source document ID to copy
- title: Title for the new copy
- include_shared_drives: Search shared drives for the source
Common Patterns
- Search then edit: Use
GOOGLEDOCS_SEARCH_DOCUMENTSto find a document by name, then use the returned document ID withGOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWNorGOOGLEDOCS_REPLACE_ALL_TEXTto modify it. - Create from template: Use
GOOGLEDOCS_COPY_DOCUMENTto duplicate a template, thenGOOGLEDOCS_REPLACE_ALL_TEXTto fill in placeholder text. - Retrieve then update: Use
GOOGLEDOCS_GET_DOCUMENT_BY_IDto read current content, then apply edits withGOOGLEDOCS_UPDATE_EXISTING_DOCUMENT. - Batch text insertion: Use
GOOGLEDOCS_INSERT_TEXT_ACTIONto insert text at specific positions (by index) or append to the end of a document. - Share documents: Combine with
GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE(googledrive toolkit) to share documents after creation.
Known Pitfalls
GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWNreplaces the entire document content -- it does not append. Use it for full rewrites only.GOOGLEDOCS_INSERT_TEXT_ACTIONrequires a preciseinsertion_index(character position). Setappend_to_end: trueto safely add text at the end.GOOGLEDOCS_UPDATE_EXISTING_DOCUMENTrequires constructing aneditDocsrequest body with raw Google Docs API batch update requests -- consult the API documentation for the correct structure.- Document IDs and file IDs are the same value for Google Docs, but parameter names differ across tools (
id,document_id,file_id). GOOGLEDOCS_SEARCH_DOCUMENTSuses Google Drive search syntax for thequeryparameter (e.g.,name contains 'report').
Quick Reference
| Action | Tool | Key Parameters |
|---|---|---|
| Create document | GOOGLEDOCS_CREATE_DOCUMENT | title, text |
| Search documents | GOOGLEDOCS_SEARCH_DOCUMENTS | query, max_results, modified_after |
| Get document by ID | GOOGLEDOCS_GET_DOCUMENT_BY_ID | id |
| Update with Markdown | GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN | id, markdown |
| Programmatic edits | GOOGLEDOCS_UPDATE_EXISTING_DOCUMENT | document_id, editDocs |
| Insert text | GOOGLEDOCS_INSERT_TEXT_ACTION | document_id, text_to_insert, insertion_index |
| Find and replace | GOOGLEDOCS_REPLACE_ALL_TEXT | document_id, find_text, replace_text |
| Export as PDF | GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF | file_id, filename |
| Copy document | GOOGLEDOCS_COPY_DOCUMENT | document_id, title |
Powered by Composio
Source
git clone https://github.com/ComposioHQ/awesome-claude-skills/blob/master/composio-skills/googledocs-automation/SKILL.mdView on GitHub Overview
Automate Google Docs tasks using Rube MCP (Composio) to create, edit, search, export, and copy documents. This enables consistent, scalable document workflows without manual clicks. Always start by fetching current schemas with RUBE_SEARCH_TOOLS to ensure compatibility.
How This Skill Works
The skill connects to Rube MCP as an MCP server and invokes tools like GOOGLEDOCS_CREATE_DOCUMENT, GOOGLEDOCS_SEARCH_DOCUMENTS, GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN, GOOGLEDOCS_REPLACE_ALL_TEXT, GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF, and GOOGLEDOCS_COPY_DOCUMENT to perform actions. Typical patterns involve searching to obtain document IDs before applying updates or exports, and reusing templates by copying documents.
When to Use It
- Create a new Google Doc with a title and initial content
- Find documents by name, date, or sharing status
- Replace an entire document with Markdown content
- Find and replace specific text across a document
- Export as PDF or copy documents for templating or archiving
Quick Start
- Step 1: Set up Rube MCP to connect to toolkit googledocs and confirm RUBE_SEARCH_TOOLS is available
- Step 2: Create a document with GOOGLEDOCS_CREATE_DOCUMENT using a title and initial text
- Step 3: If editing, search first with GOOGLEDOCS_SEARCH_DOCUMENTS to get the document ID, then update with GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN or GOOGLEDOCS_REPLACE_ALL_TEXT
Best Practices
- Always fetch current schemas with RUBE_SEARCH_TOOLS before making calls
- Verify the Rube MCP connection is ACTIVE via RUBE_MANAGE_CONNECTIONS
- Use search to locate the document ID before edits
- Choose the right operation: Markdown update for full replace vs. text replace for targeted edits
- Test workflows on a sample document before applying to production docs
Example Use Cases
- Create a project brief doc with an outline using GOOGLEDOCS_CREATE_DOCUMENT
- Find a quarterly report and update sections with GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN
- Copy a template contract and fill in placeholders with GOOGLEDOCS_COPY_DOCUMENT and GOOGLEDOCS_REPLACE_ALL_TEXT
- Export finalized docs as PDF with GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF for distribution
- Batch replace a term across multiple docs with GOOGLEDOCS_REPLACE_ALL_TEXT