Make PowerPoint: generate editable .pptx slides and decks from any scenario

Updated 2026-09-13 · ~6 min read · Guide

SlideForge is a published Make app that turns the data already moving through your scenario into native, editable PowerPoint — real text boxes, tables and chart shapes in a .pptx, not a picture of a slide. A webhook, a spreadsheet row or an array of slides goes in; a finished file comes back in about a second as an attachment the next module can email or upload. No model draws the slide, so your numbers arrive exactly as you sent them.

TL;DR

  • Install: open the invite link and pick your organization. One click, nothing to download.
  • Connect: paste a key from Console → API Keys. 60 free slides, no card.
  • Four modules: a slide from a brief, a slide bound to a layout, a whole deck, and a universal API call for everything else.
  • Honest failure: a render that cannot produce a real file fails the module with the fix in the message — never a silent empty attachment.
  • $0.05 per completed slide, on every path. Make's own operations are billed separately by Make.

Add the app to your organization

SlideForge is published on Make and installs from a link. Sign in to Make, open the invite URL, and choose the organization you want it in:

https://www.make.com/en/hq/app-invitation/0b6c7fae701abd15f1f143d79e19d764

The app then sits under Custom Apps in the sidebar and in the module search of every scenario in that organization. Add a module, search SlideForge, and pick what you want to build.

Why a link and not the app directory

The app is finished and published; what is still pending is Make's review, which is what puts an app in the public directory. That is a listing step, not a capability step — the link installs exactly the four modules the directory will serve later, from the same published app. When the listing goes live, this page will point at it instead.

Connect your account

The first SlideForge module you add asks you to create a connection. Create a key at slideforge.dev/console/keys (it starts with sf_live_) and paste it in. The key is checked against your account on the spot, the connection labels itself with your account email so you can tell two accounts apart later, and the key is stripped out of Make's execution log. This is the one step that has to happen in the browser — Make does not allow connections for custom apps to be created over its API. New accounts start with 60 free slides, no card.

The four modules

Create a Slide From a Brief

Plain text in, one slide out — SlideForge chooses the layout and binds your wording and figures verbatim. Author Missing Figures is on by default, so anything the chosen layout still needs is authored and flagged rather than left blank. Turn it off and such a brief is refused instead.

Create a Slide From a Layout

You name the layout and supply the fields: Headline, Context, a Blocks array, or Data (JSON). The same input always produces the same slide, which is what a scheduled scenario wants.

Create a Deck

A Slides (JSON) array rendered in one call and merged into a single file, in the order you supply. Each entry is either a layout slide or a brief slide.

Make an API Call

Any SlideForge endpoint by path, for the parts not yet wrapped in a module — converting a PDF or an image into editable slides, translation, account and job queries. The host is fixed in the app, so the URL field is a path and your key cannot be pointed somewhere else.

The three render modules also take a Brand Kit (your own, from Console → Brands, or a built-in theme), a Language, and Styling and Imagery options. Every layout and the exact fields it binds are listed in the layout catalog.

Getting your rows onto the slide

Create a Slide From a Layout takes repeating content two ways, and which one you need depends on whether your rows carry figures.

  • Blocks — Make's array editor, with Label, Sub and Detailper row. Map your trigger's fields straight onto it for agenda rows, card grids and list items.
  • Data (JSON)— for anything with values and deltas, such as a KPI board or a funnel. Make's array editor has no value or delta column, so those go in as JSON. Build it with an expression or a Set variable module.

A KPI board is the second shape. Four metrics into Data (JSON):

{
  "metrics": [
    { "label": "Revenue",       "value": "$4.2M", "delta": "+12% QoQ" },
    { "label": "Gross margin",  "value": "71%",   "delta": "+3 pts" },
    { "label": "Net retention", "value": "118%",  "delta": "+6 pts" },
    { "label": "Payback",       "value": "11 mo", "delta": "-2 mo" }
  ]
}

With Layout kpi_metrics and a headline, that is the slide that comes back:

A KPI slide rendered by SlideForge from a Make scenario: revenue $4.2M up 12% QoQ, gross margin 71%, net retention 118%, payback 11 months

Every figure on it is the string that came out of the scenario. Nothing rounded it, reworded it or re-typed it. One field is worth knowing about: Slide Name names the downloaded file and prints as the small footer line at the bottom of the slide — it reads Quarterly business review above. Leave it empty and the headline is used instead.

What the module hands the next module

  • PowerPoint File (.pptx)The editable deck, as an attachment the next module can use.
  • Statuscomplete, or the run failed before this point.
  • Fidelityverbatim, mixed or ai_completed — what actually made it onto the slide.
  • Layout / Layout VariantWhich form rendered, and which variant of it.
  • Cost (USD) / BilledWhat this render cost, and whether it was charged at all.
  • Blocking Errors / WarningsCounts you can branch a Router on.
  • File Kept UntilThe exact expiry — files are kept for 30 days.
A Make scenario run showing the SlideForge input bundle with layout kpi_metrics and Data JSON, and the output bundle with the .pptx, status complete, fidelity verbatim and cost 0.05

The .pptx is a real attachment, so a Gmail or Slack module can send it with no download step in between. It is fetched with your own key while the scenario runs — no public link is ever minted.

