Google Slides
Service domainPRESENTATIONS
Arcade Optimized
Arcade.dev LLM tools for Google Slides
10tools
8require secrets
Google Slides toolkit for Arcade provides LLM-callable tools that create, read, edit, and manage Google Slides presentations via the Google Slides and Drive APIs.
Capabilities
- Presentation creation & editing: Create new decks from scratch or from branded templates, apply atomic batches of edits (add/delete/restyle slides and elements, insert/replace text, reorder slides, duplicate objects, set speaker notes), and inspect addressable snapshots to discover object IDs and layout inventories before targeting them.
- Reading & visual inspection: Retrieve full addressable snapshots (slide/element IDs, placeholder types, text, speaker notes, layout/master inventory) and render individual slides to thumbnail images for visual confirmation.
- Search & discovery: Full-text search across a user's Drive presentations (matches body content and title); returns results newest-first.
- Comments & collaboration: Add top-level comments or reply within threads, list comments/replies with pagination, and resolve or reopen comment threads — all attributed to the connected account.
- File access & identity: Generate a Google Drive inline file picker URL to grant access to specific files when a file is not found or access is denied; look up the connected Google account's profile (name, email, picture).
OAuth
This toolkit authenticates via OAuth 2.0 with Google as the provider. See the Arcade Google auth provider docs for setup details, required scopes, and configuration steps.
Secrets
ENABLE_GOOGLE_DRIVE_INLINE_PICKER_URL— An API key that enables theGoogleSlides.GenerateGoogleFilePickerUrltool to open Google's first-party Drive file picker. This is a Google Maps/Picker API key with the Google Picker API enabled. To obtain it:- Open the Google Cloud Console → APIs & Services → Credentials for the same project used for your OAuth client.
- Click Create Credentials → API key.
- Enable the Google Picker API on the project under APIs & Services → Library.
- Restrict the key to the Picker API (and optionally to your app's domain) to limit exposure.
- Copy the key value and register it as this secret.
If this secret is absent or invalid,
GenerateGoogleFilePickerUrlreturns an"unavailable"status rather than an error — do not retry the picker in that case.
See the Arcade secrets guide for how to register secrets, or manage them directly at https://api.arcade.dev/dashboard/auth/secrets.
Available tools(10)
10 of 10 tools
Operations
Behavior
| Tool name | Description | Secrets | |
|---|---|---|---|
Add a comment to a presentation, or reply within an existing comment thread.
Comments are file-level, not anchored to a slide; to reference a slide, name it in
the text. Pass reply_to_comment_id to post within that thread instead of starting a
new comment. | 1 | ||
Create a deck or apply a batch of edits to one, returning created object ids,
replace counts, and a fresh addressable snapshot.
Use this single tool for all deck construction and editing: add, delete, or restyle
slides and elements, insert and replace text, and brand a deck in one batch. Reorder
slides with an updateSlidesPosition request; duplicate a slide or element with a
duplicateObject request. To set speaker notes, insertText into a slide's
notes_object_id (surfaced per slide in the snapshot).
To add a slide into a specific branded layout, first read the deck and consult the
snapshot's layout inventory: each layout reports its placeholders (type, index, and
object id), so you can pick a layout that already carries the title/body/other
placeholders you intend to fill rather than guessing which layout holds what, and
address a specific placeholder in placeholderIdMappings (by {type, index} or by
layoutPlaceholderObjectId) even when a layout repeats a type. Read the snapshot to
discover the object ids later edits target.
The batch is atomic: one invalid request rejects the whole batch, so target object
ids that exist in the snapshot. Object ids you assign to new objects are validated
before the batch is sent. | 1 | ||
Derive a new on-brand deck from an existing branded deck, preserving its
masters, layouts, and theme, then optionally filling tokens.
Use this instead of building from scratch when the user wants a deck in their
company template; the new deck inherits the source's branding. | 1 | ||
Generate a URL where the user grants this app access to specific Drive files.
Use this when a prior tool reported a file was not found or access was denied and
the user expects the file to exist; after the user completes the picker, retry the
prior tool. Opens Google's first-party Drive picker, not a sign-in prompt.
Returns a soft envelope: an "unavailable" status (not an error) means the picker is
not configured in this environment and will not work here, so do not retry it. | |||
Return an addressable snapshot of a deck: slide and element object ids,
placeholder types, text, speaker notes, and the layout and master inventory.
This is the read side of the read-edit loop: the object ids it returns are the
addresses create_or_edit_presentation targets. Each layout in the inventory
reports its placeholders with type, index, and object id, the identity a
createSlide placeholderIdMappings entry needs (by {type, index} or by
layoutPlaceholderObjectId), even when a layout repeats a placeholder type. | 1 | ||
Render one slide to an image and return its content URL, for visually
confirming a deck looks right before sharing. | 1 | ||
List a page of comments and their replies on a presentation, newest first. | 1 | ||
Close (resolve) or reopen a comment thread on a presentation.
Posts an action reply on the thread, so the lifecycle change is attributed to the
connected account; the thread's existing comments and replies are preserved. | 1 | ||
Search the user's Drive for presentations, newest first by default.
Keyword matching is full-text: a keyword matches a deck's body content as well
as its title, so a deck can match on words that never appear in its title. A
keyword search that matches nothing returns an empty list (not an error). | 1 | ||
Return the connected Google account's profile (name, email, picture). |
Get Building
Last updated on