Prerequisites
- A Google account with Google Slides and Drive access
- A Google Workspace connection in AgentRuntime (OAuth via the Google account card on Connections)
- project_contributor access in your workspace
Connect in AgentRuntime
Connect Google
On Connections, use the Google account card and complete OAuth. See Google Workspace setup and Connections.
Enable Slides
On your Google connection, enable the Slides service so the account exposes Slides and Drive API scopes.
Add google-slides MCP instance
Go to MCP, click Add instance for google-slides. Open Instance config, wire your Google connection, and set the profile active.
What you can build
- QBR deck from metrics — google-sheets export → LLM bullet points →
generate_from_templatewith{{Quarter}}placeholders →refresh_sheets_chartsfor live charts. - Sales proposal pack — CRM webhook →
generate_from_templatefrom master deck → google-driveadd_permissionfor AE → gmail sendpresentation_url. - Training slide append — New module content from CMS →
get_presentation→add_slidewithTITLE_AND_BODY→replace_textfor section title. - Brand refresh sweep —
find_presentationsby folder query →replace_textold product name → log updated IDs in google-sheets.
Tools
| Tool | Description |
|---|---|
create_presentation | Create a Google Slides presentation with a title. |
get_presentation | Get a Google Slides presentation by ID, including title and per-slide plain text. |
add_slide | Add a slide to a presentation using a predefined Slides layout. |
replace_text | Replace text across all slides in a presentation. |
find_presentations | Find Google Slides presentations in Drive by title or raw Drive query. |
generate_from_template | Generate a presentation from a template by replacing placeholder tokens. |
refresh_sheets_charts | Refresh embedded Google Sheets charts in a presentation. |
Example
Generate a client QBR deck from a template after metrics are ready:Troubleshooting
| Issue | Fix |
|---|---|
| Reconnect prompt on Google connection | Re-authorize OAuth; Slides and Drive scopes may have been revoked |
| Placeholders not replaced | Match placeholder_format to tokens in the template (curly_braces, square_brackets, etc.) |
| Charts show stale data | Call refresh_sheets_charts after updating source google-sheets ranges |
find_presentations misses files | Set include_trashed: false and scope with a raw Drive query if needed |