# Google Slides

## Links

- Product page URL: https://www.agentpmt.com/marketplace/google-slides
- Product markdown URL: https://www.agentpmt.com/marketplace/google-slides?format=agent-md
- Product JSON URL: https://www.agentpmt.com/marketplace/google-slides?format=agent-json

## Overview

- Product ID: 69928f99aa85db8efed13eb7
- Vendor: Apoth3osis
- Type: connector
- Unit type: request
- Price: 500 credits
- Categories: Art & Design, Graphic Design & Layout, AI Copywriting & Text Generation, Content Management & Publishing, Team Collaboration & Workspaces, Task & Workflow Automation, Document Processing & OCR
- Generated at: 2026-05-21T08:23:14.092Z

### Page Description

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.

### Agent Description

Create, edit, and manage Google Slides presentations. Add slides, text boxes, images, tables, and shapes. Apply text and shape styles, fill templates with dynamic data using find-and-replace, reorder and duplicate slides, and generate slide thumbnails.

## Details

### Details

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.

### Actions

- `create_presentation` (5 credits): Create a new empty Google Slides presentation.
- `get_presentation` (5 credits): Retrieve full details of an existing presentation including all slides and elements.
- `search_presentations` (5 credits): Search for Google Slides presentations by name. Results sorted by most recently modified.
- `get_slide_thumbnail` (5 credits): Generate a PNG thumbnail image of a specific slide.
- `batch_update` (5 credits): Execute raw Google Slides batchUpdate requests for advanced operations. All requests execute atomically.
- `add_slide` (5 credits): Add a new slide to a presentation.
- `delete_object` (5 credits): Delete a slide or element from a presentation.
- `add_text_box` (5 credits): Add a text box to a slide.
- `add_image` (5 credits): Add an image to a slide.
- `add_table` (5 credits): Add a table to a slide, optionally pre-populated with data.
- `add_shape` (5 credits): Add a shape to a slide with optional text inside.
- `insert_text` (5 credits): Insert text into an existing shape or table cell.
- `replace_all_text` (5 credits): Find and replace text across the entire presentation. Ideal for template merging with {{tag}} placeholders.
- `replace_all_shapes_with_image` (5 credits): Replace all shapes containing specific text with an image. Useful for template image placeholders.
- `update_text_style` (5 credits): Apply styling to text within a shape.
- `update_shape_properties` (5 credits): Update visual properties of a shape (fill color, outline).
- `update_slide_properties` (5 credits): Update slide-level properties such as background color or skip-in-slideshow.
- `duplicate_object` (5 credits): Duplicate a slide or element within the presentation.
- `reorder_slides` (5 credits): Move one or more slides to a new position.

### Use Cases

Create presentations from scratch, Add slides with predefined layouts, Insert text boxes with styled content, Embed images into slides, Create data tables on slides, Fill presentation templates with dynamic data, Generate slide thumbnails, Style text with fonts and colors, Apply shape backgrounds and outlines, Duplicate and reorder slides

### Workflows Using This Tool

No public workflows currently reference this product.

### Related Content

No related content is currently linked to this product.

## Integration Details

### DynamicMCP

- Setup page URL: https://www.agentpmt.com/dynamic-mcp
- Claude setup guide: https://www.agentpmt.com/dynamic-mcp?platform=claude#videos
- ChatGPT setup guide: https://www.agentpmt.com/dynamic-mcp?platform=chatgpt#videos
- Cursor setup guide: https://www.agentpmt.com/dynamic-mcp?platform=cursor#videos
- Windsurf setup guide: https://www.agentpmt.com/dynamic-mcp?platform=windsurf#videos

STDIO connector for Claude Code, Codex, Cursor, Zed, and other LLMs that require STDIO or custom connections. This lightweight connector routes requests to `https://api.agentpmt.com/mcp`. All tool execution happens in the cloud and the server cannot edit any files on your computer.

```bash
npm install -g @agentpmt/mcp-router
agentpmt-setup
```

### REST API

The live page renders cURL, Python, JavaScript, and Node.js examples. Logged-in users see those examples prefilled with their own API and budget credentials.

- Purchase endpoint: https://api.agentpmt.com/products/purchase
- Authorization format: `Bearer <base64(apiKey:budgetKey)>`

