Every 3 days
Stop a free Supabase project from pausing
Your free project stays active, and you hear about it if the keep-alive query fails.
- Runs
- Every 3 days
- Apps
- Supabase
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every 3 days run a small select on my Supabase project so it stays active, and email me if the query errors.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A developer builds a side project, a prototype for a client or a small internal tool on Supabase's free tier and then gets busy with something else. After a stretch of inactivity the project is paused, the app starts returning errors and the developer finds out when a user complains. Restoring a paused project takes manual steps, and a demo scheduled for the same morning can fall apart.
Every three days, ClickRuntime sends a lightweight select query to your project, which counts as real activity. If the query fails, for example because the project is already paused or the key stopped working, it emails you so you can act before anyone else notices. A healthy run stays silent and costs you nothing.
It helps solo builders, students and agencies that keep several low-traffic projects running on the free plan.
What you get out of it
Demos and prototypes stay online
A client demo or a portfolio project that has been paused makes you look careless. A small regular query keeps the project awake, so the link you share on Monday still works on Friday.
You hear about problems before users do
When the check fails, you get an email straight away. Finding out from your own inbox on Tuesday beats learning about the outage from an annoyed user on Thursday. Even a quiet week still gets a check.
No need to remember a manual visit
Logging in to the dashboard every week to keep a project alive is exactly the kind of chore that gets forgotten. The scheduled query removes the habit entirely and still runs during holidays.
Several projects can be covered at once
If you maintain a handful of small projects, each gets its own check. One routine protects all of them, so a forgotten prototype does not become a paused one. Each one is monitored separately.
The query touches almost no data
A single small select on a table creates no meaningful load and does not alter your rows. You keep the project active without writing data or risking changes to anything important.
How it works
What happens, step by step
Every three days ClickRuntime runs a tiny read against your Supabase project.
That activity keeps a free project from being paused for inactivity.
If the read fails, you get an email with the error so you can fix it before the project pauses.
Before it runs live
- Connect Supabase
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 Slack
- Combine it with other Supabase steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, notify
SUPABASE_URL = "https://your-project.supabase.co"
def sb_headers(**extra):
key = credentials.secret("SUPABASE_SECRET_KEY")
return {"apikey": key, "Authorization": f"Bearer {key}", **extra}
@on_trigger
def run(event):
resp = http.get(f"{SUPABASE_URL}/rest/v1/profiles", params={"select": "id", "limit": 1}, headers=sb_headers())
if not resp.ok:
notify.email_me("Supabase keep-alive query failed", f"HTTP {resp.status_code}: {resp.text[:500]}")
return {"status": resp.status_code}FAQ
Common questions
How often does the query need to run to prevent a pause?
Which query does it run?
What happens if the project is already paused?
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
Fill a Supabase table from feeds on a schedule
New articles, prices or other public items land in your table every hour, with duplicates skipped.
See how it worksGet yesterday's signups and orders by email
Each morning you see how many rows were added to your key tables the day before, compared with the day prior.
See how it worksEmail yourself a weekly CSV of a table
Every Sunday a CSV copy of one small table arrives in your inbox.
See how it worksKeep exploring
Set up “Stop a free Supabase project from pausing” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.