Scout and signals
The scout is Pressroom's signal intelligence engine. It pulls signals from external sources, scores them for relevance, and surfaces the ones that matter to ...
Scout and signals
The scout is Pressroom’s signal intelligence engine. It pulls signals from external sources, scores them for relevance, and surfaces the ones that matter to your company.
Two signal pipelines
SIGINT (global sources)
The global source library contains shared sources — Reddit, Hacker News, RSS feeds, X searches, and trend trackers. Any org can subscribe to any source.
Flow:
Global sources → Sweep (crawl) → Raw signals → Relevance scoring → SIGINT feed
- Sources are entries in the shared library (e.g., “r/programming”, “HN: AI news”, an RSS feed URL)
- Sweep crawls subscribed sources and stores raw signals
- Relevance scoring uses the org’s fingerprint (an embedding of company context) to rank signals
- The SIGINT feed shows scored signals ready for triage
Source types:
| Type | Config example |
|---|---|
reddit | {"subreddit": "programming"} |
hackernews | {"keywords": ["AI", "LLM"]} |
rss | {"url": "https://blog.example.com/rss"} |
x_search | {"query": "kubernetes deployment"} |
trend | {"topics": ["devops", "cloud"]} |
Wire (company-owned sources)
The Wire monitors your own channels — GitHub repos, blog RSS, changelogs, docs. Wire signals are always relevant (no scoring needed) because they come from you.
Flow:
Wire sources → Fetch → Wire signals (always relevant)
Wire source types:
| Type | Config example |
|---|---|
github_release | {"repo": "owner/repo"} |
github_commit | {"repo": "owner/repo", "branch": "main"} |
rss | {"url": "https://blog.yourcompany.com/rss"} |
changelog | {"url": "https://yourcompany.com/changelog"} |
Running the scout
The scout pipeline combines both SIGINT and Wire signals:
POST /api/pipeline/scout?since_hours=24
This:
- Fetches from all configured SIGINT sources (with relevance filtering)
- Fetches from all Wire sources
- Deduplicates against existing signals
- Returns a summary of new signals found
Org fingerprint
Each org has an embedding fingerprint derived from company context (name, industry, topics, competitors, approved content). This fingerprint is used for cosine-similarity relevance scoring against raw signals.
Rebuild the fingerprint after changing company settings:
POST /api/sources/fingerprint/rebuild
Managing sources
Add a global source
POST /api/sources
{
"type": "reddit",
"name": "r/devops",
"config": {"subreddit": "devops"},
"category_tags": ["infrastructure", "cloud"],
"fetch_interval_hours": 6
}
Subscribe an org to sources
POST /api/sources/subscriptions
{"source_id": 5, "enabled": true}
Seed default sources
POST /api/sources/seed
Populates the library with a curated set of common sources.
Get recommended sources
GET /api/sources/recommended
Returns AI-suggested sources based on the org’s profile.
Signal lifecycle
- Raw — Crawled from source, stored in
raw_signals - Scored — Relevance score attached via fingerprint comparison
- Saved — Promoted to
signalstable for the org - Prioritized — Marked by editor as high-priority
- Attached — Added to a story for content generation
- Used — Content generated from this signal