```bash
curl -X POST "https://api.agentpmt.com/products/purchase" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eW91ci1hcGkta2V5LWhlcmU6eW91ci1idWRnZXQta2V5LWhlcmU=" \
  -d '{
    "product_id": "69928f99aa85db8efed13eb7",
    "parameters": {
      "action": "create_presentation",
      "title": "example_title"
    }
  }'
```

### Autonomous Agents

Do not use the abbreviated instructions in this product markdown for wallet-based invocation. Retrieve the full External Agent API markdown document instead.

- External Agent API page URL: https://www.agentpmt.com/external-agent-api
- External Agent API markdown URL: https://www.agentpmt.com/external-agent-api?format=agent-md

### Schema

#### Credentials

These runtime credentials should be provided under `parameters._credentials` when required.

- Google OAuth (`google_oauth`, oauth_token, required)
  Help: Connect your Google account.
  Connection ID: 69616abea90ed54743f01957

#### Parameters

- Schema type: actions

```json
{
  "actions": {
    "create_presentation": {
      "description": "Create a new empty Google Slides presentation.",
      "properties": {
        "title": {
          "type": "string",
          "description": "Title for the new presentation",
          "required": true
        }
      }
    },
    "get_presentation": {
      "description": "Retrieve full details of an existing presentation including all slides and elements.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        }
      }
    },
    "search_presentations": {
      "description": "Search for Google Slides presentations by name. Results sorted by most recently modified.",
      "properties": {
        "query": {
          "type": "string",
          "description": "Name contains match. If omitted, lists recent presentations.",
          "required": false
        },
        "max_results": {
          "type": "integer",
          "description": "Maximum number of results (1-100, default 20)",
          "minimum": 1,
          "maximum": 100,
          "default": 20,
          "required": false
        }
      }
    },
    "get_slide_thumbnail": {
      "description": "Generate a PNG thumbnail image of a specific slide.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "page_object_id": {
          "type": "string",
          "description": "Slide/page object ID",
          "required": true
        },
        "thumbnail_size": {
          "type": "string",
          "description": "Thumbnail size: LARGE (1600px), MEDIUM (800px), SMALL (200px)",
          "enum": [
            "LARGE",
            "MEDIUM",
            "SMALL"
          ],
          "default": "LARGE",
          "required": false
        }
      }
    },
    "batch_update": {
      "description": "Execute raw Google Slides batchUpdate requests for advanced operations. All requests execute atomically.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "requests": {
          "type": "array",
          "description": "Raw Slides API request objects",
          "items": {
            "type": "object"
          },
          "required": true
        }
      }
    },
    "add_slide": {
      "description": "Add a new slide to a presentation.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "insertion_index": {
          "type": "integer",
          "description": "0-based position to insert slide (default: appended at end)",
          "required": false
        },
        "layout": {
          "type": "string",
          "description": "Predefined layout: BLANK, TITLE, TITLE_AND_BODY, TITLE_AND_TWO_COLUMNS, TITLE_ONLY, SECTION_HEADER, ONE_COLUMN_TEXT, MAIN_POINT, BIG_NUMBER, CAPTION_ONLY",
          "required": false
        },
        "object_id_value": {
          "type": "string",
          "description": "Custom slide ID (auto-generated if omitted)",
          "required": false
        }
      }
    },
    "delete_object": {
      "description": "Delete a slide or element from a presentation.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "object_id_value": {
          "type": "string",
          "description": "Slide or element ID to delete",
          "required": true
        }
      }
    },
    "add_text_box": {
      "description": "Add a text box to a slide.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "page_object_id": {
          "type": "string",
          "description": "Target slide ID",
          "required": true
        },
        "text": {
          "type": "string",
          "description": "Initial text content",
          "required": false
        },
        "element_properties": {
          "type": "object",
          "description": "Position and size in inches",
          "required": false,
          "properties": {
            "x_inches": {
              "type": "number",
              "description": "X position in inches from left edge",
              "default": 0,
              "required": false
            },
            "y_inches": {
              "type": "number",
              "description": "Y position in inches from top edge",
              "default": 0,
              "required": false
            },
            "width_inches": {
              "type": "number",
              "description": "Width in inches",
              "default": 3,
              "required": false
            },
            "height_inches": {
              "type": "number",
              "description": "Height in inches",
              "default": 1,
              "required": false
            }
          }
        },
        "object_id_value": {
          "type": "string",
          "description": "Custom element ID (auto-generated if omitted)",
          "required": false
        }
      }
    },
    "add_image": {
      "description": "Add an image to a slide.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "page_object_id": {
          "type": "string",
          "description": "Target slide ID",
          "required": true
        },
        "image_url": {
          "type": "string",
          "description": "Publicly accessible image URL",
          "required": true
        },
        "element_properties": {
          "type": "object",
          "description": "Position and size in inches",
          "required": false,
          "properties": {
            "x_inches": {
              "type": "number",
              "description": "X position in inches",
              "default": 0,
              "required": false
            },
            "y_inches": {
              "type": "number",
              "description": "Y position in inches",
              "default": 0,
              "required": false
            },
            "width_inches": {
              "type": "number",
              "description": "Width in inches",
              "default": 4,
              "required": false
            },
            "height_inches": {
              "type": "number",
              "description": "Height in inches",
              "default": 3,
              "required": false
            }
          }
        },
        "object_id_value": {
          "type": "string",
          "description": "Custom element ID (auto-generated if omitted)",
          "required": false
        }
      }
    },
    "add_table": {
      "description": "Add a table to a slide, optionally pre-populated with data.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "page_object_id": {
          "type": "string",
          "description": "Target slide ID",
          "required": true
        },
        "rows": {
          "type": "integer",
          "description": "Number of table rows",
          "minimum": 1,
          "maximum": 100,
          "required": true
        },
        "columns": {
          "type": "integer",
          "description": "Number of table columns",
          "minimum": 1,
          "maximum": 20,
          "required": true
        },
        "table_data": {
          "type": "array",
          "description": "2D array of cell text to populate after creation",
          "items": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "required": false
        },
        "object_id_value": {
          "type": "string",
          "description": "Custom table ID (auto-generated if omitted)",
          "required": false
        }
      }
    },
    "add_shape": {
      "description": "Add a shape to a slide with optional text inside.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "page_object_id": {
          "type": "string",
          "description": "Target slide ID",
          "required": true
        },
        "shape_type": {
          "type": "string",
          "description": "Shape type: TEXT_BOX, RECTANGLE, ELLIPSE, ROUND_RECTANGLE, STAR_4, ARROW_EAST, etc. Default: RECTANGLE",
          "default": "RECTANGLE",
          "required": false
        },
        "text": {
          "type": "string",
          "description": "Text content inside the shape",
          "required": false
        },
        "element_properties": {
          "type": "object",
          "description": "Position and size in inches",
          "required": false,
          "properties": {
            "x_inches": {
              "type": "number",
              "description": "X position in inches",
              "default": 0,
              "required": false
            },
            "y_inches": {
              "type": "number",
              "description": "Y position in inches",
              "default": 0,
              "required": false
            },
            "width_inches": {
              "type": "number",
              "description": "Width in inches",
              "default": 2,
              "required": false
            },
            "height_inches": {
              "type": "number",
              "description": "Height in inches",
              "default": 2,
              "required": false
            }
          }
        },
        "object_id_value": {
          "type": "string",
          "description": "Custom element ID (auto-generated if omitted)",
          "required": false
        }
      }
    },
    "insert_text": {
      "description": "Insert text into an existing shape or table cell.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "object_id_value": {
          "type": "string",
          "description": "Shape or table object ID",
          "required": true
        },
        "text": {
          "type": "string",
          "description": "Text to insert",
          "required": true
        },
        "text_insertion_index": {
          "type": "integer",
          "description": "Character index for insertion (default 0)",
          "default": 0,
          "required": false
        },
        "cell_location": {
          "type": "object",
          "description": "Table cell location for inserting into a table cell",
          "required": false,
          "properties": {
            "rowIndex": {
              "type": "integer",
              "description": "Row index (0-based)",
              "required": true
            },
            "columnIndex": {
              "type": "integer",
              "description": "Column index (0-based)",
              "required": true
            }
          }
        }
      }
    },
    "replace_all_text": {
      "description": "Find and replace text across the entire presentation. Ideal for template merging with {{tag}} placeholders.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "search_text": {
          "type": "string",
          "description": "Text to find (e.g. a template tag like {{customer_name}})",
          "required": true
        },
        "replace_text": {
          "type": "string",
          "description": "Replacement text",
          "required": true
        },
        "match_case": {
          "type": "boolean",
          "description": "Case-sensitive matching (default true)",
          "default": true,
          "required": false
        }
      }
    },
    "replace_all_shapes_with_image": {
      "description": "Replace all shapes containing specific text with an image. Useful for template image placeholders.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "search_text": {
          "type": "string",
          "description": "Text in shapes to find (e.g. {{logo}})",
          "required": true
        },
        "image_url": {
          "type": "string",
          "description": "Publicly accessible image URL",
          "required": true
        },
        "image_replace_method": {
          "type": "string",
          "description": "How to fit image: CENTER_INSIDE (default) or CENTER_CROP",
          "enum": [
            "CENTER_INSIDE",
            "CENTER_CROP"
          ],
          "default": "CENTER_INSIDE",
          "required": false
        },
        "match_case": {
          "type": "boolean",
          "description": "Case-sensitive matching (default true)",
          "default": true,
          "required": false
        }
      }
    },
    "update_text_style": {
      "description": "Apply styling to text within a shape.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "object_id_value": {
          "type": "string",
          "description": "Shape containing the text",
          "required": true
        },
        "text_style": {
          "type": "object",
          "description": "Text style properties to apply",
          "required": true,
          "properties": {
            "bold": {
              "type": "boolean",
              "description": "Bold text",
              "required": false
            },
            "italic": {
              "type": "boolean",
              "description": "Italic text",
              "required": false
            },
            "underline": {
              "type": "boolean",
              "description": "Underline text",
              "required": false
            },
            "font_family": {
              "type": "string",
              "description": "Font family name",
              "required": false
            },
            "font_size_pt": {
              "type": "number",
              "description": "Font size in points",
              "required": false
            },
            "foreground_color_hex": {
              "type": "string",
              "description": "Hex color e.g. #FF0000",
              "required": false
            },
            "link_url": {
              "type": "string",
              "description": "Makes text a hyperlink",
              "required": false
            }
          }
        },
        "text_range_type": {
          "type": "string",
          "description": "Which text to style: ALL (default), FIXED_RANGE, or FROM_START_INDEX",
          "enum": [
            "ALL",
            "FIXED_RANGE",
            "FROM_START_INDEX"
          ],
          "default": "ALL",
          "required": false
        },
        "start_index": {
          "type": "integer",
          "description": "Start character index (for FIXED_RANGE or FROM_START_INDEX)",
          "required": false
        },
        "end_index": {
          "type": "integer",
          "description": "End character index (for FIXED_RANGE)",
          "required": false
        }
      }
    },
    "update_shape_properties": {
      "description": "Update visual properties of a shape (fill color, outline).",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "object_id_value": {
          "type": "string",
          "description": "Shape element ID",
          "required": true
        },
        "shape_background_color_hex": {
          "type": "string",
          "description": "Fill color hex",
          "required": false
        },
        "outline_color_hex": {
          "type": "string",
          "description": "Outline color hex",
          "required": false
        },
        "outline_weight_pt": {
          "type": "number",
          "description": "Outline weight in points",
          "required": false
        }
      }
    },
    "update_slide_properties": {
      "description": "Update slide-level properties such as background color or skip-in-slideshow.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "page_object_id": {
          "type": "string",
          "description": "Slide ID",
          "required": true
        },
        "background_color_hex": {
          "type": "string",
          "description": "Slide background color hex",
          "required": false
        },
        "skip_slide": {
          "type": "boolean",
          "description": "Skip this slide during slideshow playback",
          "required": false
        }
      }
    },
    "duplicate_object": {
      "description": "Duplicate a slide or element within the presentation.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "object_id_value": {
          "type": "string",
          "description": "Slide or element ID to duplicate",
          "required": true
        }
      }
    },
    "reorder_slides": {
      "description": "Move one or more slides to a new position.",
      "properties": {
        "presentation_id": {
          "type": "string",
          "description": "Presentation ID",
          "required": true
        },
        "slide_object_ids": {
          "type": "array",
          "description": "Slide IDs to move",
          "items": {
            "type": "string"
          },
          "required": true
        },
        "new_position": {
          "type": "integer",
          "description": "0-based insertion index",
          "required": true
        }
      }
    }
  },
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "get_instructions",
        "create_presentation",
        "get_presentation",
        "search_presentations",
        "get_slide_thumbnail",
        "batch_update",
        "add_slide",
        "delete_object",
        "add_text_box",
        "add_image",
        "add_table",
        "add_shape",
        "insert_text",
        "replace_all_text",
        "replace_all_shapes_with_image",
        "update_text_style",
        "update_shape_properties",
        "update_slide_properties",
        "duplicate_object",
        "reorder_slides"
      ],
      "description": "Action to perform",
      "required": false
    },
    "presentation_id": {
      "type": "string",
      "description": "Presentation ID",
      "required": false
    },
    "title": {
      "type": "string",
      "description": "Title for new presentation",
      "required": false
    },
    "page_object_id": {
      "type": "string",
      "description": "Slide/page object ID",
      "required": false
    },
    "object_id_value": {
      "type": "string",
      "description": "Element object ID (auto-generated if omitted)",
      "required": false
    },
    "insertion_index": {
      "type": "integer",
      "description": "0-based index for slide insertion",
      "required": false
    },
    "layout": {
      "type": "string",
      "description": "Predefined layout: BLANK, TITLE, TITLE_AND_BODY, TITLE_ONLY, etc.",
      "required": false
    },
    "element_properties": {
      "type": "object",
      "description": "Position and size in inches",
      "properties": {
        "x_inches": {
          "type": "number",
          "default": 0,
          "required": false,
          "description": ""
        },
        "y_inches": {
          "type": "number",
          "default": 0,
          "required": false,
          "description": ""
        },
        "width_inches": {
          "type": "number",
          "default": 3,
          "required": false,
          "description": ""
        },
        "height_inches": {
          "type": "number",
          "default": 1,
          "required": false,
          "description": ""
        }
      },
      "required": false
    },
    "text": {
      "type": "string",
      "description": "Text content",
      "required": false
    },
    "shape_type": {
      "type": "string",
      "default": "TEXT_BOX",
      "description": "Shape type (TEXT_BOX, RECTANGLE, ELLIPSE, etc.)",
      "required": false
    },
    "image_url": {
      "type": "string",
      "description": "Publicly accessible image URL",
      "required": false
    },
    "rows": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Table rows",
      "required": false
    },
    "columns": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Table columns",
      "required": false
    },
    "table_data": {
      "type": "array",
      "description": "2D array of cell text",
      "items": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "required": false
    },
    "cell_location": {
      "type": "object",
      "description": "Table cell location {rowIndex, columnIndex}",
      "properties": {
        "rowIndex": {
          "type": "integer",
          "required": false,
          "description": ""
        },
        "columnIndex": {
          "type": "integer",
          "required": false,
          "description": ""
        }
      },
      "required": false
    },
    "text_insertion_index": {
      "type": "integer",
      "default": 0,
      "description": "Character index for text insertion",
      "required": false
    },
    "search_text": {
      "type": "string",
      "description": "Text to find (template tag)",
      "required": false
    },
    "replace_text": {
      "type": "string",
      "description": "Replacement text",
      "required": false
    },
    "match_case": {
      "type": "boolean",
      "default": true,
      "description": "Case-sensitive match",
      "required": false
    },
    "image_replace_method": {
      "type": "string",
      "enum": [
        "CENTER_INSIDE",
        "CENTER_CROP"
      ],
      "default": "CENTER_INSIDE",
      "required": false,
      "description": ""
    },
    "text_style": {
      "type": "object",
      "description": "Text style to apply",
      "properties": {
        "bold": {
          "type": "boolean",
          "required": false,
          "description": ""
        },
        "italic": {
          "type": "boolean",
          "required": false,
          "description": ""
        },
        "underline": {
          "type": "boolean",
          "required": false,
          "description": ""
        },
        "font_family": {
          "type": "string",
          "required": false,
          "description": ""
        },
        "font_size_pt": {
          "type": "number",
          "required": false,
          "description": ""
        },
        "foreground_color_hex": {
          "type": "string",
          "description": "Hex color e.g. '#FF0000'",
          "required": false
        },
        "link_url": {
          "type": "string",
          "required": false,
          "description": ""
        }
      },
      "required": false
    },
    "text_range_type": {
      "type": "string",
      "enum": [
        "ALL",
        "FIXED_RANGE",
        "FROM_START_INDEX"
      ],
      "default": "ALL",
      "required": false,
      "description": ""
    },
    "start_index": {
      "type": "integer",
      "required": false,
      "description": ""
    },
    "end_index": {
      "type": "integer",
      "required": false,
      "description": ""
    },
    "shape_background_color_hex": {
      "type": "string",
      "description": "Shape fill color hex",
      "required": false
    },
    "outline_color_hex": {
      "type": "string",
      "description": "Outline color hex",
      "required": false
    },
    "outline_weight_pt": {
      "type": "number",
      "description": "Outline weight in points",
      "required": false
    },
    "background_color_hex": {
      "type": "string",
      "description": "Slide background color hex",
      "required": false
    },
    "skip_slide": {
      "type": "boolean",
      "description": "Skip slide in slideshow mode",
      "required": false
    },
    "slide_object_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Slide IDs to reorder",
      "required": false
    },
    "new_position": {
      "type": "integer",
      "description": "0-based insertion index for reorder",
      "required": false
    },
    "requests": {
      "type": "array",
      "description": "Raw batchUpdate request objects",
      "items": {
        "type": "object"
      },
      "required": false
    },
    "thumbnail_size": {
      "type": "string",
      "enum": [
        "LARGE",
        "MEDIUM",
        "SMALL"
      ],
      "default": "LARGE",
      "required": false,
      "description": ""
    },
    "query": {
      "type": "string",
      "description": "Search query for search_presentations. Matches against presentation name (contains match).",
      "required": false
    },
    "max_results": {
      "type": "integer",
      "description": "Maximum results for search_presentations (1-100, default 20)",
      "default": 20,
      "minimum": 1,
      "maximum": 100,
      "required": false
    }
  }
}
```

