Google Calendar to Telegram, daily meeting clarity
You check your calendar. Then again. Then “just one more time” before a call. It’s not hard work, but it’s constant, and it quietly steals focus. This calendar Telegram summary automation fixes that by putting the whole day’s meetings where you actually look.
Account managers feel it when meetings stack up back-to-back. Founders get hit when context-switching is nonstop. And students with packed schedules get the same problem in a different outfit: too many moving pieces, too early in the day.
This workflow pulls today’s Google Calendar events at 6am, formats them cleanly, and sends a single Telegram message. You’ll see what it does, what you need, and how to adjust it to your style.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Google Calendar to Telegram, daily meeting clarity
flowchart LR
subgraph sg0["Daily 6am Flow"]
direction LR
n0@{ icon: "mdi:location-exit", form: "rounded", label: "Fetch Today's Meetings", pos: "b", h: 48 }
n1@{ icon: "mdi:play-circle", form: "rounded", label: "Daily 6am Trigger", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Meeting Fields", pos: "b", h: 48 }
n3@{ icon: "mdi:code-braces", form: "rounded", label: "Compose Telegram Text", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/telegram.svg' width='40' height='40' /></div><br/>Send Telegram Alert"]
n2 --> n3
n3 --> n4
n1 --> n0
n0 --> n2
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n1 trigger
class n3 code
classDef customIcon fill:none,stroke:none
class n4 customIcon
The Problem: Your calendar becomes a tab you babysit
Most people don’t miss meetings because they “forgot how calendars work.” They miss them because the day gets noisy. You wake up, scan a few events, then Slack/DMs start. A client reschedules. A teammate adds you to something last-minute. Now you’re checking Google Calendar over and over to stay safe, and it still doesn’t feel reliable. Honestly, the mental load is worse than the time. You’re spending attention just to feel “caught up,” and that attention should be going to the actual work (or a calmer morning).
The friction compounds. Here’s where it breaks down.
- You keep reopening Google Calendar “just in case,” which pulls you out of deep work every time.
- When meetings shift overnight, your morning plan is wrong before you even start.
- On mobile, it’s easy to miss details like location links, dial-in notes, or which events are actually important.
- If you’re coordinating across time zones, you can second-guess the start time and still show up late.
The Solution: A daily Telegram briefing pulled straight from Google Calendar
This workflow sends you one clean message every morning with everything on your calendar for the day. At 6am, n8n checks Google Calendar for today’s events, then reshapes the event data into a simple list (time, title, and whatever details you choose). A small formatting step turns that list into readable text that doesn’t feel like a raw export. Finally, a Telegram bot sends it directly to your Telegram user ID, so it lands where you’ll actually see it. No hunting for the right calendar view. No “did that move?” anxiety. Just one daily snapshot you can trust.
The workflow starts with a scheduled trigger at 6am. Google Calendar is queried for today’s meetings, then the fields are mapped and formatted in a JavaScript function. Telegram delivers the summary as a single alert, ready to skim in seconds.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you have 6 meetings on a typical weekday. Manually, most people check their calendar about 6 times (morning, before each call, and once after lunch), and each check is maybe 2 minutes when you include unlocking your phone, scanning details, and reopening the right view. That’s roughly 10–15 minutes of small interruptions. With this workflow, you get one Telegram message at 6am, you skim it in about 30 seconds, and you’re done. You still can open the calendar when you need specifics, but the constant “calendar babysitting” disappears.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Calendar to pull today’s scheduled meetings.
- Telegram to receive the daily summary message.
- Telegram bot token + your Telegram user ID (create a bot in BotFather, then copy your ID from Telegram).
Skill level: Beginner. You’ll connect accounts, paste IDs/tokens, and optionally tweak a short formatting script.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A daily schedule trigger runs at 6am. n8n starts the workflow on a fixed morning schedule, so you don’t need to remember to press anything.
Google Calendar is queried for today’s events. The workflow pulls meetings for the current day, using your connected Google account and calendar access.
Your meetings get cleaned up and formatted. A “Set” step maps the meeting fields into a predictable structure, then a small JavaScript function turns them into a readable list (for example, “09:30 Standup” instead of a messy blob of metadata).
Telegram delivers the final briefing. The bot sends the message to your specified Telegram user ID, so your daily schedule is waiting in chat when you wake up.
You can easily modify the message format to include meeting links, locations, or attendee notes based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Schedule Trigger
Set the workflow to run automatically every day at 6:00 AM.
- Add the Daily 6am Trigger node.
- In Rule, set Trigger At Hour to
6. - Confirm the workflow timezone is set to
Asia/Tehranin workflow settings.
Step 2: Connect Google Calendar
Pull today’s meetings from your Google Calendar so they can be summarized.
- Add the Fetch Today's Meetings node and connect it to Daily 6am Trigger.
- Set Operation to
getAll. - Set Calendar to
[YOUR_EMAIL](the calendar to read). - In Options, set Time Min to
{{ $today }}and Time Max to{{ $today.plus({ days: 1 }) }}. - Enable Single Events to
true. - Credential Required: Connect your googleCalendarOAuth2Api credentials.
Step 3: Set Up Data Mapping and Message Formatting
Map the key event fields and format the Telegram-ready message.
- Add the Map Meeting Fields node and connect it to Fetch Today's Meetings.
- Enable Keep Only Set to
true. - Set fields in Values → String as follows:
- Name to
{{ $json.summary }} - Time to
{{ $json.start }} - Guests to
{{ $json.attendees }}
- Name to
- Add the Compose Telegram Text node and connect it to Map Meeting Fields.
- Paste the Function Code exactly as provided to build the formatted message output.
fa-IR locale and respects each event’s time zone.Step 4: Configure the Telegram Output
Send the compiled daily digest to Telegram.
- Add the Send Telegram Alert node and connect it to Compose Telegram Text.
- Set Text to
{{$json["message"]}}. - Credential Required: Connect your Telegram bot credentials in Send Telegram Alert.
Step 5: Test and Activate Your Workflow
Run a manual test to confirm the digest content and delivery, then activate it for daily use.
- Click Execute Workflow to run a manual test.
- Verify that Fetch Today's Meetings returns events for today and Compose Telegram Text outputs a
messagefield. - Confirm you receive a formatted message in Telegram from Send Telegram Alert.
- Toggle the workflow to Active to enable daily 6am execution.
Common Gotchas
- Google Calendar permissions can be the culprit. If events don’t show up, check the Google connection in n8n and confirm the calendar you expect is shared/accessible.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Your Telegram node needs your real Telegram user ID, not the placeholder. If messages “send” but you never receive them, confirm the chat/user ID and that you started a chat with the bot.
Frequently Asked Questions
About 20 minutes if your Google and Telegram accounts are ready.
No. You will mostly connect accounts and paste your Telegram user ID. If you want custom formatting, you’ll edit a small JavaScript snippet, but it’s optional.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and that’s the fun part. You’ll adjust the “Compose Telegram Text” Function node to change the layout (group by time blocks, add emojis, include meeting locations, or show Meet/Zoom links). If you want different fields, tweak “Map Meeting Fields” so the function has the data you care about. Common customizations include hiding all-day events, adding a “first meeting starts at…” line, and highlighting meetings with certain keywords like “Interview” or “Client.”
Most of the time it’s a wrong chat/user ID or the bot was never started in Telegram. Double-check the placeholder was replaced with your actual Telegram user ID in the Telegram node. Also confirm the bot token is correct and hasn’t been regenerated in BotFather. If it still fails, look at the execution logs in n8n to see whether Telegram returned “chat not found” or an authentication error.
For most personal calendars, it effectively handles “as many as you can fit in a day,” and the limiting factor becomes message length, not processing.
It depends, but n8n is usually a better fit when you care about message formatting and reliability. The Function node makes it easy to produce a clean, readable agenda instead of a clunky template, and you can self-host if you don’t want to think about task limits. Zapier and Make can absolutely do “calendar → message,” yet you may hit walls when you want conditional formatting (like skipping tentative events, or grouping by morning/afternoon). If you’re already in Telegram daily, this workflow is a simple win. If you’re unsure, Talk to an automation expert and pick the tool you’ll actually maintain.
It’s a small automation that creates a surprisingly calm morning. Set it up once, and your schedule shows up without you chasing it.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.