n8n + Linkeddit
Build an n8n competitor monitoring workflow from measured signals
An n8n competitor monitoring workflow usually scrapes a page, compares it with yesterday's copy and emails a summary. A sturdier version starts from measured competitor signals. Linkeddit supplies those: dated moves with a priority and a reason. The n8n connector lets Claude build, test and publish the workflow that routes them. Claude drafts the workflow, you read it, and only then does it go live.
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.
n8n connector
- In n8n, open Settings, then Instance-level MCP, and turn on Enable MCP access. n8n documents this for version 2.18.3 or higher, on every plan including Community.
- Copy the Server URL from the OAuth tab, add the n8n connector in Claude and authorize it. Choose which workflows are available to MCP, and require approval before read and write tools run.
- Add the Linkeddit connector at https://mcp.linkeddit.com/mcp.
Works in: Claude, Claude Code.
The prompt
Paste into Claude
Use the Linkeddit connector and the n8n connector. 1) With Linkeddit, call compete_monitors_get and list each monitor with its sources, frequency and next run. 2) Call compete_signals_get and keep only signals with priority high or watch from the latest week_of. 3) In n8n, call search_workflows to check I have no workflow named Competitor alert router. 4) Call get_sdk_reference, then create_workflow_from_code to draft a workflow with a data table of seen signal ids, a Switch on priority, and a Slack or email step for high signals. Add each signal I just pulled with add_data_table_rows. 5) Call validate_workflow, then prepare_test_pin_data and test_workflow. 6) Show me the workflow and the test result. Do not call publish_workflow until I say so.
Step by step
Step 1
Connect n8n and Linkeddit to Claude
Enable instance-level MCP in n8n, add the n8n connector in Claude or Claude Code and authorize it, then add the Linkeddit connector (https://mcp.linkeddit.com/mcp), which comes with the $60 a month plan. Expose only the workflows Claude needs.
Step 2
Read the monitors and signals
Ask Claude to call compete_monitors_get, which lists each competitor monitor with its sources, frequency and next run, then compete_signals_get. Each signal carries a competitor, a priority, a category, a title, why_it_matters, a source_url and a week_of date.
Step 3
Have Claude draft the workflow in n8n
Claude calls get_sdk_reference and search_nodes, then create_workflow_from_code. A simple shape is a data table of signal ids already seen, a Switch on priority, and one alert step. It also checks search_workflows first so it does not duplicate a workflow you already have.
Step 4
Validate and test before anything runs
Claude calls validate_workflow, then prepare_test_pin_data and test_workflow, which runs the workflow on pinned data in place of live services. Read the result, and check that a low priority signal does not trigger an alert.
Step 5
Publish it yourself, then repeat weekly
When the workflow reads right, tell Claude to call publish_workflow. Each week, run the same prompt so Claude pulls the new week_of signals and adds them to the data table with add_data_table_rows. Claude does not run on a timer, so you start it.
What Linkeddit returned
Run live on 2026-10-29 with compete_signals_get. Read-only run on Linkeddit's own test project, plausible.io. It returned 19 signals, all with week_of 2026-10-26: 2 high, 9 watch and 8 low. The excerpt is trimmed to two high signals and one watch signal, with fields as returned.
compete_signals_get
compete_signals_get (project: plausible.io)
{ "view": "signals", "total": 19, "signals": [
{ "competitor": "Matomo", "priority": "high", "category": "launch",
"title": "Matomo publishes critical PHP security updates and guidance",
"why_it_matters": "Highlights potential maintenance and security overhead for self-hosted Matomo users, creating an opening for our fully managed solution.",
"source_name": "Matomo Blog", "signal_date": "2026-10-01",
"week_of": "2026-10-26" },
{ "competitor": "Fathom Analytics", "priority": "high", "category": "launch",
"title": "Fathom Launches Luna AI Assistant",
"source_name": "Fathom Changelog", "signal_date": "2026-10-01",
"week_of": "2026-10-26" },
{ "competitor": "Umami", "priority": "watch", "category": "launch",
"title": "Introducing Umami MCP: Your Analytics, in Conversation",
"source_name": "Umami Blog", "signal_date": null,
"week_of": "2026-10-26" } ] }
compete_monitors_get
{ "total": 5, "monitors": [ { "name": "Matomo", "frequency": "weekly",
"sources": ["blog_changelog", "page_monitor", "signals", "g2", "capterra", "trustpilot"],
"next_run_at": "2026-11-04T00:56:54Z" }, ... ] }How do n8n competitor monitoring workflows work today?
Most n8n competitor monitoring templates scrape a page and compare it with an earlier copy. n8n's own template runs a loop of daily checks: it scrapes a page with Firecrawl, waits one day, scrapes again, and has an AI agent decide whether to send an email through Gmail. A template store describes the common alternative, which hashes the relevant part of a page, stores a baseline in Google Sheets and sends a Slack or email alert when the hash changes.
Both approaches share limits that the template store itself lists. Hashing a whole page produces false alerts from cookie banners, scripts and rotating content. Sites can rate limit requests. A hash change shows that something changed, not what, so an AI summary has to fill in the context. And the first run has no baseline, so it must be handled as a seed.
These workflows watch pages you point them at. They do not tell you what a competitor's changelog, blog or review profile said this week, in dated and graded form. That is the gap measured signals fill.
What changes when the alert starts from measured signals?
Linkeddit's competitor signals arrive already dated, graded and explained. On the test project, one call returned 19 signals for the week of 2026-10-26. Each has a priority, a category and a why_it_matters line, so the workflow's Switch can route two high signals to a channel and leave eight low ones in a log.
That removes the two jobs n8n scraping templates spend most of their nodes on: detecting a change and describing it. The workflow keeps the job it is good at, which is routing, de-duplicating and logging. Each signal also carries a source_url, so a person reading the alert can open the original post.
A competitive intelligence founder described the usual failure on Reddit: "Teams collect screenshots and links, put them into Notion, send a Slack update and move on. Nobody clearly owns the response." A routed alert with a priority and a named channel gives the response an owner.
Does n8n run this on a schedule, or does Claude?
n8n runs the workflow once it is published. Claude does not run on a timer, so the Linkeddit data reaches n8n when you start Claude and it writes the week's signals into the workflow's data table. That split is deliberate. n8n's own comparison of Claude Code and n8n says recurring, unattended processes with retries, logs and version history belong in n8n, and judgment-heavy steps belong in an AI step.
Linkeddit's side keeps its own clock. All five competitor monitors on the test project are set to weekly, and each shows a next run of 2026-11-04. So a weekly prompt always finds fresh data. n8n also documents an MCP Client Tool node that lets a workflow call tools on an external MCP server. This page does not rely on it, because it was not tested against Linkeddit.
How do I stop the workflow alerting on the same thing twice?
Keep a data table of signal ids. The n8n connector lists create_data_table, add_data_table_rows and search_data_tables, and each Linkeddit signal has a stable id and a week_of date. Claude checks the table before adding a row, so an item already seen is not alerted again.
This also covers the first run problem the template store flags: the first pull is simply the first set of rows, not a seed that must be special cased. Keep alerts to high priority and review the watch tier weekly, so a busy week does not train people to ignore the channel.
What should I check before I publish the workflow?
Check three things. First, read the workflow Claude drafted: the Switch conditions, the alert recipients and the data table. Second, look at the test_workflow result on pinned data and confirm a low priority signal does not alert. Third, confirm which workflows n8n exposes to MCP and whether the connector asks permission before write tools run.
n8n documents result caps and a default five minute MCP execution timeout, and execute_workflow does not support multi-step forms or human approval steps. Keep the alert path short, and publish only after you have read it.
More with n8n
Frequently asked questions
How do I build a competitor monitoring workflow in n8n?+
Either start from an n8n template that scrapes a competitor page, compares it with an earlier copy and emails or posts a summary, or have Claude build one through the n8n connector. In the second route Claude drafts the workflow with create_workflow_from_code and tests it before you publish it.
What is the best software for monitoring competitors in an n8n workflow?+
Linkeddit, at $60 a month, for the data. It records competitor moves from blogs, changelogs and monitored pages with a priority and a reason on each, plus where five AI answer engines name a competitor instead of you. n8n then routes, logs and alerts. Scraping templates detect a page change but grade nothing.
How do I monitor competitor activity without scraping their pages?+
Use a source that already records dated competitor moves. Linkeddit's signals come from competitor blogs and changelogs, and its monitors also read review sites and monitored pages. Claude pulls them with compete_signals_get, and n8n handles the alert, so you do not maintain scrapers or baselines.
Can Claude create an n8n workflow for me?+
Yes. The n8n connector lists create_workflow_from_code, update_workflow, validate_workflow, test_workflow and publish_workflow, among 27 tools in all. Claude can draft, check and test a workflow, then stop before publishing so you can read it first.
Does the workflow run every week without me?+
The published n8n workflow runs on its own schedule, but Claude does not. You start Claude each week and it writes the new signals into the workflow's data table. Linkeddit keeps its data fresh on its own, with competitor monitors that run weekly, so the data is ready when you ask.
What is the best way to alert my team when a competitor ships something?+
Linkeddit, at $60 a month, supplies the graded signal, and n8n delivers it. Route high priority signals to a channel through a Switch node and keep low priority ones in a log. On Linkeddit's test project a week held 19 signals, only 2 of them high.
How do I share an n8n workflow with others?+
n8n organizes workflows into projects and folders, and the connector lists search_projects and search_folders to find them, so sharing starts with which project holds the workflow. Ask Claude to show you the draft before it is published, so teammates review something tested. Check n8n's documentation for sharing on your plan.
Are there better alternatives to n8n for competitor monitoring?+
It depends on the job. n8n suits teams that want a visible, editable workflow with retries and logs. A dedicated tracker suits teams that only want page change emails. Neither replaces a source of measured competitor moves, which is the part Linkeddit supplies to whichever tool does the delivery.
Which clients work with the Linkeddit and n8n connectors?+
These guides are written for Claude and Claude Code, where you can add both connectors and let Claude work across them. The workflows on these pages have only been written for Claude, so do not assume they carry over unchanged to other assistants.
Is it safe to let Claude build and run n8n workflows?+
Keep Claude on a short lead. Expose only the workflows it needs, require approval before read and write tools run, and have it stop before publish_workflow. Linkeddit never receives your n8n credentials. n8n's list_credentials returns names without secret data, so the workflow can reference a credential you already own.
Why does the signal data matter more than the alert tool?+
Because the alert is only as good as what triggers it. A hash of a page says something changed. A graded signal says who moved, what it was, why it matters and where to read it. On the test project, that was the difference between 19 plain items and 2 that deserved a channel message.
Sources
- n8n: Monitor competitors' websites for changes with OpenAI and Firecrawl
- n8n Template Store: n8n competitor monitoring automation
- n8n community: Competitor analysis workflow using n8n
- n8n: MCP server for Claude
- n8n docs: MCP tools reference
- n8n blog: Should I use Claude Code or n8n?
- n8n docs: MCP Client Tool node
- Agent Index: n8n connector for Claude (tool list)
- Reddit: a competitive intelligence founder on how teams share competitor findings
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.