### Usage 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
- `search_text` (string) -- text in shapes to find (e.g. `{{logo}}`)
- `image_url` (string) -- publicly accessible image URL

**Optional parameters:**
- `image_replace_method` (string) -- `CENTER_INSIDE` (default) or `CENTER_CROP`
- `match_case` (boolean, default true) -- case-sensitive matching

**Example:**
```json
{"action":"replace_all_shapes_with_image","presentation_id":"1BxiMVs0XRA5","search_text":"{{logo}}","image_url":"https://example.com/logo.png"}
```

Returns: `presentation_id`, `replies[]`

---

### update_text_style

Apply styling to text within a shape.

**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `object_id_value` (string) -- the shape containing the text
- `text_style` (object) -- style properties to apply. Available fields:
  - `bold` (boolean)
  - `italic` (boolean)
  - `underline` (boolean)
  - `font_family` (string)
  - `font_size_pt` (number) -- font size in points
  - `foreground_color_hex` (string) -- hex color, e.g. `#FF0000`
  - `link_url` (string) -- makes text a hyperlink

**Optional parameters:**
- `text_range_type` (string) -- `ALL` (default), `FIXED_RANGE`, or `FROM_START_INDEX`
- `start_index` (integer) -- start character index (for `FIXED_RANGE` or `FROM_START_INDEX`)
- `end_index` (integer) -- end character index (for `FIXED_RANGE`)

