PPTX Generate Tools
Generate PowerPoint (.pptx) presentations server-side and return them as base64.
The PPTX Generate provider builds a PowerPoint (.pptx) presentation entirely server-side and returns the file as a base64 string. Use it in a workflow when an upstream step (for example an agent or a function block) has produced slide content and you want to hand the user a downloadable presentation.
This tool runs locally through Zelaxy's directExecution path using the pptxgenjs library — it does not call an external API and requires no credentials.
Overview
| Property | Value |
|---|---|
| Provider | pptx-generate |
| Category | tools |
| Auth | none (runs server-side, no API key) |
Operations
| Operation | Tool ID | Description |
|---|---|---|
| Generate PPTX | pptx_generate | Generate a PowerPoint (.pptx) presentation from line-based text or a JSON array of {title, body} slides. Returns the file as base64. |
Configuration
pptx_generate
| Parameter | Type | Required | Description |
|---|---|---|---|
slides | string | Yes | Slide content. Either one slide per line (each line becomes a slide title), OR a JSON array of objects like [{"title":"Intro","body":"Welcome"}]. When a JSON array is provided, each object may contain a title and/or a body. |
title | string | No | Presentation title. Used only to build the suggested filename (<title>.pptx). Defaults to presentation when omitted. |
Both parameters use user-or-llm visibility, so they can be supplied directly by the user or generated by an LLM upstream. No secret/API-key parameter exists for this tool.
Parsing behavior (from the implementation):
- If
slidesstarts with[, it is parsed as JSON. Each array item that is an object contributes a slide with optionaltitleandbody; non-object items become a slide whosebodyis the stringified value. - Otherwise (or if JSON parsing fails),
slidesis split on newlines; each non-empty line becomes a slide whosetitleis that line. - If
slidesresolves to zero slides, a single fallback slide is emitted usingtitle(or the literalPresentation) so the file is always valid.
Outputs
pptx_generate
base64(string) — Base64-encoded contents of the generated.pptxfile.filename(string) — Suggested filename for the PPTX (e.g.My Deck.pptx, orpresentation.pptxwhen no title is given).mimeType(string) — MIME type of the generated file:application/vnd.openxmlformats-officedocument.presentationml.presentation.
YAML Example
pptx_generate_1:
type: pptx_generate
name: "Generate PPTX"
inputs:
operation: "pptx_generate"
title: "Quarterly Review"
slides: '[{"title":"Q3 Highlights","body":"Revenue up 12%"},{"title":"Next Steps","body":"Expand to EU"}]'
connections:
outgoing:
- target: next-block-idReference the outputs downstream with double braces, e.g. {{pptx_generate_1.base64}}, {{pptx_generate_1.filename}}, and {{pptx_generate_1.mimeType}}.
Tips
- No credentials needed. This tool generates the file in-process and never makes an outbound HTTP request, so there is no API key, OAuth, or token to configure.
- Two input formats. For a quick deck, pass plain text with one slide title per line. For richer slides with body text, pass a JSON array of
{title, body}objects — body text is rendered below the title on each slide. - In the visual builder this lives in the Document Generator block (Format = "PPTX (PowerPoint)"); the same block also offers
pdf_generateanddocx_generate. Theoperationinput selects which generator runs. - Use the base64 output. The file is returned as
base64plus amimeType; feed these into a download/email/storage step rather than expecting a URL — the tool does not host the file anywhere.