A Telegram Bot That Watches a Website and Pings You on Changes
You refresh a competitor's pricing page manually. You keep a browser tab open for a product that's been out of stock for weeks. You check a government tender board every morning hoping something new appeared. All of that is work a bot should be doing.
This guide shows you how to set up a Telegram bot that watches any public webpage on a schedule, uses an AI to decide whether a change is actually worth your attention, and sends you a Telegram message only when it is. The whole thing runs 24/7 on AgentRoost — no cron job, no VPS, no API keys to manage.
Why Most Website Monitors Are Annoying
The basic idea — fetch a page, diff it, alert — sounds simple. The problem is that modern web pages are full of noise: timestamps, ad slots, session tokens baked into the HTML, rotating banners, cookie consent text. A naive differ fires on all of it. Within a day you've trained yourself to ignore the alerts, which defeats the purpose.
The fix is a layer of judgment: fetch the page, extract the meaningful content, compare it to last time, then ask an LLM "does this diff represent a real change the user would care about?" If yes, ping. If no, stay quiet. That middle step is what makes the difference between a useful monitor and a notification firehose.
What Hermes Does Here
Hermes is AgentRoost's persistent AI assistant framework. It runs continuously on dedicated hardware, remembers context across days, can execute scheduled tasks on a timer, and communicates through a Telegram bot that's auto-provisioned for you the moment you start an instance.
For a website monitor, Hermes does three things on each scheduled run:
- Fetches the target URL and extracts the text content (stripping scripts, styles, and layout noise).
- Compares it to the stored snapshot from the previous run.
- Asks the included LLM whether the diff is meaningful, then sends a Telegram message only if the answer is yes.
Because AI credits are included in the AgentRoost subscription, that third step costs you nothing extra. Every alternative in this space — homegrown monitoring scripts, generic alerting services, or AI-powered automation tools like n8n Cloud — requires you to bring your own OpenAI or Anthropic key and pay for every LLM call separately. On AgentRoost it's already in the price.
The Monitoring Logic, Step by Step
Here's how to think about what Hermes does on each scheduled tick:
Step 1 — Fetch and Extract
Hermes makes an HTTP GET to your target URL. You tell it which part of the page matters: the full body text, a specific CSS selector, or just the content of a known element like a price <span> or a <table> with a known ID.
Example target configuration:
URL: https://example.com/product/widget-pro
Extract: the text of the element matching #product-price
Schedule: every 30 minutes
If the page uses server-side rendering and delivers plain HTML, extraction is straightforward. JavaScript-heavy SPAs that render entirely client-side are harder — Hermes works best with pages that deliver meaningful content in the raw HTML response.
Step 2 — Compare to Last Snapshot
Hermes stores the previous extracted text. On each run it computes a diff. If nothing changed, the task exits immediately — no LLM call, no alert. This keeps cost and noise low.
If there's a diff, it passes the old content, the new content, and the diff itself to the next step.
Step 3 — AI Significance Check
This is the key step. Hermes sends a prompt to the included LLM roughly like:
You are a change-significance judge.
Previous content:
"""
Price: $149.00
Status: In stock
"""
New content:
"""
Price: $129.00
Status: In stock
"""
Diff:
- Price: $149.00
+ Price: $129.00
Question: Is this a meaningful change the user should know about?
User's interest: price drops on this product.
Reply with YES or NO and one sentence explaining why.
If the LLM returns YES, Hermes formats a clean Telegram message and sends it to your bot. If NO, it logs the non-event and waits for the next tick.
Step 4 — Telegram Alert
Your Telegram message looks something like:
Price drop detected on Widget Pro Was: $149.00 → Now: $129.00 View page
That's the whole loop. It runs on the schedule you set, forever, without you touching anything.
Practical Use Cases
Competitor pricing. Set Hermes to watch a competitor's pricing page. Ask the LLM to flag any plan-level price change or new tier appearing. You'll know within the hour.
Product restock. Target the stock status text. The LLM prompt: "Flag if the status changes from 'Out of stock' to anything else." No more manual refreshing.
Job board / tender board. Watch a filtered search page. Ask the LLM to flag if the number of listings changes or if a new result appears that matches a keyword.
SaaS changelog. Point Hermes at a product's /changelog or /releases page. Get a Telegram ping each time a new version drops, with a one-line summary of what changed.
Content freshness. Monitor a news page or research publication and get alerted when new material appears — useful for staying on top of a specific topic without subscribing to every newsletter.
How to Set This Up on AgentRoost
The whole setup takes about two minutes:
- Create an account at agentroost.app — email/password, or sign in with Google, Microsoft, or Discord.
- Pick the Hermes framework from the agent list and give your instance a name (e.g.,
price-watcher). - Open the AgentRoost manager bot on Telegram and send
/startto your new Hermes agent. Your private bot is live. - Configure the monitoring task in the Hermes setup: paste the target URL, describe what you want to track, set the check interval, and write a one-sentence description of what counts as a meaningful change.
- Done. Hermes starts its first check immediately and then runs on schedule.
No Docker. No server. No SSL certificate. No OpenAI key. All you need is the URL you want to watch and a Telegram account.
Pricing starts at $19.99/mo, which bundles the compute, the Hermes runtime, and the AI credits for the significance checks. The Plus and Pro tiers add more credits and compute for setups that check many pages frequently. Every plan comes with a 14-day money-back guarantee.
See what's included in each plan or go straight to Hermes.
Tips and Pitfalls
Be specific in your significance prompt. "Alert me to any change" will still produce noise. "Alert me only if the price drops by more than $5 or the stock status changes" produces useful alerts.
Check your extraction selector first. Before setting the schedule, manually verify that the extracted text actually contains the information you care about. A quick manual run of the fetch step saves you a day of wondering why alerts aren't firing.
Respect the target site. A check every minute on a small site is borderline abusive. Every 15–30 minutes is reasonable for most use cases. If the site has an RSS feed or an official change API, use that instead — it's more reliable and less aggressive.
Pages with login walls won't work out of the box. Hermes fetches public URLs. If your target requires authentication, you'll need to find a public equivalent (many e-commerce sites have public product pages even when the cart requires login).
Snapshot persistence is automatic. Hermes is designed with persistent state in mind, so the previous snapshot is saved automatically between scheduled runs. You don't need to set up a database or worry about state expiring between ticks.
Frequently asked questions
Do I need my own OpenAI or Anthropic API key to make the AI change-judgment work?
No. AI/LLM credits are included in every AgentRoost plan. Hermes uses those credits for the significance check automatically — you never enter an API key or track token usage yourself.
How often can Hermes check the page?
You configure the schedule when you set up the task. Common intervals are every 15 minutes, every hour, or once a day — pick whatever matches how fast the page typically changes. Very frequent polling (under a minute) is not recommended and may hit rate limits on the target site.
Can I monitor pages that require a login?
Pages behind a login form generally can't be fetched with a simple HTTP request. Hermes can monitor any publicly accessible URL without authentication. For private pages you'd need to supply session cookies or use a scraping workaround — that's an advanced setup beyond the default flow.
What if I want to cancel?
AgentRoost is month-to-month with no long-term contract. Cancel any time from your dashboard. There's also a 14-day money-back guarantee if the product isn't what you expected.
Will Hermes spam me with tiny changes like a cookie-banner update?
That's exactly what the AI judgment step is for. Instead of alerting on every whitespace tweak or ad rotation, the LLM reads the diff and only notifies you when the change is substantive — a price shift, a new paragraph, a status update. You tune the significance prompt to match what you care about.