Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.openhome.com/llms.txt

Use this file to discover all available pages before exploring further.

Podcast Player is an OpenHome community ability for finding and playing podcast episodes by voice. It uses Listen Notes to browse popular shows, search podcasts, find specific episodes, and stream playable episode audio.

What It Does

  • Browses popular podcast picks and reads three playable episode options
  • Plays the latest episode from a named podcast
  • Searches for a podcast by name and lets the user choose from recent episodes
  • Finds specific episodes by guest, topic, or episode title
  • Plays a random popular episode immediately for requests like surprise me
  • Resolves follow-up references like the second one or the one with Jensen
  • Streams playable episode audio in music mode
  • Handles vague requests with a helpful prompt or a popular-picks flow
  • Asks whether the user wants another episode after playback

Supported Requests

Request typeExampleWhat happens
Popular picksWhat's trending right now?Reads three popular playable episodes and asks the user to choose
Random episodeSurprise mePicks a popular playable episode and starts playback
Latest episodePlay the latest Lex Fridman episodeFinds the podcast and plays its newest playable episode
Podcast searchPlay Huberman LabFinds the show and reads recent episodes to choose from
Episode searchFind the Lex Fridman episode with Jensen HuangSearches for the matching episode
Follow-up choiceThe second oneResolves against the latest spoken options and plays that episode
New requestActually, find me AcquiredRe-enters search from the new request
ExitStopEnds the session cleanly

Example Prompts

  • “What’s trending right now?”
  • “Play the latest Lex Fridman episode.”
  • “Find me the Lex Fridman episode with Jensen Huang.”
  • “Play Huberman Lab.”
  • “Show me recent episodes from Acquired.”
  • “Surprise me.”
  • “The second one.”
  • “The one with Jensen.”

Example Conversation

User: Play the latest Lex Fridman episode. AI: Let me search for that right now. AI: Here’s number 496, FFmpeg: The Incredible Technology Behind Video on the Internet, from the Lex Fridman Podcast. [plays audio] AI: Want me to find you something else, or are you good for now? User: Stop. AI: Alright, happy listening.

Trigger Phrases

  • “podcast player”
  • “play a podcast”
  • “find a podcast”
  • “open podcast player”
  • “play the latest [podcast name]“

Data Source

SourceOpenHome API key nameRole
Listen Notes Podcast API v2listen_notes_api_keyPodcast search, episode search, popular picks, recent episodes, and audio playback URLs

Setup

This ability calls the Listen Notes Podcast API (v2). You need a free account and an API key.

Getting a Listen Notes API Key

  1. Open the Listen Notes API page.
  2. Click Get free API key.
  3. Sign in with Google or create an email account.
  4. Open the Listen Notes API dashboard.
  5. Copy the value shown as API Key.
  6. The free plan includes a monthly request allowance that is enough for light personal use.

Adding the key to OpenHome

In OpenHome Settings -> API Keys, add a new key named listen_notes_api_key. Paste your Listen Notes key as the value and save. Do not hardcode the key in main.py or store it in any prefs/config file.

Follow-up Resolution

After the ability speaks a list of options, you can reply with:
  • Ordinal — “the first”, “second one”, “third one”
  • Descriptor — “the one with Jensen”, “the longer one”, “the new one”
  • Re-route — “actually, find me Huberman” → re-enters intent classification
  • Exit — “none of those”, “stop”

Listen Notes Endpoints Used

EndpointUsed for
GET /best_podcastsTrending pool (browse + random)
GET /search?type=podcastResolving a named podcast
GET /search?type=episodeEpisode lookup by title / guest / topic
GET /podcasts/{id}/episodesRecent episodes of a selected podcast
Audio is streamed from the audio URL returned by Listen Notes. If an episode has no playable audio, the ability tells the user and asks for another pick.

Developer Credit

Developed by @Kaushal-205.

View on GitHub

Source code for the podcast-player community ability.