Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow that turns a Telegram bot into a personal assistant. You send a text or a voice message, an OpenAI agent answers, and it can read your unread Gmail, your Google Calendar and your Baserow tasks and contacts.
Telegram AI assistant for your mail, calendar and tasks is an n8n workflow in the Productivity category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Telegram message
It starts when you send your bot a message. The trigger keeps only messages from the user id you set, and reads:
A Telegram reply with the mail, events, tasks or contact details you asked for, written by the agent
What you need before you start.
Chat
Receives your text or voice message and sends the answer back.
NeedsTelegram bot token and your user id
Agent and speech model
Turns a voice note into text and runs the agent that decides which tool to use.
NeedsOpenAI API key
Mail reader
Lists unread inbox mail after a date the agent sets.
NeedsGmail account linked through n8n’s Google sign-in
Calendar reader
Lists events after a date the agent sets.
NeedsGoogle account linked through n8n’s Google sign-in, and a calendar id
Tasks and contacts
Holds the tasks and the contacts the agent reads.
NeedsBaserow database token, and a database with a tasks table and a contacts table
Checked by Mindket on 13 Nov 2026
This n8n workflow runs a personal assistant inside Telegram. You message your bot by text or by voice, and a voice message is turned into text first. An OpenAI agent named Angie reads your request. It can look at unread mail in Gmail, events in Google Calendar and rows in two Baserow tables, tasks and contacts. It keeps the last five exchanges with each sender as memory and sends its answer back to you in Telegram. Fifteen nodes do the work, two of them sticky notes.
One person who wants to ask for mail, schedule and tasks from a phone chat. It is made for people who already use n8n, Gmail, Google Calendar and Baserow. Skip it for a bot that many people will use, since every sender reaches the same inbox.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Personal productivity | Busy professionals | Ask for the day’s agenda by voice | A manager sends a voice note asking what is on the calendar today and gets the events back. |
| Operations | Small business owners | Check tasks and contact details on the move | An owner asks which tasks are still open and for a supplier’s phone number. |
| Sales | Account managers | Catch up on unread mail between meetings | A rep asks for unread mail since this morning and gets sender, date, subject and a short summary. |
| Consulting | Freelancers | Keep a task list in a table and ask about it | A consultant asks what is on the task list for the week. |
You need some n8n: import a file, add five credentials, make a Telegram bot and fill in a few ids.
Any n8n that Telegram can reach over HTTPS, and that can reach OpenAI, Google and Baserow, will run it. The bot answers only the user you allow, so it suits one private chat.
Listen for incoming events and Telegram with that app’s nodesDownload saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Setup is five credentials, a few ids and your own Telegram user id.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own, open to Telegram over HTTPS |
| Telegram | A bot and its token from BotFather, and your own user id |
| OpenAI | An API key |
| A Gmail account and a Google Calendar, each linked through n8n’s Google sign-in | |
| Baserow | A database with a tasks table and a contacts table, and a database token |
workflow.json.Listen for incoming events, Get Voice File and Telegram.OpenAI Chat Model and Speech to Text.Get Email. Add a Google Calendar OAuth2 credential and select it in Google Calendar.Tasks and Contacts.<YOUR_BASEROW_DATABASE_ID>. Replace <YOUR_BASEROW_TASKS_TABLE_ID> in Tasks and <YOUR_BASEROW_CONTACTS_TABLE_ID> in Contacts. They are the numbers in a table’s address in Baserow.Google Calendar, replace <YOUR_GOOGLE_CALENDAR_ID> with your calendar’s id. For your main calendar that is your Google address.Listen for incoming events, replace <YOUR_TELEGRAM_USER_ID> with your own Telegram user id. To find it, clear the field, press Listen for test event, message your bot and read message.from.id in the output.Message your bot in plain words, or record a voice note. Ask for unread mail, today’s events or your open tasks. The agent picks the tool that fits and answers in the chat. If you give no date, it assumes today.
| To change | Where |
|---|---|
| Who the assistant is and how it answers | The system message in Angie, AI Assistant |
| What mail it skips | The guidelines in the same system message |
| Which unread mail it can see | The filters in Get Email |
| Which calendar it reads | Google Calendar |
| Which tables it reads | Tasks and Contacts |
| How much it remembers | Window Buffer Memory |
| The model | OpenAI Chat Model |
You send a voice note asking what is on your calendar today and which tasks are still open.
The bot replies in the chat with the events for today and a list of the tasks it found in your Baserow table. Check anything that matters against the source, since a model wrote the answer from what the tools returned.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. An agent is a model that can decide to use tools. Here the tools are a mail reader, a calendar reader and two table readers. Telegram hands each message to n8n, the agent chooses which tool to ask, and a speech model first turns a voice note into text.
For experts. Listen for incoming events feeds Voice or Text, which copies the message text into a text field. If sends an empty text down the voice path. There Get Voice File downloads the recording and Speech to Text transcribes it. Both paths end in Angie, AI Assistant, which reads the text field of its input. The two date filters in Get Email and Google Calendar are filled in by the model through fromAI.
| Node | What it does | What to know |
|---|---|---|
Voice or Text | Copies the message text into a text field | A voice message has no text, so the field is empty |
If | Sends an empty text down the voice path | A photo or a sticker also has no text and takes that path |
Speech to Text | Turns the recording into text with OpenAI | The node fixes the model as whisper-1 |
Angie, AI Assistant | Answers with four tools and a short memory | Its system message sets the rules for mail, calendar and tasks |
Get Email | Reads unread inbox mail | The model sets the earliest date |
Google Calendar | Lists events after a date the model sets | Only the title and start time come back |
Tasks and Contacts | Read rows from two Baserow tables | They only read |
Telegram | Sends the answer to the sender | It uses Markdown mode, and a failed send goes nowhere |
The bot can read your mail, calendar and tasks, so the sender check matters. The speech model it uses is due to be removed.
<YOUR_TELEGRAM_USER_ID> the bot ignores everyonegpt-4o-mini for shutdown on 14 January 2027 with gpt-6-luna as the replacement. Mindket’s copy uses gpt-5.6-terra instead. The model page for gpt-6-luna says Chat Completions supports function calling only with reasoning effort set to none. This agent calls tools through a node that never sends that setting. The swap was not run from here. The same deprecations page lists whisper-1 for removal on 26 February 2027 with gpt-live-transcribe or gpt-transcribe as the replacement. Speech to Text fixes the model and offers no choiceGoogle Calendar asks for only the title and start time of each event. An all-day event has a date and no time, so it comes back without a startTelegram sends in Telegram’s Markdown mode, where an unmatched _ or * makes Telegram refuse the message. The node’s error output is connected to nothing, so a refused reply is dropped without a sign. Telegram also refuses text over 4,096 charactersWindow Buffer Memory keeps the last five exchanges for each sender in n8n’s memory and loses them when n8n restartsAn n8n workflow that turns a Telegram bot into a personal assistant. You send a text or a voice message, an OpenAI agent
answers, and it can read your unread Gmail, your Google Calendar and your Baserow tasks and contacts.
workflow.json: the workflow as n8n exports it, 15 nodes, two of them sticky notes. It holds no credential. One note labelsREADME.md: these notes.<YOUR_TELEGRAM_USER_ID>.Google Calendar named its author's calendar by Google address. It is now set by id to <YOUR_GOOGLE_CALENDAR_ID>.Tasks and Contacts held their author's Baserow database and table ids. They now hold <YOUR_BASEROW_DATABASE_ID>,<YOUR_BASEROW_TASKS_TABLE_ID> and <YOUR_BASEROW_CONTACTS_TABLE_ID>. Both also use a Baserow database token in place of theOpenAI Chat Model used gpt-4o-mini, which OpenAI lists for shutdown on 14 January 2027. It now uses gpt-5.6-terra.Angie, AI Assistant, and the lines that point at it follow the new name.workflow.json.Listen for incoming events, Get Voice File and Telegram.OpenAI Chat Model and Speech to Text.Get Email. Add a Google Calendar OAuth2 credential and select it inGoogle Calendar.Tasks and Contacts.<YOUR_BASEROW_DATABASE_ID>. Replace <YOUR_BASEROW_TASKS_TABLE_ID> in Tasks and<YOUR_BASEROW_CONTACTS_TABLE_ID> in Contacts. They are the numbers in a table's address in Baserow.Google Calendar, replace <YOUR_GOOGLE_CALENDAR_ID> with your calendar's id. For your main calendar that is your GoogleListen for incoming events, replace <YOUR_TELEGRAM_USER_ID> with your own Telegram user id. To find it, clear the field,message.from.id in the output.Listen for incoming events takes a new message from the user you allowed.Voice or Text copies the message text into a text field.If checks that field. An empty text means a voice message, and it goes to Get Voice File, which downloads the recording.Speech to Text turns it into text. A message with text skips both nodes.Angie, AI Assistant reads the text. Its system message sets the rules. Skip promotional mail. For mail, give the sender,Get Email, Google Calendar, Tasks and Contacts, andWindow Buffer Memory gives it the last five exchanges with that sender.Telegram sends the answer back to the sender in Markdown mode, with n8n's attribution line turned off.Angie, AI Assistant.Get Email. It asks for unread inbox mail after a date that the model sets.Google Calendar.Tasks and Contacts. Their operation is the node's default, Get Many, so they only read.Window Buffer Memory.OpenAI Chat Model.<YOUR_TELEGRAM_USER_ID> the botgpt-4o-mini for shutdown on 14 January 2027 withgpt-6-luna as the replacement. Mindket's copy uses gpt-5.6-terra instead. The model page for gpt-6-luna says Chatwhisper-1 for removal on 26gpt-live-transcribe or gpt-transcribe as the replacement. Speech to Text fixes the model and offers noGoogle Calendar asks for only the title and start time of each event. An all-day event has a date and no time, so it comesTelegram sends in Telegram's Markdown mode. Telegram's Bot API page says _, *, a backtick and [ outside an entity need aWindow Buffer Memory keeps the last five exchanges for each sender in n8n's memory and loses them when n8n restarts.NOTICE.md 643 B README.md 7 KB workflow.json 10 KB
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
zarazhangrui · Skill
Builds HTML presentations from scratch or from a PowerPoint file and shows visual style previews to pick from, for people who want web slides with no CSS or Ja…
iptv-org · Kit
Collects publicly available live TV channels from many countries into playlists that any video player with live streaming can open. Made for viewers and for de…
uwg · Kit
Holds a set of image upscaling models gathered from the OpenModelDB community, for people who want to enlarge low-resolution pictures with AI on their own comp…