Google Slides
App · Documents · 20 actions
Build and edit presentations in Google Slides.
Actions
| Action | What it does |
|---|---|
| Add image | Place an image on a slide from a publicly reachable URL (under 50 MB, PNG/JPEG/GIF). |
| Add slide | Add an empty slide using one of Google Slides' layouts. |
| Add slide with title and body | Add a slide and fill in its title and body in one step, the quickest way to build a deck from a list of points. |
| Add table | Add an empty table to a slide, then fill it cell by cell. |
| Add text box | Add a text box to a slide, optionally as a bulleted list. |
| Copy presentation | Copy an existing presentation under a new name, the usual way to start from a template deck. |
| Create presentation | Create a new, empty Google Slides presentation. |
| Delete presentation | Move a presentation to the Google Drive trash. |
| Delete slide | Delete one slide from a presentation. |
| Duplicate slide | Duplicate a slide, including its text and images. |
| Format text | Restyle all of the text in a text box, title or body: bold, italic, size, font and alignment. |
| Get all text | Read every slide's text (text boxes, placeholders and tables) as plain text, ready to summarize or search. |
| Get presentation details | Read a presentation's title, slide count and page size. |
| Get slide image | Render a slide as a PNG and return its image URL, useful for posting a slide into chat or email. |
| List presentations | List the presentations in the connected Google account, most recently edited first. |
| List slides | List a presentation's slides in order, with each one's id, position and title. |
| Move slide | Move a slide to a different position in the deck. |
| Replace all text | Replace every occurrence of a phrase across the deck: how a template's placeholders get filled in. |
| Set speaker notes | Write the speaker notes for a slide. |
| Set table cell text | Replace the text in one cell of a table on a slide. |
Add image
Place an image on a slide from a publicly reachable URL (under 50 MB, PNG/JPEG/GIF).
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Slide
slide_idtextRequired - The slide to act on.
- Image URL
image_urltextRequired - A public link to the image file.
- Distance from left (pt)
left_ptnumber - How far from the slide's left edge to place it, in points.From 0 to 720.0. Default:
60.0. - Distance from top (pt)
top_ptnumber - How far from the slide's top edge to place it, in points.From 0 to 405.0. Default:
100.0. - Width (pt)
width_ptnumber - How wide to make it, in points. A 16:9 slide is 720 pt wide.From 1 to 720.0. Default:
400.0. - Height (pt)
height_ptnumber - How tall to make it, in points. A 16:9 slide is 405 pt tall.From 1 to 405.0. Default:
200.0.
Outputs
The image that was added
object_idtext- Object ID of the new image
slide_idtext- The slide it was added to
Example output
{
"object_id": "g2d5f1a9b7_0_9",
"slide_id": "g2d5f1a9b7_0_1"
}Add slide
Add an empty slide using one of Google Slides' layouts.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Layout
layouttext - Which built-in layout the new slide should use.One of:
TITLE(Title slide),TITLE_AND_BODY(Title and body),TITLE_AND_TWO_COLUMNS(Title and two columns),TITLE_ONLY(Title only),SECTION_HEADER(Section header),SECTION_TITLE_AND_DESCRIPTION(Section title and description),ONE_COLUMN_TEXT(One column text),MAIN_POINT(Main point),BIG_NUMBER(Big number),CAPTION_ONLY(Caption only),BLANK. Default:TITLE_AND_BODY. - Position
insert_at_indexnumber - Where to insert it, counting from 0. Leave empty to add it at the end.At least 0.
Outputs
The slide that was added
indexnumber- Zero-based position it was inserted at
layouttext- The layout it was built from
slide_idtext- Object ID of the new slide
Example output
{
"index": 2,
"layout": "TITLE_AND_BODY",
"slide_id": "g2d5f1a9b7_0_2"
}Add slide with title and body
Add a slide and fill in its title and body in one step, the quickest way to build a deck from a list of points.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Title
titletextRequired - Text for the slide's title.
- Body lines
bodylist - One line of body text per item. Leave empty for a title-only slide.
- Bullet style
bullet_presettext - Turn each line into a list item in this style. Leave empty for plain paragraphs.One of:
BULLET_DISC_CIRCLE_SQUARE(Bulleted (● ○ ■)),BULLET_ARROW_DIAMOND_DISC(Bulleted (➔ ◆ ●)),BULLET_CHECKBOX(Checkboxes),NUMBERED_DIGIT_ALPHA_ROMAN(Numbered (1. a. i.)),NUMBERED_DIGIT_NESTED(Numbered (1. 1.1. 1.1.1.)). - Position
insert_at_indexnumber - Where to insert it, counting from 0. Leave empty to add it at the end.At least 0.
Outputs
The slide that was added
body_line_countnumber- How many body lines were written
body_object_idtext- Object ID of the body box, or empty for a title-only slide
indexnumber- Zero-based position it was inserted at
slide_idtext- Object ID of the new slide
title_object_idtext- Object ID of the title box, for restyling it
Example output
{
"body_line_count": 3,
"body_object_id": "lodol33body",
"index": 3,
"slide_id": "g2d5f1a9b7_0_3",
"title_object_id": "lodol33title"
}Add table
Add an empty table to a slide, then fill it cell by cell.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Slide
slide_idtextRequired - The slide to act on.
- Rows
rowsnumberRequired - How many rows the table should have.From 1 to 20. Default:
2. - Columns
columnsnumberRequired - How many columns the table should have.From 1 to 20. Default:
2. - Distance from left (pt)
left_ptnumber - How far from the slide's left edge to place it, in points.From 0 to 720.0. Default:
60.0. - Distance from top (pt)
top_ptnumber - How far from the slide's top edge to place it, in points.From 0 to 405.0. Default:
100.0. - Width (pt)
width_ptnumber - How wide to make it, in points. A 16:9 slide is 720 pt wide.From 1 to 720.0. Default:
400.0. - Height (pt)
height_ptnumber - How tall to make it, in points. A 16:9 slide is 405 pt tall.From 1 to 405.0. Default:
200.0.
Outputs
The table that was added
columnsnumber- Column count
object_idtext- Object ID of the new table
rowsnumber- Row count
slide_idtext- The slide it was added to
Example output
{
"columns": 2,
"object_id": "g2d5f1a9b7_0_7",
"rows": 3,
"slide_id": "g2d5f1a9b7_0_1"
}Add text box
Add a text box to a slide, optionally as a bulleted list.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Slide
slide_idtextRequired - The slide to act on.
- Text
texttextRequired - The text to put in the box. One line per paragraph.
- Bullet style
bullet_presettext - Turn each line into a list item in this style. Leave empty for plain paragraphs.One of:
BULLET_DISC_CIRCLE_SQUARE(Bulleted (● ○ ■)),BULLET_ARROW_DIAMOND_DISC(Bulleted (➔ ◆ ●)),BULLET_CHECKBOX(Checkboxes),NUMBERED_DIGIT_ALPHA_ROMAN(Numbered (1. a. i.)),NUMBERED_DIGIT_NESTED(Numbered (1. 1.1. 1.1.1.)). - Distance from left (pt)
left_ptnumber - How far from the slide's left edge to place it, in points.From 0 to 720.0. Default:
60.0. - Distance from top (pt)
top_ptnumber - How far from the slide's top edge to place it, in points.From 0 to 405.0. Default:
100.0. - Width (pt)
width_ptnumber - How wide to make it, in points. A 16:9 slide is 720 pt wide.From 1 to 720.0. Default:
400.0. - Height (pt)
height_ptnumber - How tall to make it, in points. A 16:9 slide is 405 pt tall.From 1 to 405.0. Default:
200.0.
Outputs
The text box that was added
object_idtext- Object ID of the new text box
slide_idtext- The slide it was added to
Example output
{
"object_id": "lodolbox4821903",
"slide_id": "g2d5f1a9b7_0_1"
}Copy presentation
Copy an existing presentation under a new name, the usual way to start from a template deck.
Inputs
- Presentation to copy
presentation_idtextRequired - The presentation (often a template) to copy.
- Name for the copy
titletextRequired - Name to give the new presentation.
Outputs
The copy that was created
presentation_idtext- ID of the copy
titletext- Its title
urltext- Link that opens the copy
Example output
{
"presentation_id": "1nK9RiL3gM0qOwS5tU7vX9yZ1aB3cD5eF7gH9iJ1kL3m",
"title": "Acme: Q3 business review",
"url": "https://docs.google.com/presentation/d/1nK9RiL3gM0qOwS5tU7vX9yZ1aB3cD5eF7gH9iJ1kL3m/edit"
}Create presentation
Create a new, empty Google Slides presentation.
Inputs
- Title
titletextRequired - Name for the new presentation.
Outputs
The presentation that was created
presentation_idtext- ID of the new presentation
slide_countnumber- How many slides it starts with
titletext- Its title
urltext- Link that opens the presentation
Example output
{
"presentation_id": "1mJ8QhK2fL9pNvR4sT6uW8xY0zA2bC4dE6fG8hI0jK2l",
"slide_count": 1,
"title": "Q3 business review",
"url": "https://docs.google.com/presentation/d/1mJ8QhK2fL9pNvR4sT6uW8xY0zA2bC4dE6fG8hI0jK2l/edit"
}Delete presentation
Move a presentation to the Google Drive trash.
Inputs
- Presentation
presentation_idtextRequired - The presentation to move to the trash.
Outputs
No return value
Delete slide
Delete one slide from a presentation.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Slide
slide_idtextRequired - The slide to delete.
Outputs
No return value
Duplicate slide
Duplicate a slide, including its text and images. The copy is placed directly after the original.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Slide
slide_idtextRequired - The slide to act on.
Outputs
The duplicated slide
indexnumber- Zero-based position of the duplicate
slide_idtext- Object ID of the duplicate
source_slide_idtext- Object ID of the slide that was copied
Example output
{
"index": 2,
"slide_id": "g2d5f1a9b7_0_4",
"source_slide_id": "g2d5f1a9b7_0_1"
}Format text
Restyle all of the text in a text box, title or body: bold, italic, size, font and alignment.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Text box
object_idtextRequired - Which piece of text to restyle.
- Styles
stylestext - Styles to apply. Anything left unticked is turned off.One or more of:
BOLD,ITALIC,UNDERLINE,STRIKETHROUGH. - Font size (pt)
font_size_ptnumber - Text size in points. Leave empty to keep the current size.From 1 to 400.
- Font
font_familytext - Leave empty to keep the current font.One of:
Arial,Calibri,Cambria,Comfortaa,Comic Sans MS,Courier New,Georgia,Impact,Lato,Merriweather, and 10 more. - Alignment
alignmenttext - Leave empty to keep the current alignment.One of:
START(Left),CENTER,END(Right),JUSTIFIED.
Outputs
The styling that was applied
alignmenttext- Alignment that was set, if any
font_familytext- Font that was set, if any
font_size_ptnumber- Font size that was set, if any
object_idtext- Object ID of the text that was restyled
styleslist- The styles that are now switched on
Example output
{
"alignment": "CENTER",
"font_family": "Roboto",
"font_size_pt": 24,
"object_id": "lodolbox4821903",
"styles": [
"BOLD"
]
}Get all text
Read every slide's text (text boxes, placeholders and tables) as plain text, ready to summarize or search.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
Outputs
The presentation's text
slide_countnumber- How many slides were read
slideslist- The text of each slide, in deck order
texttext- All of the deck's text, one section per slide
Example output
{
"slide_count": 2,
"slides": [
{
"index": 0,
"slide_id": "g2d5f1a9b7_0_0",
"text": "Q3 business review"
},
{
"index": 1,
"slide_id": "g2d5f1a9b7_0_1",
"text": "Revenue\nUp 18% quarter over quarter"
}
],
"text": "--- Slide 1 ---\nQ3 business review\n\n--- Slide 2 ---\nRevenue\nUp 18% quarter over quarter"
}Get presentation details
Read a presentation's title, slide count and page size.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
Outputs
Details of the presentation
localetext- Its locale, e.g. 'en-US'
page_height_ptnumber- Slide height in points
page_width_ptnumber- Slide width in points
presentation_idtext- ID of the presentation
slide_countnumber- How many slides it holds
titletext- Its title
urltext- Link that opens the presentation
Example output
{
"locale": "en-US",
"page_height_pt": 405.0,
"page_width_pt": 720.0,
"presentation_id": "1mJ8QhK2fL9pNvR4sT6uW8xY0zA2bC4dE6fG8hI0jK2l",
"slide_count": 8,
"title": "Q3 business review",
"url": "https://docs.google.com/presentation/d/1mJ8QhK2fL9pNvR4sT6uW8xY0zA2bC4dE6fG8hI0jK2l/edit"
}Get slide image
Render a slide as a PNG and return its image URL, useful for posting a slide into chat or email. The URL is valid for 30 minutes.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Slide
slide_idtextRequired - The slide to act on.
- Image size
sizetext - How large to render the slide.One of:
SMALL(Small (200px wide)),MEDIUM(Medium (800px wide)),LARGE(Large (1600px wide)). Default:MEDIUM.
Outputs
The rendered slide image
content_urltext- URL of the rendered PNG (valid for 30 minutes)
heightnumber- Height of the image in pixels
widthnumber- Width of the image in pixels
Example output
{
"content_url": "https://lh3.googleusercontent.com/slides-thumbnail",
"height": 450,
"width": 800
}List presentations
List the presentations in the connected Google account, most recently edited first.
Inputs
- Name contains
name_containstext - Only list presentations whose name contains this text.
- Modified after
modified_afterdate and time - Only list presentations edited after this date and time.
- Maximum results
max_resultsnumber - How many presentations to return, at most.From 1 to 100. Default:
25.
Outputs
Matching presentations
countnumber- How many were returned
presentationslist- The matching presentations
Example output
{
"count": 1,
"presentations": [
{
"modified_time": "2026-08-24T17:12:05.431Z",
"presentation_id": "1mJ8QhK2fL9pNvR4sT6uW8xY0zA2bC4dE6fG8hI0jK2l",
"title": "Q3 business review",
"url": "https://docs.google.com/presentation/d/1mJ8QhK2fL9pNvR4sT6uW8xY0zA2bC4dE6fG8hI0jK2l/edit"
}
]
}List slides
List a presentation's slides in order, with each one's id, position and title.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
Outputs
The presentation's slides
countnumber- How many slides there are
slideslist- The slides, in deck order
Example output
{
"count": 2,
"slides": [
{
"element_count": 2,
"index": 0,
"layout_id": "g2d5f1a9b7_1_0",
"slide_id": "g2d5f1a9b7_0_0",
"title": "Q3 business review"
},
{
"element_count": 3,
"index": 1,
"layout_id": "g2d5f1a9b7_1_1",
"slide_id": "g2d5f1a9b7_0_1",
"title": "Revenue"
}
]
}Move slide
Move a slide to a different position in the deck.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Slide
slide_idtextRequired - The slide to act on.
- New position
new_indexnumberRequired - Where to move it, counting from 0 for the first slide.At least 0.
Outputs
The slide that was moved
indexnumber- Its new zero-based position
previous_indexnumber- Where it was before the move
slide_idtext- Object ID of the slide that moved
Example output
{
"index": 0,
"previous_index": 1,
"slide_id": "g2d5f1a9b7_0_1"
}Replace all text
Replace every occurrence of a phrase across the deck: how a template's placeholders get filled in.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Find
find_texttextRequired - The text to look for, e.g. '{{customer}}'.
- Replace with
replace_texttextRequired - What to put in its place.
- Match case
match_casetrue/false - On: only replace text whose capitalization matches.Default:
true. - Limit to slides
slide_idslist - Only replace on these slides. Leave empty to replace across the whole presentation.
Outputs
The result of the replacement
occurrences_changednumber- How many occurrences were replaced
Example output
{
"occurrences_changed": 4
}Set speaker notes
Write the speaker notes for a slide.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Slide
slide_idtextRequired - The slide to act on.
- Notes
notestextRequired - What the presenter should say on this slide.
- Replace existing notes
replace_existingtrue/false - On: overwrite whatever notes the slide already has. Off: add these notes underneath them.Default:
true.
Outputs
The speaker notes that were written
notes_object_idtext- Object ID of the notes box
slide_idtext- The slide whose notes were written
Example output
{
"notes_object_id": "g2d5f1a9b7_2_1",
"slide_id": "g2d5f1a9b7_0_1"
}Set table cell text
Replace the text in one cell of a table on a slide.
Inputs
- Presentation
presentation_idtextRequired - The presentation to work on.
- Table
table_object_idtextRequired - The table to write into.
- Row
rownumberRequired - Which row, counting from 0 for the first row.From 0 to 19. Default:
0. - Column
columnnumberRequired - Which column, counting from 0 for the first column.From 0 to 19. Default:
0. - Text
texttextRequired - What the cell should say.
Outputs
The cell that was written
columnnumber- Column that was written
object_idtext- Object ID of the table
rownumber- Row that was written
slide_idtext- The slide the table is on
Example output
{
"column": 0,
"object_id": "g2d5f1a9b7_0_7",
"row": 0,
"slide_id": "g2d5f1a9b7_0_1"
}