On a schedule
Send this week's Outlook events to a Telegram group
Each morning your Telegram group gets today's, tomorrow's and the rest of the week's events from Outlook.
- Runs
- On a schedule
- Apps
- Outlook, Telegram
- AI
- Not needed
- Access
- Calendars.Read; bot token
Send this to your assistant
Create a ClickRuntime automation: every day at 8am, send my Telegram group a list of today's, tomorrow's and this week's events from my Outlook calendar.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A small team, a family business or a club often keeps one shared Outlook calendar, but most people only look at it when they remember to. Meetings get missed and people ask the same 'what's on today?' question in the group chat.
Posting the schedule to the Telegram group each morning puts it where everyone already reads, so the day and the week ahead are clear without anyone opening a calendar.
What you get out of it
Everyone sees the plan
The schedule lands in a chat people read anyway. Nobody needs calendar access or another app.
Fewer missed meetings
Today's events at the top and tomorrow's underneath act as a reminder and an early warning.
A view of the week
The rest of the week is listed too. People can plan around busy days before they arrive.
No reminders to send by hand
Nobody has to type out the schedule each morning. It arrives at the same time every day.
How it works
What happens, step by step
Every morning it reads the next seven days of events from your Outlook calendar.
Events are grouped into today, tomorrow and later this week.
Private events are shown as Busy without details.
The list is sent to your Telegram group.
Before it runs live
- Connect Outlook
- 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
- Run it at a different time, more or less often, or only on weekdays
- 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 Outlook and Telegram steps into one automation
Under the hood
The code that runs this automation
GRAPH = "https://graph.microsoft.com/v1.0"
TG = "https://api.telegram.org"
from datetime import datetime, timedelta, timezone
from clickruntime import on_trigger, credentials, http
GROUP_CHAT_ID = -1001234567890
@on_trigger
def run(event):
now = datetime.now(timezone.utc).replace(hour=0, minute=0, second=0, microsecond=0)
h = {"Authorization": f"Bearer {credentials.connection('microsoft', 'work')}", "Prefer": 'outlook.timezone="UTC"'}
events = http.get(f"{GRAPH}/me/calendarView", headers=h, params={"startDateTime": now.isoformat(),
"endDateTime": (now + timedelta(days=7)).isoformat(), "$orderby": "start/dateTime", "$top": 100}).json()["value"]
buckets = {"Today": [], "Tomorrow": [], "This week": []}
for e in events:
start = datetime.fromisoformat(e["start"]["dateTime"][:19])
days = (start.date() - now.date()).days
key = "Today" if days == 0 else "Tomorrow" if days == 1 else "This week"
title = "Busy" if e.get("sensitivity") == "private" else e["subject"]
buckets[key].append(f"{start:%a %H:%M} {title}")
text = "\n\n".join(f"{k}:\n" + ("\n".join(v) or "Nothing scheduled") for k, v in buckets.items())
http.post(f"{TG}/bot{credentials.secret('TELEGRAM_BOT_TOKEN')}/sendMessage", json={"chat_id": GROUP_CHAT_ID, "text": text})
return {"events": len(events)}FAQ
Common questions
Which calendar does it read?
Will private appointments be shown?
Can I change the time it's sent?
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
Send e-books to your Kindle from Telegram
Forward an e-book to your Telegram bot and it arrives on your Kindle a few minutes later.
See how it worksGet a Telegram ping for each sale and thank the buyer by email
Every sale pings your phone on Telegram and the customer gets a thank-you email from your Outlook address.
See how it worksSort your Outlook inbox and get urgent emails on Telegram
New emails are labelled by topic, and the urgent ones reach your phone on Telegram with a one-line summary.
See how it worksKeep exploring
Set up “Send this week's Outlook events to a Telegram group” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.