Access Google Docs via the Google Docs API with managed OAuth authentication. Search, read, create, and update documents stored in Google Drive.
This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Google Docs API access yourself.
| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Docs |
|---|---|---|
| :---: | :---: | :---: |
| !Install | !Pair | App-specific connection GIF coming soon |
| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Docs |
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ Google Docs │
│ (User Chat) │ │ (OAuth) │ │ (Docs API) │
└─────────────────┘ └──────────────┘ └──────────────────┘
│ │ │
│ 1. Install Plugin │ │
│ 2. Pair Device │ │
│ 3. Connect Docs │ │
│ │ 4. Secure Token │
│ │ 5. Proxy Requests │
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ SKILL │ │ Dashboard│ │ Google │
│ File │ │ Auth │ │ Drive │
└──────────┘ └──────────┘ └──────────┘
Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Google Docs again."
# Search for documents
clawlink_call_tool --tool "googledocs_search_documents" --params '{"query": "report"}'
# Get document plaintext
clawlink_call_tool --tool "googledocs_get_document_plaintext" --params '{"document_id": "YOUR_DOCUMENT_ID"}'
# Create a new document
clawlink_call_tool --tool "googledocs_create_document" --params '{"title": "New Document"}'
All Google Docs tool calls are authenticated automatically by ClawLink using the user's connected Google account.
No API key is required in chat. ClawLink stores the OAuth token securely and injects it into every Google Docs API request on the user's behalf.
clawlink_begin_pairing if it is not configured yet.clawlink_list_integrations to verify the connection is active.clawlink_list_integrations
Response: Returns all connected integrations. Look for google-docs in the list.
clawlink_list_tools --integration google-docs
Response: Returns the live tool catalog for Google Docs.
If Google Docs tools are missing or the connection shows an error:
clawlink_list_integrations to verifyclawlink_list_tools --integration google-docs| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
googledocs_search_documents | Search for Google Docs by name, content, or date range | Read |
googledocs_get_document_by_id | Retrieve a document's full metadata | Read |
googledocs_get_document_plaintext | Get a best-effort plain-text rendering of a document | Read |
googledocs_export_document_as_pdf | Export a document as PDF (10MB limit) | Read |
googledocs_list_spreadsheet_charts | List charts from a linked Google Sheets spreadsheet | Read |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
googledocs_create_document | Create a new empty document with a title | Write |
googledocs_create_document_markdown | Create a document initialized with Markdown content | Write |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
googledocs_insert_text_action | Insert text at a specific index or append to end | Write |
googledocs_replace_all_text | Replace all occurrences of a string throughout a document | Write |
googledocs_update_document_markdown | Replace entire document content with Markdown | Write |
googledocs_update_document_section_markdown | Insert or replace a section of a document with Markdown | Write |
googledocs_update_existing_document | Apply programmatic edits via batchUpdate API | Write |
googledocs_update_document_style | Update page size, margins, and default text direction | Write |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
googledocs_insert_table_action | Insert a table at a specific location | Write |
googledocs_insert_table_column | Insert a new column into an existing table | Write |
googledocs_insert_page_break | Insert a page break into a document | Write |
googledocs_insert_inline_image | Insert an image from a URI at a specific location | Write |
googledocs_create_paragraph_bullets | Add bullet formatting to paragraphs in a range | Write |
googledocs_delete_paragraph_bullets | Remove bullet formatting from paragraphs | Write |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
googledocs_create_header | Create a new header with optional text | Write |
googledocs_create_footer | Create a new footer with optional text | Write |
googledocs_create_footnote | Add a footnote at a location or end of document | Write |
googledocs_create_named_range | Assign a name to a specific part of a document | Write |
googledocs_delete_header | Delete a header from a document | Write |
googledocs_delete_footer | Delete a footer from a document | Write |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
googledocs_delete_table_row | Delete a row from a table | Write |
googledocs_delete_table_column | Delete a column from a table | Write |
googledocs_unmerge_table_cells | Unmerge previously merged cells in a table | Write |
googledocs_update_table_row_style | Update row style (height, header marking) | Write |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
googledocs_copy_document | Create a copy of an existing document | Write |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
googledocs_delete_content_range | Delete a range of content from a document | Write |
googledocs_delete_named_range | Delete a named range from a document | Write |
| Tool | Description | Mode |
|---|---|---|
| ------ | ------------- | ------ |
googledocs_replace_image | Replace an existing image with a new one from a URI | Write |
clawlink_call_tool --tool "googledocs_search_documents" \
--params '{
"query": "meeting notes",
"page_size": 10
}'
clawlink_call_tool --tool "googledocs_get_document_plaintext" \
--params '{
"document_id": "YOUR_DOCUMENT_ID"
}'
clawlink_call_tool --tool "googledocs_create_document_markdown" \
--params '{
"title": "Project Brief",
"markdown": "# Project Brief\n\n## Overview\n\nThis is the project overview section.\n\n## Next Steps\n\n1. Define requirements\n2. Create mockups\n3. Implement feature"
}'
clawlink_call_tool --tool "googledocs_insert_text_action" \
--params '{
"document_id": "YOUR_DOCUMENT_ID",
"text": "New paragraph content here.",
"insertion_index": 150
}'
clawlink_call_tool --tool "googledocs_replace_all_text" \
--params '{
"document_id": "YOUR_DOCUMENT_ID",
"replace_text": "New Company Name",
"search_text": "Old Company Name"
}'
clawlink_call_tool --tool "googledocs_copy_document" \
--params '{
"document_id": "YOUR_DOCUMENT_ID"
}'
clawlink_list_integrations to confirm Google Docs is connected.clawlink_list_tools --integration google-docs to see the live catalog.clawlink_search_tools with a short query and integration google-docs.┌─────────────────────────────────────────────────────────────┐
│ READ OPERATIONS (Safe) │
│ search → get → export → call │
│ │
│ Example: Search docs → Get plaintext → Show results │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ WRITE OPERATIONS (Require Confirmation) │
│ describe → preview → confirm → call │
│ │
│ Example: Describe tool → Preview changes → User approves │
│ → Execute update │
└─────────────────────────────────────────────────────────────┘
clawlink_describe_tool first.whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.clawlink_preview_tool first.clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.googledocs_insert_text_action: Use append_to_end=true to safely append without index concerns. When using insertion_index, it must fall within an existing paragraph's bounds.| Status / Error | Meaning |
|---|---|
| ---------------- | --------- |
| Tool not found | The tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration google-docs. |
| Missing connection | Google Docs is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-docs. |
RESOURCE_NOT_FOUND | Document does not exist. Check the document_id. |
INVALID_ARGUMENT | Invalid parameter or missing required field. Review the tool schema with clawlink_describe_tool. |
FORBIDDEN | No read or write access to the document. Check sharing permissions. |
| Write rejected | User did not confirm a write action. Always confirm before executing writes. |
```bash
openclaw plugins list
```
/new as a standalone message to reload the catalog.```bash
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
```
/new again and retry.google-docs.clawlink_describe_tool to verify parameter names and types before calling.clawlink_preview_tool first.Powered by ClawLink — an integration hub for OpenClaw
共 2 个版本