2
Rename and paste code
Rename to templates.gs → Paste code:
// Add menu to Google Sheets function onOpen() { SpreadsheetApp.getUi() .createMenu('Slide Generator') .addItem('Generate Slides', 'generateSlidesFromSheet') .addToUi(); }
Rename to templates.gs → Paste code:
// Add menu to Google Sheets function onOpen() { SpreadsheetApp.getUi() .createMenu('Slide Generator') .addItem('Generate Slides', 'generateSlidesFromSheet') .addToUi(); }
Click main.gs in the sidebar
Replace the 3 IDs in the CONFIG section (top of file):
const CONFIG = { TEMPLATE_ID: '1Ab2C...', // ID from Slides Template DATA_SHEET_ID: '1Ab2C...', // ID from Google Sheets OUTPUT_FOLDER_ID: '1Ab2C...', // ID from Drive Folder SHEET_NAME: 'SlideData' };
Dropdown “Select function” → generateSlidesFromSheet
Click the play button to run
First time will show permission dialog → Select account → Advanced → Go to… → Allow
| Column | Placeholder | Description |
|---|---|---|
| TITLE | {{TITLE}} | Slide title |
| POINT1–POINT3 | {{POINT1}}… | Bullet points |
| DATE | {{DATE}} | Date |
| KPI_DATA | Auto CREATE TABLE | Metric|Value|Metric|Value |
| CHART_TYPE | Auto CREATE CHART | COLUMN, PIE, LINE, BAR |
| CHART_DATA | – | Label,Value|Label,Value |
| CHART_TITLE | – | Chart title |
| ACTIVE | – | TRUE = create, FALSE = skip |
When KPI_DATA column has data, script automatically creates table with:
Format: Metric1|Value1|Metric2|Value2|…
When CHART_TYPE column has data, script automatically creates chart:
+————————–+
| Title (from template) |
| Points (from template) |
+————————–+
| KPI Table (auto) |
+————————–+
| Chart (auto) |
+————————–+
| Case | How It’s Handled |
|---|---|
| POINT1 empty | Shows [POINT1] |
| KPI_DATA empty | No table created |
| CHART_TYPE empty | No chart created |
| TITLE empty | Skip row |
| ACTIVE = FALSE | Skip row |
| Component | How to Get ID | Example ID |
|---|---|---|
| TEMPLATE_ID | Slides URL: /d/[ID]/edit | 1abc123XYZ… |
| DATA_SHEET_ID | Sheets URL: /d/[ID]/edit | 1abc123XYZ… |
| OUTPUT_FOLDER_ID | Drive URL: /folders/[ID] | 1abc123XYZ… |
After running, open Executions in sidebar to see logs:
Go to Google Drive → Open your folder → You will see: