🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Telegram + Google Calendar: updates from voice or text

Lisa Granqvist Partner Workflow Automation Expert

You tell yourself you’ll “add it to the calendar later,” and then later never happens. Or worse, you add it twice, put it on the wrong day, or forget the location because you were copying details between apps on a tiny screen.

This Telegram calendar automation hits busy founders hardest, honestly. But marketers managing campaigns and assistants coordinating calls feel it too. You send one message (voice or text) and your calendar updates, with a clear confirmation back in Telegram.

Below you’ll see exactly what the workflow does, the results you can expect, and what you need to run it without turning your schedule into another “project.”

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Telegram + Google Calendar: updates from voice or text

The Problem: Calendar updates get lost in the shuffle

Calendar admin is deceptively expensive. It’s not “hard,” but it’s constant. You’re walking out of a meeting, someone says “let’s do Tuesday at 11,” and you’re stuck doing a mini data-entry session: open Calendar, pick the right day, type the title, add the person, paste the link, set reminders, then hope you didn’t pick the wrong Tuesday. On voice-heavy days it’s worse, because your best info is inside an audio note you have to replay. Small mistakes snowball into missed calls and awkward reschedules.

The friction compounds. Here’s where it breaks down.

  • You bounce between Telegram and Google Calendar, which makes “quick” scheduling feel like work.
  • Voice notes contain the details you need, but re-listening and typing them out is slow.
  • Natural language is messy, so “tomorrow afternoon” turns into wrong times and extra back-and-forth.
  • Updates and deletes are the worst, because you have to find the event first and double-check you’re editing the right one.

The Solution: A Telegram AI assistant that manages Google Calendar

This workflow turns a simple Telegram bot into a practical calendar assistant. You send your request in Telegram as text or a voice note, and the automation figures out what you meant. If it’s a voice note, it grabs the audio file and transcribes it using OpenAI Whisper. Then an AI agent (using a GPT-4 class chat model through LangChain in n8n) interprets your intent in Romanian and decides which calendar action to take: create, update, fetch, or delete. Finally, it performs that action in Google Calendar and sends you a confirmation message back in Telegram so you’re not guessing what happened.

The workflow starts with a Telegram message trigger. From there it routes voice vs. text, converts voice to text when needed, and hands the final text to the calendar intent agent. The last step is simple: Google Calendar updates happen automatically, then Telegram replies with a clear status.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you add or adjust 10 calendar items a week. Manually, it’s usually 4 minutes to open Calendar, find the right slot, type details, and double-check time zones and reminders, which is about 40 minutes. If 3 of those are buried in voice notes, add another 5 minutes each to replay and retype, and now you’re around an hour. With this workflow: you send a 20-second voice note or a one-line text in Telegram, wait a minute for transcription and processing, and you get a confirmation message back. You’re down to a couple minutes of effort total, not an hour of fiddling.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Telegram to receive voice notes and texts.
  • Google Calendar to create, update, fetch, and delete events.
  • OpenAI API key (get it from the OpenAI platform dashboard).

Skill level: Intermediate. You’ll connect Telegram, set up Google OAuth, and paste an API key, but you won’t be writing code.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A Telegram message kicks it off. Your bot receives a message update and passes it into n8n, so the workflow can react instantly.

Voice vs. text gets sorted. If the message contains a voice note, the workflow fetches the .ogg attachment from Telegram and sends it to OpenAI for transcription. If it’s written text, it extracts the message content directly and keeps moving.

The AI agent decides what you meant. The agent reads the final text and determines if you want to create a new event, update an existing one, delete something, or fetch events for a time range. It then calls the matching Google Calendar action.

You get a confirmation in Telegram. The workflow sends a clear reply back to the same chat, so you can trust the calendar change happened without opening another app.

You can easily modify the agent prompt to match your tone and calendar rules based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Telegram Trigger

This workflow starts when a Telegram message is received.

  1. Add the Telegram Input Trigger node to your workflow.
  2. Set Updates to message.
  3. Credential Required: Connect your telegramApi credentials.
  4. Confirm the node is connected to Check for Voice Note.

Step 2: Route Voice vs. Text Input

Split the flow so voice messages are transcribed and text messages are extracted directly.

  1. In Check for Voice Note, set the condition to match Left Value ={{ $json.message.voice.mime_type }} and Right Value audio/ogg.
  2. Ensure Check for Voice Note outputs to both Fetch Voice Attachment and Extract Written Text in parallel.
  3. In Fetch Voice Attachment, set Resource to file and File ID to ={{ $('Telegram Input Trigger').item.json.message.voice.file_id }}.
  4. Credential Required: Connect your telegramApi credentials for Fetch Voice Attachment.
  5. In Extract Written Text, set the assignment Text to ={{ $json.message.text }}.

Step 3: Transcribe Voice Messages

Convert Telegram voice notes into text for the AI agent.

  1. In Voice Transcription, set Resource to audio and Operation to transcribe.
  2. Set Language to en.
  3. Credential Required: Connect your openAiApi credentials.
  4. Confirm Voice Transcription connects to Calendar Intent Agent.

Step 4: Configure the AI Calendar Agent

