View as Markdown
Google Docs icon

Google Docs ACTION

Replace Image

Replace an existing inline image in a Google Doc with a different image, keeping its position and size. The replacement URL must be publicly reachable (Google fetches it server-side) and point to a PNG, JPEG, or GIF. Use Find Document to resolve a document's name to its ID, then Get Document to list the document's images - each key of the response's inlineObjects map is an Image ID. Use Insert Image instead to add a new image rather than swap one out. Works on multi-tab documents: pass a Tab ID, or leave it blank and the tab holding the image is found automatically. See the documentation
  • Action
  • Writes data
  • Destructive
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Google Docs account once, then configure and run Replace Image 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-replace-image",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    google_docs: { authProvisionId: "apn_xxxxxxx" },
    docId: "Document ID",
    imageId: "Image ID",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Replace Image inputs
Property Type Description
docId 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
imageId Image ID string
The ID of the inline image to replace. Call Get Document and pass a key from the response's inlineObjects map (e.g. kix.abc123def).
Required Dynamic
imageUri Image URL string
The URL of the image you want to insert into the doc
Required
tabId Tab ID string
For a multi-tab document, the tab the image lives in (e.g. t.0). Get tab IDs from List Tabs. Omit to locate the image automatically.
Optional Dynamic
fields Fields string
Optional Google Docs API field mask limiting which document fields are returned, e.g. documentId,title,revisionId instead of the whole document. Valid top-level fields: documentId, title, body, headers, footers, footnotes, documentStyle, suggestedDocumentStyleChanges, namedStyles, suggestedNamedStylesChanges, revisionId, suggestionsViewMode, commentsViewMode, inlineObjects, lists, positionedObjects, namedRanges, tabs - the underscore spelling of each (e.g. document_id) is accepted too. Nested selections are allowed, e.g. body/content. There is no url field, and an invalid mask fails the call before the document is changed. Cannot be combined with Tab ID. Leave blank to return the full document.
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-replace-image
Version
0.2.1
App
Google Docs
Authentication
OAuth
Read-only
No
Destructive
Yes
Open world
Yes