BACK TO BLOG
USE CASESOctober 26, 202610 min read

Weekly Competitor Watch With an AI Agent, n8n and Similarweb

JH

By Joris van Huët

Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs

Published

2026-10-26

The short answer: if you sell against 3 to 5 named competitors and hear about their price changes from prospects, a weekly watch puts your team first in line: n8n saves each pricing page, compares it with last week's copy, and passes only the differences to an AI model that drafts the Monday brief, which one named person checks before anyone else reads it. A weekly schedule fires 4 or 5 times a month, so the watch uses at most 5 of the 2,500 executions in n8n Starter, $24 a month on monthly billing (n8n pricing, checked on 26 October 2026). For example, if the Monday round of five competitors takes 90 minutes by hand and checking flagged changes takes 15, the watch returns 75 minutes a week, 300 in a four-Monday month. Traffic is a slower question, and Similarweb's entry package for it costs $199 a month (Similarweb pricing).

Disclosure: I may earn a commission through some links on this site. It does not change what this page says.

A competitor rarely announces the change that matters to your deals. The annual discount shrinks on a Tuesday, a feature slides into the tier above, a landing page goes up behind a fresh ad. All of it is public, scattered and easy to miss. Pricing pages change rarely and matter most, so they get a word-for-word comparison; launches come through feeds; ads move weekly and are only partly reachable by API; traffic moves over months and gets a monthly line.

Before the first Monday:

  1. Count runs, not pages. A Schedule Trigger counts one execution each time it fires, however many pages the run fetches (executions). For example, 5 / 2,500 = 0.2% of Starter, so the same plan carries your other workflows too. What grows with the list is model tokens, and only changed pages reach the model.
  2. Start from the list sales already keeps. The competitors named in lost deals and battlecards, not the ones a tool suggests. For each: the pricing page, the product or changelog page, the blog or press feed, the Facebook Page behind their Meta ads, and the name they advertise under on Google and LinkedIn.
  3. Decide what counts as caught. The watch works when a change reaches your team before a prospect mentions it. For the last 3 to 5 competitor moves you know of, write down when each went live and when your team heard. That gap is the baseline.

How the watch runs in n8n

  1. A table of what to watch. One row per URL in an n8n data table: competitor, page type, a CSS selector for the part that matters, and last week's text (Data Table node). All tables in an instance share a default 200 MiB of storage (data tables), far more than page text needs.
  2. Schedule Trigger, Monday 06:30. Weeks interval, Monday under Trigger on Weekdays. Set the workflow's own timezone, since n8n Cloud otherwise uses the zone detected at sign-up or GMT, and publish the workflow, or the schedule never fires (Schedule Trigger).
  3. Fetch and cut. HTTP Request gets each page; the HTML node's Extract HTML Content keeps only the text under your selector, such as the plan table, so a rotating banner never counts as news (HTML node). Pages that draw prices with JavaScript or sit behind a bot check return no prices to a plain request, so open each row's output once and move empty ones to the manual list.
  4. Compare with last week. Compare Datasets matches this week's rows to the stored ones on URL and splits them into In A only, Same, Different and In B only. Different and In A only continue. An Upsert then writes this week's text back, so next Monday compares against today (row operations).
  5. Launches. RSS Read for each feed, then Remove Duplicates set to Remove Items Processed in Previous Executions, so a post appears in one brief only (Remove Duplicates).
  6. Meta ads. An HTTP Request to the Ad Library API's ads_archive endpoint with search_page_ids (up to ten Pages per query), ad_reached_countries for your market and ad_delivery_date_min set to last Monday. It covers ads of any type delivered to the EU or UK in the past year; elsewhere, only ads about social issues, elections or politics (Ad Library API).
  7. The agent step. A Basic LLM Chain receives only the differences: URL, old text and new text per page, plus new feed items and ads. Instructions: one line per change, quoting old and new wording, with the URL and one sentence on what a buyer comparing you would notice. "No change this week" is a valid brief, and a change without both versions is not reported. A Structured Output Parser keeps the shape fixed.
  8. A person reads it first. Gmail's Send and Wait for Approval sends the draft to whoever owns competitive notes and holds the run (Gmail message operations). They compare each quoted change with the live page and approve; the Slack node's Send operation then posts it to the team channel (Slack node). A declined brief goes nowhere.

Google and LinkedIn ads stay manual, as links in the brief. Google's Ads Transparency Center searches by advertiser or website and filters by date and location. LinkedIn's Ad Library searches by company, keyword, country and date range, and keeps an ad for a year after its last impression. Plans and limits are in the n8n entry.

Free first: a Monday routine and three public libraries

