Obsidian Notes to Podcast AI Agent
Integrates with:
Overview
Unlock Effortless Content Repurposing with this AI Agent
This AI Agent transforms your written notes from Obsidian into engaging, listenable podcast episodes. It intelligently uses OpenAI's Text-to-Speech (TTS) for high-quality audio narration and its language models (like GPT-4o Mini) to craft concise, compelling descriptions for each episode. Stop letting your valuable notes sit idle; turn them into a shareable podcast with minimal effort.
Key Features & Benefits
- Seamless Obsidian Integration: Trigger the workflow directly from Obsidian using the 'Post Webhook' plugin to send your notes or selected text.
- AI-Powered Audio Generation: Leverages OpenAI's advanced TTS technology to convert text into natural-sounding MP3 audio files.
- AI-Generated Episode Descriptions: Automatically creates short, engaging descriptions for your podcast episodes using OpenAI, optimized for podcast apps.
- Cloud Audio Hosting: Uploads generated audio files to Cloudinary, which also provides duration metadata crucial for podcast feeds.
- Dynamic Podcast RSS Feed: Generates a standard RSS feed from metadata stored in Google Sheets, compatible with all major podcast platforms (Apple Podcasts, Spotify, Google Podcasts, etc.).
- Automated End-to-End Process: From receiving a note to publishing an episode, the entire pipeline is automated, saving you significant time and effort.
- Direct Audio Feedback: Sends the generated audio file back to your Obsidian note for immediate access and review.
Use Cases
- Solopreneurs/Founders: Repurpose insights, ideas, or blog drafts from Obsidian into a personal podcast to share expertise and build an audience.
- B2B SaaS Companies: Convert technical documentation, feature updates, or internal knowledge base articles into an accessible internal podcast for employee training or a public one for customer education.
- B2C E-commerce Brands: Transform product guides, how-to articles, or customer stories into audio content for enhanced engagement and wider reach.
- Content Creators & Educators: Effortlessly create audio versions of lectures, articles, or study notes, making content more accessible and digestible for their audience.
Prerequisites
- An n8n instance (Cloud or self-hosted).
- OpenAI API Key with access to TTS models (e.g.,
tts-1
,tts-1-hd
) and chat completion models (e.g.,gpt-4o-mini
,gpt-4
). - Obsidian app with the 'Post Webhook' plugin installed (Get it from: https://github.com/Masterb1234/obsidian-post-webhook/).
- Cloudinary account, your Cloudinary environment name (cloud name), and an upload preset configured. API credentials for Cloudinary will be needed for the HTTP Request node.
- Google Sheets account and credentials. A Google Sheet prepared with the following columns:
title
,link
(for audio URL),description
,date
,duration
(in seconds), androw_number
(for episode numbering, typically auto-incrementing or manually managed for correct iTunes episode tags).
Setup Instructions
- Download the n8n workflow JSON file (
obsidian-notes-to-podcast-ai-agent-v1.0.0.json
). - Import the workflow into your n8n instance.
- Configure OpenAI Nodes:
- Select the 'OpenAI1' node (for TTS). Under 'Credentials', connect your OpenAI account. Choose your desired TTS model under 'Model ID'.
- Select the 'OpenAI' node (for descriptions). Connect your OpenAI account and choose a suitable model (e.g.,
gpt-4o-mini
).
- Configure Obsidian Webhook Integration:
- Select the 'Webhook GET Note' node. Copy its 'Test URL'.
- In Obsidian, go to Settings > Community Plugins > install and enable the 'Post Webhook' plugin.
- Configure the plugin: Add a new webhook, paste the n8n Test URL, and give it a memorable name (e.g., 'Send to n8n Podcast').
- Configure Cloudinary Audio Upload:
- Select the 'Upload Audio to Cloudinary' (HTTP Request) node.
- Update the
URL
by replacingCLOUDINARY_ENV
with your actual Cloudinary cloud name (e.g.,https://api.cloudinary.com/v1_1/your-cloud-name/upload
). - Under 'Body Parameters', ensure
upload_preset
matches your Cloudinary upload preset name (default in workflow isrb_preset
). - Under 'Authentication', select 'Generic Credential Type', then 'HttpCustomAuth'. Create or select credentials for 'Cloudinary API' (typically involves setting up Basic Auth with your API Key and API Secret from Cloudinary, or using a signed upload preset which might require different parameters).
- Configure Google Sheets Integration:
- Select the 'Append Item to Google Sheet' node. Connect your Google Sheets account. Enter your
Document ID
(from the Google Sheet URL) and select the correctSheet Name
. - Select the 'Get Items from Google Sheets' node. Connect the same Google Sheets account and configure
Document ID
andSheet Name
.
- Select the 'Append Item to Google Sheet' node. Connect your Google Sheets account. Enter your
- Configure Podcast Metadata:
- Select the 'Manually Enter Other Data for Podcast Feed' (Set) node. Fill in your podcast's static details:
baseUrl
,podcastTitle
,podcastDescription
,authorName
,ownerName
,ownerEmail
,coverImageUrl
,language
,explicitContent
, anditunesCategory
.
- Select the 'Manually Enter Other Data for Podcast Feed' (Set) node. Fill in your podcast's static details:
- Get Your Podcast Feed URL:
- Select the 'Webhook GET Podcast Feed' node. Copy its 'Production URL'. This is the URL you'll submit to podcast directories or use in podcast players.
- Activate and Test:
- Activate the workflow in n8n.
- In Obsidian, select some text or an entire note. Open the Command Palette (Ctrl+P or Cmd+P) and choose the 'Send Note/Selection to [your_webhook_name]' command you configured.
- Check Cloudinary for the uploaded audio, Google Sheets for the new row, and try accessing your podcast feed URL in a browser or podcast app.
Want your own unique AI agent?
Talk to us - we know how to build custom AI agents for your specific needs.
Schedule a Consultation