Every 5 minutes
Get a Telegram alert for new Google Calendar invites
Every 5 minutes ClickRuntime checks your Google Calendar and sends a Telegram message when someone adds an event, invites you or cancels.
- Runs
- Every 5 minutes
- Apps
- Google Calendar, Telegram
- AI
- Not needed
- Access
- Calendar read-only (calendar.readonly); bot token
Send this to your assistant
Create a ClickRuntime automation: every 5 minutes, check my Google Calendar for events other people added, invited me to or cancelled since the last check, and send me a Telegram message with the title, time, organiser and my response status.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Calendar invites arrive as emails among everything else, and booking tools add events without telling you clearly. People discover a meeting ten minutes before it starts, or miss that a client cancelled.
This automation checks your Google Calendar every 5 minutes and sends a short Telegram message whenever someone else adds, invites you to or cancels an event, with the time and a link to respond.
It suits consultants, coaches and anyone whose calendar is filled by clients, colleagues and booking pages.
What you get out of it
Know about bookings right away
New appointments reach your phone within minutes instead of sitting in your inbox.
Cancellations too
A cancelled meeting is reported, so you can use the free slot.
See if you still need to reply
Each invite shows your response status, so pending invites do not get forgotten.
Only other people's changes
Events you create are left out, which keeps the messages useful.
No calendar settings to change
It reads the calendar through your Google connection and leaves your notification settings alone.
How it works
What happens, step by step
Every 5 minutes, ClickRuntime asks Google Calendar for events changed since the last check.
It keeps new events and cancellations made by other people and skips the ones you created yourself.
For each one it sends a Telegram message with the title, date and time, organiser and whether you have accepted.
A link in the message opens the event in Google Calendar.
Before it runs live
- Connect Google Calendar
- Connect Telegram
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 Google Calendar and Telegram steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, state
CAL, ME, CHAT_ID = "primary", "you@example.com", "123456789"
def tg(method, **params):
r = http.post(f"https://api.telegram.org/bot{credentials.secret('TELEGRAM_BOT_TOKEN')}/{method}", json=params)
r.raise_for_status()
return r.json()["result"]
def when(e):
s, end = e["start"].get("dateTime"), e["end"].get("dateTime")
if not s:
return f"{e['start']['date']} (all day)"
a, b = datetime.fromisoformat(s), datetime.fromisoformat(end)
return f"{a:%a %d %b, %H:%M}–{b:%H:%M}"
@on_trigger
def run(event):
since = state.get("since") or event.get("scheduled_time")
cal = build("calendar", "v3", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
items = cal.events().list(calendarId=CAL, updatedMin=since, showDeleted=True, singleEvents=True,
maxResults=50).execute().get("items", [])
sent = 0
for e in items:
org = (e.get("organizer") or {}).get("email", "")
if org == ME:
continue
if e["status"] == "cancelled":
text = f"❌ Cancelled: {e.get('summary', 'event')}"
elif e.get("created", "")[:16] == e.get("updated", "")[:16] or e.get("created", "") >= since:
me = next((a for a in e.get("attendees", []) if a.get("self")), {})
status = {"needsAction": "you have not replied", "accepted": "accepted", "tentative": "maybe", "declined": "declined"}.get(me.get("responseStatus"), "")
text = f"📅 New invite: {e.get('summary', '(no title)')}\n{when(e)}\nFrom: {org} · {status}\n{e.get('htmlLink', '')}"
else:
continue
tg("sendMessage", chat_id=CHAT_ID, text=text, disable_web_page_preview=True)
sent += 1
state.set("since", max([e["updated"] for e in items] + [since]))
return {"alerts": sent}
FAQ
Common questions
Does it alert me about events I create myself?
Will it work with booking pages?
Can I accept the invite from Telegram?
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
Block tomorrow's prayer times in your calendar and get them on Telegram
Each night, tomorrow's prayer times are blocked as busy in your Google Calendar and the schedule is sent to you on Telegram.
See how it worksGet a Telegram warning about tomorrow's calendar clashes
Each evening at 19:00, ClickRuntime checks tomorrow on your Google Calendars and sends a Telegram warning if any events overlap or run back to back.
See how it worksGet a Telegram reminder before each meeting
A few minutes before each meeting you get a Telegram message with the time, the join link and a short prep note.
See how it worksKeep exploring
Set up “Get a Telegram alert for new Google Calendar invites” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.