Bonsai-27B-GGUF
lmstudio-community · Kit
A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…
An n8n workflow that lets people ask a Telegram bot about a schedule kept in a Google Sheet. An AI model answers from the current rows. The chat inside n8n tests the same flow.
Telegram chat bot that answers from a Google Sheet schedule 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.
A Telegram message
It starts when someone writes to your bot, or when you type in the chat inside n8n. Set first:
An answer in the Telegram chat, drawn from the current rows of your sheet
What you need before you start.
Chat
Receives each question, shows the typing sign and sends the answer back.
NeedsTelegram bot token
Schedule
Is read again for every question and turned into a table.
NeedsGoogle Sheets credential and the sheet’s address
Language model
Runs the agent that answers from the table.
NeedsOpenRouter API key
Checked by Mindket on 13 Nov 2026
This n8n workflow turns a Telegram bot into an assistant for a schedule kept in a Google Sheet. A member writes a question to the bot, and an AI model answers from the current rows of the sheet. Each time, the workflow reads the sheet again, turns it into a table and hands the table to the model with the question. A second door, the chat inside n8n, tests the same flow without Telegram. Fifteen nodes run it. Eight sticky notes sit beside them.
Organizers of meetups, clubs, classes and teams who keep their dates in a spreadsheet and get the same questions again and again, such as when the next session is and where. It suits a schedule of a few dozen to a few hundred rows that you edit in the sheet. Skip it if the schedule is huge, because the whole table travels with every question. Skip it too if you want the bot to book or change anything. It only reads.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Community | Meetup organizers | Let members ask about dates and places | A member asks when the next talk is and gets the date and the room. |
| Education | Course coordinators | Answer students’ timetable questions | A student asks which day the workshop runs. |
| Sport | Club managers | Share the training plan | A parent asks when Saturday’s practice starts. |
| Events | Small event teams | Answer attendees about sessions and speakers | An attendee asks who speaks after lunch. |
You need a Telegram bot token, a Google account that can open your sheet, an OpenRouter key and a public HTTPS address for n8n.
The Telegram door needs an n8n that Telegram can reach, which means n8n Cloud or a server with a public address. The chat inside n8n works anywhere, so you can test on a local install first. The workflow must be switched on for the bot to answer.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Import the file, add three credentials, paste your sheet’s address, rewrite the bot’s system message and switch the workflow on.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own with an HTTPS address |
| Telegram | A bot token from BotFather |
| Google Sheets | A Google account that can open the sheet, with an OAuth2 credential |
| Sheet | A header row, then one event per row on the first tab |
| OpenRouter | An API key |
workflow.json.telegramInput, SendTyping and telegramResponse.Settings, replace <YOUR_GOOGLE_SHEET_URL> with the address of your sheet as your browser shows it. Add a Google Sheets OAuth2 credential to Schedule.LLM. It runs openai/gpt-6-luna.ScheduleBot and rewrite its system message for your own group. It now talks about a meetup group.Leave the workflow on. A member opens the bot in Telegram and asks a question in plain words. The bot shows a typing sign, then answers from the sheet. Edit the sheet, and the next answer follows it. That is the whole routine.
| To change | Where |
|---|---|
| The schedule | scheduleURL in Settings, and the tab in Schedule |
| Who the bot is | The system message in ScheduleBot |
| The model | LLM |
| How much it remembers | The window length in Memory |
| The reply format | The options of telegramResponse |
A hiking club keeps its outings in a sheet with columns for date, trail, meeting point and leader. A member writes to the bot and asks who leads the outing on 14 June.
The bot shows that it is typing, reads the sheet and answers with the leader’s name and the trail. It takes a moment. The member then asks where to meet. The bot remembers the last few messages of that chat, so it knows which outing is meant. When the club changes the meeting point in the sheet, the next answer shows the new one.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. A Telegram bot is an account that a program controls instead of a person. A Google Sheet is an online spreadsheet. The model reads the whole table with each question, so it needs no database. Try it with five rows.
For experts. Both doors feed one pipeline through a mode field.
| Node | What it does | What to know |
|---|---|---|
telegramInput | Listens for Telegram message updates | Version 1.1 shows the Restrict to Chat IDs and Restrict to User IDs fields but does not apply them. n8n filters from version 1.2 |
Schedule | Reads the first tab with Get Row(s) | It adds row_number, which the model then sees as a column |
ScheduleToMarkdown | Builds a Markdown table from every row | The header is the first row’s keys, and a cell that holds a vertical bar can break the table |
Memory | Keeps recent messages | The session key is chatId, so each chat has its own thread. It lives in n8n’s memory only |
Switch | Follows mode to Telegram or to the n8n chat | Only the Telegram branch sends anything |
telegramResponse | Sends the answer to the chat | Markdown parse mode, and an automatic n8n line under the answer |
The bot answers from the sheet as it is now, and anyone who finds it can ask.
_ or * in an answer can make Telegram refuse the messageMemory keeps the last five messages by default and loses them when n8n restartsLLM, so it ran n8n’s default openai/gpt-4.1-mini. OpenAI shuts that model down on 14 January 2027 and names gpt-6-luna as the replacement. Mindket’s copy names openai/gpt-6-luna, which OpenRouter lists. This agent has no tools, so gpt-6-luna fits. The sheet address became a placeholder, its saved labels were removed, and an empty field in SetResponse was droppedAn n8n workflow that turns a Telegram bot into an assistant for a schedule kept in a Google Sheet. A member writes a
question to the bot, and an AI model answers from the current rows of the sheet. A second door, n8n's own chat, lets
you test the same flow without Telegram.
workflow.json: the workflow as n8n exports it, 15 nodes and 8 sticky notes. It holds no credential.README.md: these notes.Settings held the original author's sheet address. It now reads <YOUR_GOOGLE_SHEET_URL>. The Schedule nodegid=0.LLM node, an OpenRouter Chat Model, named no model, so it ran n8n's default for that node, openai/gpt-4.1-mini.gpt-6-luna as the replacement. The node now namesopenai/gpt-6-luna outright, which OpenRouter's public model list carries. This agent has no tools, so gpt-6-lunaSetResponse held a second, empty field with no name. It is removed.workflow.json.telegramInput, SendTyping and telegramResponse.Settings, replace <YOUR_GOOGLE_SHEET_URL> with the address of your sheet as your browser shows it. Add a GoogleSchedule. The node reads the first tab. To read another tab, pick it in Schedule.LLM.ScheduleBot and rewrite its system message for your own group. It now talks about a meetup group.telegramInput, the Telegram Trigger, or at n8nInput, the chat in n8n. The Telegram Trigger listensSendTyping shows the typing sign in the chat, and telegramChatSettings copies the messageinputMessage and chatId, with mode set to telegram. On the n8n side,n8nChatSettings copies the chat text and the session id into the same fields, with mode set to n8n.Settings adds scheduleURL. Schedule reads the sheet. ScheduleToMarkdown turns every row into one Markdownmarkdown, with the first row's column names as the header.ScheduleBot is an agent on LLM, with Memory beside it. Its system message holds the table, and the member'sSetResponse copies the answer into responseMessage. Switch then follows mode. For Telegram, telegramResponsen8nResponse is a No Operation node that ends the run, and the chatscheduleURL in Settings, and the tab in Schedule.ScheduleBot.LLM.Memory. It keeps one conversation per chat id.telegramResponse has the text and the options of a Telegram send.telegramInput is version 1.1. That versionSchedule uses Get Row(s), which adds a row_number column to every row. The model sees it as the first column ofScheduleToMarkdown takes its column names from the first row. A cell that holds a vertical bar can break the table.Memory keeps the last five messages by default, one conversation per chat id, in n8n's own process. A restart of n8ntelegramResponse sends with Telegram's version 1.2 defaults: Markdown parse mode, link previews off, and the line_ or * can makeSendTyping shows the typing sign for 5 seconds or less, and Telegram clears it when the answer arrives.openai/gpt-6-luna at USD 0.1 per million tokens in andNOTICE.md 634 B README.md 6 KB workflow.json 16 KB
lmstudio-community · Kit
A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…
LibertAIDAI · Kit
Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…
facebook · Kit
Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
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…
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…