Deck generated from data
A spreadsheet or query becomes a cover, one slide per region, client or project and a summary, with native charts (add_chart), tables and the layout of the brand template.
Octo for PowerPoint presentations
A .pptx is a package of XML parts: slides, layouts, masters, theme, charts with the embedded spreadsheet and speaker notes. Octo generates entire presentations from a spreadsheet or a database, with native, editable charts, rebrands a whole collection through the theme and the logo, flags images without alt text and exports to PDF, checking one page per slide. Numbers, brand, sending and publishing stay with whoever answers for them.
Six possible deliverables, drawn from the research. All of them work on a copy, all of them log what was done file by file, and all of them go to review by whoever answers for the content and the brand.
A spreadsheet or query becomes a cover, one slide per region, client or project and a summary, with native charts (add_chart), tables and the layout of the brand template.
Each generated slide carries in its notes the source of the numbers, the calculated variance and the owner's remark: a script for the presenter, a trail for the reviewer.
Deliverable: filled notes and an audit of slides without notesTheme colors and fonts (a:clrScheme, a:fontScheme) and the logo, found by hash, replaced in copies of hundreds of files; color painted by hand goes to the report.
Reads the ZIP of each .pptx without opening PowerPoint: slides, hidden ones, unused layouts, off-brand fonts and metadata with people's names.
Images without alt text (empty descr), slide by slide. The text is written by whoever knows the content; Octo shows where it is missing.
Exports through Graph (up to 2 MB), through PowerPoint on a workstation with a user session or through LibreOffice, and checks pages against visible slides, with a thumbnail to look at.
Deliverable: PDFs, thumbnails and an export logThe same Octo cycle, applied to presentations. Each arm has a narrow role; the ones who answer for the numbers, the brand and what leaves the company are people.
Collection, templates, layouts and themes in use, installed PowerPoint versions and where the files live.
Which spreadsheet or database each indicator comes from, how often and who answers for it.
Minimum permissions in Graph, token outside the script, spreadsheets embedded in charts and metadata reviewed (LGPD).
A file library to generate and audit; PowerPoint, Graph or LibreOffice to render; Office.js inside the open file.
Generators and auditors that don't overwrite, with a report file by file and the source of the syntax noted.
Numbers against the source, pages against slides, thumbnails before and after. "The command exited 0" is not a check.
Delivers the deck, the copies with the new brand and the PDFs. Sending, sharing and publishing are up to a person.
Template version, brand applied, who approved, what was left for manual correction and how to redo it.
Octo works on copies. It does not approve content, does not decide the brand, does not send presentations outside, does not publish to portals and does not replace the originals on its own.
The criteria Octo uses to choose: generate and audit in the file, render with a declared renderer, store and share through Graph with minimum permission.
| Task | Path | Notes |
|---|---|---|
| Generate a deck from data | python-pptx + brand template | Native, editable chart; template with no slides |
| The same in .NET | Open XML SDK 3.5.1 | Also deletes and reorders slides |
| Inventory the collection | ZIP + XML directly | Real order in p:sldIdLst, not in the file name |
| Change the brand | Theme (a:clrScheme, a:fontScheme) + logo by hash | Fixed color on the slide goes to the report |
| Convert to PDF in the cloud | Graph ?format=pdf | Up to 2 MB per file; delegated Files.Read |
| Faithful PDF and PDF/A | COM: ExportAsFixedFormat | Workstation with a user session; unattended, Microsoft does not support it |
| Thumbnail per slide | COM Slide.Export, or PDF + pdftoppm | For review and catalog |
| Convert outside Windows | soffice --headless --convert-to pdf | Fidelity to be checked file by file |
| Act on the open file | Office.js, PowerPointApi 1.1 to 1.10 | LTSC 2024 only goes up to 1.5 |
| Office Scripts-style automation | Does not exist for PowerPoint | Office Scripts are Excel only |
Three steps. Each one only makes sense after the previous one has shown results on your team.
A proposal, not a promise
Octo shows what is in the presentations and what is off standard, without writing anything.
The recurring report comes from the source, in the brand template, with notes that say where each number came from.
Brand, accessibility and export handled in batch, with copies, approval and checks.
Every point below has a source published by Microsoft (Learn and Support), by the package's official repository (PyPI, NuGet, PowerShell Gallery) or in Brazilian federal law. The examples are scripts to follow, not runs. The sources are in the next section.
5
points with a published source, each with its reference shown alongside.
?format=pdf accepts ppt, pptx, pps, ppsx and odp; the page says the conversion limit is 2 MB per file.Source: learn.microsoft.com, driveitem-get-content-formatPowerPointApi 1.5.Source: learn.microsoft.com, lifecycle and requirement setsOcto prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.
Surveys, organizes and produces the files: documents, spreadsheets, presentations, schedules, inventories and check reports, on file and through the APIs, without sending or publishing anything.
Deliverable: material ready to checkWhoever is accountable for the document, the spreadsheet or the schedule checks what Octo delivered before approving. If something doesn't add up, it goes back to Octo with the correction.
Step: checked by the person accountableOcto does not sign, approve or send. The document owner reviews and signs; the project manager approves the baseline; the Microsoft 365 administrator grants consent for permissions; the data protection officer approves anything that goes out with personal data.
Approval: document owner and 365 administratorDocumentation from Microsoft (learn.microsoft.com and support.microsoft.com), python-pptx, the Open XML SDK, Ecma International and LibreOffice, consulted on Oct 30, 2026.
The assessment starts with a read-only inventory of the collection and the templates. You get what is off brand, what is missing for accessibility and which reports can come straight from the data, and you decide with your team what comes first.