Evaluates the PowerPoint content commands within the specified PPTX presentation. The result of the evaluation will be a copy of the PPTX presentation with whatever modifications the content commands caused.

Besides triggering content command evaluation, composePPTXContent acts a parent command for various commands that modify the higher-level structure of the presentation being composed. These commands are evaluated before the content evaluation occurs.

This command triggers an evaluation process specifically only for PowerPoint content commands, not the older shape tags produced through the Dynamo Office Add-in. Use the composeContent command for composing contents of legacy PPTX templates.

Child commands

  • evaluateTag
    Optional. Add one or more of these to limit the commands that are evaluated. 
  • mergePPTX
    Optional. One or more of these commands may be used to bring slides of other PPTX presentations into the composed presentation.
  • removeSlide
    Optional. One or more of these commands may be used to make slides present in the template presentation to not appear in the composed result.
  • repeatSlide
    Optional. One or more of these commands may be used to produce copies of an existing slide based on the data of a Collection.



Value type
Yes String
Defines the name of the variable placed into the variable context whose value is the evaluated presentation File.

Required Value type EL-evaluated
Defines the PPTX template whose content is evaluated.
Required Value type EL-evaluated
No String Yes
Defines a title for the composed PPTX presentation.

If undefined, the title of the File defined through template is used as the title.


Use the composePPTXContent command to produce dynamic PowerPoint output out of PowerPoint templates containing the appropriate content commands. You could can load the template from Salesforce to bring it into the variable context as a File, and then give the template to composePPTXContent.

<load var="ppFile" contentDocumentId="xxxx">
<composePPTXContent var="composedPPTX" template="${ppFile}" title="Presentation of Powerful Points">

This command also acts a parent command for various presentation-modifying commands that can alter the structure of the composed result. Combined with logic control commands like if and forEach, it is possible to modify the presentation quite heavily.

<composePPTXContent var="composedPPTX" template="${ppFile}" title="Presentation of Various Modifications">
  <removeSlide slide="5">
  <if test="${!includeSchedulePlan}">
    <removeSlide slide="2">
  <repeatSlide value="${items}" var="item" slide="3">
  <forEach value="${selectedAppendices}" var="appendix">
    <mergePPTX source="${appendix}" adaptive="${true}">