Operator
← Back to blog
GuidesProductivity

Watch any web page for changes with OpenClaw

Operator TeamOperator Team···8 min read

Some of the most useful information online never comes to you. A grant page on Grants.gov that will one day list a new deadline, a competitor's pricing page, a course that opens enrollment once a year, a company's careers page, the terms of service you need to know about if they get rewritten. The change matters, but nobody emails you when it happens, so you either check the page over and over or you miss the moment it moves.

Your Operator.io agent can keep that watch for you. You send it one prompt, point it at the pages you care about, and it checks each one on a schedule and only speaks up when something has changed, with the old version and the new one side by side so you can see what moved.

How it works

You send the watcher prompt, and the agent sets up the list and the daily check that drives it:

  • It keeps a CSV in its workspace with one row per page: the link, what counts as a change worth flagging, the last snapshot it saw, and when it last looked.
  • When you send a link, it asks what on the page you care about, reads it, and saves what it says right now as the baseline.
  • Once a day it visits each page, compares it to the saved snapshot, and updates the row.
  • It messages you only when a page you are watching has changed, with what it was before and what it is now, so a page that has not moved stays silent.

That last part is the difference between this and just bookmarking a page. You hear from it on the day something changes and not before. You can pause or retime the check on the Automations page in your dashboard.

The prompt

This is the instruction the agent acts on:

Be my website watcher. Create a spreadsheet in your workspace, a CSV with
columns for what I am watching, the page link, what counts as a change worth
flagging, the last value or snapshot you saw, and when you last checked. When
I send you a link, ask what on the page I care about, then read it, save what
it says now, and add a row. Once a day, visit each page, compare it to what
you saw last time, and update the row. Set up an automation that runs every
24 hours and messages me here only when something I am watching has actually
changed, with what it was before and what it is now, so a page that has not
moved stays quiet. Before you start, ask me which pages to watch and what
kind of change matters on each one, and what time of day to run the check.

The same prompt is saved in the prompts library, so you can send it to your agent without retyping a word.

Using it day to day

The reason to tell it what matters on each page is that most pages change in ways you do not care about. A timestamp updates, an ad rotates, a "trending now" widget reshuffles, and a naive monitor would ping you for all of it. Because you tell the agent in plain language what you are watching for, "let me know if the application deadline or the required documents change," it can read the page the way you would and ignore the noise. When it does flag something, it shows you the before and after, so you can act on it without opening the page to figure out what is different.

The list is a CSV the agent keeps, so it is easy to manage by talking to it. Add a page, drop one you no longer care about, tell it to check a time sensitive page twice a day and a stable one once a week, or ask it to summarize everything that changed across all your watched pages this month. When you want to read the raw history, it works straight from the file.

What to watch and how to describe it

Website change monitoring is a real category with decades of tooling behind it. Dedicated services like Visualping and Distill work by fetching a page on a schedule, storing a snapshot, and comparing the next fetch against it. Some compare pixels in a screenshot, some diff the HTML, and the better ones let you select a region of the page or filter out known noisy elements.

changedetection.io, the open source favorite covered by Opensource.com, goes further: CSS selectors, XPath rules, ignore text filters, and optional JavaScript rendering through a headless browser when a page loads its content dynamically.

Your agent takes a different approach. Instead of configuring selectors in a dashboard, you describe in plain language what on the page counts as a change. That maps well to the pages people actually watch.

On a federal grant opportunity, you care about the closing date, the eligibility section, and the required attachments, not the footer copyright year. On a competitor's pricing page, you care about plan names, monthly prices, and feature lists, not the hero banner rotation. On a university course catalog, you care about whether a section shows "open" or "waitlist," not the navigation menu.

Google Alerts solves a related but different problem. It watches Google's search index for new pages matching a keyword and emails you when something fresh appears. That is useful for news mentions and new blog posts, but it will stay silent when an existing URL gets edited, because the page was already indexed. For tracking edits to a specific URL, you need page level monitoring, which is what dedicated change detection tools and this prompt both provide.

Investigators and journalists use these watches constantly. The Bellingcat Online Investigation Toolkit lists Distill among its recommended tools for tracking court dockets, government pages, and social profiles that update without notification. The same pattern applies to anyone watching a regulatory guidance page, a product changelog, or a job posting that might flip from "open" to "closed" on a Friday afternoon.

When you add a page, be specific about the signal you want. "Tell me if the Pro plan price changes" is better than "watch this pricing page." "Alert me if the application deadline moves or new required documents appear" is better than "watch this grant." The agent saves your description as the filter criteria for that row, and you can refine it later if the first version catches too much or too little.

