In this video, I’ll show you how to automate PowerPoint presentation creation using Make.com and SlideSpeak.co! 🚀
I’ll demonstrate a complete scenario where I connect Make.com to the SlideSpeak API to generate presentation slides automatically based on data from Google Sheets. From dynamic slide content to automatic file uploads, this setup streamlines the entire presentation creation process, saving you hours of manual work! 🖥️📊
The automation kicks off with a webhook triggered by a checkbox in Google Sheets (I’ll also share the custom script I use). Once triggered, the data from your spreadsheet is sent to SlideSpeak, where AI generates a polished PowerPoint presentation ready for download and sharing. 📈✨
What You’ll Learn:
• How to set up Make.com to connect with the SlideSpeak API.
• Automating presentation content using data from Google Sheets.
• Using a custom Google Sheets script to trigger the automation with a checkbox.
• Uploading and storing your generated presentations automatically on Google Drive.
If you’re looking to streamline your PowerPoint workflows or need to create presentations on the fly, this setup is a game-changer! Let’s dive into the details and get started! 🎬
Links (I may earn a commission if you sign up using these):
Sign Up with MAKE - https://www.make.com/en/register?pc=jsautomates
Sign Up with SlideSpeak - https://tinyurl.com/jsautomation
Download Scenario Here - (Sorry, I will add this shortly)
Show More Show Less View Video Transcript
0:00
hello everyone my name is jannis and in today's video I want to show you how you can create AI generated PowerPoint
0:08
presentations for any given keyword or for any given URL uh by the way our channel has grow
0:16
to more than 500 subscribers so thank you all who have subscribed um to make
0:22
it more interesting if there are specific automations that you are interested in
0:29
please leave a comment and I will check them and maybe prepare a video uh to
0:35
show you how you can make this automation okay so this is the automation that uh runs from a web hook
0:45
basically the web Hook is integrated in my
0:50
spreadsheet uh once I click this execute um
0:55
checkbox it starts this automation um it updates the row uh
1:02
where I click the checkbox to status
1:07
uh presentations being done uh then there are two Roots so one
1:14
root is if I want to create a PowerPoint presentation from a keyword and the
1:22
second rout is if I want to create a PowerPoint presentation about certain web
1:28
page and then I'm using an cool service called slid speake they have an
1:37
API and with this API I AI generates a presentation from my given
1:46
text or URL uh they have many pre-build themes
1:52
for the presentations as well as you can create your own custom
1:57
templates uh I personally use these ones so next when Once the template is
2:06
generated uh sorry once the presentation is generated it's uploaded to my Google
2:15
Drive I I get a link for this presentation and then I publish the link
2:20
in my spreadsheet so this spreadsheet is not a simple spreadsheet so I have
2:25
created a script so whenever I type in here something for
2:31
example um morning routine I select how many pages I want
2:39
in my presentation let's say five and I
2:45
set the template name so basically one of these can be used so for example I'm
2:52
going to choose Iris uh paste it
2:57
here I'm going to type it down so once I enter all the details a
3:05
checkbox appears so this is done by a script which I will share with
3:10
you and the next step I need to click on
3:18
on so now I'm going to click run once I'm going to wait for new data and I'm
3:25
going to click execute and this should start the scenario for me as you can see the
3:32
status has changed to creating presentation and it has gone through
3:38
this route because I gave only a certain keyword not a URL of a certain
3:45
website so basically what this does this makes the request to slid speak uh there's a timer in the middle I
3:53
have set it for 60 seconds uh and the next module should retrieve the present
4:01
so one while this is working I will explain the bottom one so if I enter a
4:08
URL in here let's say I will give uh one from my
4:14
website uh it's boot destinations and I'm going to give this
4:20
URL here uh I'm going to set it to five and I'm going to use theault
4:31
template so once this is finished I will run the next one to show you how it works with a URL so basically it's very
4:40
similar to the upper part except I access the URL I get the HTML content
4:46
from it then I pass this HTML content to CH GPT to remove all the
4:52
unnecessary uh details from it and to make it Json ready and then again I make
4:58
the same request to generate the the PowerPoint presentation based on
5:05
my page so let's check how what what did we
5:11
get so this is the morning routine as you can see it provides images it
5:18
provides the table of content uh this one this image is not the perfect one but anyway he gives all
5:25
the text here it gives keys to uh key steps in the
5:31
morning he gives us benefits of morning
5:37
routine and statistics and this is just all done from uh one keyword morning
5:44
routine okay so let's run this once so now it went through this rout it
5:52
accessed the page got HTML content from it now CH GPT is preparing the Json for
5:59
the API I call and once that's done it will be sent to
6:05
um slid speak so in this video I'm going to show you how you can build this from
6:12
scratch also I will have a link for the
6:18
slid speak in the description and I also will have a link for the complete um uh
6:24
blueprint of this Automation in the in the description
6:30
as well as I will give you the script to create a template uh to
6:38
create a spreadsheet like this and we're going to also build it um while I'm
6:44
filming this video so now the timer starts um it
6:50
should be finished uh within 60 seconds so basically what your GPD gives
6:58
it gives all the content from uh my uh
7:04
post and using this content uh slid speak generate uh
7:13
presentation yeah so uh by the way if you want to know how to
7:20
set up Google Drive and you are running into some errors well you do it I have a video up here where I show you exactly
7:28
how to remove restricted restricted Scopes error there are also lots of
7:34
comments under the video where our community helps each other uh when somebody runs into issues I try to
7:41
monitor these comments as much as I can and get involved and uh yeah while I'm
7:47
talking to you the automation has finished and let's see what we got from our URL
7:55
so so as you can see this is 22 must visit destinations for fall travel so
8:03
yeah and this is what has been made by slidee so let's build this one quickly
8:08
together it doesn't take a lot of time I've when once I when I started to
8:15
build it it was more complicated but it's going to be easier so let's start
8:21
with a new scenario create a new scenario and we're
8:27
going to start with the web hook uh web hook
8:33
response uh not web hook response sorry we're going to start with web hook custom web hook going to move this timer
8:41
here delete this one and now you need to add a web hook I'm going to click add
8:46
and this is going to be JS automates uh
8:51
slide speak uh web hook and click save and you obtain an
9:00
address we will need this address uh so let's head and create a new
9:08
spreadsheet so this is again will be JS
9:15
automates uh slide speak okay and this will be
9:23
keyword slash URL this will be um what's the name what
9:30
what the name I said here okay it's going to be a number of
9:38
slides so the available values are from 3 to 12 so I don't forget it uh the next
9:47
one be will be template uh and this will be
9:55
execute and this will be uh
10:01
status and this will be Google Drive
10:06
URL okay so once you have this set
10:12
up you need to click on extensions app script
10:19
and I have my script copied here but I will include it in the
10:24
description of this video so you can use it okay
10:30
and uh what you need to do is head back to make now and copy this URL of the web
10:37
hook so copy address to clipboard and head to the script so where's the script
10:42
here is the script and here we have a constant web hook URL and we're going to
10:48
paste the URL here okay replace with your web hook URL so we're going to
10:55
click save and we're going to click deploy new
11:01
deployment uh we're going to click on this um thingy web app new description
11:08
it's going to be JS automates and who has access if this is important you said
11:13
to anyone you click
11:19
deploy it's creating the deployment so once it has given the
11:25
deployment you need to authorize access so you click on authorize access you select your Gmail
11:31
account uh it's going to drop out this um notification so you click on advance
11:38
and you're going to click go to Untitled project I'm going to
11:45
allo so this deploys the project for our spreadsheet so we're going to click on
11:51
done oh um here is the sheet name so I'm
11:57
I need to call it input sheet so this is going to be rename input sheet okay so
12:03
now the sheet is completely set up the one thing we need in our script we need to head to this
12:10
triggers we're going to add a trigger and everything stays the same
12:16
except the last one which is on edit once we edit something it automatically
12:22
triggers the script so click save
12:29
yeah so the trigger has been done we can run a test okay we're going to click run
12:37
once and now if I enter keyword for example let's say
12:44
ai ai automation I set number of slides and I
12:50
select template default I should have a button here yes
12:55
I execute it and I should receive a data here which I do okay so the next one
13:04
this is not mandatory but I like to do it this way so I'm going to add a Google sheet I'm going to update the
13:10
row and need to choose this JS out of my slid
13:20
speak uh sheet name is input sheet uh row number I will get from my
13:27
web hook which is row number and the status is
13:33
um
13:38
presentation um processing okay uh now I'm going to if
13:48
because I want to do this for keywords and I also want to do this for URLs so
13:54
I'm going to add a router
13:59
here and I will have a two Roots so first one we're going to build the upper
14:05
route so I need to make a request so HTTP make a
14:12
request connect this and here you're going to have
14:18
get the URL that you need to Target is uh this one api. slides. call you can
14:29
get it also from the documentation uh
14:37
here so we need to have a post method
14:42
we're going to add a header and the header will
14:50
be X API key and the value will be your API key so once you register with slide
14:56
speak uh this is a paid uh Tool uh which
15:02
costs $49 per month and you can generate 1,000 slides with this credit
15:10
so you're going to have your API key you're going to paste it
15:18
here uh then you going to have your body type raw content type it's going to be
15:24
Json and the request should look like
15:29
this you can also have this adjacent from the
15:35
website um where is it where is it okay so here I'm going to copy from
15:42
here so it's easier for you to understand so copy this one by the way this is docs.
15:48
slides. co so you get the API documentation here and you paste it here
15:56
so we're going to replace this text with our variable from web hook the
16:03
length also we have number of slides and the theme we also have default or
16:12
whatever uh the theme we also get from web hook Okay click par response and click
16:21
okay next one we going to add a timer
16:26
sleep set the delay time timer to 60 and then we're going to make a get
16:33
request um so we need to have an HTTP
16:38
module make a request get the URL that we need to Target
16:44
is uh slide speak um who who who uh this one API V1
16:53
task like this and um actual URL is this one so
17:02
I'm going to add it uh task status we get from this module which is Task ID
17:09
we're going to use get and we need to add headers the header will be um bum bum bum it's API
17:17
key and your API key and parse response
17:27
okay the next thing that we need to add is get a file
17:33
module but before that we're going to run this module
17:40
only and we're going to run this module only to get uh the actual URL so text
17:48
will be AI automations number of slides four and theme
17:53
default okay
17:59
in the response we get um task ID copy it paste it here click run once
18:08
and this will give us status spending um but meanwhile we can add an
18:16
HTTP module that will get us the file that we're going to upload uh
18:23
to that we're going to upload to our Google Drive so run this module only
18:29
again maybe it's ready now yeah the data task result and this
18:34
is the URL that we're going to use in our get a file HTTP module so task info
18:42
URL okay now we're going to upload it to our Google Drive so Google Drive upload a
18:50
[Music] file uh folder ID we're going to select
18:56
from list
19:02
I'm going to select Janice
19:09
and presentations okay and we're going to
19:14
click on map so the data will be the same we're going to just change the file
19:20
name the file name we're going to use from the part um the web hook module and
19:26
we need to add pptx at the end uh okay on going to click okay again
19:34
so next one we're going to add Google Drive module that's going to give us a URL of the file so it's going to be get
19:43
a share link to get a share link you need uh file ID which we're going to get
19:50
from our upload module and we need to change the type to
19:55
anyone okay and the final one will be Google sheet update a row and what we're
20:02
going to update here is uh bom JS H slid speak we're going to
20:12
have our input sheet row number we're going to get from web hook and uh we're going to update the
20:19
status to done and Google Drive URL will be
20:25
um here um share link from this module
20:31
okay uh and that's about it for the first route so we can test it out I'm
20:36
going to head to the spreadsheet add keyword AI automation number of slides I'm going to
20:42
set to five template to Let's select a template template will be
20:52
itm okay the execute button should appear it does but we need need to click
20:59
run once we're going to wait for new data I'm going to click execute and the
21:05
status should update
21:14
to yep presentation processing yep
21:19
yeah so this is delay the 60c delay so uh
21:25
slide so slid speak has time to generate the
21:35
presentation uh if you are having again if you are having trouble setting up Google Drive I have a video up here
21:41
where I explain how you can avoid these restricted Scopes this video help helped
21:47
many probably you too if you are watching and you watch that video and um
21:54
there is also an active discussion in the comment section because some people run into more errors
22:01
and others try to help them out I also try to get inv involved as much as I
22:07
can uh if you have any questions about the automations you can reach me via
22:13
email I also have my WhatsApp in the description and if you need uh if you
22:19
want to hire me for AI automations like these or any others feel free to contact
22:25
me so this should be done and let's see see what happened so the status is done
22:30
and we have our Google Drive URL we're going to open it so this presentation
22:37
has been made simply from a single keyword AI automation
22:47
right I think it's pretty cool so what we're going to do now we're going to
22:52
select all these modules click copy and click paste
22:59
so we can create the second route for um for if I want to create um a
23:10
presentation from my URL so what we need we need an HTTP
23:15
module it's going to make a request here we're going to add URL we're going
23:22
to add from text so whenever we enter URL it's going to run through this route
23:27
we're gonna have pars response okay the next one module we're going to text
23:34
parser HTML to text so this module will return us an HTML content and we're
23:40
going to pass it to a text to Text data
23:45
okay and the next module is CH GPT module or open AI
23:52
module um that's going to remove all the unnecessary things and create a j for us
24:00
so click on CH
24:08
GPT so select the model I'm using J gbd 40
24:15
mini I'm going to set max completions to to to
24:20
1, uh 16,000 and I'm going to add message user
24:25
message and I'm going to copy the message from my my internal um uh
24:35
scenario like this uh so it's quicker for the video the s for the sake of the
24:41
video so I'm just going to replace the variables so text will be this text parser
24:47
module and the length will be from our web hook number of slides and the theme
24:56
will be theme okay and what we what this going to do it's going to give a
25:02
complete article without title images I need plain text to be uh to this text to
25:08
be plain text Escape any special character so this can be placed in adjacent don't add your comments insert
25:15
the response in this Json make sure you respond with the valid Json what I don't
25:20
know why I have this one never add your comments never add these three little thingies Jason at the start and three
25:27
little thingies at the end and the length is number of slides and the theme is theme and so what it going to do it's
25:34
going to take all these three variables and populate this Json that's going to be said to slid
25:41
speake uh service API so we're going to connect it we're going to click on this
25:47
one and we're going to delete the requested content and
25:53
substitute it with the result from CH gbt okay
26:00
and we can align this now we need to set up filters so whenever I enter URL here
26:08
it must go this route if I have a simple keyword it goes this route so here we
26:14
set up condition text and it does not start
26:20
with HTTP and here exactly opposite text
26:28
uh starts with HTTP we click okay and that's about it
26:38
uh we can uh now head to uh I'm going to head to my website
26:43
just copy uh a
26:49
URL paste it here uh I'm going to set five slides and I'm going to
26:56
choose Nexus this template for
27:04
this and checkbox appears and I'm going to click run once I'm going to wait for
27:10
new data and I'm going to click execute so the status should update yes and now
27:18
the automation is working uh as you can see we entered a URL here so it went through this route
27:26
because this filter filtered out that it starts with an HTTP and this Ro uh filter filtered it
27:34
out so that it does start with HTTP so chat GPT is now populating the
27:41
Json which will be sent to slid speak
27:46
API uh it's going to have this sleep module and then it's going to get the
27:53
actual presentation and upload it to Google Drive
28:00
while we wait for the result um uh if you have any questions about this just
28:05
leave a comment please uh also I have my contact details in the description um
28:12
you can reach out to me if you need certain automations for yourself for your business um also I'm um giving
28:22
consultations uh please uh feel free to contact me don't be sh shy
28:30
um yeah and as I said in the start of the video if you are looking for a
28:37
specific thing that you would like to be automated just leave a comment I will go
28:43
through all of them and um probably uh in some of the future videos
28:49
I will cover the automation for you so you can learn uh how to make it on your
28:55
own so yeah this is this timer is um annoying but if it's run automatically
29:02
you don't uh even notice it so you just click the button execute and uh once the
29:08
result arrives it arrives so it's going to arrive within
29:16
seconds so the status is done and Google Drive
29:24
URL is this exploring attend that's the same thing uh that my article is
29:34
about and as you can see it even add images
29:40
which are not very good because for some reason it took the
29:45
default template uh but anyways it's um I think
29:50
it's very good if you if you can do this type of things
29:55
automatically so yeah this is how you you automatically create PowerPoint presentations using AI from a keyword
30:03
from uh URL and also in this video I
30:08
hope you learn how you can create interesting spreadsheets using App
30:14
scripts if you enjoyed the video please click the like button subscribe to the
30:19
channel and I will see you in the next video thank you for watching goodbye
#Business & Industrial
