Skip to content

Feature request: docs.insertTable, sheets.getRanges, and slides.replaceImage #395

@matheusrmorgado

Description

@matheusrmorgado

Problem

Three recurring agent workflows currently require awkward workarounds:

  1. Tables in Docs: there is no table tool. Building a comparison or status table requires the model to fake it with monospaced text. Writing into table cells after the fact via docs.writeText index arithmetic is error-prone because every insertion shifts subsequent indexes.

  2. Reading several disjoint ranges in Sheets: dashboards/KPI checks typically need a handful of small ranges across different sheets (e.g. Summary!B2, Q4!F1:F12). Today that is one sheets.getRange call (and one API round trip) per range.

  3. Refreshing images in Slides: template decks commonly have chart/image placeholders. slides.addImage can only add new images; replacing an existing one while preserving its position/size (the replaceImage batchUpdate request) is not exposed.

Proposal

  • docs.insertTable (docs.write): insert a rows x columns table at end-of-body or index, with optional data 2D array filled in the same call (reverse-order insertText so indexes stay valid).
  • sheets.getRanges (sheets.read, readOnlyHint): thin wrapper over spreadsheets.values.batchGet with valueRenderOption / majorDimension.
  • slides.replaceImage (slides.write): thin wrapper over the replaceImage request with CENTER_INSIDE / CENTER_CROP.

All three follow the existing service-class + feature-group patterns and add no new OAuth scopes (each reuses its group's existing scope).

I have a working implementation with Jest coverage ready to submit as a PR. Happy to split it per-product if preferred.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions