Repository navigation
💡 New script: slides-report-generator (automated Slides presentations from Sheets data) #561
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Summary
A new catalog script that generates or refreshes Google Slides presentations from a Sheets data source using a template slide deck. Placeholder tokens in text boxes (
{{revenue}},{{date}},{{summary}}) are replaced with current data values on a configurable schedule. Targets business reporting, weekly team updates, and status presentations that currently require manual copy-paste from spreadsheets.Market Signal
Google Slides has no native data-refresh mechanism beyond manually linked charts, which only handle chart objects — not text, narrative content, or formatted tables. Paid tools like E-Tabs serve the enterprise report-automation market at premium price points. Google's own BigQuery → Sheets → Slides Codelab validates the data-to-presentation pipeline as a recommended pattern. Multiple 2026 tutorials and YouTube videos demonstrate GAS-based Slides generation, confirming persistent demand — but no packaged, deploy-ready open-source solution exists. The SlidesApp API supports
replaceAllText()natively, making the core implementation straightforward.User Signal
The existing idea backlog has zero Google Slides proposals — the second-largest uncovered Workspace service after Docs (now addressed by docs-template-merge). Operations managers, sales teams, and executives routinely create weekly or monthly status decks by manually copying numbers from Sheets into Slides. This is exactly the repetitive-task elimination the project's mission targets. The deploy page's zero-code positioning makes this accessible to non-technical users who currently spend hours on manual presentation updates every reporting cycle.
Technical Opportunity
SlidesApp is a mature GAS service with
Presentation.replaceAllText()methods that make placeholder replacement straightforward across all slides in a deck simultaneously. The existing deploy page already has a Sheets picker (used by calendar-to-sheets) and a Drive file picker (used for Doc selection). Adding a Slides template picker to the Step 4 config panel follows the proven UI pattern with minimal new code. The architecture supports one-template-many-refreshes via scheduled triggers (e.g., every Monday at 6 AM). As a future enhancement, Gemini could generate narrative summaries from data trends to fill{{analysis}}placeholders.Assessment
Adversarial Review
Strongest objection: Text replacement is simple, but the real value in business reporting is charts and dynamic tables — which are much harder to automate. A text-only MVP may feel underwhelming compared to paid tools like E-Tabs. Workspace Studio flows may cannibalize this use case with native Gemini-powered content generation.
Rebuttal: The MVP scope is deliberately narrow: text placeholder replacement for status numbers, dates, and summary text. This alone eliminates the most common manual copy-paste work — the numbers that change weekly. Chart updates can be Phase 2 using Sheets-linked charts that auto-refresh when underlying data changes. Workspace Studio generates content conversationally but doesn't produce formatted, branded presentations from fixed templates — that requires the deterministic, repeatable template-replacement approach. The differentiator is repeatability: a branded deck refreshed every Monday morning, automatically, with exactly the layout and branding the team expects.
Suggested Next Step
Prototype: build a minimal slides-report-generator that reads a named Sheets range, replaces
{{placeholders}}in a template Slides deck, and saves the refreshed copy to a configured Drive folder. Validate thatSlidesApp.openById()+replaceAllText()handles the core use case within GAS execution limits.All reactions