Telegram to Notion, voice notes turned into actions
You capture great ideas in the moment… then they vanish into Telegram chats, half-finished voice notes, and “I’ll deal with it later” messages.
If you’re a marketer trying to keep campaigns moving, a founder living in voice notes, or a consultant who forgets follow-ups, this Telegram Notion automation turns quick messages into clean, searchable action. Fewer loose ends. Less rework.
You’ll set up a Telegram bot that understands text and voice, uses AI to interpret intent, and then creates Notion notes and Gmail drafts (and even calendar events) automatically.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: Telegram to Notion, voice notes turned into actions
flowchart LR
subgraph sg0["Telegram Flow"]
direction LR
n0["<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 Trigger"]
n1@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n2@{ icon: "mdi:message-outline", form: "rounded", label: "Send a message in Gmail", pos: "b", h: 48 }
n3@{ icon: "mdi:memory", form: "rounded", label: "Simple Memory", pos: "b", h: 48 }
n4@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n5["<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 a text message"]
n6@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check If Audio file", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "Transcribe a recording", pos: "b", h: 48 }
n8["<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 a file"]
n9@{ icon: "mdi:location-exit", form: "rounded", label: "Create an event in Google Ca..", pos: "b", h: 48 }
n10@{ icon: "mdi:location-exit", form: "rounded", label: "Read event in Google Calendar", pos: "b", h: 48 }
n11@{ icon: "mdi:database", form: "rounded", label: "Create notes in Notion", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Account Check", pos: "b", h: 48 }
n1 --> n5
n8 --> n7
n12 --> n6
n3 -.-> n1
n0 --> n12
n6 --> n8
n6 --> n1
n11 -.-> n1
n7 --> n1
n2 -.-> n1
n4 -.-> n1
n10 -.-> n1
n9 -.-> n1
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 n0 trigger
class n1,n7 ai
class n4 aiModel
class n3 ai
class n6,n12 decision
class n11 database
classDef customIcon fill:none,stroke:none
class n0,n5,n8 customIcon
Why This Matters: Capturing ideas is easy, but organizing them isn’t
Telegram is where fast thinking happens. You drop a voice note while walking to a meeting, or you text yourself “email Sarah about Q1 scope” between calls. Then the day gets busy. Those messages pile up, and later you can’t remember what’s actionable, what’s a reminder, and what was just a random thought. The cost isn’t only time. It’s missed follow-ups, messy handoffs, and that constant mental load of “don’t forget.” Honestly, it’s exhausting when your capture tool becomes your backlog.
It adds up fast. Here’s where it breaks down in real life:
- You end up copying voice note transcripts into Notion, which is slow and easy to skip.
- Follow-up emails get written late, when context is already fuzzy.
- Calendar actions live in your head until they don’t, and then you’re double-booked.
- Even if you use a to-do app, you still have to decide what each message “means” every time.
What You’ll Build: A Telegram bot that turns voice + text into Notion notes and Gmail drafts
This workflow turns Telegram into your intake layer. You message your bot the same way you already talk to yourself: quick text, rushed voice note, half a sentence. When a message arrives, the workflow first checks if the sender is allowed (so it’s not an open public bot). If it’s a voice note, it automatically retrieves the audio file and transcribes it into text. Then an AI agent reads the text, remembers recent context, and decides what you meant: “create a Notion note,” “draft an email,” “schedule something,” or “pull my upcoming calendar events.” Finally, it completes the action and replies to you in Telegram with a confirmation so you’re not guessing what happened.
The workflow starts with a Telegram trigger. From there, voice messages go through transcription, and everything goes into the AI agent for intent understanding. Then n8n routes the request to Notion, Gmail, or Google Calendar and sends a Telegram reply when it’s done.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you capture 15 items a day in Telegram (a mix of ideas, follow-ups, and reminders). Manually, you might spend about 2 minutes each to retype, decide where it goes, and file it in Notion or draft an email, which is roughly 30 minutes daily. With this workflow, capture still takes seconds, and the automation handles transcription plus routing in the background, so your “processing” time becomes a quick skim of confirmations. Most days, that’s about 20–30 minutes back without trying.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Telegram bot to receive texts and voice notes.
- Notion to store notes in a database.
- Gmail to create ready-to-send drafts or send emails.
- Google Gemini account (get the API access from your Google AI/Gemini console)
Skill level: Beginner. You’ll connect accounts, paste API keys, and tweak a prompt, but you won’t be writing code.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
A Telegram message kicks things off. You send a text or voice note to your bot, and the Telegram trigger immediately starts the workflow.
Access is checked before anything else happens. A simple authorization switch limits who can use the assistant, which matters if your bot username is discoverable or shared.
Voice notes get converted into plain text. If the message includes a voice attachment, n8n retrieves the file from Telegram and runs transcription so the AI can reason on the same format every time.
The AI agent decides what you meant and takes action. Using Gemini as the chat engine plus a memory buffer for context, the agent routes your request to the right tool: Notion for notes, Gmail for drafts or sends, and Google Calendar to create or retrieve events.
You can easily modify which actions are allowed (for example, “draft only” in Gmail instead of sending) 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 inbound Telegram webhook to capture messages and start the workflow.
- Add the Telegram Intake Trigger node as your trigger.
- Set Updates to
message. - Credential Required: Connect your
telegramApicredentials in Telegram Intake Trigger.
Step 2: Add Chat Authorization and Voice Detection
Control which chats are allowed to use the assistant and detect whether the message includes a voice note.
- Open Authorize Chat Switch and set the rule condition Left Value to
{{ $json.message.chat.id }}and adjust the Right Value fromnullto your approved chat ID. - In Detect Voice Attachment, keep the condition that checks Left Value
{{ $json.message.voice.file_id }}exists. - Confirm the flow: Telegram Intake Trigger → Authorize Chat Switch → Detect Voice Attachment.
null as the allowed chat ID, all messages may be blocked. Replace it with the correct Telegram chat ID.Step 3: Set Up Voice Retrieval and Transcription
When a voice note is detected, download the file and transcribe it using Gemini.
- In Retrieve Voice File, set Resource to
fileand File ID to{{ $json.message.voice.file_id }}. - Credential Required: Connect your
telegramApicredentials in Retrieve Voice File. - In Convert Audio to Text, set Resource to
audio, Input Type tobinary, and Model tomodels/gemini-2.5-flash. - Credential Required: Connect your
googlePalmApicredentials in Convert Audio to Text. - Confirm the flow: Detect Voice Attachment → Retrieve Voice File → Convert Audio to Text → AI Orchestration Agent.
Step 4: Configure the AI Orchestration and Memory
Wire up the agent with memory, language model, and action tools to interpret user requests and perform tasks.
- In AI Orchestration Agent, set Text to
{{ $json.message.text }}{{ $json.content.parts[0].text }}. - Set System Message to
You are a useful assistant to {{ $json.message.from.first_name }}. You can send emails, View and edit Calendar events, created notes in notion and also try to do tasks as assigned by them.. - Open Conversation Buffer and set Session Key to
{{ $json.message.text }}{{ $json.content.parts[0].text }}with Session ID Type ascustomKey. - Ensure Gemini Chat Engine is connected as the language model for AI Orchestration Agent. Credential Required: Connect your
googlePalmApicredentials in Gemini Chat Engine. - Confirm tools are attached to AI Orchestration Agent: Send Gmail Note, Retrieve Calendar Events, Schedule Calendar Event, and Publish Notion Note.
Step 5: Configure the Action Tools (Email, Calendar, Notion)
Define the fields used by the AI tools to send email, manage calendar events, and publish notes.
- In Send Gmail Note, set Send To to
{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('To', ``, 'string') }}, Subject to{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}, and Message to{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}. - Credential Required: Connect your
gmailOAuth2credentials in Send Gmail Note. - In Retrieve Calendar Events, set Operation to
getAll, Time Min to{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('After', ``, 'string') }}, and Time Max to{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Before', ``, 'string') }}. - In Schedule Calendar Event, set Start to
{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', ``, 'string') }}and End to{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', `start time and end time for google calendar event.`, 'string') }}. - Credential Required: Connect your
googleCalendarOAuth2Apicredentials in both Retrieve Calendar Events and Schedule Calendar Event. - In Publish Notion Note, set Title to
{{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', `Assistant Notes`, 'string') }}and ensure Page ID is set to your Notion page. - Credential Required: Connect your
notionApicredentials in Publish Notion Note.
[YOUR_ID] or [YOUR_EMAIL]), the AI tools will fail to publish or schedule.Step 6: Configure the Telegram Reply Output
Send the assistant’s response back to the same Telegram chat.
- In Dispatch Telegram Reply, set Text to
{{ $json.output }}. - Set Chat ID to
{{ $('Telegram Intake Trigger').item.json.message.chat.id }}. - Credential Required: Connect your
telegramApicredentials in Dispatch Telegram Reply. - Confirm the main flow: AI Orchestration Agent → Dispatch Telegram Reply.
Step 7: Test & Activate Your Workflow
Run a live test to verify message handling, transcription, and tool actions before activating.
- Click Execute Workflow and send a Telegram text message and a voice note to the bot.
- Verify that text messages pass through Authorize Chat Switch and AI Orchestration Agent to Dispatch Telegram Reply.
- For voice notes, confirm Retrieve Voice File and Convert Audio to Text execute before AI Orchestration Agent.
- Trigger an email, calendar, or Notion request and confirm the tool node output is successful.
- Once everything works, toggle the workflow Active to enable production use.
Troubleshooting Tips
- Telegram bot credentials and chat permissions can be finicky. If replies stop working, check the bot token in n8n and confirm the bot can message your chat.
- If you’re using transcription and the voice file is large, processing times vary. Bump up any wait time (or add one) if the AI agent runs before transcription output is ready.
- Gemini/OpenAI-style prompts default to “helpful assistant,” which usually means bland. Add a short instruction for your Notion format and email tone early, or you’ll keep editing drafts forever.
Quick Answers
About 30 minutes if your accounts and API keys are ready.
No. You will connect accounts, paste credentials, and adjust a few settings in n8n.
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 Gemini/OpenAI-style API usage costs, which vary based on how many messages you process.
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 you probably should. You can keep the same Telegram trigger and AI Agent, then swap or limit actions like Send Gmail Note (draft instead of send), Publish Notion Note (different database), or the calendar tools (create-only vs read-only). Common tweaks include changing the Notion note template, forcing emails to “drafts only,” and adding a simple approval step where the bot asks “Send this?” before Gmail runs.
Usually it’s the bot token or chat permissions. Recheck the Telegram credentials in n8n, confirm you’re messaging the correct bot, and verify the bot is allowed to send messages back to your chat. If voice notes fail but text works, the issue is often on the “Retrieve Voice File” step, so check that node’s error output first.
On n8n Cloud Starter, you can typically handle a normal personal workload (hundreds of messages a month) without thinking about it. If you self-host, there’s no fixed execution cap; you’re limited by your server and AI API quotas. Transcription and AI reasoning are the slow parts, so heavy usage usually means you’ll want a queue or higher-rate API access.
Often, yes, because this workflow isn’t just “if message then create note.” You’re doing conditional voice handling, transcription, an AI agent with memory, and multiple actions (Notion, Gmail, Calendar) based on intent, which is where Zapier-style linear zaps get awkward and pricey. n8n also gives you more control over branching, error handling, and self-hosting. That said, if all you need is “Telegram message to Notion database,” Zapier or Make can be quicker to set up. Talk to an automation expert if you want help picking the simplest option.
Once this is running, your best ideas stop living in chat threads. The workflow handles the messy middle so you can actually follow through.
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.