**Example:**
```json
{"action":"update_text_style","presentation_id":"1BxiMVs0XRA5","object_id_value":"myShape1","text_style":{"bold":true,"font_size_pt":24,"foreground_color_hex":"#0000FF"}}
```

**Example -- style a range of characters:**
```json
{"action":"update_text_style","presentation_id":"1BxiMVs0XRA5","object_id_value":"myShape1","text_style":{"italic":true,"link_url":"https://example.com"},"text_range_type":"FIXED_RANGE","start_index":0,"end_index":10}
```

Returns: `presentation_id`, `replies[]`

---

### update_shape_properties

Update visual properties of a shape (fill color, outline).

**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `object_id_value` (string) -- the shape element ID

**Optional parameters:**
- `shape_background_color_hex` (string) -- fill color hex
- `outline_color_hex` (string) -- outline color hex
- `outline_weight_pt` (number) -- outline weight in points

**Example:**
```json
{"action":"update_shape_properties","presentation_id":"1BxiMVs0XRA5","object_id_value":"myShape1","shape_background_color_hex":"#FFCC00","outline_color_hex":"#000000","outline_weight_pt":2}
```

Returns: `presentation_id`, `replies[]`

---

### update_slide_properties

Update slide-level properties such as background color or skip-in-slideshow.

