How to export SharePoint list into PowerPoint presentation

This article describes how to automatically populate a PowerPoint PPTX presentation with data from a SharePoint list using Processes in Power Automate (Microsoft Flow).

Skip the reading and watch our video for a visual walkthrough of this article:

Processes are a Plumsail Documents feature with an intuitive interface for creating documents from templates.

In this example, we will generate a PPTX project report using data pulled from the SharePoint list. This is what our list looks like:

Projects - SharePoint list

The template we will be using illustrates a more complex logic of dynamically creating a separate slide for each project in the list. You can download the template here.


The second slide in the template contains a {{Project.PageBreak}} token that prevents other slides from being duplicated. This token doesn’t need to have a value.

Here is an example of the output document:

Project Reports Template

Configure document generation process

Register or log in to your Plumsail account to start configuring the process.

Create Process

We will need to create a new process. To do that, go to the Processes section in your Plumsail account and click ‘Add process’, and select ‘Start from blank:

Create process from blank

Select PPTX as the template type:

Configure process to handle PPTX documents

Name the process and click ‘Next’ to proceed. Then you’ll jump to the ‘Configure template’ step.

Configure template

There are two internal steps that will guide you through the configuration:

  • Editor

  • Settings

The Editor mode allows you to build the template from scratch or upload a pre-made one. Feel free to upload the project report template that we showcased above.

Click ‘Edit online’ to edit the title and make any other changes you desire:

Editor mode of the Process

Click Save & Next to go to the Settings substep.

Template settings substep

Here you’ll see the following parameters:

Template mode

It is Testing by default. This means you won’t be charged for running this process, but the result document will have a Plumsail watermark. Switch it to Active to remove the watermark.

Output filename

You can use tokens to make the filename unique. They work the same way as in the template. For instance, we use the date token to define the output file name - {{@date}:format(MM/dd/yyyy)}. The output presentation will have the following name: Plumsail - Projects Report - 02/23/2023.

Output type

By default, it corresponds to the format of your template. As we are using a PowerPoint template, it’s set to PPTX. We’ll leave it as is.

Test template

Once you’ve customized all the settings, you can test the template to see the result.

When everything is in place, click Save & Next to set up deliveries.


As a matter of demonstration, we will deliver the result document to SharePoint library. See all the available delivery methods here.


You will also be able to export the output document in Power Automate flow.

Connect your site, select the desired library and folder where the output document will be saved:

SharePoint delivery for PowerPoint presentation

Create a flow in Power Automate

We will link SharePoint to PowerPoint and pull the data from our SharePoint list by using Power Automate (Microsoft Flow).

The first step is to select an instant cloud flow that will retrieve data from the SharePoint list and then run the process we created in previous steps.

This is what the complete flow looks like:

Generate PowerPoint presentations in Plumsail Documents from SharePoint list Flow

Below is a step-by-step explanation of how to create it from scratch.

Flow trigger

You can actually pick any trigger. For example, you can start flow on file creation in a SharePoint document library. We use Manually trigger a flow trigger here to simplify the flow.

Flow trigger

Get items

We will use the ‘Get items’ action to get entries from our SharePoint list.

Get items

Initialize variable

Let’s create an array that will contain all the data obtained from the ‘Get items’ action. Enter a variable name and select the Array type for it:

Initialize variable - Projects

Append to array variable

We’ll add an ‘Append to array variable’ action and fill it with dynamic data from our SharePoint list:

Append to array variable

Use tokens from the template and available variables from the ‘Get items’ action.

Start document generation process with JSON

Finally, let’s add an action that will trigger the created process. Start document generation process with JSON is an action from the Plumsail Documents connector.

If this is your first time using the Plumsail Documents connector, Power Automate will request the Connection Name and API Key.

Create connection in Power Automate flow

You can type any name for the connection, for example Plumsail Documents.

Once the connection name is filled out, create an API key in your Plumsail Account, copy and paste it into the Access Key field, and then click Create.

Copying an API key from the account

You will need to select the process you created in the ‘Process name’ field and specify JSON data in the ‘Template data’ field:

Start document generation process

We’re all set to create presentations from SharePoint list! 🎉 See how the resulting file looks:

Project Reports Template

We can see that our PowerPoint Presentation pulled data from the SharePoint list using Plumsail Processes and Power Automate. As the end result each item from SharePoint list is presented in a separate slide in PPTX presentation.


Hopefully, now you know how to generate a PowerPoint PPTX presentation and dynamically fill slides with data from a SharePoint list. In case you need to export PowerApps data to PowerPoint templates, similar approach can be used. Just replace the SharePoint trigger with a Power Apps one and you are good to go.

If you have any questions, please feel free to contact us at — we’ll be happy to help! If you’re new to Plumsail Documents, sign up to get a free 30-day trial.