Skip to main content
Content Sources let you subscribe to external content feeds and have the system monitor them on your behalf. Listeners poll on configurable cadences, deduplicate what they find, and feed new items through an AI evaluation chain that scores relevance against your niche and ICP — then creates content opportunities automatically. Navigate to Production → Content Planner and click the Sources tab.

How It Works

  1. You create listener subscriptions (source type + query + cadence)
  2. An hourly cron polls all listeners that are due
  3. New items are deduplicated and stored as raw discoveries
  4. The content-listener-evaluator runner scores each item for relevance
  5. Items above the relevance threshold become opportunities in the Content Planner feed

Available Sources

SourceStatusWhat It Monitors
RedditAvailableSubreddit posts matching your niche
YouTubeAvailableVideo content for topics and channels
Google NewsAvailableNews articles and industry coverage
Google SearchAvailableTop-ranking pages for your keywords
RSSAvailableAny RSS/Atom feed
LinkedInComing SoonProfessional content (requires API partner access)
X (Twitter)Coming SoonSocial discussions (requires paid API tier)
PinterestComing SoonVisual content trends
QuoraComing SoonQ&A content
YouTube and Google Search listeners require platform API keys. Configure them in Settings → Integrations before creating listeners for those sources.

Creating a Listener

Click Add Source in the Sources tab and choose a source type. Each source has its own configuration fields: Reddit
  • Subreddit name (without the r/ prefix)
  • Sort order: Hot, New, or Top
  • Max results per poll (default 25)
YouTube
  • Search query (topic or keywords)
  • Optional: Channel ID to scope results to a specific creator
Google News
  • Topic or search query to track
Google Search
  • Query string
  • Optional: Site scope (e.g., site:competitor.com)
  • Time range filter (past day, week, month, or year)
RSS
  • Feed URL (RSS 2.0 or Atom format)

Poll Cadences

Choose how often each listener checks for new content:
CadenceBest For
Every 1 hourFast-moving sources like breaking news, active subreddits, or high-frequency RSS feeds
Every 6 hoursActive topics where new content appears several times daily
Every 12 hoursDefault. Most sources — balances discovery speed with API usage
Every 24 hoursSlower-moving feeds and evergreen research queries
WeeklyLow-volume sources or broad queries where recency is less critical
Start with 12h for most listeners. Switch to 6h only if you find you’re missing timely content that would have been actionable the same day.

Recent Discoveries

Below the subscriptions table, a Recent Discoveries feed shows every item the system has fetched, along with its evaluation status:
Status BadgeMeaning
PendingItem fetched, waiting for the evaluator runner to process it
EvaluatingRelevance scoring in progress
Opportunity CreatedItem passed scoring and generated a Content Planner opportunity
DismissedItem scored below threshold — not relevant enough to act on
Each item also shows evaluation tags once scored: the ICP match label, detected intent (informational, commercial, navigational), and the suggested asset type (blog post, FAQ, landing page, etc.).

How Evaluation Works

The content-listener-evaluator runner scores every new discovery across five criteria:
  1. Niche relevance — Does this topic belong in your content space?
  2. ICP match — Would your target audience care about this?
  3. Novelty — Is this meaningfully different from content you’ve already published?
  4. Quality signal — Is the source and format worth reacting to?
  5. Timeliness — Is this still fresh enough to be worth producing?
Items with a combined score of 0.45 or higher are promoted to a content opportunity in the Content Planner. Items below the threshold are marked Dismissed and do not surface.
For opportunities identified as blog-type content, a second runner — content-listener-researcher — enriches the opportunity with keyword research data from your connected SEO tools before it appears in the feed.
Evaluation only runs when runner execution is active. If your workspace has runners paused or over budget, discoveries will queue as Pending until the next eligible execution window.