Daily
Get a daily summary of new feedback
One evening email grouping the day's feedback rows into themes, so you don't read each entry.
- Runs
- Daily
- Apps
- Supabase
- AI
- Yes, uses the built-in AI allowance
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every evening at 6pm, summarise today's new rows in my Supabase feedback table into the main themes and complaints and email it to me.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A product team collects feedback in a Supabase table from an in-app widget, a form and support replies. By Friday there are 80 rows of free text, from one-word complaints to long feature requests. Nobody reads all of them, so the thoughtful comment from a power user gets lost beside the noise, and recurring complaints never add up to a priority. Patterns hide in plain sight.
Each day, ClickRuntime fetches the rows added in the last 24 hours, passes the comments to ClickRuntime's built-in AI and emails you a concise summary of the main themes, notable requests and any urgent issues. You read two paragraphs instead of scrolling a table, and still see what customers are asking for.
It suits product managers and founders who receive more free-text feedback than they can read.
What you get out of it
Customer voices are actually heard
A summary guarantees every row contributes to the picture, even the ones nobody opened. The team hears recurring themes without anyone volunteering an afternoon to read a table. Quiet voices count as much as loud ones.
Urgent problems surface the same day
A bug report buried among praise might sit for a week. A daily summary highlights it while the customer is still waiting, which reduces churn caused by feeling ignored. Customers notice when their report gets a reply quickly.
Themes guide the roadmap
When ten comments in a week mention the same missing export, the summary names it. That evidence helps prioritize work and gives the team a concrete reason to build the feature.
Reading time drops to minutes
Instead of scanning dozens of rows, you read a short summary and open specific entries only when something stands out. A task that took an hour becomes a coffee-break read.
No separate AI account is needed
The summary is written by ClickRuntime's built-in AI, so there is no model key to buy or rotate. Teams with a feedback table can have daily insight without a procurement conversation.
How it works
What happens, step by step
Every evening ClickRuntime gathers the feedback rows added to your table that day.
AI reads them all and groups them into themes, with how many entries mention each.
You get one email with the day's count and the themes, so you don't have to read every entry.
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
- Change what the AI looks for, or how it writes the result
- 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 datetime import date
from clickruntime import on_trigger, credentials, http, notify, ai
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):
rows = http.get(f"{SUPABASE_URL}/rest/v1/feedback", params={"select": "message", "created_at": f"gte.{date.today()}"},
headers=sb_headers()).json()
if not rows:
return {"rows": 0}
numbered = "\n".join(f"{i + 1}. {r['message'][:500]}" for i, r in enumerate(rows))
summary = ai.generate(numbered[:30000], system="Group this feedback into main themes and complaints, with counts. Be brief.",
max_output_tokens=400).text
notify.email_me(f"Feedback summary: {len(rows)} new today", summary)
return {"rows": len(rows)}FAQ
Common questions
What happens on days with no new feedback?
Does the summary quote individual comments?
How many rows can it summarize at once?
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
Log outages in Supabase and get a diagnosis
When a site you watch fails, an incident row is written and you get an email with a short explanation of the likely cause.
See how it worksFill 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 worksStop a free Supabase project from pausing
Your free project stays active, and you hear about it if the keep-alive query fails.
See how it worksKeep exploring
Set up “Get a daily summary of new feedback” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.