Google Docs is a cloud-based word processor with real-time collaboration, version history, and integration with other Google Workspace apps
Google Docs is a cloud-based word processor with real-time collaboration, version history, and integration with other Google Workspace apps On Nagent, Google Docs is exposed as a fully-configurable documents integration that any agent can call — 35 actions, 10 triggers, and OAuth authentication. No code is required to wire Google Docs into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Google Docs to automate the kinds of tasks documents teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Google Docs also supports 4 event triggers ("New Document Created", "Document Deleted", "Document Placeholder Filled", and more), which lets your Nagent agents react to Google Docs activity in real time — for example, kicking off a downstream workflow the moment a relevant event fires.
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Google Docs into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Triggers are the entry points of agents built on Nagent — pick one to fire your agent the moment a Google Docs event happens. Webhook triggers run instantly; poll triggers check on an interval you configure. Each shows its configuration parameters and the payload your agent receives.
GOOGLEDOCS_DOCUMENT_CREATED_TRIGGERTriggers when a new Google Doc is created. This trigger monitors Google Docs and fires when new documents are detected. Uses timestamp filtering to efficiently poll for new documents.
Configuration
Periodic Interval to Check for Updates & Send a Trigger in Minutes
Maximum number of documents to check in each poll (1-1000)
Optional search query to filter documents. Can search by name (name contains 'report'), full text content (fullText contains 'important'), or use complex queries with operators like 'and', 'or', 'not'. Leave empty to monitor all documents.
Payload
The newly created Google document
Type of event that occurred
GOOGLEDOCS_DOCUMENT_DELETED_TRIGGERTriggers when an existing Google Doc is deleted (moved to trash). This trigger monitors Google Docs and fires when documents are trashed.
Configuration
Periodic Interval to Check for Updates & Send a Trigger in Minutes
Maximum number of documents to check in each poll (1-1000)
Optional search query to filter documents. Leave empty to monitor all documents for deletion.
Payload
The deleted Google document
Type of event that occurred
GOOGLEDOCS_DOCUMENT_PLACEHOLDER_FILLED_TRIGGERTriggers when a Google Doc's plain text changes such that a configured placeholder token/pattern is no longer present (i.e., the document has been filled in). This trigger monitors a specific Google Doc and fires when a placeholder pattern that was previously present is no longer found in the document's plain text.
Configuration
Whether the placeholder pattern matching should be case-sensitive.
The unique identifier for the Google Document to monitor. Accepts either a document ID (typically a 44-character alphanumeric string) or a full Google Docs URL.
Whether to include footer text when checking for placeholders.
Whether to include footnote text when checking for placeholders.
Whether to include header text when checking for placeholders.
Periodic Interval to Check for Updates & Send a Trigger in Minutes
The placeholder token/pattern to monitor (e.g., '{{NAME}}', '\[FILL_ME\]', 'TODO'). Can be a literal string or a regex pattern if use_regex is enabled.
If true, treat placeholder_pattern as a regex pattern. If false, treat it as a literal string.
Payload
The document that was filled in
Type of event that occurred
The placeholder pattern that is no longer present
GOOGLEDOCS_DOCUMENT_SEARCH_UPDATE_TRIGGERTriggers when a Google Doc matching a user-defined search query is newly created or updated since the last poll. This trigger uses timestamp filtering to efficiently monitor documents.
Configuration
Whether to include documents from shared drives you have access to. Defaults to True.
Whether to include documents in trash. Defaults to False.
Periodic Interval to Check for Updates & Send a Trigger in Minutes
Maximum number of documents to check in each poll (1-100)
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'.
Whether to return only documents shared with the current user. Defaults to False.
Whether to return only starred documents. Defaults to False.
Payload
The document that was created or updated
Type of event that occurred: 'document_created' or 'document_updated'
GOOGLEDOCS_DOCUMENT_STRUCTURE_CHANGED_TRIGGERTriggers when a Google Doc's structure changes (headers/footers added/removed, tables/images count changes). This trigger monitors a specific document for structural changes like: - Headers added or removed - Footers added or removed - Tables added or removed - Images (inline objects) added or removed - Positioned objects added or removed - Footnotes added or removed
Configuration
The unique identifier for the Google Docs document to monitor. You can provide either a document ID or a full Google Docs URL.
Periodic Interval to Check for Updates & Send a Trigger in Minutes
Payload
List of structural changes detected
Current structural snapshot of the document
ID of the document that changed
Title of the document
URL to view the document
Snapshot of document structural elements.
GOOGLEDOCS_DOCUMENT_UPDATED_TRIGGERTriggers when an existing Google Doc is updated or modified. This trigger monitors Google Docs and fires when documents are updated.
Configuration
Periodic Interval to Check for Updates & Send a Trigger in Minutes
Maximum number of documents to check in each poll (1-1000)
Optional search query to filter documents. Leave empty to monitor all documents.
Payload
The updated Google document
Type of event that occurred
GOOGLEDOCS_DOCUMENT_WORD_COUNT_THRESHOLD_TRIGGERTriggers when a Google Doc's word/character count crosses a user-defined threshold. This trigger monitors a specific Google Doc and fires when its word or character count becomes greater than or equal to the configured threshold value.
Configuration
The unique identifier for the Google Document to monitor. 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.
Periodic Interval to Check for Updates & Send a Trigger in Minutes
If True, use character count instead of word count for the threshold comparison.
The word count threshold. Trigger fires when the document's word count becomes greater than or equal to this value.
Payload
The current character count of the document
The current word count of the document
The unique identifier of the document
The title of the document
Type of event that occurred
The previous character count of the document
The previous word count of the document
The configured threshold value
Whether the threshold is for 'words' or 'characters'
Link to view the document in browser
GOOGLEDOCS_FOLDER_CREATED_TRIGGERTriggers when a new folder is created in the root folder of Google Drive. This trigger monitors Google Drive and fires when new folders are detected in the root directory.
Configuration
Periodic Interval to Check for Updates & Send a Trigger in Minutes
Maximum number of folders to check in each poll (1-1000)
Payload
Type of event that occurred
The newly created Google Drive folder
GOOGLEDOCS_KEYWORD_DETECTED_TRIGGERTriggers when a specific keyword or phrase first appears in a Google Doc. This trigger monitors a Google Doc and fires once when the specified keyword is detected. After the keyword is found, the trigger will not fire again until reset.
Configuration
Whether the keyword search should be case-sensitive. Set to False to ignore case when matching.
The unique identifier for the Google Document to monitor. Accepts either a document ID (typically a 44-character alphanumeric string) or a full Google Docs URL.
Whether to include footer text when searching for the keyword.
Whether to include footnote text when searching for the keyword.
Whether to include header text when searching for the keyword.
Periodic Interval to Check for Updates & Send a Trigger in Minutes
The keyword or phrase to detect in the document (case-sensitive). The trigger will fire when this text first appears anywhere in the document's plain text.
Payload
The ID of the document
The title of the document
Web view link to the document in Google Docs
Type of event that occurred
The keyword that was detected
A short excerpt of the document text around the keyword (max 500 chars)
GOOGLEDOCS_PAGE_ADDED_TRIGGERTriggers when a new Google Doc is added/created. This trigger monitors Google Docs and fires when new documents are detected.
Configuration
Periodic Interval to Check for Updates & Send a Trigger in Minutes
Maximum number of documents to check in each poll (1-1000)
Optional search query to filter documents. Can search by name (name contains 'report'), full text content (fullText contains 'important'), or use complex queries with operators like 'and', 'or', 'not'. Leave empty to monitor all documents.
Payload
The newly added Google document
Type of event that occurred
Every operation an agent can call against Google Docs, with input parameters and output schema. Drop these into any step of an agent built in Helix.
GOOGLEDOCS_COPY_DOCUMENTTool 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
The title for the new copied document. If not provided, the title will be 'Copy of \[original document's title\]'.
The ID of the Google Document to be copied.
Whether to support copying documents from shared drives. Defaults to True.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_CREATE_DOCUMENTCreates 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
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 for the new document, used as its filename in Google Drive.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_CREATE_DOCUMENT2DEPRECATED: 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
The title of the document to create. This will be used as the document name in Google Drive.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_CREATE_DOCUMENT_MARKDOWNCreates a new Google Docs document, optionally initializing it with a title and content provided as Markdown text.
Input parameters
The title for the new Google Docs document.
Optional uploaded images that Markdown can reference by name. Use Markdown image syntax like !\[Alt\](attachment://diagram). Public HTTPS image URLs in markdown do not need image_assets.
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\](url)), and text formatting (bold, italic, etc.). If empty or omitted, creates document with title only.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_CREATE_FOOTERTool 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
The type of footer to create.
The ID of the document to create the footer in.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_CREATE_FOOTNOTETool 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
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.
The ID of the document to create the footnote in.
Inserts the footnote reference at the end of the document body. The segmentId within this EndOfSegmentLocation object must be empty.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_CREATE_HEADERTool 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
Input parameters
Optional text content to add to the header after creation. If provided, the text will be inserted into the header at index 0.
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.
The ID of the document to create the header in.
The location of the SectionBreak which begins the section this header should belong to. Only needed for section-specific headers.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_CREATE_NAMED_RANGETool 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
The name for the new named range. Must be 1-256 characters.
The ID of the document where the named range will be created.
The zero-based end index of the range.
Optional. The ID of the header, footer, or footnote. Empty for document body.
The zero-based start index of the range.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_CREATE_PARAGRAPH_BULLETSTool 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
The ID of the document to update.
The request body for creating paragraph bullets in the document.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_DELETE_CONTENT_RANGETool 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
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.
The ID of the document from which to delete content. This ID can be found in the URL of the Google Doc.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_DELETE_FOOTERTool 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
The tab that contains the footer to delete. When omitted, the request is applied to the first tab.
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.
The ID of the document to delete the footer from.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_DELETE_HEADERDeletes 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
The tab containing the header to delete. When omitted, the request is applied to the first tab.
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.
The ID of the document from which to delete the header.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_DELETE_NAMED_RANGETool 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
The ID of the document.
Specifies the named range to delete.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_DELETE_PARAGRAPH_BULLETSTool 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
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.
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.
The ID of the document to update.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_DELETE_TABLE_COLUMNTool 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
A list of requests to be applied to the document.
The ID of the document to delete the table column from.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_DELETE_TABLE_ROWTool 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
The ID of the document.
The reference table cell location from which the row will be deleted.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDFTool 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
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
Optional suggested filename for the exported PDF (e.g., 'report.pdf'). If not provided, a default filename will be generated.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_GET_DOCUMENT_BY_IDRetrieves an existing Google Document by its ID; will error if the document is not found.
Input parameters
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.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_GET_DOCUMENT_PLAINTEXTRetrieve 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
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.
Whether to include table content in the plain text output. Tables are rendered with configurable cell and row delimiters.
Whether to include footer text in the plain text output. Footers are appended with a clear section separator.
Whether to include header text in the plain text output. Headers are appended with a clear section separator.
Whether to include footnote text in the plain text output. Footnotes are appended with a clear section separator.
The delimiter to use between table rows (default: newline character).
When true, fetch the document using includeTabsContent=true query parameter to render all tabs. When false, only the main body content is rendered.
The delimiter to use between table cells (default: tab character).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_INSERT_INLINE_IMAGETool 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
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.
The location in the document to insert the image. The index field is required to specify the insertion point.
The ID of the document to update.
The size of the image. If not specified, the image is rendered at its intrinsic size.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_INSERT_PAGE_BREAKTool 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
The ID of the document to update.
The details for the insertPageBreak request.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_INSERT_TABLE_ACTIONTool 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
The number of rows in the table.
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.
The tab that the location is in. When omitted, the request is applied to the first tab.
The number of columns in the table.
The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body.
The ID of the document to update.
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.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_INSERT_TABLE_COLUMNTool 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
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.
The ID of the document to update.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_INSERT_TEXT_ACTIONTool 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.
Input parameters
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.
The ID of the document to insert text into.
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.
The string of text to insert. Alternatively, you can provide this as 'text'.
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.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_LIST_SPREADSHEET_CHARTSTool 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
The ID of the Google Sheets spreadsheet from which to retrieve charts.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_REPLACE_ALL_TEXTTool 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
Optional. A list of specific tab IDs to perform the replacement on. If not provided, replacement occurs on all tabs.
The text to search for in the document. Cannot be empty.
Indicates whether the search should be case sensitive. Defaults to False (case insensitive).
The ID of the document to update.
The text that will replace the matched text.
Optional. If True, the find_text is treated as a regular expression. Defaults to False.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_REPLACE_IMAGETool 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
The ID of the document containing the image to replace.
The details of the image replacement request.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_SEARCH_DOCUMENTSSearch for Google Documents using various filters including name, content, date ranges, and more.
Input parameters
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 results by field. Common options: 'modifiedTime desc', 'modifiedTime asc', 'name', 'createdTime desc'
Token for continuing a previous search request on the next page. Use the next_page_token from the previous response to retrieve additional results.
Maximum number of documents to return per page (1-100). Defaults to 10. Use page_token for pagination when more results are available.
Whether to return only starred documents. Defaults to False.
Return documents created after this date. Use RFC 3339 format like '2024-01-01T00:00:00Z'.
Return documents modified after this date. Use RFC 3339 format like '2024-01-01T00:00:00Z'.
Whether to return only documents shared with the current user. Defaults to False.
Whether to include documents in trash. Defaults to False.
Whether to include documents from shared drives you have access to. Defaults to True.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_UNMERGE_TABLE_CELLSTool 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
The ID of the document to unmerge table cells in.
The table range specifying which cells of the table to unmerge.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_UPDATE_DOCUMENT_BATCHDEPRECATED: 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
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.
The ID of the document to update.
Provides control over how write requests are executed.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWNReplaces the entire content of an existing Google Docs document with new Markdown text; requires edit permissions for the document.
Input parameters
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.
Markdown content that will replace the document's entire existing content. Supports standard Markdown features.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_UPDATE_DOCUMENT_SECTION_MARKDOWNTool 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
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.
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'.
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 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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_UPDATE_DOCUMENT_STYLETool 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
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.
The ID of the tab to update the style for. If not provided, the first tab is used.
The ID of the document to update.
The DocumentStyle object with the new style settings.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_UPDATE_EXISTING_DOCUMENTApplies programmatic edits, such as text insertion, deletion, or formatting, to a specified Google Doc using the `batchUpdate` API method.
Input parameters
(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").
(Required) The unique identifier of the Google Docs document to be updated.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
GOOGLEDOCS_UPDATE_TABLE_ROW_STYLETool 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
The ID of the document to update.
The request body for updating the table row style.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 52 agents privately built on Nagent that already use Google Docs.
Build on Nagent
Connect Google Docs to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Google Docs, and click "Connect Now." You'll authenticate with OAuth — Nagent handles credential storage and refresh automatically. Once connected, Google Docs is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Google Docs is connected, you configure its 35 actions and 10 triggers directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Google Docs steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Google Docs event fires, the agent kicks off automatically.
Every Google Docs action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Google Docs ships with 35 pre-built documents actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Google Docs together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Google Docs-based workflows tailored to your business.