Surface early churn signals
Flag negative mentions with switching language or blocked workflows the day they're posted — with a drafted reply ready for human review.
Set it up
1. Connect the Octolens MCP — add the server URL in your client and sign in. OAuth, no API key. Per-client instructions · docs
https://app.octolens.com/api/mcp/v22. Hand your agent the playbook — hit Copy below (it grabs the instruction plus the full playbook), fill in the placeholders, and paste it into your agent. Pasting the playbook instead of describing the idea makes the agent run this exact workflow rather than improvise its own.
Set up a daily recurring task using the playbook below. Product name: "{PRODUCT_NAME}".What it does
- ✓Pulls negative mentions of your product from the past 24 hours
- ✓Classifies churn risk: switching language and blockers rank high, vague grumbling gets skipped
- ✓Dedupes against signals already flagged on previous runs
- ✓Explains why each signal matters and suggests a next step
- ✓Drafts a short, human reply for each — for a person to review, not to auto-send
- ✓Posts a daily digest with high risks first
Delivers: A daily churn-risk digest: every at-risk conversation quoted, linked, ranked, and paired with a drafted response — before the renewal conversation happens.
Inputs
| Placeholder | Required | Description | Example |
|---|---|---|---|
| {PRODUCT_NAME} | Required | Your product name as tracked in Octolens | Acme |
How your agent runs it
- 1
Confirm the keyword — The agent checks your product is tracked and grabs its keyword ID.
list_keywords - 2
Pull negative mentions — Fetches the last 24 hours of negative-sentiment mentions, plus anything carrying frustration-adjacent AI tags.
list_mentionslist_tags - 3
Rank churn risk — Switching language and blocked core workflows rank high; specific complaints rank medium; noise gets skipped.
- 4
Dedupe — Skips anything already flagged in a previous run, keyed by source URL.
- 5
Draft the response — For each signal: why it matters, a suggested next step, and a 2–3 sentence reply draft in a human tone.
- 6
Post the digest — Delivers the day's signals in chat, high risk first. Nothing is sent to customers — humans stay in the loop.
Tools used
list_keywordsOctolens MCPConfirm the product keyword and get its IDlist_mentionsOctolens MCPFetch negative-sentiment mentions from the past 24 hourslist_tagsOctolens MCPDiscover AI-assigned tags like bug_report or complaint for extra recall
All 23 Octolens MCP tools are documented on the MCP page and in the docs.
The full playbook
Replace the placeholders, then paste this into your agent as a recurring task.
Every day, do the following:
1. Call list_keywords to confirm "{PRODUCT_NAME}" is tracked in Octolens and get its keyword ID.
2. Call list_mentions to pull all mentions from the past 24 hours matching that keyword with sentiment: negative. Also call list_tags and pull mentions tagged with frustration- or churn-adjacent tags if the workspace has them (e.g. bug_report, complaint).
3. For each mention, classify churn risk into exactly one bucket:
- high — explicit switching language ("moving to", "cancelling", "looking for an alternative"), a blocker that stops their core workflow, or public frustration from an identifiable customer
- medium — a real complaint about a specific feature, pricing, or reliability, but no switching language
- skip — vague negativity, jokes, competitor fans, posts not actually about the product
4. Drop everything classified as "skip".
5. For each remaining mention, check whether it was already flagged: keep a running list (or search your ticketing tool if connected) for the source URL. If already flagged, skip it.
6. For each new high or medium signal, produce an entry:
**Risk:** high | medium
**Quote:** > {original quote, trim to ~300 chars}
**Source:** {url} ({source}, {timestamp})
**Author:** {authorName} (@{author})
**Why it matters:** one line on what's broken or at risk
**Suggested next step:** one line — e.g. "CS reach-out", "file bug", "reply publicly"
**Draft reply:** 2–3 sentences, helpful and human, no marketing tone. Acknowledge the specific problem. Never promise timelines.
7. Post the daily digest in chat, high risks first:
- Signals found: N (X high, Y medium)
- Already flagged: N
- The entries from step 6
If there are no new signals, say "No churn signals in the last 24 hours" and exit cleanly.
Do not contact anyone directly. Drafts are for a human to review and send.More skills
Turn mentions into Linear issues
Catch bug reports and feature requests posted in public — on Reddit, X, LinkedIn, Hacker News, GitHub — and file them as Linear issues automatically.
Find leads in public conversations
Catch people publicly shopping for an alternative to your competitors, qualify them against your ICP, and get drafted openers for each.
Build a wall of love from real mentions
Pull a year of positive mentions, score them against your ICP and homepage positioning, and output a fresh quotes.json for your landing page.
Give your agents context on what happens online
API, webhooks, and MCP on every plan. If you're paying us anything, you own your data.
No credit card required · API access on all plans · Cancel anytime