The agent interprets the user’s intent and triggers the correct Google Calendar action.

  1. In Calendar Intent Agent, set Prompt Type to define.
  2. Set the Text field to the full instruction template: =You're my personal digital assistant. Your purpose is to help me manage my personal calendar efficiently, taking into account priorities, work-life balance, and recurring events. Today is {{ $now }} Instructions: {{ $json.text }} {{ $json.Text }}.
  3. Connect Advanced Chat Model as the language model; ensure the model is gpt-4.1.
  4. Credential Required: Connect your openAiApi credentials to Advanced Chat Model.
  5. Note that Generate Calendar Entry, Retrieve Calendar Items, Modify Calendar Entry, and Remove Calendar Entry are AI tools for Calendar Intent Agent; add Google Calendar credentials to the tool nodes, not to the agent.

Step 5: Connect Google Calendar Tools

These tool nodes perform the actual calendar actions chosen by the agent.

  1. In Generate Calendar Entry, map Start to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', `Cand incepe evenimentul`, 'string') }} and End to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', `Cand se termina evenimentul`, 'string') }}.
  2. Set Calendar to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Calendar', ``, 'string') }} and Description to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}.
  3. In Retrieve Calendar Items, 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') }}.
  4. In Modify Calendar Entry, set Operation to update and Event ID to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}.
  5. In Remove Calendar Entry, set Operation to delete and Event ID to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}.
  6. Credential Required: Connect your googleCalendarOAuth2Api credentials to Generate Calendar Entry, Retrieve Calendar Items, Modify Calendar Entry, and Remove Calendar Entry.

Tip: Keep calendar IDs consistent with your Google Calendar to avoid “calendar not found” errors when the agent selects a tool.

Step 6: Send Replies Back to Telegram

Return the agent’s decision or action summary to the user.

  1. In Dispatch Telegram Reply, set Text to ={{ $json.output }}.
  2. Set Chat ID to ={{ $('Telegram Input Trigger').item.json.message.chat.id }}.
  3. Credential Required: Connect your telegramApi credentials.
  4. Confirm the final connection from Calendar Intent Agent to Dispatch Telegram Reply.

⚠️ Common Pitfall: If Telegram replies are blank, verify that the agent returns $json.output and that the model in Advanced Chat Model is correctly connected.

Step 7: Test & Activate Your Workflow

Validate both text and voice inputs before turning the automation on.

  1. Click Execute Workflow and send a Telegram text message like “Schedule a meeting tomorrow at 2pm.”
  2. Send a Telegram voice note and confirm that Voice Transcription produces text and the agent responds.
  3. Verify that the correct Google Calendar tool runs and the event is created, updated, listed, or removed.
  4. Check that Dispatch Telegram Reply posts a response to the originating chat.
  5. When satisfied, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Calendar OAuth credentials can expire or need specific permissions. If things break, check the Google credential in n8n (and your Google Cloud consent screen) first.
  • If Telegram voice downloads fail, it’s often because n8n can’t reach Telegram reliably or your instance isn’t on HTTPS. Telegram webhooks are picky, so confirm your public URL is correct.
  • Default AI prompts are generic. Add your preferred date/time conventions and “how you name events” early, or you will end up editing confirmations and calendar titles forever.

Frequently Asked Questions

How long does it take to set up this Telegram calendar automation automation?

About 30–60 minutes if your Telegram bot and Google account are ready.

Do I need coding skills to automate Telegram calendar automation?

No. You’ll mostly connect accounts and paste credentials into n8n.

Is n8n free to use for this Telegram calendar automation workflow?

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, which are usually small for short transcriptions and chat requests.

Where can I host n8n to run this automation?

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.

Can I customize this Telegram calendar automation workflow for English instead of Romanian?

Yes, but you’ll want to change it in two places. Update the transcription locale in the Voice Transcription node (for example, to “en”). Then tweak the Calendar Intent Agent prompt so it interprets dates and times the way you expect. Many people also adjust the confirmation message format so it always echoes back the final event title and start time.

Why is my Telegram connection failing in this workflow?

Usually it’s a bad bot token or the trigger isn’t receiving updates because your n8n URL isn’t reachable from Telegram. Confirm the token in the Telegram Trigger node and make sure your n8n instance is on HTTPS with a public URL. If it works for text but not voice, check that the workflow can fetch the voice attachment and that Telegram file downloads aren’t being blocked by your host.

How many events can this Telegram calendar automation automation handle?

Plenty for day-to-day scheduling. On n8n Cloud, your limit is mainly your monthly executions; on self-hosted n8n there’s no hard execution cap, so it depends on your server and how fast OpenAI returns transcriptions.

Is this Telegram calendar automation automation better than using Zapier or Make?

Often, yes, because voice notes are the deal-breaker. Zapier/Make can wire Telegram to Google Calendar, but once you add transcription, intent detection, and branching logic (create vs. update vs. delete), it gets harder to keep clean and affordable. n8n handles the “if this, then that, unless…” logic comfortably, and you can self-host if volume grows. The trade-off is setup: Google Calendar OAuth and the agent prompt take a bit of care. If you want someone to sanity-check your setup, Talk to an automation expert.

Once this is running, calendar upkeep becomes a message you send, not a chore you postpone. The workflow takes the repetitive bits, and you keep your day moving.

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.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal