Back to Blog
Integration

How to Generate Presentations from AI Agent Output (Without the Formatting Work)

7 min read

Agents are good at the hard part — pulling data, spotting patterns, generating insight. What they're not built for is the last mile: turning raw output into something a stakeholder can actually read and act on.

Most pipelines still hand off to a human at that point. Someone exports the data, pastes it into slides, spends 30 minutes on formatting. That handoff is where time gets lost and errors get introduced — and it defeats most of the point of automating the analysis in the first place.

Encelade is a presentation generation API built specifically for this gap. Your agent does the analysis. One API call later, there's a polished, interactive deck with a shareable link. No formatting work. No templates to fill in. No file handling.


The problem with agent output

When an AI agent finishes a research task, the output is usually one of these: a JSON blob, a markdown document, a CSV, or a wall of text. Useful if you're a developer reading it directly. Useless if you need to walk a client through it or send it to a team that doesn't live in terminals.

The usual fix is a second prompt — ask another model to write slide content from the output, then paste it into a presentation tool and clean up the formatting manually. By the time it's presentable, you've added 20-40 minutes to a workflow that was supposed to be automated.

There's also a structural problem: most presentation tools expect structured input. Titles. Bullet points. Clean columns. If your agent output doesn't match that schema, you're preprocessing before you can even start — which means more code, more failure modes, more maintenance.

Encelade takes unstructured input. Raw text, spreadsheets, URLs, documents, or any combination. No preprocessing. No schema mapping. Send what your agent produced and let Encelade figure out the structure.


Generating a presentation from data: two paths

Depending on how your pipeline is built, there are two ways to connect Encelade to your agent workflow.

Path 1: Direct API (no MCP required)

If you're building with LangChain, CrewAI, a custom Python agent, or any stack that can make HTTP requests, the REST API is the simplest path. One POST request handles everything — narrative planning, slide structure, design, and generation.

curl -X POST \
  https://app.encelade.ai/api/public/v1/projects/generate \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "topic": "Q1 Performance Review",
    "outlineHints": [
      "Revenue growth by region",
      "Key product launches",
      "Customer acquisition metrics"
    ],
    "supportingMaterials": [
      {
        "type": "url",
        "url": "https://your-data-source.com/q1"
      },
      {
        "type": "text",
        "content": "EMEA grew 34% YoY..."
      }
    ],
    "verbosity": "balanced",
    "pageCount": "auto"
  }'

The API accepts up to 20 sources per call — raw text, URLs, DOCX, CSV, and XLSX files in any combination. It returns a session ID you poll until generation completes, or you register a webhook and get notified when the deck is ready. No polling required.

The output is a shareable URL — not a file, not a binary attachment. Just a link. Your agent can pass that link directly to whatever comes next in the workflow.

Verbosity, tone, and theme are all configurable per call. If you're generating a board-level summary you want something different from a detailed analyst report — both are one parameter change.

Path 2: MCP server

If you're working in an MCP-compatible environment — Claude, Cursor, or any agent framework with MCP support — the MCP server is the fastest integration.

https://www.encelade.ai/api/mcp

Add it to your agent's tool list and it can create and return a shareable deck as part of any tool-use workflow. No separate API calls, no context switching. The agent treats presentation generation as just another tool — which is exactly what it should be.


What the AI does with your data

Sending unstructured data and getting back a coherent deck isn't magic — but it does require the model to make editorial decisions that most presentation tools skip entirely.

Encelade plans the narrative before it writes a single slide. It identifies the headline metric, decides what supports it, sequences the argument, and only then generates content. The result is a deck that tells a story rather than just displaying data.

Here's a concrete example. We uploaded a spreadsheet with eight quarters of SaaS metrics — ARR, MRR, customer count, NRR, CAC, LTV, product usage, burn rate. Four sheets, mixed formats, percentage strings next to integers. One instruction: "Analyse the spreadsheet and create a deck based on the findings."

The output was a seven-slide deck that correctly identified the headline story (225% ARR growth), built a narrative arc from starting point to trajectory, pulled accurate numbers into charts, and closed with a CTA. No schema mapping. No post-processing. The kind of output you'd hand to a client without editing it first.

That's not what you get if you ask a general-purpose model to "make slides from this data." It's what you get from a system designed specifically to turn data into presentation narratives.


Feed it anything

One of the more practical things about the API: you're not limited to clean data sources. Encelade accepts:

  • Raw text — meeting notes, research summaries, analyst reports, anything free-form
  • Spreadsheets — CSV and XLSX files are parsed automatically; data gets visualized as charts and key metrics
  • URLs — point to web pages, articles, or data endpoints; Encelade fetches and extracts the relevant content
  • Documents — DOCX and TXT files uploaded directly
  • Combinations — up to 20 sources in a single call, mixed types

The practical implication: your agent doesn't need to clean or normalize its output before passing it to Encelade. If it scraped a URL, pass the URL. If it generated a report as text, pass the text. If it produced a CSV, pass the file. The preprocessing happens inside Encelade, not in your pipeline.


The output is interactive, not static

This is the part that matters for the person who receives the deck.

Encelade presentations are web-native. The recipient opens a link in their browser — no downloads, no PowerPoint, no PDF viewer. The deck loads as an interactive document: charts animate, data widgets are live, 3D elements are rotatable.

If they want to make edits, every element is live. Drag something and the layout adjusts in real time — text reflows, spacing adapts, the slide stays balanced. Tweaking takes seconds, not a redesign session.

For agent-generated output specifically, this matters because the first draft is rarely perfect. The AI might emphasize the wrong metric, or your stakeholder has a different framing in mind. An editable web-native deck means they can fix that themselves in 30 seconds rather than sending it back to the pipeline.


Automating the full loop

Most agentic workflows still have a human in the loop for presentation. The agent finishes, hands off to a person, the person builds the deck. That's the bottleneck this integration removes.

With Encelade in the pipeline, the agent completes the full cycle:

  1. Collect data from sources
  2. Analyse and generate insights
  3. POST to Encelade with the output
  4. Receive a shareable presentation URL
  5. Deliver the link — to a Slack channel, an email, a CRM record, wherever

No human required until someone opens the link and decides what to do with it. That's when human judgment actually matters — not during the formatting step.


Getting started

API documentation and code examples: encelade.ai/docs

MCP server and agent integration guide: encelade.ai/agents

Free plan available — no credit card required.

If you're building an agent pipeline and want to talk through the integration, book 30 minutes here.