# PowerPoint (PPTX)

Use this page when you want to design slides in Microsoft PowerPoint and generate a true `.pptx` presentation from Salesforce data.

A PPTX template is built in PowerPoint, then uploaded to S-Docs for generation.

Use it when slide design matters more than HTML layout or Word editing.

{% hint style="info" %}
Pick **PPTX** when you need presentation-style output, PowerPoint design tools, and bracket-based S-Docs syntax.
{% endhint %}

### When PPTX is the right fit

Use PPTX templates when you need:

* Microsoft PowerPoint slide design tools
* a generated `.pptx` file
* merge fields inside a presentation
* conditional sections in slides
* related list tables in PowerPoint tables
* named queries in Microsoft template syntax
* generation through **S-Docs LWCs** or the **SDK** with the newer upload flow

PPTX is a strong fit for sales decks, customer presentations, proposals, summaries, and slide-based exports.

### How PPTX templates work

The slide design lives in PowerPoint.

The dynamic data comes from S-Docs syntax placed inside the `.pptx` file.

PPTX templates use bracketed Microsoft template syntax around S-Docs blocks and merge fields.

{% code title="pptx-basic-syntax.txt" %}

```plaintext
[{{!Account.Name}}]

[<!--RENDER='{{!Opportunity.StageName}}' == 'Closed Won' -->]
  Closed-won summary
[<!--ENDRENDER-->]
```

{% endcode %}

### Quick visual examples

<figure><img src="/spaces/WKNnJmhJBQwhdk5WBFsi/files/7MceiIaWsGbk3evGZbNt" alt="PPTX merge field wrapped in square brackets" width="375"><figcaption><p>Wrap PPTX merge fields in square brackets.</p></figcaption></figure>

<figure><img src="/spaces/WKNnJmhJBQwhdk5WBFsi/files/LQjAT9DU3taUhhYqbBCa" alt="PPTX named query output fields wrapped in square brackets"><figcaption><p>For Named Queries, wrap named query output fields in square brackets too.</p></figcaption></figure>

<figure><img src="/spaces/WKNnJmhJBQwhdk5WBFsi/files/4TcTAhxk9MQ4aqKJHpOe" alt="PowerPoint table with header row odd row and even row"><figcaption><p>Build PowerPoint tables with a header row, an odd row, and an even row.</p></figcaption></figure>

### Conditional logic

Use conditional logic when slide content should appear only for certain records.

PPTX conditional logic uses the same `RENDER` model as other Microsoft templates.

Wrap both the opening and closing tags in square brackets.

{% code title="pptx-render-block.txt" %}

```plaintext
[<!--RENDER='{{!Contact.Phone}}' != 'NULL' -->]
  Phone: [{{!Contact.Phone}}]
[<!--ENDRENDER-->]
```

{% endcode %}

Keep merge fields inside rendered content in square brackets too.

Use the same operators you use in standard S-Docs conditional logic.

{% code title="pptx-render-operators.txt" %}

```plaintext
[<!--RENDER=( ('{{!Account.BillingState}}' == 'CA' || '{{!Account.BillingState}}' == 'NV')
             && '{{!Account.Active_Contract__c}}' == 'True' ) -->]
  Regional account with active contract
[<!--ENDRENDER-->]
```

{% endcode %}

Nested render blocks work too.

{% code title="pptx-render-nested.txt" %}

```plaintext
[<!--RENDER='{{!Opportunity.StageName}}' == 'Closed Won' -->]
  Congratulations on your purchase.
  [<!--RENDER1='{{!Opportunity.Install_Date__c}}' != 'NULL' -->]
    Installation is scheduled for [{{!Opportunity.Install_Date__c}}].
  [<!--ENDRENDER1-->]
[<!--ENDRENDER-->]
```

{% endcode %}

Common fixes:

* If the block prints as text, add square brackets around both `RENDER` tags.
* If a field inside the block stays blank, wrap that merge field in square brackets too.
* If the condition never matches, verify the field path and comparison value.

{% hint style="info" %}
Starting with S-Docs Summer '25 (`v10.0`), PPTX generation uses Salesforce Compression functionality.

This improves consistency, file handling, and performance for the newer Microsoft template upload flow.
{% endhint %}

### Supported features

PPTX templates support these common S-Docs capabilities:

* merge fields
* conditional logic
* named queries
* related list tables
* images and slide-native PowerPoint formatting

### Important constraints

Keep these PPTX rules in mind:

* Live Edit is not supported.
* Template headers and footers are not supported.
* Component templates are not supported.
* S-Sign is not supported.
* Related list tables cannot span multiple pages or slides.
* Templates uploaded through the legacy Template Editor have an approximate limit of **10 slides**.

### Next reads by goal

* Need the build steps? Read [Build and Upload a PPTX Template](/sdocs/template-architecture/document-formats/pptx-format/build-and-upload-a-pptx-template.md).
* Need troubleshooting? Read [Troubleshoot PPTX Generation](broken://spaces/WKNnJmhJBQwhdk5WBFsi/pages/oHOjBkHQcTceCbxsE9iL).
* Need table wrapper syntax? Read [Related List Structure In Microsoft Templates (DOCX, PPTX, XLSX)](broken://spaces/WKNnJmhJBQwhdk5WBFsi/pages/47d7aeb4bb2b144961088cfdf431dc82e5549990).
* Need table setup examples? Read [How to: Create a Table In Microsoft Templates (DOCX, PPTX, XLSX)](/sdocs/advanced-template-logic/related-lists/how-to-create-a-table-in-microsoft-templates-docx-pptx.md).
* Need conditional syntax? Read [Conditional Logic In Microsoft Templates (DOCX, PPTX, XLSX)](broken://spaces/WKNnJmhJBQwhdk5WBFsi/pages/Tm6hjFlwwkYPXtXjpGbi).
* Need named query syntax? Read [Named Queries In Microsoft Templates (DOCX, PPTX, XLSX)](broken://spaces/WKNnJmhJBQwhdk5WBFsi/pages/aqrFMMmbfsrmI8OD34jb).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.sdocs.com/sdocs/template-architecture/document-formats/pptx-format.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