**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `page_object_id` (string) -- the slide ID

**Optional parameters:**
- `background_color_hex` (string) -- slide background color hex
- `skip_slide` (boolean) -- skip this slide during slideshow playback

**Example:**
```json
{"action":"update_slide_properties","presentation_id":"1BxiMVs0XRA5","page_object_id":"g1234abcd","background_color_hex":"#F5F5F5"}
```

Returns: `presentation_id`, `replies[]`

---

### duplicate_object

Duplicate a slide or element within the presentation.

**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `object_id_value` (string) -- the slide or element ID to duplicate

**Example:**
```json
{"action":"duplicate_object","presentation_id":"1BxiMVs0XRA5","object_id_value":"g1234abcd"}
```

Returns: `presentation_id`, `replies[]` (includes new object ID)

---

### reorder_slides

Move one or more slides to a new position.

**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `slide_object_ids` (array of strings) -- slide IDs to move
- `new_position` (integer) -- 0-based insertion index

**Example:**
```json
{"action":"reorder_slides","presentation_id":"1BxiMVs0XRA5","slide_object_ids":["slide1","slide2"],"new_position":0}
```

Returns: `presentation_id`, `replies[]`

---

### batch_update

Execute raw Google Slides batchUpdate requests for advanced operations not covered by other actions. All requests execute atomically in order -- if one fails, none are applied.

