# PPTX Creator

The PPTX Creator block uses an AI presentation agent to write, render, and visually review a slide deck. You give it messages, a model, and optional style guidance. It saves an editable PowerPoint file to your workspace Docs and returns the file.

The PPTX Creator shares its controls with the [PDF Creator](/blocks/pdf-creator). It produces a `.pptx` deck instead of a PDF, and it has slide settings instead of page settings.

## Configuration Options

### Messages

The conversation the presentation agent receives. It is an ordered list of messages, each with a role (`system`, `user`, or `assistant`) and content. Use a system message for the audience and rules, and a user message for the content of the deck. At least one message is required.

Reference upstream data inside any message with the `<blockName.output>` syntax, for example `<agent.content>` or `<api.data>`.

### Style Guide

Optional brand, typography, color, and spacing guidance. The agent follows it when it designs the slides.

### Model

Type or select a model. Pick a vision-capable model when **Visual Review** is on, because the agent reviews rendered slide previews. The list is the same as the [Agent block](/blocks/agent#model). The same **API Key** and **Provider Credentials** fields appear for the provider you choose.

### Skills

Attach [Agent Skills](/skills) from your workspace. The agent receives the list of attached skills and loads the full instructions of a skill when it decides the skill is relevant.

### File Name

The name of the deck in your workspace Docs. The default is `generated-document.pptx`. If you omit `.pptx`, SteelEngine adds it. The name may not contain slashes and is limited to 255 characters.

### Advanced

* **Reasoning Effort**, **Verbosity**, **Thinking Level**, and **Temperature**: The same model controls as the Agent block. Each appears only for models that support it.
* **Max Output Tokens**: Maximum tokens per model call. Default 16,384.
* **Slide Layout**: &#x2A;*Widescreen (16:9)** (default), &#x2A;*Standard (4:3)**, or &#x2A;*Widescreen (16:10)**.
* **Max Slides**: The most slides the deck may have, from 1 to 20. Default 5.
* **Visual Review**: Lets the agent preview the rendered slides before it submits. Default on.

## How It Works

1. The agent reads your messages and style guide and writes the slide definitions as code.
2. With **Visual Review** on, it can compile and preview the deck up to two times and revise the slides.
3. The agent submits the final deck. SteelEngine compiles it and checks the slide count.
4. SteelEngine saves the `.pptx` file to your workspace Docs and the block returns the file.

The result is a real PowerPoint file. Text, shapes, and layout stay editable in PowerPoint and other tools that open `.pptx` files. The agent is told the **Max Slides** limit and never creates more slides than that.

Generation runs as a durable job on the Temporal Worker. The block waits for the job and returns when the file is saved.

## Outputs

* **`<pptx.fileId>`**: The workspace file ID
* **`<pptx.fileName>`**: The saved file name
* **`<pptx.mimeType>`**: `application/vnd.openxmlformats-officedocument.presentationml.presentation`
* **`<pptx.file>`**: The workspace doc with `id`, `name`, `size`, `folderId`, and `url`
* **`<pptx.model>`*&#x2A;, &#x2A;*`<pptx.tokens>`*&#x2A;, &#x2A;*`<pptx.cost>`**: The model used and its token and cost usage, as on the Agent block
* **`<pptx.toolCalls>`*&#x2A;, &#x2A;*`<pptx.providerTiming>`*&#x2A;, &#x2A;*`<pptx.interactionId>`**: Preview and submit calls, timing, and the provider interaction ID

Pass `<pptx.file>` to a block that sends files, or reference `<pptx.file.url>` to link to the deck.

## Example Use Cases

**Weekly Update Deck** - Summarize metrics into a short presentation

```
Schedule → Table (Query KPIs) → Agent (Write talking points) → PPTX Creator → Slack (Post deck)
```

**Sales Pitch From a Brief** - Turn a client brief into a branded deck

```
Start (Brief) → PPTX Creator (Style Guide: brand) → Gmail (Send to rep)
```

**Meeting Recap** - Convert a transcript into recap slides

```
Webhook (Transcript) → Agent (Extract decisions) → PPTX Creator → Response
```

## Best Practices

* **Give one message per slide idea**: List the points you want covered so the agent can map them to slides
* **State the audience in the system message**: Tone, depth, and slide density follow from it
* **Use the Style Guide for design**: Put colors, fonts, and logo guidance there rather than in the content
* **Match Max Slides to the meeting**: Five slides is the default. Raise it up to 20 for longer decks
* **Send the file downstream**: Use `<pptx.file>` with an email or chat block, or store `<pptx.file.url>`

## Common Questions

**Where does the generated deck go?**

SteelEngine saves it to your workspace Docs under the File Name you set, with the .pptx extension. The block returns the file's id, name, size, folder, and url in the file output.

**Can I edit the slides afterwards?**

Yes. The output is a standard PowerPoint file, not an image or a PDF. Open it in PowerPoint or any tool that opens .pptx files and edit text, shapes, and layout.

**Which model should I pick?**

Any model from the Agent block list works for composing the deck. When Visual Review is on, choose a vision-capable model, because the agent inspects rendered slide previews. The same provider credential fields apply.

**Can the agent use tools or embed images?**

The presentation agent can load workspace Skills but does not run Agent tools. Unlike the PDF Creator, it has no Images field. Describe the visuals you want and the agent builds them from shapes and text.

**How many slides can it create?**

Between 1 and the Max Slides value, which defaults to 5 and can be raised to 20. The agent is told the limit and plans the deck around it.

**How is the block billed?**

Like an Agent block: the model's input and output tokens are billed at the provider's rates, plus the base execution charge. The tokens and cost outputs report the usage for the run.
