Every 3 hours
Get warned before frost, snow or extreme heat
You hear about the weather only when freezing, snow or heat over your limit is forecast.
- Runs
- Every 3 hours
- Apps
- OpenWeatherMap
- AI
- Not needed
- Access
- API key
Send this to your assistant
Create a ClickRuntime automation: every 3 hours, check the forecast for Denver and email me once if it will drop below 0°C, snow, or go above 35°C.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A gardener with a greenhouse, a roofer booking jobs, a cyclist and a small-event organizer all care about the same thing: not whether it is nice, but whether something bad is coming. Checking a forecast app every few hours is tiring, and the one time you skip it is when a frost kills your seedlings, a downpour ruins a delivery, or a heatwave arrives while staff work outside. Missed warnings can mean lost plants, wasted days and safety risks.
Every three hours, the forecast for your location is fetched from OpenWeatherMap and compared with thresholds you set, such as below freezing, snow, more than 5 mm of rain, or above 32 degrees. If one is met, you get an alert; the same event is reported only once, so you are not nagged every three hours.
It is useful for anyone whose plans or property depend on a specific kind of weather.
What you get out of it
Frost and heat damage can be avoided
A freezing warning the evening before lets you cover plants, drain pipes or bring pets inside. The cost of one lost crop can exceed years of using the alert. That one protective step often justifies the whole setup.
Jobs get rescheduled in time
A roofer or painter who learns about rain a day ahead can swap jobs and keep the crew busy. Learning about it on the morning leaves paid workers standing idle.
Only important weather interrupts you
Because nothing is sent on ordinary days, an alert carries weight. You notice it, whereas a daily report of fine weather would soon be ignored. A short silence between alerts is itself reassuring news.
Safety risks are flagged early
Extreme heat or heavy snow affects outdoor staff, school runs and travel. Hearing about it hours ahead gives you time to alter shifts or routes sensibly. Acting early is much cheaper than coping with the consequences.
No repeated nagging
Each weather event triggers one alert, not a message every cycle while it remains in the forecast. That keeps the alerts from turning into background noise. That is why the alerts remain useful for months rather than being muted after a week.
How it works
What happens, step by step
Every 3 hours, ClickRuntime checks the forecast for your city on OpenWeather.
It looks for freezing temperatures, snow, or heat over 35°C.
You get an email listing each time and condition it found, with the temperature.
Each type of alert is sent only once per day, so you are not warned about the same frost twice.
Before it runs live
- Connect OpenWeatherMap
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
- Act only on the items that match your own rules, and skip the rest
- 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 OpenWeatherMap steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
CITY = "Denver,US"
@on_trigger
def run(event):
forecast = http.get("https://api.openweathermap.org/data/2.5/forecast",
params={"q": CITY, "units": "metric", "appid": credentials.secret("OPENWEATHER_API_KEY")}).json()
alerted = set(state.get("alerted") or [])
new = []
for f in forecast["list"]:
day, temp, main = f["dt_txt"][:10], f["main"]["temp"], f["weather"][0]["main"]
for kind, hit in (("freeze", temp < 0), ("snow", main == "Snow"), ("heat", temp > 35)):
if hit and f"{day}:{kind}" not in alerted:
alerted.add(f"{day}:{kind}")
new.append(f"{day} {f['dt_txt'][11:16]}: {kind} ({temp:.0f}°C, {f['weather'][0]['description']})")
report_fetched(len(new))
if not new:
return {"alerts": 0}
notify.email_me("Denver weather alert", "\n".join(new))
state.set("alerted", sorted(alerted)[-60:])
return {"alerts": len(new)}FAQ
Common questions
What thresholds can I use?
How far ahead does it warn me?
Will it alert again if the forecast changes?
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
Look up the weather for any city from a link
You send a city name or coordinates to a private link and get the current weather back by email.
See how it worksGet the day's weather every morning
Each morning at 7 you get today's temperature, conditions and rain chance for your city.
See how it worksKeep a monthly record of temperatures
Each day's weather is stored, and once a month you get averages and extremes.
See how it worksKeep exploring
Set up “Get warned before frost, snow or extreme heat” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
