- name
- google-slides
- description
- Google Slides: Create, edit, and manage Google Slides presentations. Add slides, text boxes, images, tables, and shapes. Use when an agent needs google slides, create presentations from scratch, add slides with predefined layouts, insert text boxes with styled content, embed images into slides, add image, presentation id, page object id through AgentPMT-hosted remote tool calls. Discovery terms: google slides, create presentations from scratch, add slides with predefined layouts.
- version
- 1.0.0
- homepage
- https://www.agentpmt.com/marketplace/google-slides
- compatibility
- Agent instructions for AgentPMT-hosted remote tool calls. Follow this skill body for supported account, wallet, and setup routes. No local command runtime is declared.
- metadata
- {"author":"agentpmt","openclaw":{"homepage":"https://www.agentpmt.com/marketplace/google-slides"}}
# Google Slides
## Freshness
Last updated: `2026-06-24`.
If the current date is more than 7 days after the last updated date, reinstall this skill from skills.sh or ClawHub before relying on endpoints, schemas, setup steps, or examples.
## What This Tool Does
Build stunning presentations without ever opening a browser. Create slide decks from scratch, add text, images, tables, and shapes, apply custom styles, fill templates with dynamic data, and generate slide thumbnails — all from your workflow. Perfect for automating reports, pitch decks, and client deliverables.
## Product Instructions
### Google Slides
Create, edit, and manage Google Slides presentations -- add slides, text, images, tables, shapes, apply styles, fill templates, and generate thumbnails.
#### Overview
This tool provides full access to the Google Slides API v1. You can create new presentations, add and arrange slides, insert text boxes, images, tables, and shapes, style text and shapes, perform template merges using placeholder tags, generate slide thumbnails, and execute raw batchUpdate requests for advanced operations. All position and size values use inches for convenience (internally converted to EMU at 914,400 EMU per inch).
#### Actions
##### create_presentation
Create a new empty Google Slides presentation.
**Required parameters:**
- `title` (string) -- title for the new presentation
**Example:**
```json
{"action":"create_presentation","title":"Q4 Revenue Report"}
```
Returns: `presentation_id`, `title`, `locale`, `slide_count`, `slides[]`, `page_size`
---
##### get_presentation
Retrieve full details of an existing presentation including all slides and elements.
**Required parameters:**
- `presentation_id` (string) -- the presentation ID
**Example:**
```json
{"action":"get_presentation","presentation_id":"1BxiMVs0XRA5nFMdKvBdBZjgmUii9Op3a7eh"}
```
Returns: `presentation_id`, `title`, `locale`, `slide_count`, `slides[]` (with `object_id`, `layout`, `element_count`), `page_size`, `raw` (full API response)
---
##### search_presentations
Search for Google Slides presentations by name. Results are sorted by most recently modified.
**Optional parameters:**
- `query` (string) -- name contains match. If omitted, lists recent presentations
- `max_results` (integer, 1-100, default 20) -- maximum number of results
**Example -- search by name:**
```json
{"action":"search_presentations","query":"quarterly review"}
```
**Example -- list recent with limit:**
```json
{"action":"search_presentations","query":"Q4 report","max_results":5}
```
Returns: `query`, `result_count`, `presentations[]` (with `presentation_id`, `name`, `created_time`, `modified_time`, `owners[]`, `web_view_link`)
---
##### get_slide_thumbnail
Generate a PNG thumbnail image of a specific slide.
**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `page_object_id` (string) -- the slide/page object ID
**Optional parameters:**
- `thumbnail_size` (string) -- `LARGE` (1600px, default), `MEDIUM` (800px), or `SMALL` (200px)
**Example:**
```json
{"action":"get_slide_thumbnail","presentation_id":"1BxiMVs0XRA5","page_object_id":"g1234abcd"}
```
Returns: `content_url` (PNG URL, valid for approximately 30 minutes), `width`, `height`
---
##### add_slide
Add a new slide to a presentation.
**Required parameters:**
- `presentation_id` (string) -- the presentation ID
**Optional parameters:**
- `insertion_index` (integer) -- 0-based position (default: appended at end)
- `layout` (string) -- predefined layout: `BLANK`, `TITLE`, `TITLE_AND_BODY`, `TITLE_AND_TWO_COLUMNS`, `TITLE_ONLY`, `SECTION_HEADER`, `SECTION_TITLE_AND_DESCRIPTION`, `ONE_COLUMN_TEXT`, `MAIN_POINT`, `BIG_NUMBER`, `CAPTION_ONLY`
- `object_id_value` (string) -- custom slide ID (auto-generated if omitted)
**Example:**
```json
{"action":"add_slide","presentation_id":"1BxiMVs0XRA5","layout":"TITLE_AND_BODY","insertion_index":1}
```
Returns: `presentation_id`, `created_slide_id`, `replies[]`
---
##### delete_object
Delete a slide or element from a presentation.
**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `object_id_value` (string) -- the slide or element ID to delete
**Example:**
```json
{"action":"delete_object","presentation_id":"1BxiMVs0XRA5","object_id_value":"g1234abcd"}
```
Returns: `presentation_id`, `deleted_object_id`, `replies[]`
---
##### add_text_box
Add a text box to a slide.
**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `page_object_id` (string) -- the target slide ID
**Optional parameters:**
- `text` (string) -- initial text content
- `element_properties` (object) -- position and size: `{x_inches, y_inches, width_inches, height_inches}` (defaults: 0, 0, 3, 1)
- `object_id_value` (string) -- custom element ID (auto-generated if omitted)
**Example:**
```json
{"action":"add_text_box","presentation_id":"1BxiMVs0XRA5","page_object_id":"g1234abcd","text":"Hello World","element_properties":{"x_inches":1,"y_inches":2,"width_inches":5,"height_inches":1}}
```
Returns: `presentation_id`, `created_text_box_id`, `replies[]`
---
##### add_image
Add an image to a slide.
**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `page_object_id` (string) -- the target slide ID
- `image_url` (string) -- publicly accessible image URL
**Optional parameters:**
- `element_properties` (object) -- position and size (defaults: 0, 0, 4, 3)
- `object_id_value` (string) -- custom element ID
**Example:**
```json
{"action":"add_image","presentation_id":"1BxiMVs0XRA5","page_object_id":"g1234abcd","image_url":"https://example.com/logo.png","element_properties":{"x_inches":2,"y_inches":1,"width_inches":4,"height_inches":3}}
```
Returns: `presentation_id`, `created_image_id`, `replies[]`
---
##### add_table
Add a table to a slide, optionally pre-populated with data.
**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `page_object_id` (string) -- the target slide ID
- `rows` (integer, 1-100) -- number of rows
- `columns` (integer, 1-20) -- number of columns
**Optional parameters:**
- `table_data` (array of arrays of strings) -- 2D array of cell text to populate after creation
- `object_id_value` (string) -- custom table ID
**Example:**
```json
{"action":"add_table","presentation_id":"1BxiMVs0XRA5","page_object_id":"g1234abcd","rows":3,"columns":4,"table_data":[["Name","Q1","Q2","Q3"],["Alice","100","200","300"],["Bob","150","250","350"]]}
```
Returns: `presentation_id`, `created_table_id`, `replies[]`
---
##### add_shape
Add a shape to a slide with optional text inside.
**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `page_object_id` (string) -- the target slide ID
**Optional parameters:**
- `shape_type` (string) -- `TEXT_BOX`, `RECTANGLE`, `ELLIPSE`, `ROUND_RECTANGLE`, `STAR_4`, `ARROW_EAST`, etc. (default: `RECTANGLE`)
- `text` (string) -- text content inside the shape
- `element_properties` (object) -- position and size (defaults: 0, 0, 2, 2)
- `object_id_value` (string) -- custom element ID
**Example:**
```json
{"action":"add_shape","presentation_id":"1BxiMVs0XRA5","page_object_id":"g1234abcd","shape_type":"ELLIPSE","element_properties":{"x_inches":3,"y_inches":2,"width_inches":2,"height_inches":2}}
```
Returns: `presentation_id`, `created_shape_id`, `replies[]`
---
##### insert_text
Insert text into an existing shape or table cell.
**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `object_id_value` (string) -- the shape or table object ID
- `text` (string) -- text to insert
**Optional parameters:**
- `text_insertion_index` (integer, default 0) -- character index for insertion
- `cell_location` (object) -- for table cells: `{"rowIndex": 0, "columnIndex": 0}`
**Example -- insert into shape:**
```json
{"action":"insert_text","presentation_id":"1BxiMVs0XRA5","object_id_value":"myShape1","text":"New text"}
```
**Example -- insert into table cell:**
```json
{"action":"insert_text","presentation_id":"1BxiMVs0XRA5","object_id_value":"myTable1","text":"Cell value","cell_location":{"rowIndex":1,"columnIndex":2}}
```
Returns: `presentation_id`, `replies[]`
---
##### replace_all_text
Find and replace text across the entire presentation. Ideal for template merging with `{{tag}}` placeholders.
**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `search_text` (string) -- text to find (e.g. a template tag)
- `replace_text` (string) -- replacement text
**Optional parameters:**
- `match_case` (boolean, default true) -- case-sensitive matching
**Example:**
```json
{"action":"replace_all_text","presentation_id":"1BxiMVs0XRA5","search_text":"{{customer_name}}","replace_text":"Acme Corp"}
```
Returns: `presentation_id`, `replies[]` (includes count of replacements)
---
##### replace_all_shapes_with_image
Replace all shapes containing specific text with an image. Useful for template image placeholders.
**Required parameters:**
- `presentation_id` (string) -- the presentation ID
GitHub에서 보기