n8n Podcast Intake Workflow — cover
← downloads · 2026-04-20 · workflow

n8n Podcast Intake Workflow

Pulls 18 podcast RSS feeds plus a Vimeo library, transcribes new media via AssemblyAI, extracts topic ideas via Claude, writes to Notion. Twice-weekly cron.

This is the intake half of my content pipeline. Twice a week it pulls new episodes from podcast feeds, a Substack, and a Vimeo library, transcribes each one, and asks Claude to mine the transcript for post-worthy ideas, filing the results into Notion for me to triage.

How it works

  1. Trigger: a schedule node runs the cron 0 0 10 * * 2,5, Tuesday and Friday at 10am Pacific.
  2. Pull sources, in parallel: 18 hardcoded podcast RSS feeds (AI Daily Brief, Hard Fork, Your Undivided Attention, and others, each tagged with a priority and default topics); Nate’s Notebook, a Substack whose RSS blocks n8n cloud IPs, so it’s scraped through Firecrawl’s /v1/scrape endpoint instead of a plain HTTP GET; and MMA’s Vimeo library, filtered down to public or unlisted videos.
  3. Filter and dedupe: anything published more than 7 days ago gets dropped, then a dedup node checks what’s left against a 10,000-item history of previously seen URLs.
  4. Transcribe: podcast audio and Vimeo’s own English caption track (or, when there isn’t one, its smallest MP4 file) both go to AssemblyAI. The workflow submits the job, waits 30 seconds, and polls until status reads completed, with a boosted vocabulary list so terms like “Anthropic” and “MCP” transcribe cleanly.
  5. Extract ideas: the transcript, plus any AssemblyAI chapters and highlights, goes to Claude (claude-sonnet-4-6, called directly against the Anthropic Messages API). The prompt asks for one object per idea: a hook, 5 to 10 key points, quotes, a draft angle, and Low/Medium/High scores for relevance, utility, and hot-take potential.
  6. Write: a Code node parses that response, drops ideas scored Low on both relevance and utility, and files two things to Notion: one source page per transcript, chapters included, and one idea page per surviving idea. The full transcript is also written to Google Drive as a markdown file.

What you’ll need

  • Google Drive (OAuth2): for the transcript archive. The sample credential in the JSON is named Google Drive - Alec.
  • Anthropic API: an HTTP Header Auth credential for the idea-extraction call.
  • AssemblyAI API: an HTTP Header Auth credential for transcription.
  • Firecrawl API: an HTTP Header Auth credential, used only for the Nate’s Notebook branch.
  • Notion API v2: an HTTP Header Auth credential with write access to your intake database. The database ID in the JSON (aaaaaaaa-0000-4000-8000-000000000001) is a placeholder; point it at your own, matching schema included.

Every credential ID in the imported JSON follows the same REPLACE_WITH_* pattern; open each flagged node after import and swap in your own. The feed list and Vimeo library are my sources, left in as working examples, so swap those for yours too.

How it fits

This is the intake half of the content pipeline behind this site; publish to social is the companion workflow that empties the queue this one fills.