> ## Documentation Index
> Fetch the complete documentation index at: https://docs.civic.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Slides

> Create and manage Google Slides presentations

## Overview

The Google Slides server enables AI assistants to interact with [Google Slides](https://slides.google.com), providing presentation creation, content management, batch update operations, and collaboration features through the Google Slides API.

## How to Add Google Slides

<Steps>
  <Step title="Add Server">
    Add the Google Slides server to your Civic environment through the server directory.
  </Step>

  <Step title="Authorize">
    Simply log in with your Google account and approve the OAuth consent request. No admin approval needed.
  </Step>

  <Step title="Test Connection">
    Try "Create a new presentation called 'Test Deck'" to verify the connection works.
  </Step>
</Steps>

<Note>
  **Simple OAuth Consent:** Google Slides uses standard Google OAuth consent. Works with personal Google accounts and Google Workspace without special admin approval.
</Note>

## What You Can Do

<CardGroup cols={2}>
  <Card title="Presentation Management" icon="presentation-screen">
    Create presentations and retrieve presentation details
  </Card>

  <Card title="Batch Updates" icon="wand-magic-sparkles">
    Apply complex modifications using batch update API
  </Card>

  <Card title="Slide Operations" icon="window">
    Get slide details and generate slide thumbnails
  </Card>

  <Card title="Collaboration" icon="comments">
    Read, create, reply to, and resolve presentation comments
  </Card>
</CardGroup>

## Available Tools (9)

### Presentation Operations

<AccordionGroup>
  <Accordion title="create_presentation">
    Create a new Google Slides presentation with optional title. Defaults to "Untitled Presentation" if title not provided. Returns presentation ID and URL.
  </Accordion>

  <Accordion title="get_presentation">
    Get detailed information about a Google Slides presentation including title, slides count, and metadata.
  </Accordion>

  <Accordion title="batch_update_presentation">
    Apply batch updates to a Google Slides presentation using a list of update requests. Enables complex modifications like adding slides, inserting text, updating layouts, and more in a single API call.
  </Accordion>
</AccordionGroup>

### Slide Operations

<AccordionGroup>
  <Accordion title="get_page">
    Get detailed information about a specific page (slide) in a presentation by page object ID, including elements and layout information.
  </Accordion>

  <Accordion title="get_page_thumbnail">
    Generate a thumbnail URL for a specific page (slide) in a presentation. Supports three sizes: "LARGE", "MEDIUM" (default), or "SMALL".
  </Accordion>
</AccordionGroup>

### Comment Operations

<AccordionGroup>
  <Accordion title="read_presentation_comments">
    Read all comments from a Google Presentation including author, creation time, and content.
  </Accordion>

  <Accordion title="create_presentation_comment">
    Create a new comment on a Google Presentation with specified content.
  </Accordion>

  <Accordion title="reply_to_presentation_comment">
    Reply to a specific comment in a Google Presentation by comment ID.
  </Accordion>

  <Accordion title="resolve_presentation_comment">
    Resolve a comment in a Google Presentation to mark it as complete.
  </Accordion>
</AccordionGroup>

## Use Cases

### Presentation Creation

"Create a new presentation called 'Q4 Business Review'" - Generate new presentation decks.

### Default Presentation

"Create a blank presentation" - Creates "Untitled Presentation" by default.

### Presentation Details

"Get information about the Marketing Deck presentation" - View presentation metadata and slide count.

### Batch Modifications

"Add a new slide, insert title text, and update the layout" - Apply multiple changes in one operation using batch update API.

### Slide Information

"Show me details of slide 3 in the presentation" - Access specific slide elements and layout via page object ID.

### Thumbnail Generation

"Generate a large thumbnail for the first slide" - Create preview images of slides.

### Medium Thumbnails

"Get a thumbnail of slide 5" - Uses default MEDIUM size for balanced quality and file size.

### Reading Comments

"Show me all comments in the Product Launch deck" - View collaboration feedback on presentations.

### Adding Comments

"Add a comment saying 'Update metrics on this slide'" - Provide feedback on presentation content.

### Comment Threads

"Reply to comment ABC123 with 'Updated as requested'" - Engage in presentation discussions.

### Resolving Comments

"Mark comment XYZ789 as resolved" - Complete feedback cycles on presentations.

<Note>
  **Batch Update API:** The batch\_update\_presentation tool accepts a list of update request objects following the Google Slides API batch update format. This enables complex operations like creating slides, adding shapes, inserting text, updating properties, and more in a single call.

  **Page Object IDs:** Slides are referenced by their unique page object IDs, which can be obtained from get\_presentation or get\_page operations.

  **Thumbnail Sizes:**

  * "LARGE": High resolution preview images
  * "MEDIUM": Balanced quality and size (default)
  * "SMALL": Compact preview images

  **Comment System:** Full comment lifecycle supported across presentation-level comments - read existing comments, create new ones, reply to threads, and resolve completed discussions.
</Note>

***

## Guardrails

In addition to the [14 universal guardrails](/civic/concepts/guardrails), this server has **37 server-specific guardrails** across 8 operations.

| Guardrail                                  | Operation                       | Timing   | Description                                                           |
| ------------------------------------------ | ------------------------------- | -------- | --------------------------------------------------------------------- |
| Allowed Element Types                      | `batch_update_presentation`     | Request  | Restricts the types of elements that can be added to presentations    |
| Blocked Update Request Types               | `batch_update_presentation`     | Request  | Prevents specific types of batch update operations                    |
| Block External URLs                        | `batch_update_presentation`     | Request  | Prevents insertion of external images and links                       |
| Block Text Replacement                     | `batch_update_presentation`     | Request  | Prevents text replacement operations that could expose sensitive data |
| Maximum Batch Requests                     | `batch_update_presentation`     | Request  | Limits the number of requests per batch update operation              |
| Protected Presentation IDs                 | `batch_update_presentation`     | Request  | Prevents modifications to critical presentations                      |
| Block Comment URLs                         | `create_presentation_comment`   | Request  | Prevents comments containing URLs or external links                   |
| Comment Rate Limit                         | `create_presentation_comment`   | Request  | Limits the number of comments that can be created per hour            |
| Maximum Comment Length                     | `create_presentation_comment`   | Request  | Limits comment content to a maximum character count                   |
| Protected Comment Presentations            | `create_presentation_comment`   | Request  | Prevents commenting on protected presentations                        |
| Blocked Page IDs                           | `get_page`                      | Request  | Denies access to specific page IDs                                    |
| Content Pattern Filter                     | `get_page`                      | Response | Redacts text content matching specific patterns                       |
| Filter Page Speaker Notes                  | `get_page`                      | Response | Removes speaker notes from slide details                              |
| Hide Embedded Links                        | `get_page`                      | Response | Redacts embedded links and URLs from slide content                    |
| Protected Presentation Pages               | `get_page`                      | Request  | Blocks access to pages in protected presentations                     |
| Block Protected Presentation Thumbnails    | `get_page_thumbnail`            | Request  | Prevents thumbnail generation for protected presentations             |
| Maximum Thumbnail Size                     | `get_page_thumbnail`            | Request  | Restricts thumbnail size to prevent detailed viewing                  |
| Block Content Access for Dangerous Formats | `get_presentation`              | Response | Blocks accessing content of files with dangerous formats              |
| Blocked Presentation IDs                   | `get_presentation`              | Request  | Denies access to specific presentation IDs on a blocklist             |
| Hide Presentation Metadata                 | `get_presentation`              | Response | Hides metadata fields like owner and creation date                    |
| Redact Speaker Notes                       | `get_presentation`              | Response | Hides speaker notes from presentation responses                       |
| Restrict to Allowed Presentations          | `get_presentation`              | Request  | Only allows accessing presentations in a whitelist                    |
| Sensitive Content Filter                   | `get_presentation`              | Response | Redacts slides containing sensitive keywords                          |
| Active Comments Only                       | `read_presentation_comments`    | Response | Shows only active discussions, hiding resolved or deleted comments    |
| Blocked Comment Presentations              | `read_presentation_comments`    | Request  | Prevents reading comments from specific presentations                 |
| Filter Comments by Allowed Authors         | `read_presentation_comments`    | Response | Redacts comments from authors not in the allowed list                 |
| Hide Commenter Identity                    | `read_presentation_comments`    | Response | Removes email addresses and names from comments                       |
| Recent Comments Only                       | `read_presentation_comments`    | Response | Limits comments to those from the last X days                         |
| Sensitive Comment Filter                   | `read_presentation_comments`    | Response | Redacts comments containing sensitive keywords                        |
| Inappropriate Reply Filter                 | `reply_to_presentation_comment` | Request  | Blocks replies containing offensive language                          |
| Maximum Reply Length                       | `reply_to_presentation_comment` | Request  | Limits reply content to a maximum character count                     |
| Author Only Comment Resolution             | `resolve_presentation_comment`  | Request  | Only allows comment authors to resolve their own comments             |
| Protected Resolution Presentations         | `resolve_presentation_comment`  | Request  | Prevents resolving comments in protected presentations                |

<Tip>
  Configure guardrails via the Civic UI or ask the Configurator Agent: "Add guardrails to my Google Slides server."
</Tip>
