Skip to main content

PowerPoint content automation

Alex MacLeod

Mail merge for PowerPoint decks. Same template, different data, zipped and ready to download.

What's covered

  • Marking up a PPTX template with {{placeholder}} tokens and uploading it to a Task
  • Filling one deck per row of data with aisle.powerpoint.fill, which keeps the template's formatting
  • Bundling the finished decks with aisle.files.zip so the run produces a single download

Every team that sends the same deck to fifty accounts with fifty different sets of numbers has someone doing this by hand. The template does not change. Only the data does. That is a job for a Task.

Open Aisle →

Video transcript

Today, we're going to generate a whole ton of PowerPoints. What you're looking at here is a template. It's a PowerPoint file, but it's got a bunch of these placeholders with the double squiggly brackets. Things like ticker and company and analyst. And we have three slides in this presentation.

A title slide, a financial position slide with some big numbers, and an outlook slide with a thesis. So, here's a scope I put together for a task that's going to do this for us. We're going to build a task that will research user-provided companies. We're going to fill a PowerPoint template for each, then return a zip file with all of them in there. We're going to look for the latest data, and we're going to do a concurrency limit of five, which means if we give it, say, 100 companies, it's going to process five simultaneously.

The inputs are a PowerPoint file with placeholders inside, a list of companies to research. We've defaulted to the top five from S&P, and a name of an analyst or firm preparing the research. The output's going to be a single zip file with all the different PowerPoints inside, one per company. And the specs for those placeholders are down below. And these match the placeholders we just saw in the PowerPoint itself, with some examples.

So, what I'm going to do next is copy this scope. In fact, I'm going to cut it. And we're going to open up our AI editor and just paste it in. Jumping ahead, let's take a look at what it built. We have a script that orchestrates the execution, and we have a prompt below.

And this prompt is going to take in the name of a single company, it's going to search the web, and it's going to assemble the information in the output format that we need for the script to essentially mail merge the PowerPoints. All right, let's save and run this thing. I'm going to press run task on the details page. And I'm going to upload the PowerPoint that I showed you at the beginning. The list of companies seems fine, but let's change the analyst to I O research.

So here we go. All right, here's my downloads folder. Here is our zip file. Let's open it up. Inside we have five different reports.

Let's take a look. Here's Google, Alphabet Inc. Our financial position is filled out and so is our outlook. Uh let's have a look at another. Let's do Microsoft.

Again, ticker's filled out, name is filled out, financial positions, outlook. So we generated five different PowerPoints here. Uh but this is a scalable process. We could do 100, we could do 5,000, really as many as we need.

Stay in the loop

Product updates, tutorials, and AI insights. No spam.