Google Docs
Overview
Section titled “Overview”Google Docs is a cloud-based word processor with real-time collaboration, version history, and integration with other Google Workspace apps. With the integration in SquadOS, your agents can create documents from plain text or Markdown, edit existing content, search files, export PDFs, and automate complete documentation workflows directly via API.
- Official website: https://docs.google.com/
- Composio documentation: docs.composio.dev/toolkits/googledocs
Authentication
Section titled “Authentication”This tool uses OAuth 2.0 (OAUTH2) to connect.
You will need the following fields:
| Field | Required | Description |
|---|---|---|
| Google Account | Yes | OAuth 2.0 authorization managed by Composio. No manual key is needed — just authorize access during the connection flow. |
How to get credentials
Section titled “How to get credentials”Google Docs uses OAuth 2.0 managed by Composio. No manual key creation is required:
- Click Connect in SquadOS (see the section below).
- You’ll be redirected to Google’s authorization page.
- Sign in with the Google account you want to connect.
- Review the requested permissions and click Allow.
- After authorization, you’re automatically returned to SquadOS with the account connected.
How to connect in SquadOS
Section titled “How to connect in SquadOS”- Go to Tools in the side menu (
/admin/tools). - Open the Available tab and search for
Google Docs. - Click the card to open the details modal and hit Connect.
- You’re taken to the secure connection page hosted by Composio, where you authorize access (OAuth).
- Once done, you’re sent back to SquadOS with the account connected and the tool available for your agents. (Connection-flow details in Organization Tools.)
How do I set up custom Google OAuth credentials for Google Docs?
Section titled “How do I set up custom Google OAuth credentials for Google Docs?”For a step-by-step guide on creating and configuring your own Google OAuth credentials with Composio, see How to create OAuth2 credentials for Google Apps.
Why am I seeing “App is blocked” when connecting Google Docs?
Section titled “Why am I seeing “App is blocked” when connecting Google Docs?”The OAuth client is requesting scopes that Google hasn’t verified for that client. This usually happens when you add extra scopes beyond the defaults. Remove the additional scopes from your auth config, or create your own OAuth app and submit the scopes for verification.
Why am I getting “Google Docs API has not been used in project” error?
Section titled “Why am I getting “Google Docs API has not been used in project” error?”When using custom OAuth credentials, the Google Docs API must be enabled in the Google Cloud project that owns those credentials. Enable it in Google Cloud Console under APIs & Services, wait a few minutes, and retry.
Why am I getting “Error 400: invalid_scope”?
Section titled “Why am I getting “Error 400: invalid_scope”?”The requested scopes are invalid or incorrectly formatted in the authorization URL. Verify your scope values against the Google OAuth scopes docs.
Why does the OAuth consent screen show “Composio” instead of my app?
Section titled “Why does the OAuth consent screen show “Composio” instead of my app?”By default, the consent screen uses Composio’s OAuth app. To show your own app name and logo, create your own OAuth app and set a custom redirect URL.
Why am I getting 401 errors on tool calls?
Section titled “Why am I getting 401 errors on tool calls?”The user’s access token is no longer valid. Common causes: the user revoked access, changed their password or 2FA, a Workspace admin policy changed, or Google’s refresh token limit (~50 per account) was exceeded. Re-authenticating the user typically resolves this.
Why am I getting “Quota Exhausted” or “rate limit exhausted”?
Section titled “Why am I getting “Quota Exhausted” or “rate limit exhausted”?”Google enforces per-minute and daily request quotas. If you’re using Composio’s default OAuth app, you share that quota with other users. Use your own OAuth app credentials to get a dedicated quota, and add exponential backoff and retries to handle transient rate limits.
Available actions
Section titled “Available actions”Copy Google Document
Section titled “Copy Google Document”GOOGLEDOCS_COPY_DOCUMENT
Tool to create a copy of an existing Google Document. Use this to duplicate a document, for example, when using an existing document as a template. The copied document will have a default title (e.g., ‘Copy of [original title]’) if no new title is provided, and will be placed in the user’s root Google Drive folder.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | No | The title for the new copied document. If not provided, the title will be ‘Copy of [original document’s title]’. |
document_id | string | Yes | The ID of the Google Document to be copied. |
include_shared_drives | boolean | No | Whether to support copying documents from shared drives. Defaults to True. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create a document
Section titled “Create a document”GOOGLEDOCS_CREATE_DOCUMENT
Creates a new Google Docs document using the provided title as filename and inserts the initial text at the beginning if non-empty, returning the document’s ID and metadata (excluding body content).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
text | string | No | Optional initial text content to insert at the beginning of the new document. If not provided, an empty document will be created. For very large text (over 50,000 characters), the text will be inserted in chunks to avoid API limits. |
title | string | Yes | Title for the new document, used as its filename in Google Drive. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create blank document (Deprecated)
Section titled “Create blank document (Deprecated)”GOOGLEDOCS_CREATE_DOCUMENT2
DEPRECATED: Use GOOGLEDOCS_CREATE_DOCUMENT instead. Tool to create a blank Google Docs document with a specified title. Use when you need to create a new, empty document.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | Yes | The title of the document to create. This will be used as the document name in Google Drive. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Document Markdown
Section titled “Create Document Markdown”GOOGLEDOCS_CREATE_DOCUMENT_MARKDOWN
Creates a new Google Docs document, optionally initializing it with a title and content provided as Markdown text.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
title | string | Yes | The title for the new Google Docs document. |
image_assets | array | No | Optional uploaded images that Markdown can reference by name. Use Markdown image syntax like . Public HTTPS image URLs in markdown do not need image_assets. |
markdown_text | string | No | The initial content for the document, formatted as Markdown. Also accepts ‘content’ as an alias. Supports headings, real Google Docs lists including nested lists, multiple Markdown tables, task-list markers, images via publicly accessible URLs or matching image_assets uploads (max 2KB URL length after resolution; formats: JPEG, PNG, GIF; SVG not supported), blockquotes, code blocks, hyperlinks, and text formatting (bold, italic, etc.). If empty or omitted, creates document with title only. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Footer
Section titled “Create Footer”GOOGLEDOCS_CREATE_FOOTER
Tool to create a new footer in a Google Document. Use when you need to add a footer, optionally specifying its type and the section it applies to.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
type | string ("DEFAULT") | Yes | The type of footer to create. |
document_id | string | Yes | The ID of the document to create the footer in. |
section_break_location | object | No | The location of the SectionBreak immediately preceding the section whose SectionStyle this footer should belong to. If this is unset or refers to the first section break in the document, the footer applies to the document style. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Footnote
Section titled “Create Footnote”GOOGLEDOCS_CREATE_FOOTNOTE
Tool to create a new footnote in a Google Document. Use this when you need to add a footnote at a specific location or at the end of the document body.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
location | object | No | Inserts the footnote reference at a specific index in the document. The segmentId within this Location object must be empty as footnotes can only be inserted in the document body. |
documentId | string | Yes | The ID of the document to create the footnote in. |
endOfSegmentLocation | object | No | Inserts the footnote reference at the end of the document body. The segmentId within this EndOfSegmentLocation object must be empty. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Header
Section titled “Create Header”GOOGLEDOCS_CREATE_HEADER
Tool to create a new header in a Google Document, optionally with text content. Use this tool when you need to add a header to a document. You can provide: document_id (required), type (header type; DEFAULT is the standard header), text (optional text content), and section_break_location (optional location for section-specific headers).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
text | string | No | Optional text content to add to the header after creation. If provided, the text will be inserted into the header at index 0. |
type | string ("HEADER_FOOTER_TYPE_UNSPECIFIED" or "DEFAULT") | No | The type of header to create. Use ‘DEFAULT’ for the standard document header. Only one DEFAULT header can exist per document; if one already exists, the existing header ID will be returned. |
documentId | string | Yes | The ID of the document to create the header in. |
sectionBreakLocation | object | No | The location of the SectionBreak which begins the section this header should belong to. Only needed for section-specific headers. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Named Range
Section titled “Create Named Range”GOOGLEDOCS_CREATE_NAMED_RANGE
Tool to create a new named range in a Google Document. Use this to assign a name to a specific part of the document for easier reference or programmatic manipulation.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name for the new named range. Must be 1-256 characters. |
tabId | string | No | Optional. The ID of the document tab containing this range. When omitted, Google Docs applies the request to the first tab. |
documentId | string | Yes | The ID of the document where the named range will be created. |
rangeEndIndex | integer | Yes | The zero-based end index of the range. |
rangeSegmentId | string | No | Optional. The ID of the header, footer, or footnote. Empty for document body. |
rangeStartIndex | integer | Yes | The zero-based start index of the range. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Paragraph Bullets
Section titled “Create Paragraph Bullets”GOOGLEDOCS_CREATE_PARAGRAPH_BULLETS
Tool to add bullets to paragraphs within a specified range in a Google Document. Use when you need to format a list or a set of paragraphs as bullet points.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
tabId | string | No | Optional tab ID to apply to createParagraphBullets.range.tabId. When omitted, Google Docs applies the request to the first tab. |
document_id | string | Yes | The ID of the document to update. |
createParagraphBullets | object | Yes | The request body for creating paragraph bullets in the document. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Content Range in Document
Section titled “Delete Content Range in Document”GOOGLEDOCS_DELETE_CONTENT_RANGE
Tool to delete a range of content from a Google Document. Use when you need to remove a specific portion of text or other structural elements within a document. Note: Every segment (body, header, footer, footnote) in Google Docs ends with a final newline character that cannot be deleted. Ensure the endIndex does not include this trailing newline.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
range | object | Yes | The range of content to delete. Deleting text across paragraph boundaries may merge paragraphs and affect styles. IMPORTANT: The endIndex must not include the final newline character at the end of a segment (body, header, footer, footnote), as this newline cannot be deleted. |
document_id | string | Yes | The ID of the document from which to delete content. This ID can be found in the URL of the Google Doc. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Footer
Section titled “Delete Footer”GOOGLEDOCS_DELETE_FOOTER
Tool to delete a footer from a Google Document. Use when you need to remove a footer from a specific section or the default footer.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
tab_id | string | No | The tab that contains the footer to delete. When omitted, the request is applied to the first tab. |
footer_id | string | Yes | The ID of the footer to delete. Footer IDs are system-generated strings created by Google Docs. Obtain a valid footer ID from the GOOGLEDOCS_CREATE_FOOTER response or GOOGLEDOCS_GET_DOCUMENT_BY_ID. Do not use made-up or placeholder values. |
document_id | string | Yes | The ID of the document to delete the footer from. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Header
Section titled “Delete Header”GOOGLEDOCS_DELETE_HEADER
Deletes the header from the specified section or the default header if no section is specified. Use this tool to remove a header from a Google Document.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
tab_id | string | No | The tab containing the header to delete. When omitted, the request is applied to the first tab. |
header_id | string | Yes | The ID of the header to delete. If this header is defined on DocumentStyle, the reference to this header is removed, resulting in no header of that type for the first section of the document. If defined on a SectionStyle, the reference is removed and the header of that type is now continued from the previous section. |
document_id | string | Yes | The ID of the document from which to delete the header. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Named Range
Section titled “Delete Named Range”GOOGLEDOCS_DELETE_NAMED_RANGE
Tool to delete a named range from a Google Document. Use when you need to remove a previously defined named range by its ID or name.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
document_id | string | Yes | The ID of the document. |
deleteNamedRange | object | Yes | Specifies the named range to delete. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Paragraph Bullets
Section titled “Delete Paragraph Bullets”GOOGLEDOCS_DELETE_PARAGRAPH_BULLETS
Tool to remove bullets from paragraphs within a specified range in a Google Document. Use when you need to clear bullet formatting from a section of a document.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
range | object | Yes | The range of the document from which to delete paragraph bullets. The range is applied to the document body by default. To specify a different segment (e.g. header, footer), include segment_id in the range object. |
tab_id | string | No | The ID of the tab the range is in. If omitted, it applies to the first tab or the singular tab in a single-tab document. |
document_id | string | Yes | The ID of the document to update. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Table Column
Section titled “Delete Table Column”GOOGLEDOCS_DELETE_TABLE_COLUMN
Tool to delete a column from a table in a Google Document. Use this tool when you need to remove a specific column from an existing table within a document.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
requests | array | Yes | A list of requests to be applied to the document. |
document_id | string | Yes | The ID of the document to delete the table column from. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Table Row
Section titled “Delete Table Row”GOOGLEDOCS_DELETE_TABLE_ROW
Tool to delete a row from a table in a Google Document. Use when you need to remove a specific row from an existing table.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
documentId | string | Yes | The ID of the document. |
tableCellLocation | object | Yes | The reference table cell location from which the row will be deleted. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Export Google Doc as PDF
Section titled “Export Google Doc as PDF”GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF
Tool to export a Google Docs file as PDF using the Google Drive API. Use when you need to generate a PDF version of a Google Docs document for download or distribution. Note: Google Drive enforces a 10MB limit on export content.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
file_id | string | Yes | The ID of the Google Docs file to export as PDF. This is the same as the document ID — typically a 44-character alphanumeric string. Extract it from a Google Docs URL: https://docs.google.com/document/d/<file-id>/edit |
filename | string | No | Optional suggested filename for the exported PDF (e.g., ‘report.pdf’). If not provided, a default filename will be generated. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get document by id
Section titled “Get document by id”GOOGLEDOCS_GET_DOCUMENT_BY_ID
Retrieves an existing Google Document by its ID; will error if the document is not found.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier for a native Google Docs document (typically a 44-character alphanumeric string). Accepts either a document ID or a full Google Docs URL. IMPORTANT: This tool only works with native Google Docs documents, not uploaded Office files stored in Google Drive. Use GOOGLEDOCS_SEARCH_DOCUMENTS to find available documents. |
includeTabsContent | boolean | No | When true, request includeTabsContent=true so the response includes document.tabs with content for all tabs. When false, Google Docs returns the legacy first-tab content fields. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get document plain text
Section titled “Get document plain text”GOOGLEDOCS_GET_DOCUMENT_PLAINTEXT
Retrieve a Google Doc by ID and return a best-effort plain-text rendering. Converts document structure into plain text including paragraphs, lists, and tables without requiring clients to traverse complex Docs API JSON.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
tab_ids | array | No | Optional tab IDs to include when include_tabs_content=true. Nested child tabs are searched recursively. |
document_id | string | Yes | The unique identifier for the Google Document. Accepts either a document ID or a full Google Docs URL. Also accepts ‘id’ as an alias. |
include_tables | boolean | No | Whether to include table content in the plain text output. Tables are rendered with configurable cell and row delimiters. |
include_footers | boolean | No | Whether to include footer text in the plain text output. Footers are appended with a clear section separator. |
include_headers | boolean | No | Whether to include header text in the plain text output. Headers are appended with a clear section separator. |
include_footnotes | boolean | No | Whether to include footnote text in the plain text output. Footnotes are appended with a clear section separator. |
table_row_delimiter | string | No | The delimiter to use between table rows (default: newline character). |
include_tabs_content | boolean | No | When true, fetch the document using includeTabsContent=true query parameter to render all tabs. When false, only the main body content is rendered. |
table_cell_delimiter | string | No | The delimiter to use between table cells (default: tab character). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Insert Inline Image
Section titled “Insert Inline Image”GOOGLEDOCS_INSERT_INLINE_IMAGE
Tool to insert an image from a given URI at a specified location in a Google Document as an inline image. Use when you need to add an image to a document programmatically.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
uri | string | Yes | The URI of the image. Must be a publicly accessible direct image URL (no redirects or viewer links). Images must be less than 50MB, not exceed 25 megapixels, and be in PNG, JPEG, or GIF format (SVG not supported). The URI can be at most 2 kB in length. |
location | object | Yes | The location in the document to insert the image. The index field is required to specify the insertion point. |
documentId | string | Yes | The ID of the document to update. |
objectSize | object | No | The size of the image. If not specified, the image is rendered at its intrinsic size. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Insert Page Break
Section titled “Insert Page Break”GOOGLEDOCS_INSERT_PAGE_BREAK
Tool to insert a page break into a Google Document. Use when you need to start new content on a fresh page, such as at the end of a chapter or section.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
documentId | string | Yes | The ID of the document to update. |
insertPageBreak | string | Yes | The details for the insertPageBreak request. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Insert Table in Google Doc
Section titled “Insert Table in Google Doc”GOOGLEDOCS_INSERT_TABLE_ACTION
Tool to insert a table into a Google Document. Use when you need to add a new table at a specific location or at the end of a segment (like document body, header, or footer) in a document.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
rows | integer | Yes | The number of rows in the table. |
index | integer | No | The zero-based index where the table will be inserted, in UTF-16 code units. IMPORTANT: The index must be strictly less than the segment’s end index. To insert at the end of a segment, omit this parameter and set ‘insertAtEndOfSegment’ to true instead. |
tabId | string | No | The tab that the location is in. When omitted, the request is applied to the first tab. |
columns | integer | Yes | The number of columns in the table. |
segmentId | string | No | The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document’s body. |
documentId | string | Yes | The ID of the document to update. |
insertAtEndOfSegment | boolean | No | If true, inserts the table at the end of the segment. This is the recommended way to append content to the end of a segment. If ‘index’ is provided, this field is ignored. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Insert Table Column
Section titled “Insert Table Column”GOOGLEDOCS_INSERT_TABLE_COLUMN
Tool to insert a new column into a table in a Google Document. Use this tool when you need to add a column to an existing table at a specific location.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
requests | array | Yes | A list of insert table column requests. Multiple requests can be sent in a single call to insert columns at different locations in the document. |
document_id | string | Yes | The ID of the document to update. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Insert Text into Document
Section titled “Insert Text into Document”GOOGLEDOCS_INSERT_TEXT_ACTION
Tool to insert a string of text at a specified location within a Google Document. Use when you need to add new text content to an existing document. IMPORTANT: Two ways to specify insertion location: 1. Use ‘insertion_index’ to insert at a specific position (index 1 is safe for document start). 2. Use ‘append_to_end=true’ to append text to the end of the document (recommended for appending). CRITICAL CONSTRAINT: When using insertion_index, the index MUST fall within the bounds of an EXISTING paragraph. The index must also be strictly less than the document’s end index.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
tab_id | string | No | The ID of the document tab to insert text into. When omitted, Google Docs applies the request to the first tab. |
segment_id | string | No | The ID of the header, footer or footnote to insert text into. Leave empty or omit to insert into the document body. |
document_id | string | Yes | The ID of the document to insert text into. |
append_to_end | boolean | No | Set to true to append text to the end of the document body. When true, the ‘insertion_index’ parameter is ignored. This is the recommended way to add text at the end of a document. |
text_to_insert | string | Yes | The string of text to insert. Alternatively, you can provide this as ‘text’. |
insertion_index | integer | No | The zero-based UTF-16 code unit index where text will be inserted. Alternatively, ‘index’. CRITICAL CONSTRAINTS: (1) The index MUST fall within the bounds of an EXISTING paragraph. (2) The index MUST be strictly less than the document’s end index. Index 1 is the minimum valid index for inserting at the document start. Either ‘insertion_index’ or ‘append_to_end’ must be provided. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Charts from Spreadsheet
Section titled “Get Charts from Spreadsheet”GOOGLEDOCS_LIST_SPREADSHEET_CHARTS
Tool to retrieve a list of all charts from a specified Google Sheets spreadsheet. Use when you need to get chart IDs and their specifications for embedding or referencing elsewhere, such as in Google Docs.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
spreadsheet_id | string | Yes | The ID of the Google Sheets spreadsheet from which to retrieve charts. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Replace All Text in Document
Section titled “Replace All Text in Document”GOOGLEDOCS_REPLACE_ALL_TEXT
Tool to replace all occurrences of a specified text string with another text string throughout a Google Document. Use when you need to perform a global find and replace operation within a document.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
tab_ids | array | No | Optional. A list of specific tab IDs to perform the replacement on. If not provided, replacement occurs on all tabs. |
find_text | string | Yes | The text to search for in the document. Cannot be empty. |
match_case | boolean | No | Indicates whether the search should be case sensitive. Defaults to False (case insensitive). |
document_id | string | Yes | The ID of the document to update. |
replace_text | string | Yes | The text that will replace the matched text. |
search_by_regex | boolean | No | Optional. If True, the find_text is treated as a regular expression. Defaults to False. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Replace Image in Document
Section titled “Replace Image in Document”GOOGLEDOCS_REPLACE_IMAGE
Tool to replace a specific image in a document with a new image from a URI. Use when you need to update an existing image within a Google Doc.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
document_id | string | Yes | The ID of the document containing the image to replace. |
replace_image | object | Yes | The details of the image replacement request. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Search Documents
Section titled “Search Documents”GOOGLEDOCS_SEARCH_DOCUMENTS
Search for Google Documents using various filters including name, content, date ranges, and more.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
query | string | No | Search query to filter documents. Provide either: (1) Plain text to search in document content (e.g., ‘quarterly report’), which will search fullText, or (2) Drive API query syntax with operators like ‘name contains’, ‘fullText contains’, combined with ‘and’, ‘or’, ‘not’. Leave empty to get all documents. |
order_by | string | No | Order results by field. Common options: ‘modifiedTime desc’, ‘modifiedTime asc’, ‘name’, ‘createdTime desc’. |
page_token | string | No | Token for continuing a previous search request on the next page. Use the next_page_token from the previous response to retrieve additional results. |
max_results | integer | No | Maximum number of documents to return per page (1-100). Defaults to 10. |
starred_only | boolean | No | Whether to return only starred documents. Defaults to False. |
created_after | string | No | Return documents created after this date. Use RFC 3339 format like ‘2024-01-01T00:00:00Z’. |
modified_after | string | No | Return documents modified after this date. Use RFC 3339 format like ‘2024-01-01T00:00:00Z’. |
shared_with_me | boolean | No | Whether to return only documents shared with the current user. Defaults to False. |
include_trashed | boolean | No | Whether to include documents in trash. Defaults to False. |
response_detail | string ("minimal" or "full") | No | Level of detail in the response. ‘minimal’ returns only essential fields (id, name, modifiedTime, webViewLink). ‘full’ returns comprehensive metadata including permissions, owners, timestamps, and other detailed information. |
include_shared_drives | boolean | No | Whether to include documents from shared drives you have access to. Defaults to True. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Unmerge Table Cells
Section titled “Unmerge Table Cells”GOOGLEDOCS_UNMERGE_TABLE_CELLS
Tool to unmerge previously merged cells in a table. Use this when you need to revert merged cells in a Google Document table back to their individual cell states.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
documentId | string | Yes | The ID of the document to unmerge table cells in. |
tableRange | object | Yes | The table range specifying which cells of the table to unmerge. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Document Batch (Deprecated)
Section titled “Update Document Batch (Deprecated)”GOOGLEDOCS_UPDATE_DOCUMENT_BATCH
DEPRECATED: Use UpdateExistingDocument instead. Tool to apply one or more updates to a Google Document. Use when you need to perform batch operations on a document, such as inserting text, updating styles, or modifying document structure. Supports 35+ request types including insertText, replaceAllText, updateTextStyle, createParagraphBullets, insertTable, createHeader/Footer, and more. Each request is validated before being applied. If any request is invalid, the entire operation fails and nothing is applied.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
requests | array | Yes | A list of updates to apply to the document. Each request dict must contain exactly one request type key (e.g., insertText, replaceAllText, updateTextStyle, createParagraphBullets). See https://developers.google.com/docs/api/reference/rest/v1/documents/request for all types. |
document_id | string | Yes | The ID of the document to update. |
write_control | object | No | Provides control over how write requests are executed. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Document Markdown
Section titled “Update Document Markdown”GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN
Replaces the entire content of an existing Google Docs document with new Markdown text; requires edit permissions for the document.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier for the Google Docs document to update. Accepts either a document ID or a full Google Docs URL. |
tab_id | string | No | Optional tab ID to replace with the rendered Markdown. When omitted, the first tab is updated. |
markdown | string | Yes | Markdown content that will replace the document’s entire existing content. Supports standard Markdown features. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Document Section Markdown
Section titled “Update Document Section Markdown”GOOGLEDOCS_UPDATE_DOCUMENT_SECTION_MARKDOWN
Tool to insert or replace a section of a Google Docs document with Markdown content. Use when you need to update only a section of a document by specifying start and optional end indices. Supports full Markdown formatting.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
tab_id | string | No | Optional tab ID to update with the rendered Markdown. When omitted, the first tab is updated. |
end_index | integer | No | Optional one-based end index of the content to replace (exclusive); must be greater than or equal to start_index. If end_index is not provided, the content is inserted at the start_index without replacing existing content. Important: Use the exact indices from GOOGLEDOCS_GET_DOCUMENT_BY_ID without modification. The Google Docs API does not allow deleting the last newline character of a document segment. |
document_id | string | Yes | The unique ID of the Google Docs document to update. Alphanumeric string found in the document URL: https://docs.google.com/document/d/<document-id>/edit. Also accepts aliases: ‘id’, ‘doc_id’, ‘documentId’, or ‘docId’. |
start_index | integer | No | One-based UTF-16 code unit index where to insert or start replacement. If not provided, content will be appended to the end of the document. Use 1 to insert at the very beginning. |
markdown_text | string | Yes | Markdown content to insert or replace in the document section. Large content is automatically split into smaller batches to avoid API limits. Also accepts ‘markdown’, ‘content’, ‘text’, ‘body’, ‘markdownText’, or ‘markdown_content’. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Document Style
Section titled “Update Document Style”GOOGLEDOCS_UPDATE_DOCUMENT_STYLE
Tool to update the overall document style, such as page size, margins, and default text direction. Use when you need to modify the global style settings of a Google Document.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
fields | string | No | A comma-separated list of fields to update (using camelCase API names like ‘marginTop’, ‘pageSize’). Use ’*’ to automatically update only fields that have values set in document_style. |
tab_id | string | No | The ID of the tab to update the style for. If not provided, the first tab is used. |
document_id | string | Yes | The ID of the document to update. |
document_style | object | Yes | The DocumentStyle object with the new style settings. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update existing document
Section titled “Update existing document”GOOGLEDOCS_UPDATE_EXISTING_DOCUMENT
Applies programmatic edits, such as text insertion, deletion, or formatting, to a specified Google Doc using the batchUpdate API method.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
edit_docs | array | Yes | (Required) A list of requests to execute on the document. Each request must be a dict containing exactly ONE of the valid request types. Common request types: replaceAllText, insertText, updateTextStyle, createParagraphBullets, deleteParagraphBullets, createNamedRange, deleteNamedRange, updateParagraphStyle, deleteContentRange, insertInlineImage, insertTable, insertTableRow, insertTableColumn, deleteTableRow, deleteTableColumn, insertPageBreak, deletePositionedObject, updateTableColumnProperties, updateTableCellStyle, updateTableRowStyle, replaceImage, updateDocumentStyle, mergeTableCells, unmergeTableCells, createHeader, createFooter, createFootnote, replaceNamedRangeContent, updateSectionStyle, insertSectionBreak, deleteHeader, deleteFooter, pinTableHeaderRows, addDocumentTab, deleteTab, updateDocumentTabProperties, insertPerson. Internal ‘kix.’ segment IDs are NOT valid. Invalid tab IDs cause errors — get valid IDs from GOOGLEDOCS_GET_DOCUMENT_BY_ID. For multiple inserts at specific positions, process in REVERSE index order (highest first). See https://developers.google.com/docs/api/reference/rest/v1/documents/batchUpdate for full schemas. |
document_id | string | Yes | (Required) The unique identifier of the Google Docs document to be updated. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Table Row Style
Section titled “Update Table Row Style”GOOGLEDOCS_UPDATE_TABLE_ROW_STYLE
Tool to update the style of a table row in a Google Document. Use when you need to modify the appearance of specific rows within a table, such as setting minimum row height or marking rows as headers.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
documentId | string | Yes | The ID of the document to update. |
updateTableRowStyle | object | Yes | The request body for updating the table row style. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |