Skip to content

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.

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 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

  1. Every morning it reads the next seven days of events from your Outlook calendar.

  2. Events are grouped into today, tomorrow and later this week.

  3. Private events are shown as Busy without details.

  4. The list is sent to your Telegram group.

Before it runs live

  • Connect Outlook
  • Connect Telegram

What you get

RunsOn a schedule
Send this week's Outlook events to a Telegram grouptoday, 9:00Succeeded
Telegram · Team groupToday: Mon 10:00 Northwind kickoff · Mon 15:30 Payroll review. Tomorrow: Tue 09:00 Site visit, Acme warehouse

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

  • 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

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.
outlook_calendar_reminders_to_telegram.pyexample
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?
The Outlook calendar of the account you connect, or a shared calendar that account can see.
Will private appointments be shown?
Events marked private in Outlook are shown as Busy only, without the subject or location.
Can I change the time it's sent?
Yes. Pick any time and time zone, and you can send it on weekdays only.
What permissions does it need?
Calendars.Read; bot token. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (on a schedule). Checks that find nothing to do and stop right away aren't counted.
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 “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.