Create Microsoft PowerPoint Presentation from Template
Creates a PowerPoint presentation (.pptx) from a template by filling in placeholders with dynamic values.
Transform your static PowerPoint presentations into dynamic, data-driven templates that automatically populate with information from your workflows.
With Cassidy's PowerPoint presentation templates, you can:
Generate personalized client presentations that pull account details from your CRM
Create dynamic Quarterly Business Reviews with usage metrics, feedback, and roadmap updates
Produce sales decks that automatically adapt content based on prospect requirements
Build executive summaries that populate with data from multiple business systems
Generate training materials with participant information and customized content
To explain how this feature works, we'll walk you through a specific example: creating a Quarterly Business Review (QBR) presentation that automatically fills in client information, product usage data, feedback insights, and roadmap updates based on your Workflow data.
How to create template placeholders in PowerPoint presentations
1. Text Placeholders - Insert Dynamic Content
Use these to insert text, numbers, or formatted content from your workflow data.
Syntax: {variableName}
Examples from our QBR template:
2. Conditionals - Show Content When Conditions Are Met
Use these to display sections only when certain conditions are true, or to show alternative content when conditions are false.
Syntax:
Standard:
{#if:conditionName}…{/if:conditionName}Inverse:
{^if:conditionName}…{/if:conditionName}
Example from our QBR template:
3. Loops - Repeat Content for Lists of Items
Use these to display repeating content for arrays of data within text boxes.
Syntax: {#loop:arrayName} … {/loop:arrayName}
Example from our QBR template:
4. Slide Controls - Show or Repeat Entire Slides
The unique PowerPoint feature that lets you control which slides appear and repeat slides for data lists.
Slide Conditionals
Use slide conditionals to show or hide entire slides based on your data:
Syntax: Add {%if:conditionName} anywhere in a text box on the slide to show that slide only when the condition is true.
Example from our QBR template:
Slide Loops - Repeat Slides for Data Lists
Use slide loops to create multiple slides from a single template slide:
Syntax: Add {%loop:arrayName} anywhere in a text box on the slide to repeat that entire slide for each item in the array.
Example from our QBR template:
Section Loops - Repeat Multiple Slides for Data Lists
Use section loops to create multiple sets of slides from a single section.
Syntax: In the left side panel, right click to "Add Section". Then include {%loop:arrayName} in your section name.
Example from our QBR template:
Understanding Variable Scope in Loops:
When you're inside a loop, you can access both properties of the current item and properties from outside the loop:
Properties of the current item - Use the field names directly like
{productName}and{usageMetrics}Properties from outside the loop - These remain accessible like
{clientName}
Data Needed For Loops
If your template has this loop:
{#loop:featureList}
▶ {featureDescription}
{/loop:featureList}
Your data must have an array that matches the properties exactly:
{
"featureList": [
{"featureDescription": "Advanced Analytics Dashboard"},
{"featureDescription": "Real-time Collaboration Tools"},
{"featureDescription": "Enhanced Security Features"}
]
}
How to set up and use Create Microsoft PowerPoint Presentation from Template action
Follow these steps:
Add a Create Microsoft PowerPoint Presentation from Template action: While editing a Workflow, click the plus button between existing blocks. This will open a modal where you can select from Cassidy's pre-configured actions. Choose the Create Microsoft PowerPoint Presentation from Template action to add it to your Workflow.
Rename the action (if needed): If you want to make the action more descriptive or easier to reference as a variable later, enter a new name.
Upload PowerPoint Template: Click to upload your PowerPoint presentation template (.pptx file) that contains placeholders for dynamic content.
Enter Output Presentation Name: Provide a name for your generated PowerPoint presentation. This will be the filename when the presentation is created. You can use variables from previous steps.
Variables are inputs from the trigger, or outputs from previous steps
Configure Template Fields: Under the Template Fields section, configure any field mappings using variables from previous Workflow steps or trigger inputs. For our QBR example:
{clientName}: This is a text placeholder that maps to your client company variable from your CRM data
{date}: Another text placeholder that maps to the QBR date variable
{objectives}: This is a loop which requires a list variable containing objects with "objectiveTitle" and "objectiveDescription" properties
{productsUsed}: This is a slide loop that maps to an array of products, creating separate slides for each product
{feedbackFound}: This is a conditional that controls slide visibility
{feedbackAuthor}: This is a text placeholder that maps to the person who provided feedback
{feedbackRole}: This is a text placeholder for the feedback author's role
{feedbackComment}: This is a text placeholder for the actual feedback content
{betaProgramMember}: This is a conditional that maps to a boolean variable to determine whether to show beta program messaging
Preview and download the presentation: After running the Workflow, you can preview the generated PowerPoint presentation and download it by clicking the icons next to the action in the results panel.
Optionally, attach the presentation to other actions: You can use the generated PowerPoint presentation as an attachment in other actions like Send Email. Simply reference the PowerPoint presentation output from this action when configuring email attachments.
Here's a sample of the type of output you can expect from our QBR example:
Troubleshooting
Tags not processed
If you see template tags in the final output, double-check that the names of your template tags match the names of your data fields exactly. For example, {clientName} in your template must correspond to the exact field name in your data.
Slides not appearing/repeating
Confirm
%if:conditions reference boolean values in your dataVerify
%loop:references array names that exist in your dataCheck that slide control tags are placed in text boxes (not in slide notes or other areas)


























