I am still learning n8n and have one small project.
I want to monitor a government appointment page (similar to an NBI appointment booking page) and get notified only when something important changes, like new appointment slots or a status update.
I don’t want to scrape aggressively or break any website rules. I only need to check every few minutes and send a Telegram or email notification if there is a real change.
What is the best approach in n8n for this? HTTP Request + HTML Extract + compare with previous result? Or is there a better workflow?
Would like to hear how others handle this kind of monitoring without getting rate-limited.
Hi @jozerizzel Welcome!
Point the HTTP Request at the JSON endpoint the booking calendar itself calls rather than the rendered HTML, then store the response ETag in workflow static data and send it back as If-None-Match on the next poll. Unchanged polls come back 304 with no body, so turn on Include Response Headers and Status to read the ETag, and Never Error so a 304 does not fail the run.
Static data only saves on a published workflow run by its trigger, so every manual test run will look like the very first poll.
Thanks, this workflow looks much easier to understand.
I think I’ll try this first before making it more advanced with ETags. My main goal is just to get notified if something changes on the NBI online appointment page, so I don’t need to keep checking it manually all day.
I’ll build this flow and see how it performs. If the website becomes too heavy to poll, then I’ll look into the JSON/ETag approach that was mentioned earlier.