Google Docs
Connect to Google Docs. Create, edit, and collaborate on documents
Connect to Google Docs. Create, edit, and collaborate on documents
Supports authentication: OAuth 2.0
Connect a user’s Google Docs account and make API calls on their behalf — Scalekit handles OAuth and token management automatically.
You can interact with Google Docs in two ways — via direct proxy API calls or via Scalekit optimized tool calls. Scroll down to see the list of available Scalekit tools.
Proxy API Calls
import { ScalekitClient } from '@scalekit-sdk/node';import 'dotenv/config';
const connectionName = 'google_docs'; // get your connection name from connection configurationsconst identifier = 'user_123'; // your unique user identifier
// Get your credentials from app.scalekit.com → Developers → Settings → API Credentialsconst scalekit = new ScalekitClient( process.env.SCALEKIT_ENV_URL, process.env.SCALEKIT_CLIENT_ID, process.env.SCALEKIT_CLIENT_SECRET);const actions = scalekit.actions;
// Authenticate the userconst { link } = await actions.getAuthorizationLink({ connectionName, identifier,});console.log('🔗 Authorize Google Docs:', link); // present this link to your user for authorization, or click it yourself for testingprocess.stdout.write('Press Enter after authorizing...');await new Promise(r => process.stdin.once('data', r));
// Make a request via Scalekit proxyconst result = await actions.request({ connectionName, identifier, path: '/v1/documents', method: 'GET',});console.log(result);import scalekit.client, osfrom dotenv import load_dotenvload_dotenv()
connection_name = "google_docs" # get your connection name from connection configurationsidentifier = "user_123" # your unique user identifier
# Get your credentials from app.scalekit.com → Developers → Settings → API Credentialsscalekit_client = scalekit.client.ScalekitClient( client_id=os.getenv("SCALEKIT_CLIENT_ID"), client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"), env_url=os.getenv("SCALEKIT_ENV_URL"),)actions = scalekit_client.actions
# Authenticate the userlink_response = actions.get_authorization_link( connection_name=connection_name, identifier=identifier)# present this link to your user for authorization, or click it yourself for testingprint("🔗 Authorize Google Docs:", link_response.link)input("Press Enter after authorizing...")
# Make a request via Scalekit proxyresult = actions.request( connection_name=connection_name, identifier=identifier, path="/v1/documents", method="GET")print(result)Scalekit Tools
googledocs_create_document
Create a new blank Google Doc with an optional title. Returns the new document’s ID and metadata.
| Name | Type | Required | Description |
|---|---|---|---|
schema_version | string | No | Optional schema version to use for tool execution |
title | string | No | Title of the new document |
tool_version | string | No | Optional tool version to use for execution |
googledocs_read_document
Read the complete content and structure of a Google Doc including text, formatting, tables, and metadata.
| Name | Type | Required | Description |
|---|---|---|---|
document_id | string | Yes | The ID of the Google Doc to read |
schema_version | string | No | Optional schema version to use for tool execution |
suggestions_view_mode | string | No | How suggestions are rendered in the response |
tool_version | string | No | Optional tool version to use for execution |
googledocs_update_document
Update the content of an existing Google Doc using batch update requests. Supports inserting and deleting text, formatting, tables, and other document elements.
| Name | Type | Required | Description |
|---|---|---|---|
document_id | string | Yes | The ID of the Google Doc to update |
requests | array<object> | Yes | Array of update requests to apply to the document |
schema_version | string | No | Optional schema version to use for tool execution |
tool_version | string | No | Optional tool version to use for execution |
write_control | object | No | Optional write control for revision management |
Tool list
Section titled “Tool list”googledocs_create_document
Section titled “googledocs_create_document”Create a new blank Google Doc with an optional title. Returns the new document’s ID and metadata.
| Name | Type | Required | Description |
|---|---|---|---|
schema_version | string | No | Optional schema version to use for tool execution |
title | string | No | Title of the new document |
tool_version | string | No | Optional tool version to use for execution |
googledocs_read_document
Section titled “googledocs_read_document”Read the complete content and structure of a Google Doc including text, formatting, tables, and metadata.
| Name | Type | Required | Description |
|---|---|---|---|
document_id | string | Yes | The ID of the Google Doc to read |
schema_version | string | No | Optional schema version to use for tool execution |
suggestions_view_mode | string | No | How suggestions are rendered in the response |
tool_version | string | No | Optional tool version to use for execution |
googledocs_update_document
Section titled “googledocs_update_document”Update the content of an existing Google Doc using batch update requests. Supports inserting and deleting text, formatting, tables, and other document elements.
| Name | Type | Required | Description |
|---|---|---|---|
document_id | string | Yes | The ID of the Google Doc to update |
requests | array<object> | Yes | Array of update requests to apply to the document |
schema_version | string | No | Optional schema version to use for tool execution |
tool_version | string | No | Optional tool version to use for execution |
write_control | object | No | Optional write control for revision management |