The moment it happens
Check form sign-ups, save them to Supabase and ping Telegram
Each customer your form sends is checked, saved to Supabase unless they already exist, and you get a Telegram message either way.
- Runs
- The moment it happens
- Apps
- Supabase, Telegram
- AI
- Not needed
- Access
- Supabase read+write; bot token
Send this to your assistant
Create a ClickRuntime automation: when my form posts a customer to this link, check the email, skip duplicates already in my Supabase customers table, insert new ones and tell me on Telegram.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Sign-up forms collect typos, test entries and people who register twice. When those go straight into the customer table, the data gets messy and someone has to clean it up later.
Checking each record before it's saved, and messaging you on Telegram with the result, keeps the table clean and tells you about every new customer as it happens.
What you get out of it
A clean customer table
Invalid emails and duplicates are stopped before they're saved.
Know about every sign-up
A Telegram message arrives the moment someone registers.
Duplicates flagged, not lost
Repeat sign-ups are reported so you can follow up if needed.
Works with any form
Anything that can send data to a link can use it.
How it works
What happens, step by step
Your form sends each new customer to your automation's link.
ClickRuntime checks the email address and required fields.
It looks in your Supabase customers table for the same email address.
New customers are saved; duplicates and invalid records are not.
You get a Telegram message saying which happened.
Before it runs live
- Connect Supabase
- Connect Telegram
- 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
- 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 and Telegram steps into one automation
Under the hood
The code that runs this automation
import re
from clickruntime import on_event, credentials, http
MY_CHAT = 123456789
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)
def tg(method, **params):
return http.post(f"https://api.telegram.org/bot{credentials.secret('TELEGRAM_BOT_TOKEN')}/{method}", json=params).json()
@on_event
def handle(event):
c = event.json or {}
email = (c.get("email") or "").strip().lower()
if not re.fullmatch(r"[^@\s]+@[^@\s]+\.[a-z]{2,}", email) or not c.get("name"):
tg("sendMessage", chat_id=MY_CHAT, text=f"⚠️ Rejected sign-up: {c.get('name') or '?'} <{email or 'no email'}>")
return {"status": "invalid"}
if sb("GET", "customers", params={"select": "id", "email": f"ilike.{email}"}):
tg("sendMessage", chat_id=MY_CHAT, text=f"🔁 Duplicate sign-up: {c['name']} <{email}>")
return {"status": "duplicate"}
row = sb("POST", "customers", json={"name": c["name"], "email": email, "company": c.get("company")})[0]
tg("sendMessage", chat_id=MY_CHAT, text=f"✅ New customer #{row['id']}: {c['name']} <{email}> {c.get('company') or ''}")
return {"status": "inserted", "id": row["id"]}FAQ
Common questions
What is checked?
How are duplicates found?
Where do Telegram messages go?
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
Add and list Supabase records from Telegram commands
You type /add, /list or /delete to your Telegram bot and the matching rows in your Supabase table are created, shown or removed.
See how it worksAnswer questions in Telegram from your own documents
People ask your Telegram bot a question and get an answer drawn from the documents stored in your Supabase table.
See how it worksRun a Telegram assistant that remembers each user
Your Telegram bot replies with AI and remembers each user's recent messages, stored in your Supabase tables, so conversations stay in context.
See how it worksKeep exploring
Set up “Check form sign-ups, save them to Supabase and ping Telegram” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.