The moment it happens
Answer support questions from Supabase and log each one in a sheet
Questions sent to your support link get an AI answer drawn from your Supabase knowledge base, and every question, answer and confidence score is logged in a sheet for review.
- Runs
- The moment it happens
- Apps
- Google Sheets, Supabase
- AI
- Yes, uses the built-in AI allowance
- Access
- Supabase read; Sheets edit (only the sheets you pick when connecting)
Send this to your assistant
Create a ClickRuntime automation: when a support question arrives at this link, answer it using my Supabase docs, return the answer, and log the question, answer and confidence to my Support Log sheet.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A product team adds an AI help widget to its site, backed by their documentation in Supabase. It answers well most of the time, but nobody knows which questions it fumbles, and the docs never improve.
Logging every question with the answer given and a confidence score turns the widget into a feedback loop: the team reviews low-confidence answers weekly and fills the gaps in the docs.
What you get out of it
Instant answers for customers
Common questions are answered in seconds from your own documentation.
See what customers ask
The sheet shows real questions in customers' own words, a direct guide to what to document.
Catch weak answers
Sorting by confidence shows exactly where the knowledge base falls short.
Review without tools
Support and product staff review answers in a familiar sheet.
How it works
What happens, step by step
A question arrives at your automation's link from your chat widget or helpdesk.
ClickRuntime searches your Supabase knowledge base for the most relevant passages.
AI writes an answer using only those passages, and the answer is sent back to the widget.
The question, answer and a confidence score are added as a row in your Support Log sheet.
Before it runs live
- Connect your Google Sheets account and pick the spreadsheets it may use
- Connect Supabase
- Paste your automation's link into the other app's webhook settings
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
- 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 Google Sheets and Supabase 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_event, credentials, http, ai
SHEET_ID = "your-spreadsheet-id"
SUPABASE = "https://your-project.supabase.co/rest/v1"
def sb(method, path, **kw):
key = credentials.secret("SUPABASE_KEY")
r = http.request(method, f"{SUPABASE}/{path}", **kw, headers={"apikey": key, "Authorization": f"Bearer {key}", "Prefer": "return=representation,resolution=merge-duplicates"})
return r.raise_for_status() or (r.json() if r.content else None)
@on_event
def handle(event):
question = (event.json or {}).get("question", "").strip()
if not question:
return {"error": "no question"}
docs = sb("POST", "rpc/match_documents", json={"query_text": question, "match_count": 4})
confidence = round(max((d.get("similarity", 0) for d in docs), default=0), 2)
answer = ai.generate("Answer using only these passages; if they don't cover it, say so and suggest contacting support.\n"
+ "\n---\n".join(d["content"][:1500] for d in docs) + f"\n\nQuestion: {question}", max_output_tokens=500).text
build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False).spreadsheets().values().append(spreadsheetId=SHEET_ID, range="Support Log!A:D", valueInputOption="RAW",
body={"values": [[datetime.now(timezone.utc).isoformat(timespec="minutes"), question, answer, confidence]]}).execute()
return {"answer": answer, "confidence": confidence}FAQ
Common questions
Where can questions come from?
How is confidence measured?
What does it need in Supabase?
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
Sort incoming requests by urgency into Supabase and a team sheet
Each customer request is classified by urgency with AI, saved to Supabase and added to the sheet your team works from, with urgent ones posted to Slack.
See how it worksFind people asking for tools like yours and list them in a sheet
Every hour, posts from people looking for a tool like yours are scored, stored in Supabase and added to a leads sheet for your team.
See how it worksList low-stock items from Supabase in a purchasing sheet
Each night, items in your Supabase inventory that are below their reorder level are written to your purchasing sheet, and you get an email to review and approve them.
See how it worksKeep exploring
Set up “Answer support questions from Supabase and log each one in a sheet” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.