Every few hours
Get an email when a web page changes
When the text on a page you watch changes, you get the difference by email instead of checking by hand.
- Runs
- Every few hours
- Apps
- Firecrawl
- AI
- Not needed
- Access
- API key
Send this to your assistant
Create a ClickRuntime automation: every 6 hours, scrape https://example.com/pricing with Firecrawl and, if the content is different from last time, email me what changed.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Some pages matter because they change without warning: a regulator's guidance, a landlord's notice page, a supplier's terms, a job board, a vendor's status page, a university's admissions requirements. Checking them by hand means remembering to visit, reading closely, and comparing against a mental picture of last time. People miss changes because they did not look, or because the change was one sentence in a long page. Some change fast and without notice.
Every few hours, ClickRuntime scrapes the page as markdown, hashes the content and compares it with the stored hash. If it differs, it works out what changed and emails you the difference. If nothing changed, you hear nothing. Quiet days stay quiet.
It is useful for anyone who needs to react to a public page without checking it constantly.
What you get out of it
Learn about rule changes early
A new term in a supplier contract page or a change in a regulation needs a response. Hearing about it within hours leaves time to plan, not to scramble. That is time you need.
Stop visiting pages by hand
You no longer open the same page every morning just in case. The check runs several times a day and only contacts you when there is something to read. Minutes saved add up.
See exactly what changed
The email shows the difference, not just a note that the page changed. You can judge in seconds whether it matters or is a typo fix. Subtle edits matter in legal text, and the diff highlights them.
Catch changes you would not notice
One altered sentence in a long page is nearly invisible to a human reader. A hash comparison picks up every change, and the diff points to the sentence. Tiny edits often carry the biggest consequences.
Create evidence for disputes
Dated emails prove what a page said on a particular day. That helps when a vendor claims a policy was always the same or when a deadline seems to have moved.
How it works
What happens, step by step
Every few hours, ClickRuntime fetches the page you are watching, such as a pricing page, and reads its text.
It compares the text with the copy saved from the last check, then saves the new copy.
When something has changed, you get an email showing the lines that were removed and added.
Before it runs live
- Connect Firecrawl
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Firecrawl steps into one automation
Under the hood
The code that runs this automation
import difflib
from clickruntime import on_trigger, credentials, notify, http, state
URL = "https://example.com/pricing"
@on_trigger
def run(event):
resp = http.post("https://api.firecrawl.dev/v2/scrape",
headers={"Authorization": f"Bearer {credentials.secret('FIRECRAWL_API_KEY')}"},
json={"url": URL, "formats": ["markdown"]}, timeout=60)
resp.raise_for_status()
page = resp.json()["data"]["markdown"]
previous = state.get("page")
state.set("page", page)
if previous is None or previous == page:
return {"changed": False}
diff = difflib.unified_diff(previous.splitlines(), page.splitlines(), lineterm="", n=0)
notify.email_me(f"{URL} changed", "\n".join(list(diff)[:200]))
return {"changed": True}FAQ
Common questions
Will ads and timestamps trigger false alerts?
How often is the page checked?
Can I watch only part of a page?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Catch a product price drop
You get an email as soon as a product's price falls below the number you set.
See how it worksGet a plain summary of competitor site changes
A short note on what competitors changed on the pages you track, sent only when something meaningful moved.
See how it worksKnow the moment your website goes down
Your team hears in Slack when the site stops responding or slows down, and again when it's back.
See how it worksKeep exploring
Set up “Get an email when a web page changes” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.