Can I create powerpint sldes inside n8n using python or anyother code?

I created some tables and plots using Python and HTML inside n8n.io using the Code node. Now, I want to generate PowerPoint slides (using code) with these tables and plots and send them via Gmail. Is this possible? Many Python libraries don’t work in n8n. If it is possible, what is the process, and which library should I use?

1. Python – python-pptx

  • Best for: General automation, templated presentations, and integration with data (e.g., Pandas, Excel, etc.).
  • Library: python-pptx
  • Pros:
    • Mature and actively maintained
    • Good for generating slides from structured data
    • Can manipulate text, images, tables, charts
  • Cons:
    • Limited in terms of animations and transitions

2. JavaScript/TypeScript – PptxGenJS

  • Best for: Web-based apps or frontend integrations
  • Library: PptxGenJS
  • Pros:
    • Lightweight and browser-compatible
    • Can be embedded in web apps
    • Supports charts, tables, images, and slide layout control
  • Cons:
    • Not as feature-rich as desktop libraries (e.g., animations, master slides are limited)

Nice, id like to know how you do this, I’ve used a few to generate powerpoints, but in n8n be interesting to know :slight_smile: thanks for sharing them libs too :slight_smile: watching post

I provided the links to the docs to each library for the how. You’re job will be to integrate what you have into the available areas of the framework to support your vision and needs. If you’re not a programmer then you will need to vibe code this or hire a developer. You crossed low code off the list once you mentioned code node and wanting a Power Point as output.

I did something similar when building a project report with a custom roadmap template in PowerPoint—wanted to automate slides from HTML tables and charts in n8n. Python libs like python-pptx didn’t work inside Code node, so I ended up creating a webhook to a small external Python service that builds the .pptx and sends it back. Then used n8n to email it via Gmail.

Not sure this will work in a more complicated powerpoint.
(no Python or code needed)

I test a solution likes:

  1. Create a slide in Google
  2. Extract to binary
  3. Convert back to .pptxt

Ane the simple scenario seems work