Skip to content

Every 30 minutes

Watch a list in Google Sheets and alert Discord when something changes

Sites, domains or prices you list in a sheet are checked every 30 minutes, the sheet shows the latest status, and Discord hears when one flips.

Runs
Every 30 minutes
Apps
Discord, Google Sheets
AI
Not needed
Access
Sheets edit; Discord send

Send this to your assistant

Create a ClickRuntime automation: every 30 minutes, check each URL in my Watchlist sheet, record the status and time in the sheet, and alert #alerts on Discord when one changes.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A small community of indie developers keeps a shared list of things they care about: their own project sites, a few domains they hope to buy, and a couple of services they depend on. Someone checks by hand when they remember. A site was down for most of a weekend before anyone noticed, and a domain they wanted became available and was taken again within a day.

Keeping the list in a sheet and checking it every half hour gives everyone one place to add items, see the current status, and get told in the Discord channel they already use the moment something changes.

What you get out of it

  • One shared list anyone can edit

    Adding something to watch is one new row in the sheet. Nobody needs access to scripts or settings to add a site or remove one.

  • Status visible at a glance

    Each row shows the latest result and when it was checked. You can see the state of everything without waiting for an alert.

  • Alerts only when something flips

    Discord hears when an item changes, not every half hour. The channel stays readable and each alert is worth reading.

  • Alerts where the group already talks

    The message lands in your Discord channel, so whoever is around can react. It does not depend on one person's inbox.

  • Flexible about what is watched

    Website uptime, domain availability or a price threshold all fit the same pattern. One sheet can mix them, with a column saying which check to run.

How it works

What happens, step by step

  1. Every 30 minutes, ClickRuntime reads the list of items from the Watchlist tab of your Google Sheet.

  2. It checks each one and writes the result and the time back next to it in the sheet.

  3. It compares each result with the previous check.

  4. When something changes, such as a site going down, an alert is posted to your Discord channel.

Before it runs live

  • Connect Discord
  • Connect your Google Sheets account and pick the spreadsheets it may use

What you get

RunsEvery 30 minutes
Watch a list in Google Sheets and alert Discord when something changestoday, 9:00Succeeded
Discord · #alertshttps://status.northwind.dev is now DOWN

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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 Discord and Google Sheets steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
watch_a_list_in_sheets_and_alert_discord_on_changes.pyexample
from datetime import datetime, timezone
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, state

SHEET_ID = "your-spreadsheet-id"
CHANNEL_ID = "your-discord-channel-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="Watchlist!A2:A").execute().get("values", []) if r]
    last = state.get("last") or {}
    now = datetime.now(timezone.utc).isoformat(timespec="minutes")
    rows, flips = [], []
    for url in urls:
        try:
            status = "up" if http.get(url, timeout=10).status_code < 500 else "down"
        except Exception:
            status = "down"
        if url in last and last[url] != status:
            flips.append(f"{url} is now {status.upper()}")
        last[url] = status
        rows.append([status, now])
    sheets.spreadsheets().values().update(spreadsheetId=SHEET_ID, range="Watchlist!B2", valueInputOption="RAW", body={"values": rows}).execute()
    if flips:
        http.post(f"https://discord.com/api/v10/channels/{CHANNEL_ID}/messages", headers={"Authorization": f"Bot {credentials.secret('DISCORD_BOT_TOKEN')}"},
                  json={"content": "\n".join(flips)})
    state.set("last", last)
    return {"checked": len(urls), "changes": len(flips)}

FAQ

Common questions

What can I put on the watchlist?
Website addresses to check for uptime, and with a lookup service added, domains to check for availability or coins and products to compare against a target price.
Will it alert me every 30 minutes while a site is down?
No. It alerts once when the status changes and once more when it changes back. The sheet keeps showing the current status in between.
What does the sheet record?
Each row gets the latest status and the time it was checked, written next to the item. The history of changes lives in your Discord channel.
What permissions does it need?
Sheets edit; Discord send. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (every 30 minutes). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Watch a list in Google Sheets and alert Discord when something changes” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.