Two of those outputs are worth a Router or Filter. Fidelity tells you whether everything on the slide came from you (verbatim) or whether the layout needed something you did not supply and it was authored for you (ai_completed). Warnings counts the non-blocking notes on the render, such as a layout that placed fewer items than you sent. Branch on either and the scenario will not mail a deck it cannot vouch for.

When it cannot render, it says so

A render that cannot produce a usable file fails the module, carrying SlideForge's own explanation and the HTTP status — a schema violation comes back as [422] naming the field, an empty balance as [402]. It does not succeed quietly with an empty attachment. In an automation that matters more than it sounds: a failed run is visible in the execution history and can notify you; a blank deck in a client's inbox is not visible until someone opens it.

The one place this is softened on purpose is Create a Slide From a Brief. A scenario has no one to ask when a layout needs a figure the brief never mentioned, so Author Missing Figures is on by default: the missing part is authored and disclosed in Fidelity and the warning count rather than hidden. Turn it off and such a brief is refused instead, with the fix in the message.

What it does not do yet

  • No trigger and no search module. Nothing in SlideForge is a natural polling source. SlideForge is what a scenario does at the end, not what starts it.
  • No PDF or preview-image output. Make runs every request in a module on every execution, so returning those files would generate and bill them whether or not anyone wanted them. Only the .pptx comes back.
  • No dedicated module for PDF and image conversion, or translation. All three work today through Make an API Call, and get their own module when someone asks.

If one of those is what you need, say so — the order this gets built in follows what people actually ask for.

The app, MCP, or the REST API

Same engine, same $0.05 per slide, three ways in from Make. The app is the one to use when the data already lives in a scenario. Make is also an MCP client — under AI Agents → MCP you can point an agent at the SlideForge MCP server and let it browse the catalog and choose the layout itself. And the REST API is the same contract from an HTTP module, with more plumbing.

If your automation platform is n8n or Zapier rather than Make, there is a community node and a Zapier integration covering the same ground.

Frequently asked questions

Can Make generate PowerPoint files?

Yes. Add the SlideForge app to your Make organization and any scenario can render native, editable .pptx — real text boxes, tables and chart shapes, not a screenshot wrapped in a slide. The file arrives on the module as an attachment, so the next module can email it, upload it to Drive, or post it to Slack with no conversion step in between.

How do I install the SlideForge app in Make?

Open the invite link while signed in to Make and choose the organization to add it to. The app appears under Custom Apps and in the module search of every scenario in that organization. There is nothing to download and no self-hosted instance involved. The app is published, so the link works for anyone, not only for invited testers.

Why is SlideForge not in Make's app directory yet?

It is published and waiting on Make's review queue, which is what puts an app in the public directory. Review is a listing step, not a capability step: the app itself is finished, published and in use, and the invite link installs exactly the same four modules the directory will serve later. When the listing goes live this page will point at it instead.

Where do I get a SlideForge API key for Make?

Sign up at slideforge.dev and open Console → API Keys. The key starts with sf_live_. In Make, the first SlideForge module you add asks you to create a connection: paste the key once. It is checked against your account immediately, the connection labels itself with your account email, and the key is stripped out of Make's execution logs. New accounts include 60 free slides with no card.

Can Make turn spreadsheet rows into a slide?

Yes. Repeating content that is plain text — agenda rows, card grids, list items — maps onto the Blocks array with Label, Sub and Detail. Anything carrying figures, such as KPI values and their deltas, goes into the Data (JSON) field, because Make's array editor has no value or delta column. A Set variable module or an inline expression builds that JSON from your trigger's fields.

Does a model draw the slide?

No. Nothing in the render path passes through a language model, so a figure cannot drift on its way to the slide. The same input renders the same slide, which is what makes a scheduled scenario reproducible. Create a Slide From a Brief does use a model to read your brief and choose a layout, but the figures you wrote are still bound verbatim, and the response reports it field by field.

What happens if the slide cannot be rendered?

The module fails with SlideForge's own explanation of what to change, carrying the HTTP status in the message. It never succeeds with an empty or placeholder file. A failed scenario run is visible in the execution history and can be set to notify you; a blank deck in a client's inbox is not visible until someone opens it. A render that is not complete is also never billed.

What does it cost to generate slides through Make?

$0.05 per completed slide, the same on every path — Make, MCP, or the REST API. No subscription and no per-seat fee. A render that is not complete costs nothing, and an identical repeat render is free. New accounts start with 60 free slides. Make charges its own operations separately: each module run is one operation on your Make plan.

Is there a SlideForge trigger for Make?

No, deliberately. Nothing in SlideForge is a natural polling source, so a trigger would exist only to fill out the module list. SlideForge is what a scenario does at the end — after the webhook, the schedule or the spreadsheet row that started it.

Can I use my own brand colours and fonts?

Yes. Upload a .pptx template or design tokens once at slideforge.dev/console/brands and your brand kit is available in the Brand Kit field on every module. Set it and the deck renders in your fonts and colours instead of the default theme.

Put a real deck at the end of your scenario

Add the app, paste a key, and the next run sends an editable .pptx. 60 free slides, no card.