# AgentPMT Marketplace Product (Agent Format)

Name: Google Slides
Product ID: 69928f99aa85db8efed13eb7
Vendor: Apoth3osis
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.
Price: 500 credits

External Agent API:
- Docs: https://www.agentpmt.com/external-agent-api
- Purchase credits: POST https://www.agentpmt.com/api/external/credits/purchase
- Create session: POST /api/external/auth/session
- Balance: POST https://www.agentpmt.com/api/external/credits/balance
- Invoke this tool: POST https://www.agentpmt.com/api/external/tools/69928f99aa85db8efed13eb7/invoke
- Workflows: GET https://www.agentpmt.com/api/external/workflows
- Workflow fetch: POST https://www.agentpmt.com/api/external/workflows/{workflowId}/fetch
- Workflow start: POST https://www.agentpmt.com/api/external/workflows/{workflowId}/start
- Workflow end: POST https://www.agentpmt.com/api/external/workflows/{workflowId}/end
- Workflow active: POST https://www.agentpmt.com/api/external/workflows/active
- Jobs list: POST https://www.agentpmt.com/api/external/jobs/list
- Job reserve: POST https://www.agentpmt.com/api/external/jobs/{jobId}/reserve
- Job complete: POST https://www.agentpmt.com/api/external/jobs/{jobId}/complete
- Job status: POST https://www.agentpmt.com/api/external/jobs/{jobId}/status
- Job workflow create: POST https://www.agentpmt.com/api/external/jobs/{jobId}/workflow/create
- Job workflow update: PUT https://www.agentpmt.com/api/external/jobs/{jobId}/workflow/{workflowId}
- Job workflow publish (private): POST https://www.agentpmt.com/api/external/jobs/{jobId}/workflow/{workflowId}/publish

Categories: Art & Design, Graphic Design & Layout, AI Copywriting & Text Generation, Content Management & Publishing, Team Collaboration & Workspaces, Task & Workflow Automation, Document Processing & OCR

```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
    }
  }
}
```

Runtime credential requirements (inject under parameters._credentials):
- google_oauth (oauth_token, required)
  help: Connect your Google account.
