Resources · n8n integration

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

Why automate

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.

Connect

How do you connect Google Slides to n8n?

  1. 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.

  2. 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.cloud on n8n Cloud, or the domain of your own instance if you self-host.

  3. 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.

Actions

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.

Resources × operations matrix
ResourceCreateGetGet SlidesGet ThumbnailReplace Text
Page
Presentation

Page

2 operations
01

Get a page

page.get

What 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 /edit in the deck URL, as in https://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 }}.
Use cases
checking that the cover slide of a client proposal still holds its placeholder before a later step overwrites it.
02

Get the thumbnail for a page

page.getThumbnail

What 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.
Use cases
posting the KPI slide of a monthly review into a Slack channel, so the team reads the number without opening the deck.

Presentation

4 operations
03

Create a presentation

presentation.create

What 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.
Use cases
one deck per new deal, named after the account, created the moment the deal reaches a given stage. The file exists before anyone remembers to make it.
04

Get a presentation

presentation.get

What 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 }}.
Use cases
a sanity check at the top of a long workflow. If the deck was deleted or the credential lost access to it, this operation fails early and the branch that follows never runs against nothing.
05

Get slides from a presentation

presentation.getSlides

What 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.
Use cases
feeding each slide into a loop that grabs a thumbnail, so an entire deck becomes a set of images in one run.
06

Replace text in a presentation

presentation.replaceText

What 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.
Use cases
a quarterly review deck where the template's placeholders become real values right before it goes out.
Need help

Need help automating Google Slides with n8n?

A person reads every message.

FAQ

Google Slides and n8n, the usual questions

01Is the Google Slides n8n integration free?
Yes on the n8n side. The Google Slides node ships with n8n, so there is nothing to install and nothing extra to pay for it, whether you run n8n Cloud or a self-hosted instance under the Community Edition and its Sustainable Use license. A workflow behaves the same way in both setups, the node is identical and so are the credentials. What Google itself charges for a Workspace account is a separate question, and one this page does not answer. The cost that does vary is the hosting: on Cloud you pay n8n, self-hosted you pay for the server you run it on.
02What credentials or permissions do you need?
Two methods work. OAuth2 is the recommended one: you create an app in the Google Cloud Console, configure the OAuth consent screen, generate a Web application client ID, and paste the OAuth Redirect URL from n8n into the authorized redirect URIs. On n8n Cloud, some Google nodes skip all of that with Managed OAuth2 and a Sign in with Google button. The second method is a Service Account, which Google's documentation keeps for specific cases: you download a JSON key, then copy client_email into Service Account Email and private_key into Private Key, without the surrounding quotes. A credential is created once in n8n and reused across every workflow.
03What are the limits of the Google Slides node?
It reads and rewrites, it does not design. The 6 operations cover creating a presentation, reading it, listing its slides, reading a page, rendering a page as an image, and replacing text. Adding a slide, moving a shape or restyling a layout is not part of them. For those, the HTTP Request node calls the Google Slides API directly and reuses the same credential through predefined authentication, so nothing is truly out of reach, you just write the call. On reads, Return All is what saves you: leave it off and the node stops at Limit instead of returning the whole deck.
04Does the Google Slides node react in real time?
No, because there is no Google Slides trigger in n8n. Nothing happens in the deck that can wake a workflow up. You trigger the workflow another way: a Schedule Trigger that runs on a fixed interval, which fits recurring reports well, an n8n Webhook called by another service, a webhook being simply a URL that service calls when something happens on its side, or the trigger of another app already in your stack, a form, a CRM, a mailbox. From there the Google Slides operations run as ordinary steps.
05n8n or Make for Google Slides?
It depends on where you want your data to live and how you want to pay. Make is a hosted platform with no self-hosting option, billed per operation, so a workflow that loops over every slide of a long deck gets more expensive as it grows. n8n runs on Cloud or on your own server, which matters when the decks carry client numbers that should not leave your infrastructure, and the bill does not move with the number of slides a run touches. Make's visual builder is friendlier on day one. n8n asks a bit more upfront and gives you more room once the workflow gets branches.
Hack'celeration Lab

Get our weekly integration tips.

No spam. Unsubscribe anytime.