**Required parameters:**
- `presentation_id` (string) -- the presentation ID
- `requests` (array of objects) -- raw Slides API request objects

**Example:**
```json
{"action":"batch_update","presentation_id":"1BxiMVs0XRA5","requests":[{"createSlide":{"objectId":"mySlide","slideLayoutReference":{"predefinedLayout":"BLANK"}}}]}
```

Returns: `presentation_id`, `replies[]`

---

## Workflows

### Template Merge Workflow

Fill a template presentation with dynamic data:

1. Create or identify a template presentation containing `{{tag}}` placeholders in text and shapes
2. Copy the template using the Google Drive tool (`copy_file` action) to preserve the original
3. Use `replace_all_text` for each text placeholder (e.g. `{{customer_name}}` to `Acme Corp`)
4. Use `replace_all_shapes_with_image` for each image placeholder (e.g. `{{logo}}` to an image URL)
5. The original template remains untouched

### Build a Presentation from Scratch

1. `create_presentation` with a title
2. `add_slide` with desired layouts for each section
3. `add_text_box`, `add_image`, `add_table`, or `add_shape` to populate each slide
4. `update_text_style` and `update_shape_properties` to apply branding
5. `get_slide_thumbnail` to preview any slide

## Notes

- Positions and sizes use inches. The API internally converts to EMU (914,400 EMU = 1 inch, 12,700 EMU = 1 point)
- Images must be publicly accessible URLs
- All batchUpdate-based actions are atomic -- if one operation in the batch fails, none are applied
- Object IDs are auto-generated if not provided. Use custom IDs (via `object_id_value`) when you need to reference elements in subsequent calls within the same session
- The `add_shape` action defaults to `RECTANGLE` shape type if `shape_type` is not specified (not `TEXT_BOX` -- use `add_text_box` for text boxes)
- Search results from `search_presentations` only return Google Slides files (filtered by MIME type)
- Thumbnail URLs from `get_slide_thumbnail` expire after approximately 30 minutes

### Frequently Asked Questions

No linked FAQs are currently available.

### Dependencies

This product has no public dependency products.