# Google Slides

Google Slides is a cloud-based presentation editor with real-time collaboration, template gallery, and integration with other Google Workspace apps

- **Category:** documents
- **Auth:** OAUTH2
- **Tools:** 7
- **Triggers:** 1
- **Slug:** `GOOGLESLIDES`
- **Version:** 20260217_00

## Frequently Asked Questions

### How do I set up custom Google OAuth credentials for Google Slides?

For a step-by-step guide on creating and configuring your own Google OAuth credentials with Devcaster, see [How to create OAuth2 credentials for Google Apps](https://devcaster.dev/auth/googleapps).

### Why am I seeing "App is blocked" when connecting Google Slides?

The OAuth client is requesting scopes that Google hasn't verified for that client. This usually happens when you add extra scopes beyond the defaults.

Remove the additional scopes from your auth config, or create your own OAuth app and submit the scopes for verification. See [How to create OAuth2 credentials for Google Apps](https://devcaster.dev/auth/googleapps).

### Why am I getting "Google Slides API has not been used in project" error?

When using custom OAuth credentials, the Google Slides API must be enabled in the Google Cloud project that owns those credentials. Enable it in Google Cloud Console under APIs & Services, wait a few minutes, and retry.

### Why am I getting "Error 400: invalid_scope"?

The requested scopes are invalid or incorrectly formatted in the authorization URL. Verify your scope values against the [Google OAuth scopes docs](https://developers.google.com/identity/protocols/oauth2). If you're creating auth configs programmatically, see the [programmatic auth config guide](/docs/auth-configuration/programmatic-auth-configs).

### Why does the OAuth consent screen show "Devcaster" instead of my app?

By default, the consent screen uses Devcaster's OAuth app. To show your own app name and logo, create your own OAuth app and set a custom redirect URL. See [White-labeling the OAuth consent screen](/docs/auth-configuration/custom-auth-configs#white-labeling-the-oauth-consent-screen).

### Why am I getting 401 errors on tool calls?

The user's access token is no longer valid. Common causes: the user revoked access, changed their password or 2FA, a Workspace admin policy changed, or Google's refresh token limit (~50 per account) was exceeded. Re-authenticating the user typically resolves this.

### Why am I getting "Quota Exhausted" or "rate limit exhausted"?

Google enforces per-minute and daily request quotas. If you're using Devcaster's default OAuth app, you share that quota with other users, which can cause limits to be hit faster. Use your own OAuth app credentials to get a dedicated quota, and add exponential backoff and retries to handle transient rate limits.

---

## Tools

### Create Slides from Markdown

**Slug:** `GOOGLESLIDES_CREATE_SLIDES_MARKDOWN`

Creates a new Google Slides presentation from Markdown text. Automatically splits content into slides using '---' separators and applies appropriate templates based on content structure.

### Update Presentation (Batch/Markdown)

**Slug:** `GOOGLESLIDES_PRESENTATIONS_BATCH_UPDATE`

Update Google Slides presentations using markdown content or raw API text. Supports professional themes, auto-formatting, and multiple slide types (title, bullet, table, quote, image, two-column).

### Copy Google Slides from Template

**Slug:** `GOOGLESLIDES_PRESENTATIONS_COPY_FROM_TEMPLATE`

Tool to create a new Google Slides presentation by duplicating an existing template deck via Drive file copy. Use when you need to preserve themes, masters, and layouts exactly as they appear in the template. After copying, use GOOGLESLIDES_PRESENTATIONS_BATCH_UPDATE to replace placeholder text or images.

### Create Google Slides Presentation

**Slug:** `GOOGLESLIDES_PRESENTATIONS_CREATE`

Tool to create a blank Google Slides presentation. Use when you need to initialize a new presentation with a specific title.

### Get Presentation

**Slug:** `GOOGLESLIDES_PRESENTATIONS_GET`

Tool to retrieve the latest version of a presentation. Use after obtaining the presentation ID.

### Get Presentation Page

**Slug:** `GOOGLESLIDES_PRESENTATIONS_PAGES_GET`

Tool to get the latest version of a specific page in a presentation. Use when you need to inspect slide, layout, master, or notes page details.

### Get Page Thumbnail

**Slug:** `GOOGLESLIDES_PRESENTATIONS_PAGES_GET_THUMBNAIL`

Tool to generate and return a thumbnail image URL for a specific page. Use when you need a quick preview of a slide page after loading it.


## Triggers

### New Slide Added

**Slug:** `GOOGLESLIDES_SLIDE_ADDED_TRIGGER`

Fires when a new slide is added to a Google Slides presentation.