Handling noisy pages and JavaScript sites

Modern pages are built with JavaScript frameworks that render content after the initial HTML loads. A simple HTTP fetch, the kind described in web scraping references, sometimes returns an empty shell while the real content loads in the browser. Dedicated monitors solve this with headless Chrome or Playwright containers; changedetection.io documents this in its GitHub readme as an optional sockpuppetbrowser sidecar.

Your agent has browser access through OpenClaw's web tools, so it can read JavaScript heavy pages the way a person would. If a page looks empty on first fetch, tell the agent to load it in a browser and wait for the content you care about to appear before saving the baseline. That one instruction usually fixes pages that break simpler monitors.

Pages behind a login are the other limit. The agent visits each page from its own host with none of your accounts signed in, so a dashboard or a members only page shows it the logged out view rather than what you see, and it cannot watch something that exists only after you authenticate. Public pages are where this works as described. And since a flagged change comes through with the before and after right in your channel, point it at pages whose contents you are comfortable seeing there, rather than a private staging URL you would not want pasted into a chat.

Noise is the other common failure mode. E commerce sites rotate "customers also bought" widgets. News sites update "latest stories" sidebars. Government sites refresh "last updated" timestamps without changing the substance.

Visualping's paid tiers include AI importance scoring to filter some of this; changedetection.io offers CSS selectors and ignore text rules you configure manually. With your agent, the filter is the plain language description you wrote when you added the row. If a page keeps generating false positives, tighten the description: "only flag changes to the price table, ignore everything else on the page."

Why this beats a monitoring subscription

Website change monitoring is a real category with capable tools, and they line up on free tiers and paid plans like this.

ToolFree tierPaid plans
Visualping5 pages, 150 checks a month, 60 minute minimum intervalPersonal from $10 a month for 10 pages and 1,000 checks, Business from $100 a month with team workspaces, Slack and Microsoft Teams, and API access
Distill25 monitors, 5 in the cloud at a 6 hour interval, 1,000 checks a monthStarter $15 a month for 50 monitors at 10 minute cloud intervals, Professional $35 a month for 150 monitors at 5 minute intervals
changedetection.iofree forever, self hosted in Dockerhosted at $8.99 a month with 5,000 URL watches and a real Chrome browser for JavaScript sites

They are good at what they do, and for monitoring hundreds of pages at high frequency they are the right call.

For the handful of pages most people want to watch, this covers it without another login or bill. The watch list is a CSV you own, the agent reads each page the way you described rather than diffing raw HTML, and it runs on the OpenClaw you already pay for. The biggest practical difference is that it tells you what changed in plain language in the channel you already use, instead of sending you back to the page to spot the difference yourself. If you tried a monitoring tool and found it either too noisy or too much to set up for a few pages, this is the lighter version of the same idea.

To set it up, open the prompts library and send the website change watcher to your agent. It asks which pages to watch and what kind of change matters on each, then it checks them for you and speaks up only when one moves.

Frequently asked questions

How does the website change monitor work?

+

You send one prompt and the agent keeps a CSV with one row per page: the link, what counts as a change worth flagging, the last snapshot it saw, and when it last looked. When you send a link it asks what on the page you care about and saves that as the baseline. Once a day it visits each page, compares it to the snapshot, and messages you only when something changed, with the before and after side by side.

Will it flag every tiny change on a page?

+

Only if you ask it to watch the whole page. Most pages change in ways you do not care about, a timestamp, a rotating ad, a reshuffled widget, and a naive monitor would ping you for all of it. Because you describe in plain language what you are watching for, like "let me know if the application deadline or required documents change," the agent reads the page the way you would and ignores the noise.

What kinds of pages are worth watching?

+

Pages where a change matters but nobody emails you: a grant page that will list a new deadline, a competitor's pricing page, a course that opens enrollment once a year, a careers page, or terms of service that might get rewritten. You point the agent at them, say what counts as a change on each, and it keeps the watch so you do not have to reload the page yourself.

How is this different from Visualping or changedetection.io?

+

Those are capable tools: Visualping has a free tier of five pages and paid plans from $10 a month, and changedetection.io is open source and free if you run it in Docker yourself. For monitoring hundreds of pages at high frequency they are the right call. For the handful most people watch, the agent reads each page the way you described rather than diffing raw HTML, keeps a CSV you own, and tells you what changed in plain language in the channel you already use.