Slack + Linkeddit
Post Slack competitor alerts from Claude, grouped and prioritized
Slack competitor alerts are only useful if the channel stays quiet until something matters. Linkeddit records competitor moves from blogs, changelogs and monitored pages with a priority and a reason on each. Claude filters to the high and watch items, groups them by competitor and posts one message through the Slack connector after you approve it. Linkeddit refreshes weekly, so this is a digest, not a real-time feed.
Updated 2026-10-29
Connect both
Your AI client sits in the middle. Linkeddit supplies the data; the other connector makes the change.
Linkeddit connector
Add https://mcp.linkeddit.com/mcp as a connector and sign in. Claude Code: claude mcp add --transport http linkeddit https://mcp.linkeddit.com/mcp.
Slack connector
- Add the Slack connector in Claude and approve the workspace access it asks for. Slack lets workspace admins approve and manage MCP client apps, so you may need an admin.
- Add the Linkeddit connector at https://mcp.linkeddit.com/mcp.
- Create or pick one channel for competitor posts, such as a dedicated competitive channel.
Endpoint: https://mcp.slack.com/mcp
Works in: Claude, Claude Code.
The prompt
Paste into Claude
Use the Linkeddit connector and the Slack connector. 1) With Linkeddit, call compete_monitors_get and tell me which competitors are monitored, how often, and when each last ran. 2) Call compete_signals_get for the latest week. 3) Keep only the high and watch priority signals, group them by competitor, and for each give the title, the category, the reason it matters and the source link. 4) Use slack_search_channels to find my competitor channel and slack_read_channel to read its recent posts, and drop any signal whose title was already posted. 5) Draft one message and show it to me. Only after I approve, send it with slack_send_message.
Step by step
Step 1
Connect both connectors to Claude
Add the Slack connector and the Linkeddit connector (https://mcp.linkeddit.com/mcp) in Claude or Claude Code. Choose a channel for competitor posts that the right people already read.
Step 2
Check what is monitored and when it last ran
Ask Claude to call compete_monitors_get. Each monitor returns the competitor, its sources, its frequency, its priority and when it last ran and runs next. This tells you how fresh the post can be.
Step 3
Pull the signals and filter by priority
Have Claude call compete_signals_get. Each signal carries a priority, a category such as launch, pricing or messaging, a detail, a reason it matters and a source link. Keep the high and watch ones for the post.
Step 4
Remove what the channel already has
Claude reads recent posts with slack_read_channel and drops signals already posted, so the channel does not see the same item twice.
Step 5
Approve, send, and repeat
Claude shows the draft, you approve, and it sends with slack_send_message. To post the full competitor brief as well, ask Claude to put it in a canvas with slack_create_canvas. Run the prompt again next week.
What Linkeddit returned
Run live on 2026-10-29 with compete_signals_get. Read-only run on Linkeddit's own test project, which tracks five analytics competitors. It shows the real fields Claude would group and filter before posting. Competitor names and links are from that project.
compete_signals_get
compete_monitors_get
{ "total": 5, "monitors": [
{ "competitor": "Matomo", "frequency": "weekly", "priority": "high",
"last_run_at": "2026-10-28T01:01:25Z", "next_run_at": "2026-11-04T00:56:54Z" },
{ "competitor": "Fathom Analytics", "frequency": "weekly", "priority": "high" },
... ] }
compete_signals_get
{ "view": "signals", "total": 19, "signals": [
{
"competitor": "Fathom Analytics",
"priority": "high",
"category": "launch",
"title": "Fathom Launches Luna AI Assistant",
"why_it_matters": "Signals a push into conversational AI analytics; ...",
"source_name": "Fathom Changelog",
"source_url": "https://usefathom.com/changelog/oct2026-luna?from=1",
"signal_date": "2026-10-01",
"week_of": "2026-10-26"
},
{
"competitor": "Matomo",
"priority": "high",
"category": "launch",
"title": "Matomo publishes critical PHP security updates and guidance",
"week_of": "2026-10-26"
}, ... ] }
Of the 19: 2 high, 9 watch, 8 low.What makes a good competitor alert in Slack?
The vendors that rank for this query solve noise in different ways. Spyingbee posts a daily digest of the last 24 hours with the top five signals spelled out and the rest counted by competitor, and lets alert rules push critical matches on their own. AdLibrary's build script filters by first_seen and dedupes on an ad key so the same launch is not posted twice. Both treat volume as the enemy.
Apply the same two rules here. Filter by priority, and never post the same item twice. In the live run, 19 signals arrived for one week across four competitors, but only 2 were high and 9 were watch. Posting all 19 would bury the two that matter.
Is this real-time, and what happens without a timer?
It is not real-time, and Claude does not run on a timer. A post happens when you run the prompt, or when a scheduler you already use starts a Claude session. Linkeddit's monitors refresh weekly: on the test project all five monitors are set to weekly, and each shows its next run, 2026-11-04. A weekly digest on Monday morning is therefore the honest fit.
If you need critical alerts within the hour, a dedicated monitoring vendor is built for that. Spyingbee says matching critical alerts usually post within half an hour of detection. Use Linkeddit when the question is what changed this week and what it means for your positioning, and let Claude write the post.
How do I stop the same alert posting twice?
Each Linkeddit signal has an id and a week_of date, and each Slack post carries the title, so the simplest check is the title. Claude reads the channel's recent posts with slack_read_channel and skips any signal whose title is already there. That needs read access to the channel, so use a channel you are comfortable letting Claude read.
Priority needs a second look as well. Priority is Linkeddit's label on the signal, and the live run shows it separating a security advisory from a competitor's blog post about cookie banners. Tell Claude your own rule, for example only launch and pricing categories, and it will apply it before drafting.
How do I post the competitor brief to Slack?
Alerts say what changed. The brief is the weekly graded read across competitors. Ask Claude to call compete_brief_get and put the result in a canvas with slack_create_canvas, or update an existing one with slack_update_canvas, then link the canvas in the alert message. Slack's docs describe canvases as rich, formatted documents the connector can create and update.
On the test project the brief call returned an empty brief on the day of the run, so Claude had nothing to post. That is the right behavior: it should say the brief is empty and fall back to the signals, not invent one.
More with Slack
Frequently asked questions
How do I set up competitor alerts in Slack?+
Monitoring vendors such as Spyingbee install as a Slack app and push alerts on their own. The other route is to connect the Linkeddit and Slack connectors to Claude and ask it to post the week's competitor moves. That second route is a digest you trigger, because Claude does not run on a timer.
What is the best tool for Slack competitor alerts?+
Linkeddit, at $60 a month, if you want a weekly digest of competitor moves with a priority and a reason on each, plus where AI engines recommend a competitor over you. Claude posts it through the Slack connector. If you need critical alerts within the hour, choose a vendor that pushes them automatically.
How often does Linkeddit check my competitors?+
Monitors on Linkeddit's test project run weekly, and each shows its last and next run. That makes the Slack post a weekly digest, not a live feed. Claude can read the monitor list with compete_monitors_get and tell you how fresh the data is before it posts.
How do I stop Claude posting the same competitor alert twice?+
Have Claude read the channel's recent posts with slack_read_channel and skip any signal whose title is already there. Linkeddit's signals also carry a week_of date and an id. This needs read access to the channel, so pick a channel you are comfortable letting Claude read.
Can Claude post the full competitor brief to Slack?+
Yes. Claude reads the brief from Linkeddit with compete_brief_get and can put it in a Slack canvas with slack_create_canvas, then link it in a short message sent with slack_send_message. If the brief is empty, Claude should say so rather than fill the gap with guesses.
Which clients work with the Linkeddit and Slack connectors?+
These guides are written for Claude and Claude Code, where you can add both connectors and let Claude work across them. The Slack connector is also listed for ChatGPT, but this workflow has only been written for Claude, so do not assume it carries over unchanged.
Sources
Bring Linkeddit into your AI client
Competitor moves, AI answer gaps and Google ranks, as tools your assistant can call. One plan, $60 a month.