Go to Studio

Google Docs Reader

The Google Docs Reader node fetches content and metadata from one or multiple Google Docs documents, with multi-document selection, per-document tab control, and three output formats.

google docs reader node on the workflow canvas

What does the Google Docs Reader node do?

The Google Docs Reader node connects to your Google account and reads content and metadata from one or multiple Google Docs documents. It supports multi-document selection through the Google Drive Picker, per-document tab selection, and three output formats (JSON, plain text, Markdown).

Common use cases:

  • Pulling several marketing reports for AI-powered summarization
  • Reading SEO briefs or articles to feed an LLM analysis pipeline
  • Extracting technical documentation for automated translation workflows
  • Retrieving content from selected tabs of large documents to limit token usage

Quick setup

Connect your Google integration

Open the node settings and select your Google Docs integration from the dropdown. If you have not connected Google yet, go to Settings > Integrations and authenticate with the google_docs scope.

Pick the documents

Click the Google Drive Picker to browse your Drive and select one or several documents. The Picker auto-fills document_ids and document_names for you.

Choose an output format

Set Output Type to markdown (recommended for LLMs), plain_text, or json depending on what the next node expects.

Configure tab selection (optional)

Leave Read All Tabs enabled to read every tab, or disable it and pick specific tabs per document via the tab selection modal. Useful for large documents.

Connect the output

Wire the document_data output to the next node — typically a Loop, an LLM, or a JSON Path Extractor.

Configuration parameters

docs reader node settings panel Google Docs Reader output format and tab options example

Required fields

integration_id integration required

Google Docs integration — Select the Google connection to use. The integration must be authenticated with the google_docs scope and have read access to the documents.

document_ids string[] required

Document IDs — List of Google Docs document IDs to read. Use the built-in Google Drive Picker to select one or several documents. Accepts an array or a comma-separated string for backward compatibility.

Optional fields

document_names string[]

Document names — Display names of the selected documents. Auto-filled by the Picker. Used in the output payload for readability.

output_type select default: markdown

Output format — Format of the extracted content.

ValueDescription
jsonStructured JSON with full document metadata
plain_textRaw text without formatting
markdownMarkdown-formatted content (recommended for LLM processing)
read_all_tabs boolean default: true

Read all tabs — When enabled, every tab of each document is read. Disable it to select specific tabs per document.

selected_tabs object default: {}

Selected tabs — Per-document tab selection. When read_all_tabs is disabled, use the tab selection modal to choose which tabs to read for each document. Stored as a JSON map of document IDs to tab metadata.

Tip

Use Markdown output for LLM downstream nodes — it preserves headings, lists, and links while staying compact and easy for the model to parse.

What does the node output?

The node returns a single output containing the content and metadata of all selected documents.

document_data string

JSON string containing an array of documents. Each entry includes document_id, title, url, and a tabs array with tab_id, tab_name, and content formatted according to output_type.

Example payload:

{
  "documents": [
    {
      "document_id": "1aBcDeFgHiJkLmNoPqRsTuVwXyZ",
      "title": "Q1 Marketing Report",
      "tabs": [
        {
          "tab_id": "t.0",
          "tab_name": "Overview",
          "content": "# Q1 Marketing Report\n\nThis quarter saw a 25% increase..."
        }
      ],
      "url": "https://docs.google.com/document/d/1aBcDeFgHiJkLmNoPqRsTuVwXyZ"
    }
  ]
}

Reference the output downstream as {{Google_Docs_Reader_0.document_data}}.

Usage examples

Example 1: Summarize multiple reports with an LLM

You have several quarterly marketing reports in Google Docs and want an executive summary delivered by email.

Configuration:

  • Integration: Google Docs
  • Document IDs: 3 to 5 reports selected via the Picker
  • Output Type: markdown
  • Read All Tabs: Enabled

Pipe document_data into an LLM with the prompt: Summarize each document in 3 bullet points. Send the result through an Email Sender node.

graph LR
    A[Google Docs Reader] --> B[LLM]
    B --> C[Email Sender]

Example 2: Translate selected tabs of a documentation set

You maintain a multi-tab documentation file and want to translate only the user-facing tabs.

Configuration:

  • Document IDs: the documentation file
  • Output Type: markdown
  • Read All Tabs: Disabled
  • Selected Tabs: only the public-facing tabs

Connect the output to an LLM translator and write the result back with a Google Docs Writer node.

Example 3: Programmatic extraction of metadata

Use Output Type json to access raw metadata fields. Feed the output into a JSON Path Extractor to pull title and url arrays for indexing.

Common issues

No content returned for a document

Cause: The Google integration lacks read access, or the google_docs scope is missing.

Solution: Go to Settings > Integrations, reconnect the Google integration with the google_docs scope, and confirm the authenticated account has access to the document.

Tab content is missing or incomplete

Cause: read_all_tabs is disabled and the relevant tabs are not selected, or some tabs require additional permissions.

Solution: Enable read_all_tabs to confirm content is reachable. If you need a subset, open the tab selection modal and verify the right tabs are checked for each document.

Error: Missing required parameter document_ids

Cause: No document was selected, or the upstream variable feeding document_ids is empty.

Solution: Re-open the Picker and select at least one document, or verify the upstream node produces a non-empty array or comma-separated string of IDs.

Error: Missing Google Docs Integration

Cause: The integration_id parameter is empty.

Solution: Select a Google Docs integration in the node settings. Create one in Settings > Integrations if needed.

Best practices

Tip

Use Markdown output for LLM nodes. It preserves document structure (headings, lists, links) while remaining compact and easy for the model to interpret.

Tip

Limit tab reads on large documents. Disable read_all_tabs and pick only the tabs you need — fewer tokens, faster runs, lower cost.

Warning

Share documents with the authenticated account. Documents that are not shared with the Google account behind the integration return empty content with no error in some cases.

Warning

Mind LLM context limits. Reading many documents at once can blow past your model’s context window. Use a Loop node to process documents one by one when needed.