Daily Reddit pain-point monitoring for content ideas
Every morning, scrape your ICP's subreddits, score pain points by signal quality, and surface the top content opportunities — plus auto-generated blog briefs ready for approval.
Every morning, CitationBench scrapes your ICP's subreddits, scores pain points by signal quality, and surfaces the highest-value content opportunities. New content ideas flow daily without manual digging.
| Outcome | Top 5–10 ranked pain points each morning + auto-generated blog briefs |
| Time | ~5 min setup; daily run takes ~3–5 minutes |
| Cost | ~10 credits per topic per run |
| Prereqs | ICP defined for the workspace (so subreddits are auto-inferred), Reddit OAuth connected |
What it does
Daily at 07:00:
research.discuss with:
subreddits: inferred from ICP channels
dateRange: last 24h
signalThreshold: 0.7
↓
surface top pain points (scored by signal, recency, repetition)
↓ optional:
for top 3 pain points:
produce.blog_post (mode: with-research, sourcing the Reddit threads)
queues at WAITING_APPROVALStep 1 — Make sure your ICP is set
Without good ICP data, the agent doesn't know which subreddits to crawl.
curl .../v1/research/icp -H "Authorization: Bearer $CITATIONBENCH_API_KEY" -H "X-Workspace-Id: $WS"Each ICP segment has channels (e.g. ["r/projectmanagement", "Lenny's Newsletter"]). The agent uses these.
If empty, generate ICPs first:
curl -X POST .../v1/research/icp -d '{ "domain": "acme.com" }'Step 2 — Schedule the daily run
curl -X POST https://api.citationbench.com/v1/agent/invoke \
-H "Authorization: Bearer $CITATIONBENCH_API_KEY" \
-H "X-Workspace-Id: $WORKSPACE_ID" \
-d '{
"skill": "agent.scheduled",
"input": {
"action": "research.discuss.research",
"schedule": "daily:07:00",
"config": {
"topic": "{{ workspace.brand.primaryKeyword }}",
"dateRange": { "from": "{{ today-1 }}", "to": "{{ today }}" },
"signalThreshold": 0.7,
"maxThreads": 30
}
}
}'{{ today-1 }} resolves at runtime to yesterday's date.
Step 3 — Wire pain points to content drafting
Hook a webhook on research.discuss.pain_point.surfaced:
curl -X POST .../v1/webhooks -d '{
"url": "https://hooks.our-portal.com/pain-points",
"events": ["research.discuss.pain_point.surfaced"]
}'Payload:
{
"painPointId": "pain_***",
"topic": "Cross-team capacity tracking invisible until too late",
"signalScore": 0.91,
"sources": ["https://reddit.com/r/projectmanagement/comments/abc/..."],
"verbatimQuotes": ["We didn't know we were 30% over until sprint review"]
}Or auto-spawn blog posts from high-signal pain points:
curl -X POST .../v1/agent/invoke -d '{
"skill": "agent.scheduled",
"input": {
"schedule": "daily:08:00",
"steps": [
{
"action": "research.discuss.pain_points.list",
"config": { "minSignal": 0.85, "lastSeenWithinHours": 24, "limit": 3 }
},
{
"action": "produce.blog_post",
"forEachFrom": "$.previousStep.data",
"config": {
"topic": "{{ item.topic }}",
"mode": "with-research",
"pillarSlug": "performance",
"refinerIds": ["rfn_brand-voice"]
}
}
]
}
}'Each high-signal pain point becomes a queued blog draft.
Step 4 — Review the morning queue
# Just the pain points
curl -G .../v1/research/discuss/pain-points \
--data-urlencode "minSignal=0.8" \
--data-urlencode "lastSeenWithinHours=24"
# Or the auto-spawned drafts
curl -G .../v1/produce/blog-post \
--data-urlencode "status=DRAFT" \
--data-urlencode "tag=auto-pain-point"Gotchas
- Subreddit signal varies wildly. Some subreddits are gold (
r/projectmanagement,r/engineeringmanagers), some are noise. TunesignalThresholdand the subreddit list explicitly if the auto-inferred list misses. - Reddit rate limits. Heavy daily crawling across many topics will throttle. Stagger via different schedule times for different topics, or use BYO Reddit OAuth credentials.
- Pain-point dedup. The same pain point shows up across many threads. The agent dedups by topic similarity (LLM-based); occasionally over-dedups. Set
dedupThresholdlower if you're losing variants. - Content uniqueness. If two days' top pain points overlap, you'll get duplicate drafts. Filter to "new pain points only" via
lastSeenWithinHours.
Related
- API: Research · discuss
- API: Research · icp
- API: Production · blog post
- Concept: Agent
- Playbook: Generate 100 landing pages overnight (same auto-spawn pattern)
Refresh stale content
When a high-value page drops in rank, the agent audits it against the current SERP, regenerates weak sections, and queues an approval-gated refresh — same loop for AI citation drops.
100 landing pages overnight
Feed in a keyword list, get 100 brand-aligned landing pages back the next morning — programmatic SEO at scale using a 4-step pipeline with optional auto-publish and indexing.