Every 5 minutes
Monitor a list of websites from a sheet
Add a site to your sheet and you'll hear in Slack whenever it goes down or comes back, with a log of every outage.
- Runs
- Every 5 minutes
- Apps
- Google Sheets, Slack
- AI
- Not needed
- Access
- Sheets read+write; Slack chat:write
Send this to your assistant
Create a ClickRuntime automation: every 5 minutes, check each URL in my Sites sheet. Post to #ops when one goes down or comes back, and add a row to the Outages tab.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A freelance developer looks after a dozen small sites for clients: brochure sites, a booking page and two web shops. Hosting providers go down, a plugin update takes a site offline, a domain expires. She finds out when a client phones her, sometimes hours after the site stopped responding, and has no idea when it came back. Paid monitoring tools charge per site, which is hard to justify for small accounts.
Every 5 minutes, ClickRuntime reads the list of URLs from your Google Sheet and sends an HTTP request to each one. If a site stops responding or returns an error, a message is posted in Slack. When it comes back, a recovery message follows, and every status change is added as a row in a log tab.
Freelancers, small agencies and in-house teams with a few sites use it as a simple uptime watchdog.
What you get out of it
You hear before your client does
A Slack message within minutes of an outage lets you start fixing it before the client notices. Calling first, with the cause in hand, is better for the relationship than being called.
Recovery messages close the loop
Knowing a site is back saves anyone from refreshing a page to find out. The paired down and up messages also give you the length of every outage. That paired signal is more useful than a bare error message.
A log of every outage
Each status change is recorded with its time, so you can show a client how often a site was unavailable. This data supports hosting complaints and service level conversations. Credits and refunds can be requested with real figures.
No per-site fees
Adding a site to the monitoring costs one row in the sheet. For small clients with tight budgets, that makes it possible to watch every site, not only the few that pay for a monitor.
Alerts only on a change of state
A message is sent when a site goes down and once more when it recovers, not on every failed check. That keeps the channel readable during a long outage. Fewer notifications means each one is taken seriously.
How it works
What happens, step by step
Every 5 minutes, ClickRuntime reads the list of websites from the Sites tab of your Google Sheet.
It visits each site and checks whether it responds.
When a site goes down or comes back up, a message appears in your #ops Slack channel, such as "shop.example.com is DOWN".
Each change is also added as a row in the sheet, so you keep a log of every outage.
Before it runs live
- Connect your Google Sheets account and pick the spreadsheets it may use
- Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)
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 Gmail
- Combine it with other Google Sheets and Slack steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime, timezone
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, state, notify
SHEET_ID = "your-spreadsheet-id"
@on_trigger
def run(event):
sheets = build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
urls = [r[0] for r in sheets.spreadsheets().values().get(spreadsheetId=SHEET_ID, range="Sites!A2:A")
.execute().get("values", []) if r]
status = state.get("status") or {}
rows = []
for url in urls:
try:
up = http.get(url, timeout=10).status_code < 500
except Exception:
up = False
if url in status and status[url] != up:
notify.slack(f"{'✅' if up else '🔴'} {url} is {'back up' if up else 'DOWN'}", channel="#ops")
rows.append([datetime.now(timezone.utc).isoformat(timespec="minutes"), url, "up" if up else "down"])
status[url] = up
if rows:
sheets.spreadsheets().values().append(spreadsheetId=SHEET_ID, range="Outages!A:C",
valueInputOption="USER_ENTERED", body={"values": rows}).execute()
state.set("status", status)
return {"checked": len(urls), "changes": len(rows)}FAQ
Common questions
What counts as a site being down?
Can I check more often than every 5 minutes?
Does it avoid false alarms from one failed request?
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
Never let an SSL certificate expire
Keep your domains in a sheet, and Slack warns you three weeks before any certificate runs out.
See how it worksGet reminded before contracts renew
Your team hears in Slack a month before a contract renews, and when an invoice in your sheet goes overdue.
See how it worksTrack the topics you care about across the web
Keep a list of sites and feeds in a sheet. Only the new items about your topic reach Slack, each with a short summary.
See how it worksKeep exploring
Set up “Monitor a list of websites from a sheet” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.