Create PowerPoint Presentations

PowerPoint presentations are a great way show off your business, your products, and anything else you’d like to show people.  Many times these presentations are completely identical regardless of the audience.  What if there was an easy way to customize the presentations so they are tailored to the business or audience you are targeting?  We’re happy to announce that Formstack Documents can now create PowerPoint presentations on the fly and include your customized information!

Personalize your PowerPoint to a prospective lead - include their names, logo, etc.  Make them feel like you took time out of your day to make this presentation specifically for them.  They’ll love it!

In this example we going to show you how to create a presentation that is personalized to a prospect and includes customized pricing options.  First, we are going to setup the PowerPoint presentation.  On the first slide we are going to include a spot for the company name, the representative we are meeting with, and a few other pieces of information.  On the second slide we are going to include our pricing options for this prospect.  For the remaining slides we’ll keep customizing the information and adding merge fields where applicable. 

Make sure to use unique names for each field name. Do not use numbers on their own (eg '123') or include spaces, punctuation, special characters, or hyphens in the field names to ensure an easy integration process.

After we have the presentation all ready to go, let’s create a new document in Formstack Documents and upload it.  For our purposes here, we’re just going to use the Merge form provided by Formstack Documents to generate the presentation, but this could be generated from CRMs like Salesforce, from an online form from Formstack, or any number of other services.  After we enter the information, here is the final presentation:

How was that for easy?  No need to go through the presentation slide-by-slide and make changes.  Formstack Documents can do everything for you and reduce mistakes, save you time, and leave your prospects excited to work with you.  Can you think of any presentations that you’d like to generate with Formstack Documents?


Show/Hide Slides with Logic

If you want to show or hide slides within your presentation based on logic/conditions, you can use a simple tag on your slide.  This tag is like other "if" statements in Formstack Documents, but we'll use "slideif" instead.  Like this:

{slideif !empty($BuyerInfo)} or {slideif $Amount >= 10000}


Was this article helpful?
4 out of 5 found this helpful


  • Hey Jeremy, is there a way of doing loops? E.g. multiple slides for 1-n records, or even multiple rows in a table within a PowerPoint presentation?

  • Hi Jame,

    Yes, you can use the {tablerow} loop tag to create multiple rows in a table. Unfortunately, we don't have a way to loop over multiple slides. Sorry!

  • Hi Jeremy,

    I am interested in your library. Could you please answer a few questions?
    1. I would like to show/hide different blocks depending on input parameters. Is there a way to show/hide blocks in pptx?
    2. Is it possible to move and resize a block according to the input parameters?
    E.g. is it posible to have parameters similar to the following ones?
    3. Does the system have any page count restrictions? Is it possible to create a report which contains 25 pages?
    4. Can I reuse a template of a page to create a few similar pages?

    Best regards, Igor K.

  • Hi Igor,

    1. Unfortunately there isn't a way to show/hide entire text boxes, but you could just add if statements inside a text box to show/hide certain text within that text box (block).

    2. Unfortunately, no way to dynamically resize the boxes. I would suggest setting up multiple slides with different layouts, then you can use {slideif} to hide the slides you don't want (based on logic)

    3. No page limits

    4. You'll just need to copy the template for your other documents. There's no way to automatically apply your template formatting to other documents.


  • Is it possible to create a new slide for each record in an incoming data source? If not, is there a way to create the slides manually but have then index into the appropriate record (e.g. slide #1 reads data from record #1, slide #2 reads data from record #2), ideally using a key lookup?

  • Hi Ramon,

    We do not have a way to dynamically add slides, but you can do it manually then reference the specific record fields like this:

    Slide 1:

    Slide 2:

    Then you an use "slideif" like this to hide the slides if that record doesn't exist (put this code in a text box on the slide):

    {slideif !empty($Orders.1)}

  • Thanks Jeremy. Is there a way to index them into records using a field key, rather than a numerical index?

  • Hi Ramon,

    Yes, you can use a key like this: {$Orders.Key.Name} (where "Key" equals your key value)

  • How could I show/hide an entire PPT slide if $field contains "xyz"? Do you have a reference doc for conditional syntax?

  • Hi Aaron,

    You can use {slideif} like this:

    {slideif strstr($field, "xyz")}

    Just put that in it's own text box on the slide :)


Please sign in to leave a comment.