Skip to content

The moment it happens

Set reminders by Telegram message and get them on time

You tell your Telegram bot what to remind you about and when, it saves the reminder in Airtable, and sends it to you when it is due.

Runs
The moment it happens
Apps
Airtable, Telegram
AI
Optional
Access
bot token; Airtable read+write

Send this to your assistant

Create a ClickRuntime automation: when I message my bot 'remind me…', save the reminder in my Airtable 'Reminders' table with the time. Every 5 minutes, send me any reminders that are due and mark them done.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A freelancer juggles client calls, invoice chases and personal errands. Reminders set in a phone app get lost among notifications, and there is no list to look back at. They already message themselves on Telegram all day.

Typing 'remind me to chase the Contoso invoice Thursday at 10' to a bot, and having it saved in Airtable and sent at the right time, keeps reminders in the chat they already use, with a full list in the base for planning the week. The same set-up can drip a course or lesson plan stored in Airtable, one item at a time.

What you get out of it

  • Set a reminder in plain words

    AI turns 'next Tuesday at 3' or 'in two hours' into an exact time.

  • A list you can see and edit

    Every reminder is a row in Airtable, so you can reschedule, cancel or review the week in one place.

  • Arrives on time

    Due reminders are sent within five minutes of their time.

  • Sent once

    Each reminder is marked done after it is sent, so it never repeats.

How it works

What happens, step by step

  1. You message your bot, for example 'remind me to call Northwind tomorrow at 9'.

  2. AI works out what to remind you about and the exact time.

  3. The reminder is saved in your Airtable Reminders table and the bot confirms the time back to you.

  4. Every 5 minutes, ClickRuntime checks for reminders that are due and sends them to you on Telegram.

  5. Each one is marked done once sent, so it is not sent again.

Before it runs live

  • Connect Airtable
  • Connect Telegram
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Set reminders by Telegram message and get them on timejust nowSucceeded
Telegram · Reminder botReminder: Chase the Contoso invoice (INV-0412)

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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 Airtable and Telegram steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
timed_reminders_and_lessons_via_telegram_from_airtable.pyexample
from datetime import datetime, timezone
from clickruntime import on_event, on_trigger, credentials, http, ai, report_fetched
BASE_ID, CHAT_ID, TZ = "appXXXXXXXXXXXXXX", 123456789, "Europe/London"
API = f"https://api.airtable.com/v0/{BASE_ID}/Reminders"
SCHEMA = {"type": "object", "properties": {"what": {"type": "string"}, "due_utc": {"type": "string"}}, "required": ["what", "due_utc"]}
def headers(): return {"Authorization": f"Bearer {credentials.connection('airtable', 'work')}"}
def send(text): http.post(f"https://api.telegram.org/bot{credentials.secret('TELEGRAM_BOT_TOKEN')}/sendMessage", json={"chat_id": CHAT_ID, "text": text})
@on_event
def handle(event):
    msg = (event.json or {}).get("message") or {}
    if msg.get("chat", {}).get("id") != CHAT_ID or not msg.get("text"):
        return {"ignored": True}
    r = ai.generate(f"Now (UTC): {datetime.now(timezone.utc).isoformat(timespec='minutes')}. Time zone: {TZ}.\nMessage: {msg['text']}",
                    system="Extract the reminder text and due time as ISO 8601 UTC. Leave due_utc empty if unclear.",
                    json_schema=SCHEMA, max_output_tokens=100).json
    if not r["due_utc"]:
        return send("Sorry, when should I remind you?") or {"saved": False}
    http.post(API, headers=headers(), json={"records": [{"fields": {"Reminder": r["what"], "Due": r["due_utc"], "Status": "Pending"}}]}).raise_for_status()
    send(f"Saved: {r['what']} at {r['due_utc']} UTC")
    return {"saved": True}
@on_trigger
def run(event):
    due = http.get(API, headers=headers(), params={"filterByFormula": "AND({Status}='Pending', IS_BEFORE({Due}, NOW()))"}).json()["records"]
    report_fetched(len(due))
    if not due:
        return {"sent": 0}
    for rec in due:
        send(f"Reminder: {rec['fields'].get('Reminder')}")
        http.patch(API, headers=headers(), json={"records": [{"id": rec["id"], "fields": {"Status": "Done"}}]}).raise_for_status()
    return {"sent": len(due)}

FAQ

Common questions

Which time zone does it use?
The time zone set in the script, for example Europe/London. Times you type are read in that zone and stored in Airtable as exact times.
How do I cancel a reminder?
Open your Airtable Reminders table and change its status to Cancelled. Only reminders still marked Pending are sent.
What if AI cannot work out the time?
The bot replies asking for a clearer time, and nothing is saved until it can read one.
What permissions does it need?
bot token; Airtable read+write. Nothing else in your accounts is used.
Does it need AI?
No, but you can ask for an AI step (for example a summary). It then uses ClickRuntime's built-in AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Set reminders by Telegram message and get them on time” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.