Skip to content

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

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions