Google Docs ACTION
Get Document
Get the full text content and structure of a Google Doc by its ID. Returns the document body plus a flattened
textContent field for easy reading. A Google Doc can hold several tabs: body/textContent are always the first tab's content, and every tab is listed in tabs (with each tab's own textContent when the document has more than one), so a single call shows all of the document's text. Pass a Tab ID from that list to get one tab's full structure on its own. Optionally supply a fields mask to request a partial (e.g. metadata-only) response and skip the body-text enrichment. Use Find Document first to resolve a document's name to its ID. See the documentation- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Google Docs account once, then configure and run Get Document from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "google_docs-get-document",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
google_docs: { authProvisionId: "apn_xxxxxxx" },
documentId: "Document ID",
tabId: "Tab ID",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "google_docs-get-document",
"configured_props": {
"google_docs": { "authProvisionId": "apn_xxxxxxx" },
"documentId": "Document ID",
"tabId": "Tab ID"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "google_docs",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "google_docs-get-document",
arguments: {
documentId: "Document ID",
tabId: "Tab ID",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
documentId Document ID | string | The ID of the Google Doc. This is the long string in the document's URL: https://docs.google.com/document/d/{DOCUMENT_ID}/edit. Use Find Document to resolve a document's name to its ID. Required |
tabId Tab ID | string | Optional. For a multi-tab document, the ID of a single tab to return in full (e.g. t.0). Get tab IDs from List Tabs, or from the tabs list this tool returns when called without one. Omit to return the document with its first tab's content and a summary of every tab. Optional |
fields Fields | string | Optional Google Docs API field mask (partial response) that limits which top-level document fields are returned, e.g. title,documentId,revisionId for metadata only. When set, only the requested fields are returned and the textContent enrichment is skipped, so a body-less response will not error. Cannot be combined with Tab ID. Leave blank to return the full document with textContent. See the documentation Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- google_docs-get-document
- Version
- 1.2.0
- App
- Google Docs
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