Telegram + Gmail, inbox summaries without tab hopping
Your inbox isn’t the real problem. It’s the constant switching. Gmail tab, Calendar tab, Sheets tab, back to Gmail, then you forget the one email that actually mattered.
Telegram Gmail automation helps when you’re moving fast and your follow-ups can’t slip. Consultants feel it when client emails stack up. Founders do too. Same for busy marketers trying to keep campaigns and meetings from colliding.
This n8n workflow turns a simple Telegram chat into an AI personal assistant that summarizes unread emails, captures tasks in Google Sheets, and creates or updates Google Calendar events. You’ll see how it works, what you need, and where people usually get stuck.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Telegram + Gmail, inbox summaries without tab hopping
flowchart LR
subgraph sg0["Telegram Bot Flow"]
direction LR
n0@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Route Text or Voice Messages", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract Text Message", pos: "b", h: 48 }
n2["<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/>Get Voice File from Telegram"]
n3["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Download Voice File"]
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Merge Text and Voice Input", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Transcribe Voice to Text", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "AI Personal Assistant", pos: "b", h: 48 }
n7["<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 Response to User"]
n8@{ icon: "mdi:message-outline", form: "rounded", label: "Read Unread Emails", pos: "b", h: 48 }
n9@{ icon: "mdi:message-outline", form: "rounded", label: "Send Email", pos: "b", h: 48 }
n10@{ icon: "mdi:location-exit", form: "rounded", label: "Create Calendar Event", pos: "b", h: 48 }
n11@{ icon: "mdi:location-exit", form: "rounded", label: "Read Calendar Events", pos: "b", h: 48 }
n12@{ icon: "mdi:location-exit", form: "rounded", label: "Delete Calendar Event", pos: "b", h: 48 }
n13@{ icon: "mdi:database", form: "rounded", label: "Read Task Sheet", pos: "b", h: 48 }
n14@{ icon: "mdi:database", form: "rounded", label: "Add New Task", pos: "b", h: 48 }
n15@{ icon: "mdi:database", form: "rounded", label: "Update Task Status", pos: "b", h: 48 }
n16@{ icon: "mdi:memory", form: "rounded", label: "Conversation Memory", pos: "b", h: 48 }
n17["<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/code.svg' width='40' height='40' /></div><br/>Store User Chat ID"]
n24["<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/code.svg' width='40' height='40' /></div><br/>Prevent Duplicate Responses"]
n25@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Language Model", pos: "b", h: 48 }
n26["<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/>Telegram Bot Trigger"]
n9 -.-> n6
n14 -.-> n6
n13 -.-> n6
n8 -.-> n6
n17 --> n0
n15 -.-> n6
n16 -.-> n6
n3 --> n5
n1 --> n4
n11 -.-> n6
n26 --> n17
n6 --> n24
n10 -.-> n6
n12 -.-> n6
n25 -.-> n6
n5 --> n4
n4 --> n6
n24 --> n7
n2 --> n3
n0 --> n1
n0 --> n2
end
subgraph sg1["30-Minute Reminder Timer Flow"]
direction LR
n18["<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/code.svg' width='40' height='40' /></div><br/>Filter Due Tasks"]
n19["<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 Task Reminder"]
n20["<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/code.svg' width='40' height='40' /></div><br/>Format Reminder Message"]
n21@{ icon: "mdi:database", form: "rounded", label: "Mark Reminder Sent", pos: "b", h: 48 }
n22@{ icon: "mdi:play-circle", form: "rounded", label: "30-Minute Reminder Timer", pos: "b", h: 48 }
n23@{ icon: "mdi:database", form: "rounded", label: "Read Task Data", pos: "b", h: 48 }
n23 --> n18
n18 --> n20
n19 --> n21
n20 --> n19
n22 --> n23
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 n26,n22 trigger
class n5,n6 ai
class n25 aiModel
class n16 ai
class n0 decision
class n13,n14,n15,n21,n23 database
class n3 api
class n17,n24,n18,n20 code
classDef customIcon fill:none,stroke:none
class n2,n3,n7,n17,n24,n26,n18,n19,n20 customIcon
The Problem: Inbox work creates hidden work
You check email “for a second” and 20 minutes disappear. Then you open Calendar to see if you can take the meeting, and that turns into another detour. Somewhere in the middle you promised yourself you’d log a task, but you didn’t. Later, you remember it at the worst time. The cost isn’t just time. It’s the mental load of keeping tiny commitments in your head, plus the expensive mistakes (missed follow-ups, double-bookings, tasks that never make it into a system).
It adds up fast. Here’s where it breaks down in real life.
- Unread emails keep piling up because “checking later” turns into never.
- You copy details into a task list manually, and the due date formatting becomes a guessing game.
- Scheduling from email threads causes back-and-forth, especially when you can’t see conflicts quickly.
- Even when you use productivity apps, you still have to open them, which means the habit never sticks.
The Solution: A Telegram-based AI assistant for email, tasks, and calendar
This workflow gives you one place to run the basics of your day: a Telegram chat. You send a text or a voice note. The workflow routes that input, cleans it up, and (if it’s voice) transcribes it with OpenAI Whisper. Then an AI Agent interprets what you meant and decides what action to take, like summarizing unread Gmail messages, drafting an email reply, creating a calendar event, or adding a task into a Google Sheets tracker. There’s also a scheduled reminder loop that checks tasks every 30 minutes and sends a Telegram notification only when it should, so you don’t get spammed. Duplicate reply blocking helps keep conversations clean, which is honestly one of those small details that makes the whole thing feel “assistant-like,” not “bot-like.”
The workflow starts when you message your Telegram bot (voice or text). AI turns that message into an intent like “summarize my unread emails” or “add a task due Friday.” Finally, the result comes back to Telegram, while tasks land in Google Sheets and events land in Google Calendar.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you deal with about 20 unread emails a day and you normally spend maybe 2 minutes each just figuring out what matters. That’s around 40 minutes, before you even reply. Add 10 minutes to log tasks into a sheet, plus another 10 minutes bouncing into Calendar to schedule or check conflicts. With this workflow, you send one Telegram message like “Summarize unread emails and pull out tasks,” then add “Schedule a call Thursday at 3.” That’s a couple minutes of chatting, plus the workflow’s processing time in the background.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Telegram Bot API for chat-based commands and reminders.
- Google Gmail API to read and send email.
- Google Calendar API for event creation and updates.
- Google Sheets API to store tasks in a spreadsheet.
- OpenAI API key (get it from the OpenAI API dashboard).
Skill level: Intermediate. You’ll connect credentials (OAuth for Google) and paste a few IDs like your Telegram chat ID.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A Telegram message triggers everything. The workflow listens for your bot messages, then saves your chat identifier so replies and reminders go to the right place (even with multi-user support).
Voice gets turned into clean text. If you send a voice note, n8n fetches the audio file from Telegram, downloads it, and transcribes it with OpenAI Whisper. Text messages skip this and go straight to parsing.
An AI agent decides what you meant and takes action. The assistant uses a chat model plus short-term memory to keep context, then calls the right tools: Gmail for unread summaries or sending, Google Calendar for event changes, and Google Sheets for task reads and writes.
Results come back to Telegram, and reminders run in the background. A separate schedule trigger checks your task sheet every 30 minutes, filters for pending tasks that haven’t been reminded, then sends a Telegram alert and flags the row so you don’t get duplicate nudges.
You can easily modify the reminder frequency to match your day based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Telegram Trigger
Set up the incoming Telegram messages that initiate the assistant flow, then pass the chat context into the routing logic.
- Add and configure Telegram Bot Listener as your trigger node.
- Credential Required: Connect your Telegram Bot API credentials in Telegram Bot Listener.
- Connect Telegram Bot Listener to Persist Chat Identifier to store the incoming chat ID for downstream messaging.
- Connect Persist Chat Identifier to Route Text/Voice Input to branch between text and voice messages.
⚠️ Common Pitfall: If the Telegram credentials are not connected, the trigger will never receive updates and the workflow will appear idle.
Step 2: Connect Telegram Voice Handling
Configure the voice branch so voice notes are fetched, downloaded, and transcribed into text for the AI assistant.
- From Route Text/Voice Input, connect the voice path to Fetch Telegram Voice File.
- Credential Required: Connect your Telegram Bot API credentials in Fetch Telegram Voice File and Deliver Reply to User.
- Connect Fetch Telegram Voice File to Download Voice Clip to retrieve the file contents.
- Connect Download Voice Clip to Transcribe Audio to Text for speech-to-text conversion.
- Credential Required: Connect your OpenAI credentials in Transcribe Audio to Text.
- Connect Transcribe Audio to Text to Combine Text & Voice Data to normalize voice and text inputs.
Keep a consistent input schema in Combine Text & Voice Data so the assistant gets a single consolidated text field.
Step 3: Parse Text Input and Prepare Unified Prompt
Prepare direct text messages and merge them with transcribed voice data before sending them to the AI assistant.
- From Route Text/Voice Input, connect the text path to Parse Text Message.
- Connect Parse Text Message to Combine Text & Voice Data so both text and voice inputs follow the same path.
- Connect Combine Text & Voice Data to AI Assistant Orchestrator.
Step 4: Set Up the AI Assistant and Tools
Configure the AI brain and its connected tools for email, calendar, and spreadsheet task management.
- Open AI Assistant Orchestrator and connect OpenAI Chat Model as the language model.
- Credential Required: Connect your OpenAI credentials in OpenAI Chat Model (credentials are added to the parent model, not the sub-node tools).
- Attach Conversation Memory Store to AI Assistant Orchestrator to preserve conversational context.
- Add Gmail tools Fetch Unread Emails and Dispatch Email Notice to AI Assistant Orchestrator.
- Credential Required: Connect your Gmail credentials in AI Assistant Orchestrator for the Gmail tools.
- Add Google Calendar tools Retrieve Calendar Events, Create Calendar Entry, and Remove Calendar Entry to AI Assistant Orchestrator.
- Credential Required: Connect your Google Calendar credentials in AI Assistant Orchestrator for the Calendar tools.
- Add Google Sheets tools Read Task Spreadsheet, Append New Task, and Modify Task Status to AI Assistant Orchestrator.
- Credential Required: Connect your Google Sheets credentials in AI Assistant Orchestrator for the Sheets tools.
⚠️ Common Pitfall: The Gmail, Calendar, and Sheets tools are AI tool sub-nodes—add credentials in the parent AI Assistant Orchestrator or their actions will fail.
Step 5: Configure Assistant Response Delivery
Ensure the assistant’s reply is deduplicated and sent back to the Telegram user.
- Connect AI Assistant Orchestrator to Block Duplicate Replies to prevent repeated messages.
- Connect Block Duplicate Replies to Deliver Reply to User to send the final response.
- Credential Required: Connect your Telegram Bot API credentials in Deliver Reply to User.
Step 6: Configure the Scheduled Task Reminder Loop
Set up the recurring task reminder flow that checks the spreadsheet every 30 minutes and sends alerts.
- Configure Scheduled 30-Min Trigger to run every 30 minutes.
- Connect Scheduled 30-Min Trigger to Retrieve Task Records to load tasks from the spreadsheet.
- Credential Required: Connect your Google Sheets credentials in Retrieve Task Records.
- Connect Retrieve Task Records to Filter Pending Tasks and then to Compose Reminder Text.
- Connect Compose Reminder Text to Send Task Alert and then to Flag Reminder Sent.
- Credential Required: Connect your Telegram Bot API credentials in Send Task Alert and Google Sheets credentials in Flag Reminder Sent.
Verify the spreadsheet structure used by Retrieve Task Records and Flag Reminder Sent aligns with the fields referenced in Filter Pending Tasks.
Step 7: Test & Activate Your Workflow
Run an end-to-end test for both the Telegram assistant flow and the scheduled reminder flow before enabling the workflow.
- Click Execute Workflow and send a text message to the bot to verify the Telegram Bot Listener → AI Assistant Orchestrator → Deliver Reply to User path.
- Send a voice note and confirm it goes through Fetch Telegram Voice File → Download Voice Clip → Transcribe Audio to Text → Combine Text & Voice Data.
- Manually trigger Scheduled 30-Min Trigger to validate reminders: Retrieve Task Records → Filter Pending Tasks → Compose Reminder Text → Send Task Alert → Flag Reminder Sent.
- Confirm successful execution when replies are delivered in Telegram and reminder status updates appear in the spreadsheet.
- Toggle the workflow to Active for production use.
Common Gotchas
- Google (Gmail/Calendar/Sheets) credentials can expire or need specific permissions. If things break, check your n8n Credentials screen and the Google OAuth consent setup first.
- If you’re using Wait-style timing (or any external processing like voice transcription), processing times vary. Bump up your timing expectations if downstream nodes fail because a prior tool hasn’t returned data yet.
- Default prompts in AI nodes are generic. Add your brand voice and your personal preferences into the AI Agent system message early or you’ll be editing outputs forever.
Frequently Asked Questions
About an hour if your Google and Telegram accounts are ready.
No. You’ll mostly connect accounts and paste in a few IDs. Any “code” pieces are already included in the template.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs (often a few cents per day for light usage, more if you transcribe lots of voice).
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 it’s one of the best tweaks to make. Change the Scheduled 30-Min Trigger to hourly, twice daily, or only weekdays. You can also adjust the filtering logic so reminders only fire for tasks due “today,” or only for high-priority categories stored in Google Sheets.
Usually it’s a bot token issue or the message is coming from a different chat than the one you configured for replies and reminders. Regenerate the token in BotFather if needed, then confirm the chat ID being stored matches where you expect notifications. Also check that your bot is allowed to message you (start the bot chat once) and that n8n’s Telegram credential is attached to every Telegram node.
A lot, but the practical limit is your n8n plan and how big your Google Sheet gets. On n8n Cloud you’ll be limited by monthly executions, while self-hosting is mostly limited by your server. In day-to-day use, teams typically run this comfortably with hundreds of tasks and regular reminders, as long as your filtering keeps the workflow from scanning huge sheets unnecessarily.
Often, yes, because this assistant needs branching logic, memory, and multiple Google tools working together in one conversation. That’s doable in Zapier or Make, but it usually turns into lots of separate zaps/scenarios, which is harder to maintain. n8n also gives you the self-hosting option for unlimited executions, which matters once reminders and chat messages start flowing. If you only want “Telegram message → add row in Sheets,” Zapier is quick. If you want the full assistant, n8n is the cleaner fit. Talk to an automation expert if you want help choosing.
Once this is running, your inbox stops being a place you “check” and becomes something you process on purpose. The workflow handles the repetitive stuff so you can get on with your actual work.
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.