# Google Slides

Create presentations, read slides and their text, fill in placeholder text and images, add or delete slides, and get slide thumbnails in Google Slides.

## Connect Google Slides

1. In the sidebar, open **Connections** and press **Add connection**.
2. Type `google slides` and choose **Google Slides**.
3. Press **Sign in with Google**.
4. Choose your account in Google’s window and allow access.

You should see **Signed in as** and the account’s address.

You can also connect from a step: under **Connection**, press **New**.

**What if it says “Google sign-in isn’t set up here”?**

This installation has no Google app yet. An admin of the installation sees **Set up Google sign-in** instead, and sets it up once for everyone:

1. In Google Cloud, create an OAuth client of type **Web application**, and turn on the API for Google Slides.
2. In GoRunner, copy the **Redirect address to add in Google Cloud**, and add it to the client.
3. Paste the **Client ID** and **Client secret**, then press **Save and sign in**.

Publish the app in Google Cloud. An app left in Testing signs everyone out after 7 days.

Everyone else sees who to ask.

[Set up Google sign-in for connections](https://docs.gorunner.io/self-host/oauth-apps)

**Can I use my own Google app?**

Yes. In the sheet, open **Use your own Google app** and paste its **Client ID** and **Client secret**. Add the **Redirect address to add in Google Cloud** to your app first. The connection then signs in through your app instead of the installation’s.

[Connections](https://docs.gorunner.io/build/connections) says how to sign in again, rename or delete it. In a product that embeds GoRunner, **Add connection** can be missing: then [your provider makes connections](https://docs.gorunner.io/embed/customer-connections) for you.

## Do things in Google Slides

Add a **Google Slides** step, choose a **Resource**, then an **Operation**. Choose a row to see its fields.

- [Presentation](https://docs.gorunner.io/apps/google-slides#fields-f-presentation): Create · Get · Get Slides · Replace Text · Replace Shapes With Image · Send Requests
- [Page (Slide)](https://docs.gorunner.io/apps/google-slides#fields-f-page): Get · Get Thumbnail · Create · Delete

To start a workflow from Google Slides, use a [Schedule](https://docs.gorunner.io/apps/schedule), [Webhook](https://docs.gorunner.io/apps/webhook) or [Form](https://docs.gorunner.io/apps/form) trigger.

Later steps read a step’s output by its name: see [Use data from earlier steps](https://docs.gorunner.io/build/use-data-from-earlier-steps).

## Limits

- A reply from Google Slides can be up to 16 MB (a file download can have its own limit). A larger one fails the step; it is never cut short.
- When Google Slides says to slow down (429), the step waits as long as it asks, if the step’s time allows. Otherwise it fails and says when to try again.

Not in your list? See [When an app isn’t here](https://docs.gorunner.io/apps/when-an-app-isnt-here#q-not-in-list).

## For developers

In the API, which calls apps pieces, Google Slides is `pieceId: "googleslides"` with `actionId: "googleslides"`, set by `resource` and an `operation_…` field, such as `operation_page`. [Get an app](https://docs.gorunner.io/api/apps/get-app) returns every field.

It can change something outside the run (`writes_external`). See [How versions and side effects work](https://docs.gorunner.io/apps#q-versions).

### Google Slides › Presentation

### Create

- **Title · Required**: The new presentation's title.

### Get

- **Presentation · Required**: The presentation's link or id (the part after /presentation/d/).

### Get Slides

- **Presentation · Required**: The presentation's link or id (the part after /presentation/d/).
- **Return All · Optional**: Read every slide, page by page (at most 2000; past that the step fails rather than stop early). Off by default.
- **Limit · Optional**: How many slides to return (1–2000). Default: 100. Shows when **Return All** is off.

### Replace Text

- **Presentation · Required**: The presentation's link or id (the part after /presentation/d/).
- **Texts to Replace · Required**: Each row replaces every match of its text, such as {{name}} → Ada Lovelace, across the deck or on the slides given.
- **Only If Revision Is · Optional**: A revision id from Get: the change fails if the presentation was edited since. Empty applies it to whatever is there.

### Replace Shapes With Image

- **Presentation · Required**: The presentation's link or id (the part after /presentation/d/).
- **Shapes Containing · Required**: Every shape whose text holds this (such as {{logo}}) is replaced by the image.
- **Image URL · Required**: A public link to a PNG, JPEG or GIF (under 50 MB and 25 megapixels; the link at most 2 KB). Google fetches it once.
- **Fit · Optional**: Fit the whole image inside the shape, or fill the shape and crop the rest. Options: Fit inside, Fill and crop. Default: Fit inside.
- **Match Case · Optional**: Off by default.
- **Only on Slides · Optional**: Slide ids, separated by commas. Empty means every slide.
- **Only If Revision Is · Optional**: A revision id from Get: the change fails if the presentation was edited since. Empty applies it to whatever is there.

### Send Requests

- **Presentation · Required**: The presentation's link or id (the part after /presentation/d/).
- **Requests · Required**: Slides API requests, sent together and applied all or nothing, such as [{"createSlide": {"insertionIndex": 1}}].
- **Only If Revision Is · Optional**: A revision id from Get: the change fails if the presentation was edited since. Empty applies it to whatever is there.

### Google Slides › Page (Slide)

### Get and Delete

- **Presentation · Required**: The presentation's link or id (the part after /presentation/d/).
- **Slide · Required**: The slide (its object id).

### Get Thumbnail

- **Presentation · Required**: The presentation's link or id (the part after /presentation/d/).
- **Slide · Required**: The slide (its object id).
- **Size · Optional**: The thumbnail's width: 1,600, 800 or 200 pixels (a tall slide may come out narrower). Options: Large (1600 px), Medium (800 px), Small (200 px). Default: Large (1600 px).
- **Download · Optional**: Also download the PNG as a file. Off returns its link, which works for 30 minutes. Off by default.

### Create

- **Presentation · Required**: The presentation's link or id (the part after /presentation/d/).
- **Layout · Optional**: The new slide's layout, from the deck's theme. Options: 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. Default: Blank.
- **Position · Optional**: Where the slide goes: 1 is first. Empty adds it at the end.

Source: https://docs.gorunner.io/apps/google-slides