Everything above runs by hand. Keep a sheet of URLs. Each Monday, save each pricing page with the Wayback Machine's Save Page Now, which gives that copy a permanent URL (Internet Archive help), and compare it with last week's copy. Read the feeds in any reader. Search each competitor in Meta's Ad Library, Google's Transparency Center and LinkedIn's Ad Library. Post five lines to the team.

That routine is enough on its own while one person owns it, and the saved copies give the automated version its first week of history. n8n's self-hosted Community edition runs the workflow without a licence fee, on a server you maintain (n8n docs).

The no-build route: Runable or Gumloop

Two agent tools run the watch as a scheduled request instead of a workflow. Runable's scheduled tasks use this very job as their example, deliver to email or Slack, and keep each run in the same chat so a later run builds on earlier ones (scheduled tasks); the free tier grants 1,500 credits a day, up to 15,000 a month (Runable FAQ). Gumloop runs an agent on a scheduled trigger and can hold a Slack post until someone approves it (triggers, human in the loop). Walkthroughs: how to use Runable and how to use Gumloop; products: the Runable entry and the Gumloop entry.

Neither route is wrong; they compare against different things. An agent that checks this week's page against its earlier notes finds what those notes recorded. A stored copy also finds the footnote that changed. Take the agent route for two or three competitors and a fast start, and the stored copy once the pricing page is what sales argues about.

Traffic, once a month, from Similarweb

The brief says what a competitor changed; traffic and channel mix say whether it works for them, and that shows slowly. Similarweb's Competitive Intelligence package is $199 a month, or $125 a month billed annually, with Competitor Alerts and 3 months of historical data (Similarweb pricing, checked on 26 October 2026). Its figures are estimates: calibrate them on your own site first, as how to use Similarweb shows, and give the first brief of each month one traffic line, never a weekly visit count.

Similarweb fences history by tier: the same page gives the $399 package 6 months and sells up to 37 months only as an add-on to its business tier, quoted by sales, so the first year-on-year question a board asks about a rival gets answered in a package you have not bought. Decide before any trial ends whether three months answers your question. More in the Similarweb entry.

Monthly cost, side by side

PiecePlanPrice, checked on 26 October 2026Role here
n8nCommunity editionNo licence fee; your serverThe whole workflow (n8n docs)
n8n CloudStarter$24 billed monthly, $20 billed annually2,500 executions; the watch uses 4 or 5 (pricing)
RunableFree, or Pro$0 with 1,500 credits a day; Pro $20 a month with 25,000 creditsAgent route (pricing)
GumloopProFrom $37, 20,000 creditsAgent route with Slack approval (pricing)
SimilarwebCompetitive Intelligence$199 billed monthly, $125 billed annuallyTraffic, monthly (pricing)
Meta Ad Library APINo fee shown on the API pageEU and UK ads by Page (API)

On the n8n route, your model provider bills tokens on top, for changed pages only.

How to know it worked

  • First source. Each month, list every competitor move the team heard of from anywhere, and mark which ones the brief reported first. Compare that share with the baseline moves, which mostly arrived through a prospect.
  • False alarms. Count lines the reader rejected: a cookie banner, a date stamp, a reordered list. Each is a selector to tighten, and the count should fall within a month.
  • A spot audit instead of a holdout. A classic holdout does not fit, because the thing measured is what you would have missed. So once a month the reader runs the full manual round on one watched competitor and compares it with the brief. Whatever the hand check finds and the watch missed is a page to add or a selector to fix.

FAQ

Do I need a developer for the Meta step?

Some help. Meta asks for identity confirmation, which can take a few days, a Meta for Developers account and an app, and says the API suits someone a little familiar with programming (Ad Library API). Until then, the public Ad Library search covers the same ads by hand.

What if a page shows a change every week that is not one?

Tighten the CSS selector first. If a field such as a date stamp sits inside the part you need, Compare Datasets can ignore it through Fields to Skip Comparing (Compare Datasets).

Can the brief go straight to the sales channel?

Not in the first month. A wrong price in a battlecard travels fast and comes back to you through a prospect. After four clean Mondays the reader can move from checking every line to checking every price, but someone still reads it before it posts.

TAGS
Competitor MonitoringAI Agentsn8nSimilarwebRunableGumloop

ABOUT THE AUTHOR

I am Joris van Huët, an enterprise interim CMO. 15+ years, 50+ organizations, including ING, P&G, Nestlé, BNP Paribas, WeTransfer and Vinted. I take on innovation projects (venture building, design sprints), agentic marketing (setting up and running AI agents) and hands-on multi-channel work. See the track record.

I wrote and published this with AI assistance, and I answer for it. Claims about my own experience are limited to the track record above, and a statistic links to its source or is labelled as an example. I sell interim and fractional CMO work, which is why this site exists. How this site is written.

Agentic marketing, built for your team

The agents in this article, built into your workflows and handed over to your team: the first one within two weeks.