Google Slides

Connect your AI agents to Google Slides.

Authentication: OAuth. See Magic Link for the runtime auth flow, or Application credentials to bring your own OAuth app.

Sample use cases

  • Generate a 5-slide deck from this PRD using the Sales template.
  • Find decks in the Marketing shared drive last edited in the past 30 days.
  • Update the title slide of the Pitch Deck to use today’s date.

Available Tools

create_image

Insert an image from a URL onto a page. The URL must be publicly accessible.

create_video

Insert a video (YouTube or Google Drive) onto a page. Requires video ID and source type.

replace_image

Replace an existing image with a new one from a URL. Maintains position and size.

create_line

Create a line or connector between two points. Supports straight, bent, and curved lines.

create_sheets_chart

Insert a chart from Google Sheets. Requires spreadsheet_id and chart_id. Can be linked or static.

create_presentation

Create a new Google Slides presentation with optional title. Returns the presentation ID and metadata.

get_presentation

Get a Google Slides presentation by ID. Returns full structure including slides, masters, and layouts.

batch_update_presentation

Apply multiple updates atomically to a presentation. Supports 43 request types including slides, shapes, text, tables.

create_shape

Create a shape on a page. Supports 100+ shape types including rectangles, arrows, flowchart elements.

create_text_box

Create a text box on a page. A text box is a shape optimized for text content with optional initial text.

update_shape_properties

Update shape visual properties like fill color, outline, and content alignment.

delete_object

Delete any page element (shape, image, table, etc.) by its object ID. This action cannot be undone.

create_slide

Create a new slide in a presentation with optional layout and position. Returns the slide object ID.

duplicate_slide

Duplicate an existing slide. The copy includes all elements and can be positioned at a specific index.

delete_slide

Delete a slide from a presentation by its object ID. This action cannot be undone.

update_slides_position

Reorder slides by moving them to a new position. Provide slide IDs in the desired order.

get_page

Get detailed information about a specific page including all elements. Works for slides, masters, layouts.

get_page_thumbnail

Get a thumbnail image of a page. Returns a URL to download the image (PNG format).

create_table

Create a table on a page with specified rows and columns. Use insert_text to add content to cells.

insert_table_rows

Insert rows into a table at a specific index. New rows copy structure from adjacent row.

insert_table_columns

Insert columns into a table at a specific index. New columns copy structure from adjacent column.

delete_table_row

Delete a row from a table by index. Content in the row is removed.

delete_table_column

Delete a column from a table by index. Content in the column is removed.

merge_table_cells

Merge a rectangular range of table cells. Content is combined into the top-left cell.

update_table_cell_properties

Update table cell properties like background color and content alignment.

insert_text

Insert text into a shape or table cell at a specific index. Use cell_location for table cells.

delete_text

Delete text from a shape or table cell. Specify start_index (inclusive) and end_index (exclusive).

replace_all_text

Find and replace all occurrences of text in a presentation. Optional case-sensitivity and page filtering.

update_text_style

Apply text formatting like bold, italic, font, size, and color to a text range.

update_paragraph_style

Update paragraph formatting like alignment, line spacing, and indentation for a text range.

create_paragraph_bullets

Add bullet or numbered list formatting to paragraphs in a text range. Choose from 15 bullet presets.

delete_paragraph_bullets

Remove bullet/list formatting from a paragraph text range. Inverse of create_paragraph_bullets. For tables, pass cell_location.

group_objects

Group multiple page elements on the same page so they move and transform together. Returns the new group’s object ID.

refresh_sheets_chart

Refresh a linked Google Sheets chart embedded in the presentation so it reflects the latest data from the source spreadsheet.

replace_all_shapes_with_image

Replace every shape whose text matches contains_text with an image. Useful for template-style image fill-in (e.g. }).

replace_all_shapes_with_sheets_chart

Replace every shape whose text matches contains_text with a Google Sheets chart. Use linking_mode=LINKED to keep the chart in sync with the source she…

ungroup_objects

Ungroup one or more groups, leaving their child elements as standalone elements on the page.

update_image_properties

Set an image’s outline (color, weight, dash style). Pass at least one outline_* property; only fields you set are updated.

update_line_properties

Style a line: fill color, weight (points), dash style, and start/end arrowheads. Pass only the fields you want changed.

update_page_element_transform

Update a page element’s affine transform (position, size, rotation). Applies to shapes, images, text boxes, lines, tables, and groups.

update_page_properties

Set a slide’s background to a solid color or a stretched image. Pass exactly one of background_fill_color_rgb or background_image_url.

update_slide_properties

Update slide-level properties: assign a layout or mark slide as skipped during presentation. Pass at least one of layout_object_id or is_skipped.

update_table_border_properties

Style table borders (color, weight, dash) at a position (ALL, OUTER, INNER, TOP, BOTTOM, LEFT, RIGHT, INNER_HORIZONTAL, INNER_VERTICAL).

update_table_column_properties

Set the width of one or more table columns in EMU (914400 EMU = 1 inch).

update_table_row_properties

Set the minimum height of one or more table rows in EMU (914400 EMU = 1 inch). Rows may grow beyond this if their content requires it.

update_video_properties

Update a video’s playback options (auto_play, start/end seconds, mute) and outline (color, weight, dash style)

update_page_element_alt_text

Set the alt text title and/or description on any page element (shape, image, table, video, line)

update_page_elements_z_order

Change the stacking (z-) order of one or more page elements on the same page. Operations: BRING_TO_FRONT, SEND_TO_BACK, BRING_FORWARD, SEND_BACKWARD

unmerge_table_cells

Unmerge a previously merged rectangular range of table cells, restoring the individual cells