View as Markdown
Google Docs icon

Google Docs ACTION

Insert Image

Insert an inline image into a Google Doc from a publicly reachable image URL. The URL must be publicly accessible (Google fetches it server-side) and point to a PNG, JPEG, or GIF. Set Width and/or Height to control the display size. Docs preserves the image's aspect ratio, so setting one scales the other, and setting both may adjust one of them to fit (a 272x92 image asked for 150x51 PT comes back 150x50.7). An image already in the document cannot be resized in place - delete it and insert it again at the size you want. Use Find Document to resolve a document's name to its ID. In a multi-tab document, set Tab ID to choose which tab receives the image - without it the image goes into the document's first tab; use List Tabs to get the IDs. See the documentation
  • Action
  • Writes data
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

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

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.

Insert Image inputs
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
imageUri Image URL string
A publicly reachable URL of the image to insert (PNG, JPEG, or GIF). Example: https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png.
Required
position Position string
Where to insert the content: end to append to the end of the document (default), beginning to insert at the start, or a numeric character index (e.g., 1) for a specific location.
Optional
width Width integer
Optional display width in points (1 inch = 72 PT), e.g. 200. Docs keeps the image's aspect ratio, so Height scales with this unless it is also set - and when both are set one may be adjusted slightly to fit. Omit both to insert at the image's natural size.
Optional
height Height integer
Optional display height in points (1 inch = 72 PT), e.g. 150. Docs keeps the image's aspect ratio, so Width scales with this unless it is also set - and when both are set one may be adjusted slightly to fit. Omit both to insert at the image's natural size.
Optional
tabId Tab ID string
For a multi-tab document, the ID of the tab to write into (e.g. t.0). Get tab IDs from List Tabs, or use the ID returned by Create Tab. Omit to write into the document's first tab — the Google Docs API sends every untargeted edit there, so pass this whenever the document has more than one tab.
Optional
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-insert-image
Version
0.3.0
App
Google Docs
Authentication
OAuth
Read-only
No
Destructive
No
Open world
Yes