A Step-by-Step Guide to Connecting Zapier to Google Sheets and Google Slides (PowerPoint)
Difficulty Level: Advanced
Creating a custom set of slides for your business presentations can be time-consuming, but with Zapier, Google Sheets, and Google Slides, you can automate this process seamlessly. This guide will walk you through the steps to set up your automation, from connecting Zapier to Google Sheets to populating your Google Slides with the data you need.
Create a New Folder in your Google Drive Account
This task will require several files, all of which need to be hosted in your Google Drive account. First, create a new folder in your Google Drive account. Then, download the following two files to your computer.
Download these two files:
Next, Create two new Google Files and import these templates into your file.
- Create a Google Sheets file and import the Excel spreadsheet.
- Choose New > Google Sheets> Import
- Then, create a Google Slides file and import the PowerPoint template.
- Choose New > Google Slides > Import Slides
Connecting Zapier to Google Sheets
To get started, you'll need to connect Zapier to your Google Sheets account. We have an in-depth video walkthrough on how to do this. Watch the video below to get set up:
Building Your Slide Deck
Step 1: Design Your PowerPoint Slides
Your business likely already has a PowerPoint or Google Slide Template presentation. Prepare and locate this template on your computer, and then follow the rest of the steps outlined below.
Step 2: Import Your Slide Deck to Google Slides
- Log into Google Drive: Visit Google Drive and log in with your existing Google Account.
- Create a New Google Slide Presentation: Choose New > Google Slides > Blank Presentation.
- Import Your Slides: In your new slide deck, go to File > Import Slides, then on the Upload tab, choose your template slide deck from your computer.
- Add Fields to Your Slides: After importing your slides, focus on adding the fields you want to populate from Google Sheets.
Step 3: Note the Presentation ID
To automate the process of populating your slides, you’ll need the Presentation ID of your Google Slides deck.
- Find the Presentation ID: Look at the URL of your Google Slides presentation. The Presentation ID is the long string of characters typically found between /d/ and /edit.
- Example: The Presentation ID is underlined in the below example and is:
13rOYqWqcbDp2oF7NLDBCE6G32jR4nbj2EXeVi0_2Nt-8
https://docs.google.com/presentation/d/13rOYqWqcbDp2oF7NLDBCE6G32jR4nbj2EXeVi0_2Nt-8/edit#slide=id.g27a337204a2_0_0
, the Presentation ID is13rOYqWqcbDp2oF7NLDBCE6G32jR4nbj2EXeVi0
SECTION 3: Making the Google Sheets Account Connect to Google Slides
Step 1: Prepare Your Google Sheets Data
Ensure your Google Sheets contains the data you want to transfer to your Google Slides. Each row should represent a set of variables and values to be inserted into the slides.
Step 2: Run the App Script
Access the Presentation ID for your newly created Google Slides.
To automate the population of your Google Slides:
- Open Google Sheets: Go to Extensions > Apps Script.
- Run the Pre-Saved App Script: If the script is not available in your Sheets, you can use the code provided below.
Insert the following script into the Apps Script editor, replacing <PRESENTATION_ID>
with the actual ID of your Google Slides presentation. You can find the ID in the URL of your presentation (https://docs.google.com/presentation/d/<PRESENTATION_ID>/edit
).
function fillTemplate() {
// Id of the slides template
// Remember to replace this with the Id of your presentation
var PRESENTATION_ID = "<PRESENTATION_ID>";
// Open the presentation
var presentation = SlidesApp.openById(PRESENTATION_ID);
// Read data from the spreadsheet
var values = SpreadsheetApp.getActive().getDataRange().getValues();
// Replace template variables in the presentation with values
values.forEach(function(row) {
var templateVariable = row[0]; // First column contains variable names
var templateValue = row[1]; // Second column contains values
presentation.replaceAllText(templateVariable, templateValue);
});
}