- Home
- Resources
- Integrations
- Google Slides
Google Slides n8n integrationAutomate Google Slides with n8n.
Need a deck built while you sleep? The Google Slides n8n integration gives you 6 operations across 2 resources, presentations and pages. Create a deck, read its slides, replace text placeholders, grab a page thumbnail. Written for ops and marketing teams who rebuild the same slides every week.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Google Slides n8n integration actually do?
Google Slides has an API, and n8n wraps part of it in a node that ships with every install. A workflow can open a deck, read what sits inside it and rewrite its text without anyone touching a browser tab. Two resources are exposed, presentation and page, for a total of 6 operations.
There is no Google Slides trigger in n8n, so these operations always run downstream of something else: a Schedule Trigger on a fixed interval, an n8n Webhook called by another service, or the trigger of a different app.
Start with the weekly report deck. A Schedule Trigger fires every Monday, a Google Sheets node reads the numbers, and presentation.replaceText drops them into a deck that already has its layout, fonts and logo in place. Nobody reopens the file. The deck that gets shared is the deck that was designed once.
Second pattern: the proposal built right after a sales call. presentation.create makes a fresh presentation from a title, a replace step fills in the company name and the scope, then a Gmail node sends the link back to the prospect while the call is still fresh. The whole thing runs in one execution, which is n8n's word for one run of a workflow from trigger to last node.
Third pattern is lighter. page.getThumbnail turns a single slide into an image file, and that image lands in a Slack channel as a preview. Handy when people need to glance at a number, not open a deck.
Where the node stops, HTTP Request takes over. Anything the Google Slides API can do that these 6 operations do not cover, adding a slide, moving a shape, resizing an image, goes through the HTTP Request node, which reuses the same Google credential through predefined authentication. So you are never blocked, you just write the call yourself.
Two limits worth knowing before you plan around them. The node has no trigger, so a change made by a colleague inside a deck cannot start a workflow on its own. And the read side works on identifiers: pages come back by their Page Object ID, never by their position in the deck. If you want the shape of the whole thing first, our n8n review covers how the platform handles this kind of node, and the n8n training walks through building a workflow end to end.
How do you connect Google Slides to n8n?
- 01
Pick your authentication method
The node accepts two credential types. OAuth2 is the recommended one, it is more widely available and quicker to set up. Service Account is the other option, and Google's documentation keeps it for cases that really need it. On n8n Cloud, some Google nodes also offer Managed OAuth2: you click Sign in with Google on the credential screen and nothing else happens in the Google Cloud Console. Self-hosted instances always go the custom route.
- 02
Set up the Google Cloud project
Create a Google Cloud Console project, enable the APIs you need, then configure the OAuth consent screen under APIs & Services > OAuth consent screen. Google asks for an App name and a User support email, then for an Audience: Internal for accounts inside your Google Workspace, External for any Google account. Under Branding, add an authorized domain:
n8n.cloudon n8n Cloud, or the domain of your own instance if you self-host. - 03
Create the client and paste it into n8n
In Credentials, choose + Create credentials > OAuth client ID, application type Web application. Copy the OAuth Redirect URL shown in your n8n credential and paste it into Authorized redirect URIs in Google. Running n8n on your own machine works too, Google accepts localhost, so the URL looks like
http://localhost:5678/rest/oauth2-credential/callback. Save, finish the credential in n8n, and it is reusable in every workflow.
What can the Google Slides node do?
The Google Slides node exposes 6 operations across 2 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Create | Get | Get Slides | Get Thumbnail | Replace Text |
|---|---|---|---|---|---|
| Page | ✓ | ✓ | |||
| Presentation | ✓ | ✓ | ✓ | ✓ |
Operations index
Page
2 operationsGet a page
page.getWhat you see in n8n
Notes & use cases
Returns one page of a deck as structured data, with the elements it holds. This is the read step that lets a workflow look at a slide before deciding what to do with it.
Key parameters
- Presentation ID: the string between
/d/and/editin the deck URL, as inhttps://docs.google.com/presentation/d/PRESENTATION_ID/edit. - Page Object ID: the identifier of the page you want, not its rank in the deck. Usually passed along from an earlier node with
{{ $json.pageObjectId }}.
Get the thumbnail for a page
page.getThumbnailWhat you see in n8n
Notes & use cases
Renders a single page as an image, so a slide becomes something you can attach, post or archive.
Key parameters
- Presentation ID: identifies the deck the page belongs to.
- Page Object ID: identifies which page gets rendered.
- Put Output File in Field: the name of the output binary field that will carry the file. Required, because the image needs somewhere to land.
- Download: when off, the node returns a reference rather than writing the page data into that binary field.
Presentation
4 operationsCreate a presentation
presentation.createWhat you see in n8n
Notes & use cases
Makes a new, empty presentation in Google Slides and returns its identifier, which every later operation in the workflow needs.
Key parameters
- Title: the name of the deck to create. This is the only required field, and it takes an expression happily, so a customer name coming from a CRM step lands straight in the file name.
Get a presentation
presentation.getWhat you see in n8n
Notes & use cases
Fetches the presentation itself rather than one of its pages, and returns what Google knows about it as structured data.
Key parameters
- Presentation ID: the identifier taken from the deck URL, or reused from an earlier create step with an expression like
{{ $json.presentationId }}.
Get slides from a presentation
presentation.getSlidesWhat you see in n8n
Notes & use cases
Lists the slides of a deck, one item per slide, which is how you loop over a presentation in n8n.
Key parameters
- Presentation ID: the deck to read.
- Return All: on, n8n walks the API pages and brings back every slide. Off, it stops at Limit.
- Limit: the maximum number of slides returned when Return All is off. Useful on a long deck when you only care about the first few.
Replace text in a presentation
presentation.replaceTextWhat you see in n8n
Notes & use cases
Swaps a string for another across the deck, the operation that turns a template into a finished document.
Key parameters
- Presentation ID: the deck to rewrite.
- Texts To Replace: the list of replacements, added one by one with Add Text.
- Search For and Replace With: the text hunted in the slides, and what takes its place.
- Match Case: on, the search is case sensitive. Off, it is not.
- Slide Names or IDs: restricts the replacement to the slides you list.
- Revision ID: if it does not match the deck's current revision, Google returns a 400 error and nothing is written.
Need help automating Google Slides with n8n?
A person reads every message.
Google Slides and n8n, the usual questions
01Is the Google Slides n8n integration free?
02What credentials or permissions do you need?
03What are the limits of the Google Slides node?
04Does the Google Slides node react in real time?
05n8n or Make for Google Slides?
Get our weekly integration tips.
No spam. Unsubscribe anytime.



