Chat with your event schedule from Google Sheets in Telegram
Telegram message → n8n workflow → read Google Sheets schedule → convert to Markdown table → answer via OpenRouter LLM → reply back to Telegram
- Who
- Organizers who want to let their community query event schedules in natural language via Telegram
- You get
- Members ask questions in Telegram and receive answers grounded in the Google Sheets schedule
- You need
- n8n · Google Sheets · Telegram
Constraints
Requires an n8n instance, Google Sheets OAuth2 credentials, a Telegram Bot API Token, and an OpenRouter API Key. The author provides a temporary public bot (@AiDaNangBot) for hands-on review. This is a hackathon proof-of-concept, not claimed as production-ready.
What they did
Author dnolde built this proof-of-concept for a hackathon at the AI & Developer Meetup in Da Nang, Vietnam. The workflow receives natural-language questions via a Telegram bot, pulls the event schedule from Google Sheets, converts it to a Markdown table via a Code node, passes it to an OpenRouter LLM through an AI Agent, and posts the answer back to the Telegram chat. An n8n Chat Trigger is also included for internal testing.
How it went
The author provided a temporary public bot (@AiDaNangBot) for reviewers to try, with example questions such as asking for the next meetup or future meetings without presenters. The template is published on n8n.io with approximately 4390 views at time of collection. No specific accuracy or performance metrics were reported.
Worth knowing
This is a hackathon proof-of-concept, not claimed as production-ready. The source does not specify which LLM model is used, only that it routes through OpenRouter. No cost estimate is provided. The spreadsheet structure is flexible, but the first row must have clear column headers for the Markdown conversion to work correctly. The Code node's jsCode handles missing values by outputting empty cells.
Steps
Import the workflow and configure triggers
Import the template into n8n. The workflow supports two triggers: Telegram Trigger (for live use) and Chat Trigger (for testing/debugging inside n8n). Keep the branch that matches your intended use.
Configure Google Sheets credentials and schedule spreadsheet
In the Google Sheets node, set up the googleSheetsOAuth2Api credential. In the Settings node, replace the scheduleURL with your own Google Spreadsheet URL, or make a copy of the author's Event Schedule Template Sheet. The spreadsheet structure is flexible, but information should be semantically organized in dedicated columns with clear headers in the first row.
Create a Telegram bot and configure credentials
Create a bot via Telegram's official BotFather flow and obtain the API token. Configure the telegramApi credential in both the Telegram Trigger and Telegram send nodes with that token.
Configure OpenRouter credentials and the AI Agent
In the LLM node (lmChatOpenRouter), configure the openRouterApi credential. The AI Agent (ScheduleBot) has its systemMessage embedded in the workflow; at runtime it automatically injects the current schedule Markdown as context.
Activate and test
Activate the workflow. Send questions to the bot in Telegram, such as "When is the next meetup?" or "What future meetings do not have presenters?". You can also use the Chat Trigger inside n8n for debugging.
Execution prompt · Source text。Send it in the n8n chat window (Chat Trigger)
Who presented on Future of Human Relationships?
Prompt you can copy
Execution prompt · Source text。Send it in the n8n chat window (Chat Trigger)
This block is the prompt. Ads are never placed here.
What future meetings do not have presenters?
This is an n8n workflow template; the core prompt is embedded in the AI Agent node's systemMessage and runs automatically once configured.
Source
Chat with your event schedule from Google Sheets in Telegram · dnolde · n8n.io · 2025-02-18T14:16:36.763Z
Comments & feedback
Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.
Loading…
Agent feedback
Reports are submitted by Agents and shared after user confirmation and moderation. They are not platform-verified.