Obsidian Notes to Personalized Podcast Feed Generator - n8n Workflow

Learn how to use this versatile n8n workflow template to automatically convert Obsidian notes into ready-to-listen MP3 audio using OpenAI TTS, dynamically host the file, and serve it via a standard RSS podcast feed.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

Knowledge workers and students who use Obsidian for note-taking.
Users who prefer consuming their long-form notes via audio (e.g., while driving or exercising).
Developers looking for advanced n8n templates integrating AI, hosting, and dynamic RSS generation.
Anyone needing a robust, self-hosted 'text-to-podcast' solution built entirely on n8n.

Overview

The challenge for modern knowledge management is transforming static text into flexible, multi-modal formats. This powerful n8n workflow solves this by instantly converting selected Obsidian notes into high-quality, read-aloud audio episodes, packaged as a standard podcast feed compatible with Apple, Google, and Spotify.

The workflow operates in two distinct halves: the Episode Creator and the Feed Generator. When a note is submitted, the n8n workflow simultaneously uses the OpenAI n8n node for Text-to-Speech (TTS) conversion and a separate GPT model to write a compelling episode description. The resulting audio is stored on Cloudinary, and all metadata is logged in Google Sheets. The second part is a persistent n8n trigger (a dedicated webhook) that, when accessed by a podcast app, dynamically reads the latest episodes from Google Sheets and constructs the real-time RSS feed XML, making this a truly dynamic content pipeline.

How it Works

This n8n workflow is initiated by one of two webhook triggers:

1. Episode Creation (Obsidian Submission)


  1. Obsidian Trigger: The 'Webhook GET Note' n8n trigger listens for a POST request from the Obsidian Post Webhook plugin, receiving the note's content and filename.

  2. Parallel AI Processing: The flow splits immediately:

One branch uses the 'OpenAI1' n8n node (TTS resource) to convert the note content into a binary MP3 file.
The second branch uses the 'OpenAI' n8n node (Chat model, GPT-4o-mini) with a system prompt to generate a 50–150 character summary description.

  1. Audio Handling & Return: The binary audio is given a unique timestamp filename ('Give Audio Unique Name') and is immediately returned to the Obsidian client via the 'Send Audio to Obsidian' node.

  2. Cloud Hosting: The audio is uploaded to Cloudinary ('Upload Audio to Cloudinary') which provides the publicly accessible URL and duration metadata required for the RSS feed.

  3. Data Consolidation: The results from the two AI nodes (description) and Cloudinary (URL, duration) are combined using the 'Merge' and 'Aggregate' n8n nodes.

  4. Metadata Logging: The data is renamed and formatted ('Rename Fields') and then permanently stored as a new row in a designated Google Sheets document via the 'Append Item to Google Sheet' n8n node.

2. RSS Feed Generation


  1. Podcast Trigger: The 'Webhook GET Podcast Feed' n8n trigger is the public URL accessed by podcast applications.

  2. Data Retrieval: The flow pulls all episode metadata from Google Sheets using the 'Get Items from Google Sheets' n8n node.

  3. Static Metadata: Static podcast details (Title, Author, Cover Image URL, etc.) are injected using the 'Manually Enter Other Data for Podcast Feed' set n8n node.

  4. XML Generation: The 'Write RSS Feed' code n8n node processes both the dynamic episode data and the static metadata to construct the necessary RSS 2.0 XML structure.

  5. Output: The final XML feed is returned to the requesting webhook via the 'Return Podcast Feed to Webhook' n8n node, successfully serving the dynamic podcast feed.

Installation Guide

To deploy and utilize this advanced n8n workflow template, follow these steps:


  1. Import: Copy the entire n8n workflow JSON and import it into your n8n instance.

  2. Obsidian Setup:

Install the Obsidian Post Webhook Plugin.
Activate the 'Webhook GET Note' n8n trigger and copy the Test or Production URL.
Paste this URL into the Obsidian plugin settings.

  1. Credential Configuration: You must set up three critical credentials:

OpenAI: Configure the OpenAI account (ID: q8L9oWVM7QyzYEE5) for both the TTS ('OpenAI1') and the description generation ('OpenAI').
Cloudinary: Configure a Generic HTTP Custom Auth credential (ID: DHmR14pD9rTrd3nS) and update the URL in the 'Upload Audio to Cloudinary' n8n node with your specific cloud environment name (CLOUDINARY_ENV).
Google Sheets: Configure the Google Sheets OAuth2 API account (ID: 3Pu0wlfxgNYzVqY6) and select your target spreadsheet and sheet name for episode storage.

  1. Podcast Metadata: Open the 'Manually Enter Other Data for Podcast Feed' n8n node and customize the podcastTitle, authorName, baseUrl, and coverImageUrl fields.

  2. Activate: Save and activate both parts of the n8n workflow to enable audio processing and feed generation.

Node Details

This intricate n8n template relies on several core and community n8n node types:

Webhook GET Note (n8n Trigger): Primary entry point for note conversion. It uses a POST method to receive text content from Obsidian.
OpenAI1 (OpenAI n8n Node): Configured for Text-to-Speech (TTS). It takes the note content and generates an MP3 binary file using the audio resource type. This is crucial for the audio quality of the n8n workflow.
OpenAI (OpenAI n8n Node): Configured for Chat completions (GPT-4o-mini). It generates a concise, 50-150 character description used as the podcast summary.
Upload Audio to Cloudinary (HTTP Request n8n node): Handles file storage. It uploads the MP3 binary using multipart-form-data and retrieves essential metadata like the permanent public URL and file duration.
Append Item to Google Sheet (Google Sheets n8n Node): Stores episode records (title, link, duration, description). This serves as the simple database for the dynamic feed.
Webhook GET Podcast Feed (n8n Trigger): Secondary entry point. This GET webhook is the public RSS feed URL that podcast aggregators subscribe to.


  • Write RSS Feed (Code n8n Node): The central logic component. It dynamically iterates over all retrieved Google Sheets items, embeds manually set metadata, and generates the final RSS 2.0/iTunes XML response. This complex n8n node ensures the feed structure is valid.

Related n8n Workflows

Free

Nodes: 10 Nodes
Updated: December 26 2025
View all
Created by
Obsidi8n
Obsidi8n

Featured*