Google Docs
Your Toolhouse AI Worker can connect to Googledocs using 35 specialized tools.
Auth Connection
This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under Auth Connections.
Tools (35)
Googledocs Copy Document
Googledocs Copy DocumentIntegration name: 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.
Parameters
title
string
"My New Document Title"
The title for the new copied document. If not provided, the title will be 'Copy of [original document's title]'.
document_id
string
✅
"1a2b3c-example-document-id"
The ID of the Google Document to be copied.
include_shared_drives
boolean
—
Whether to support copying documents from shared drives. Defaults to True.
Googledocs Create Document
Googledocs Create DocumentIntegration name: 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).
Parameters
text
string
"This document outlines the key findings..."
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
✅
"Quarterly Business Review"
Title for the new document, used as its filename in Google Drive.
Googledocs Create Document2
Googledocs Create Document2Integration name: 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.
Parameters
title
string
✅
"Meeting Notes"
The title of the document to create. This will be used as the document name in Google Drive.
Googledocs Create Document Markdown
Googledocs Create Document MarkdownIntegration name: GOOGLEDOCS_CREATE_DOCUMENT_MARKDOWN
Creates a new Google Docs document, optionally initializing it with a title and content provided as Markdown text.
Parameters
title
string
✅
"Meeting Notes Q3"
The title for the new Google Docs document.
image_assets
array
—
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
—
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 (e.g., text), and text formatting (bold, italic, etc.). If empty or omitted, creates document with title only.
Googledocs Create Footer
Googledocs Create FooterIntegration name: 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.
Parameters
type
string
✅
"DEFAULT"
The type of footer to create.
document_id
string
✅
"12345abcdef"
The ID of the document to create the footer in.
section_break_location
object
—
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.
Googledocs Create Footnote
Googledocs Create FootnoteIntegration name: 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.
Parameters
location
object
—
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
✅
"1a2b3c4d5e6f7g8h9i0j"
The ID of the document to create the footnote in.
endOfSegmentLocation
object
—
Inserts the footnote reference at the end of the document body. The segmentId within this EndOfSegmentLocation object must be empty.
Googledocs Create Header
Googledocs Create HeaderIntegration name: 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: The ID of the document (required) - type: The header type (DEFAULT is the standard header) - text: Optional text content to add to the header - section_break_location: Optional location for section-specific headers
Parameters
text
string
"My Document Header"
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
—
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
✅
"12345abcdef"
The ID of the document to create the header in.
sectionBreakLocation
object
—
The location of the SectionBreak which begins the section this header should belong to. Only needed for section-specific headers.
Googledocs Create Named Range
Googledocs Create Named RangeIntegration name: 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.
Parameters
name
string
✅
"Chapter1Intro"
The name for the new named range. Must be 1-256 characters.
tabId
string
"t.abc123"
Optional. The ID of the document tab containing this range. When omitted, Google Docs applies the request to the first tab.
documentId
string
✅
"1aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789_AbCdEf"
The ID of the document where the named range will be created.
rangeEndIndex
integer
✅
200
The zero-based end index of the range.
rangeSegmentId
string
"h.1a2b3c4d5e6f"
Optional. The ID of the header, footer, or footnote. Empty for document body.
rangeStartIndex
integer
✅
100
The zero-based start index of the range.
Googledocs Create Paragraph Bullets
Googledocs Create Paragraph BulletsIntegration name: 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.
Parameters
tabId
string
"t.abc123"
Optional tab ID to apply to createParagraphBullets.range.tabId. When omitted, Google Docs applies the request to the first tab.
document_id
string
✅
"12345abcdef"
The ID of the document to update.
createParagraphBullets
object
✅
—
The request body for creating paragraph bullets in the document.
Googledocs Delete Content Range
Googledocs Delete Content RangeIntegration name: 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.
Parameters
range
object
✅
—
The range of content to delete. Deleting text across paragraph boundaries may merge paragraphs and affect styles. Certain deletions can invalidate document structure (e.g., part of a surrogate pair, last newline of critical elements, incomplete deletion of tables/equations). 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
✅
"1aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789"
The ID of the document from which to delete content. This ID can be found in the URL of the Google Doc.
Googledocs Delete Footer
Googledocs Delete FooterIntegration name: 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.
Parameters
tab_id
string
"tab_abc"
The tab that contains the footer to delete. When omitted, the request is applied to the first tab.
footer_id
string
✅
—
The ID of the footer to delete. Footer IDs are system-generated strings created by Google Docs. Obtain a valid footer ID from: (1) GOOGLEDOCS_CREATE_FOOTER response (footer_id field), or (2) GOOGLEDOCS_GET_DOCUMENT_BY_ID (footers dictionary keys). Do not use made-up or placeholder values. If this footer is defined on DocumentStyle, the reference to this footer is removed, resulting in no footer of that type for the first section of the document. If this footer is defined on a SectionStyle, the reference to this footer is removed and the footer of that type is now continued from the previous section.
document_id
string
✅
"12345abcdef"
The ID of the document to delete the footer from.
Googledocs Delete Header
Googledocs Delete HeaderIntegration name: 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.
Parameters
tab_id
string
"tab_abc"
The tab containing the header to delete. When omitted, the request is applied to the first tab.
header_id
string
✅
"header_123"
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 this header is defined on a SectionStyle, the reference to this header is removed and the header of that type is now continued from the previous section.
document_id
string
✅
"12345abcdef"
The ID of the document from which to delete the header.
Googledocs Delete Named Range
Googledocs Delete Named RangeIntegration name: 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.
Parameters
document_id
string
✅
—
The ID of the document.
deleteNamedRange
object
✅
—
Specifies the named range to delete.
Googledocs Delete Paragraph Bullets
Googledocs Delete Paragraph BulletsIntegration name: 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.
Parameters
range
object
✅
{"tabId":null,"endIndex":100,"segmentId":null,"startIndex":1}
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
"0"
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
✅
"195j9eDD34FqNGOnnU_S-321gW1WkStiF72rIosvBM4E"
The ID of the document to update.
Googledocs Delete Table Column
Googledocs Delete Table ColumnIntegration name: 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.
Parameters
requests
array
✅
—
A list of requests to be applied to the document.
document_id
string
✅
"12345abcdef"
The ID of the document to delete the table column from.
Googledocs Delete Table Row
Googledocs Delete Table RowIntegration name: 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.
Parameters
documentId
string
✅
"195j9eDD34F53d2g2HMJ-N0kKc_P8tq3/edit"
The ID of the document.
tableCellLocation
object
✅
—
The reference table cell location from which the row will be deleted.
Googledocs Export Document As Pdf
Googledocs Export Document As PdfIntegration name: 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.
Parameters
file_id
string
✅
"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
The ID of the Google Docs file to export as PDF. This is the same as the document ID for Google Docs files - typically a 44-character alphanumeric string. Extract it from a Google Docs URL: https://docs.google.com/document/d/{FILE_ID}/edit
filename
string
"document.pdf"
Optional suggested filename for the exported PDF (e.g., 'report.pdf'). If not provided, a default filename will be generated.
Googledocs Get Document By Id
Googledocs Get Document By IdIntegration name: GOOGLEDOCS_GET_DOCUMENT_BY_ID
Retrieves an existing Google Document by its ID; will error if the document is not found.
Parameters
id
string
✅
"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
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 (e.g., https://docs.google.com/document/d/{DOCUMENT_ID}/edit). When a URL is provided, the document ID will be automatically extracted. IMPORTANT: This tool only works with native Google Docs documents (mimeType application/vnd.google-apps.document), not uploaded Office files (DOCX, XLSX, etc.) stored in Google Drive. Use GOOGLEDOCS_SEARCH_DOCUMENTS to find available documents.
includeTabsContent
boolean
—
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.
Googledocs Get Document Plaintext
Googledocs Get Document PlaintextIntegration name: 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.
Parameters
tab_ids
array
—
Optional tab IDs to include when include_tabs_content=true. Nested child tabs are searched recursively.
document_id
string
✅
"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
The unique identifier for the Google Document. Accepts either a document ID (typically a 44-character alphanumeric string) or a full Google Docs URL. When a URL is provided, the document ID will be automatically extracted. Note: This parameter also accepts 'id' as an alias for consistency with other GOOGLEDOCS tools.
include_tables
boolean
—
Whether to include table content in the plain text output. Tables are rendered with configurable cell and row delimiters.
include_footers
boolean
—
Whether to include footer text in the plain text output. Footers are appended with a clear section separator.
include_headers
boolean
—
Whether to include header text in the plain text output. Headers are appended with a clear section separator.
include_footnotes
boolean
—
Whether to include footnote text in the plain text output. Footnotes are appended with a clear section separator.
table_row_delimiter
string
"\n"
The delimiter to use between table rows (default: newline character).
include_tabs_content
boolean
—
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
"\t"
The delimiter to use between table cells (default: tab character).
Googledocs Insert Inline Image
Googledocs Insert Inline ImageIntegration name: 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.
Parameters
uri
string
✅
"https://www.example.com/image.png"
The URI of the image. Must be a publicly accessible direct image URL (no redirects or viewer links like Google Drive preview pages). 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
✅
—
The location in the document to insert the image. The index field is required to specify the insertion point.
documentId
string
✅
"195j9eDD34F5f92P1i-P7Hj1S_t8h0hE4k2g1g2g"
The ID of the document to update.
objectSize
object
—
The size of the image. If not specified, the image is rendered at its intrinsic size.
Googledocs Insert Page Break
Googledocs Insert Page BreakIntegration name: 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.
Parameters
documentId
string
✅
"1a2B3c4D5e6F7g8H9i0J"
The ID of the document to update.
insertPageBreak
—
✅
—
The details for the insertPageBreak request.
Googledocs Insert Table Action
Googledocs Insert Table ActionIntegration name: 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.
Parameters
rows
integer
✅
—
The number of rows in the table.
index
integer
—
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 (you cannot insert at the exact end position using an index). To insert at the end of a segment, omit this parameter and set 'insertAtEndOfSegment' to true instead. If provided, 'location' will be used. If omitted and 'insertAtEndOfSegment' is false or omitted, 'endOfSegmentLocation' will be used for the document body.
tabId
string
—
The tab that the location is in. When omitted, the request is applied to the first tab.
columns
integer
✅
—
The number of columns in the table.
segmentId
string
—
The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
documentId
string
✅
"195j9eDD34F5f92m1_r4T3Y0N4WX_gXYs-y6uDxBYFpc"
The ID of the document to update.
insertAtEndOfSegment
boolean
—
If true, inserts the table at the end of the segment (document body, header, or footer specified by segment_id). This is the recommended way to append content to the end of a segment, as using an index equal to the segment's end position will fail. If false or omitted, and 'index' is not provided, it defaults to inserting at the end of the document body. If 'index' is provided, this field is ignored.
Googledocs Insert Table Column
Googledocs Insert Table ColumnIntegration name: 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.
Parameters
requests
array
✅
—
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
✅
"1aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789"
The ID of the document to update.
Googledocs Insert Text Action
Googledocs Insert Text ActionIntegration name: 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. You cannot insert text at arbitrary indices or at structural boundaries (e.g., table starts). The index must also be strictly less than the document's end index. To safely append text without index concerns, use append_to_end=true.
Parameters
tab_id
string
"t.abc123"
The ID of the document tab to insert text into. When omitted, Google Docs applies the request to the first tab.
segment_id
string
""
The ID of the header, footer or footnote to insert text into. Leave empty or omit to insert into the document body. Works with both append_to_end and insertion_index modes.
document_id
string
✅
"195j9e2fm7q-gL2mmx61gh-oXMUrV2Vl45678ZA"
The ID of the document to insert text into.
append_to_end
boolean
true
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 as it avoids index boundary issues.
text_to_insert
string
✅
"This is a new paragraph."
The string of text to insert. Alternatively, you can provide this as 'text'.
insertion_index
integer
1
The zero-based UTF-16 code unit index where text will be inserted. Alternatively, you can provide this as 'index'. CRITICAL CONSTRAINTS: (1) The index MUST fall within the bounds of an EXISTING paragraph - you cannot insert at arbitrary indices or at structural boundaries like table starts. (2) The index MUST be strictly less than the document's end index. Index 1 is the minimum valid index and is safe for inserting at the document start. To determine valid indices, first retrieve the document structure using GOOGLEDOCS_GET_DOCUMENT_BY_ID to identify paragraph boundaries. For safely adding text without index concerns, set 'append_to_end' to true instead. Either 'insertion_index' or 'append_to_end' must be provided.
Googledocs List Spreadsheet Charts
Googledocs List Spreadsheet ChartsIntegration name: 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.
Parameters
spreadsheet_id
string
✅
"1aBcDeFgHiJkLmNoPqRsTuVwXyZ_1234567890abcdef"
The ID of the Google Sheets spreadsheet from which to retrieve charts.
Googledocs Replace All Text
Googledocs Replace All TextIntegration name: 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.
Parameters
tab_ids
array
["tabId1","tabId2"]
Optional. A list of specific tab IDs to perform the replacement on. If not provided, replacement occurs on all tabs.
find_text
string
✅
"old_text"
The text to search for in the document. Cannot be empty.
match_case
boolean
false
Indicates whether the search should be case sensitive. Defaults to False (case insensitive).
document_id
string
✅
"12345abcdef"
The ID of the document to update.
replace_text
string
✅
"new_world"
The text that will replace the matched text.
search_by_regex
boolean
false
Optional. If True, the find_text is treated as a regular expression. Defaults to False.
Googledocs Replace Image
Googledocs Replace ImageIntegration name: 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.
Parameters
document_id
string
✅
"1a2B3c4D5e6F7g8H9i0J"
The ID of the document containing the image to replace.
replace_image
object
✅
—
The details of the image replacement request.
Googledocs Search Documents
Googledocs Search DocumentsIntegration name: GOOGLEDOCS_SEARCH_DOCUMENTS
Search for Google Documents using various filters including name, content, date ranges, and more.
Parameters
query
string
"quarterly report"
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
"modifiedTime desc"
Order results by field. Common options: 'modifiedTime desc', 'modifiedTime asc', 'name', 'createdTime desc'
page_token
string
—
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
—
Maximum number of documents to return per page (1-100). Defaults to 10. Use page_token for pagination when more results are available.
starred_only
boolean
—
Whether to return only starred documents. Defaults to False.
created_after
string
"2024-01-01T00:00:00Z"
Return documents created after this date. Use RFC 3339 format like '2024-01-01T00:00:00Z'.
modified_after
string
"2024-01-01T00:00:00Z"
Return documents modified after this date. Use RFC 3339 format like '2024-01-01T00:00:00Z'.
shared_with_me
boolean
—
Whether to return only documents shared with the current user. Defaults to False.
include_trashed
boolean
—
Whether to include documents in trash. Defaults to False.
include_shared_drives
boolean
—
Whether to include documents from shared drives you have access to. Defaults to True.
Googledocs Unmerge Table Cells
Googledocs Unmerge Table CellsIntegration name: 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.
Parameters
documentId
string
✅
"195j9eDD34F53d2g2HMJ-N0kKc_PzA3qdr3c31234567"
The ID of the document to unmerge table cells in.
tableRange
object
✅
—
The table range specifying which cells of the table to unmerge.
Googledocs Update Document Batch
Googledocs Update Document BatchIntegration name: 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.
Parameters
requests
array
✅
[{"insertText":{"text":"Hello World","location":{"index":1}}}]
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). For updateTextStyle, range must be non-empty (startIndex < endIndex). See https://developers.google.com/docs/api/reference/rest/v1/documents/request for all types.
document_id
string
✅
"195j9e2fm7q-gL2mmx61gh-oXMUrV2Vl45678ZA"
The ID of the document to update.
write_control
object
—
Provides control over how write requests are executed.
Googledocs Update Document Markdown
Googledocs Update Document MarkdownIntegration name: GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN
Replaces the entire content of an existing Google Docs document with new Markdown text; requires edit permissions for the document.
Parameters
id
string
✅
"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
The unique identifier for the Google Docs document to update. Accepts either a document ID (alphanumeric string, length varies by document age - newer documents typically have 44-character IDs) or a full Google Docs URL (e.g., https://docs.google.com/document/d/{DOCUMENT_ID}/edit). When a URL is provided, the document ID will be automatically extracted.
tab_id
string
"t.abc123"
Optional tab ID to replace with the rendered Markdown. When omitted, the first tab is updated.
markdown
string
✅
"# Document Title\n\nThis is a paragraph with **bold** and *italic* text.\n\n- Unordered list item 1\n- Unordered list item 2\n\n1. Ordered list item 1\n2. Ordered list item 2\n\nAn image: "
Markdown content that will replace the document's entire existing content. Supports standard Markdown features.
Googledocs Update Document Section Markdown
Googledocs Update Document Section MarkdownIntegration name: 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.
Parameters
tab_id
string
"t.abc123"
Optional tab ID to update with the rendered Markdown. When omitted, the first tab is updated.
end_index
integer
—
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. Requires start_index to be provided - if start_index is omitted (append mode), end_index is ignored. 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 (body, header, footer, etc.), so ensure end_index does not include the final segment newline.
document_id
string
✅
"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
The unique ID of the Google Docs document to update. This is the alphanumeric string found in the document URL: https://docs.google.com/document/d/{DOCUMENT_ID}/edit. Valid IDs are typically 44 characters long and contain only letters, numbers, hyphens, and underscores (e.g., '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms'). To get a document ID: create a new document using GOOGLEDOCS_CREATE_DOCUMENT, or extract it from an existing document's URL. Also accepts parameter aliases: 'id', 'doc_id', 'documentId', or 'docId'.
start_index
integer
—
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 of the document. To insert at a specific position, first use GOOGLEDOCS_GET_DOCUMENT_BY_ID to retrieve the document structure and find the desired index from the body.content elements' start_index/end_index values. If the provided index equals or exceeds the document segment's end index, it will be automatically adjusted to the last valid position (end_index - 1) and a message will be included in the response.
markdown_text
string
✅
—
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'.
Googledocs Update Document Style
Googledocs Update Document StyleIntegration name: 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.
Parameters
fields
string
—
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. For example: "pageSize,marginTop,marginBottom". When '' is specified, the action automatically computes the field mask from the provided document_style fields.
tab_id
string
—
The ID of the tab to update the style for. If not provided, the first tab is used.
document_id
string
✅
—
The ID of the document to update.
document_style
object
✅
—
The DocumentStyle object with the new style settings.
Googledocs Update Existing Document
Googledocs Update Existing DocumentIntegration name: GOOGLEDOCS_UPDATE_EXISTING_DOCUMENT
Applies programmatic edits, such as text insertion, deletion, or formatting, to a specified Google Doc using the batchUpdate API method.
Parameters
edit_docs
array
✅
—
(Required) A list of requests to execute on the document. Each request must be a dict containing exactly ONE of the valid request types listed below. 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. Do NOT use request types from other Google APIs (Slides, Sheets, etc.). For full request schemas, see https://developers.google.com/docs/api/reference/rest/v1/documents/batchUpdate. SEGMENT IDs: Use empty string "" for document body, or a header/footer/footnote ID from the document. Internal 'kix.' IDs are NOT valid segment IDs and will cause "Segment with ID ... was not found" errors. Call GOOGLEDOCS_GET_DOCUMENT_BY_ID to get valid IDs. TAB IDs: When omitted, operations target the first tab. Invalid tab IDs cause errors. Get valid tab IDs from GOOGLEDOCS_GET_DOCUMENT_BY_ID at tabs[].tabProperties.tabId. BATCH INSERT OPERATIONS: Operations execute sequentially. Each insertText shifts subsequent indices. For multiple inserts at specific positions, process in REVERSE index order (highest first). For appending, use endOfSegmentLocation for each insert. Auto-correction: insertText without location/endOfSegmentLocation automatically appends to document body. INDEX BOUNDARIES: location.index must be LESS than the segment end index (valid: 1 to N-1). To insert at the end, use endOfSegmentLocation instead. PARAGRAPH BOUNDARIES: Text can only be inserted inside existing paragraphs, not at structural boundaries (e.g., a table's start index). For table cells, add +1 or +2 to the cell's startIndex. deleteContentRange: The range CANNOT include the trailing newline at segment end. If segment ends at N, use endIndex: N-1. deleteTableRow: Requires tableCellLocation object (NOT top-level rowIndex/tableStartLocation). Structure: { tableCellLocation: { tableStartLocation: { index: N }, rowIndex: R, columnIndex: C } }. updateTableCellStyle: Use EITHER tableStartLocation (all cells) OR tableRange (specific cells), not both. Style updates (updateParagraphStyle, updateTextStyle, updateTableCellStyle, updateDocumentStyle): The 'fields' parameter is auto-populated from style keys if omitted. Document title CANNOT be updated via batchUpdate - use Google Drive API instead. updateDocumentStyle valid fields: background, marginTop, marginBottom, marginLeft, marginRight, marginHeader, marginFooter, pageSize, pageNumberStart, useEvenPageHeaderFooter, useFirstPageHeaderFooter, flipPageOrientation (NOT "title").
document_id
string
✅
"12345abcdef"
(Required) The unique identifier of the Google Docs document to be updated.
Googledocs Update Table Row Style
Googledocs Update Table Row StyleIntegration name: 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.
Parameters
documentId
string
✅
—
The ID of the document to update.
updateTableRowStyle
object
✅
—
The request body for updating the table row style.