Multi-modal expense tracking with Telegram, Gemini AI & Google Sheets
Ready for 3.0What this workflow does
This AI workflow has 20 nodes and runs on Telegram events (message). Along the way it connects Google Sheets, Google Gemini Chat Model, Google Gemini and Telegram.
How it runs
Trigger: On Telegram events (message).
- Route: Text, Voice or Image? (Switch): routes items into 3 branches
- Set: Text Input (Edit Fields (Set)): sets 1 field: raw_text
- Telegram: work with file
- Telegram: work with file
- Telegram: uses Telegram
- AI: Extract Expenses (AI Agent): runs an AI agent, with model: LLM: Gemini Flash; output parser: Auto-Fix JSON
- Gemini: Transcribe Voice (Google Gemini): work with audio
- Gemini: Analyze an image (Google Gemini): analyze (image)
- Split: Entries to Rows (Split Out): splits a list into separate items
- Set: Voice Input (Text) (Edit Fields (Set)): sets 1 field: raw_text
…plus 6 more steps. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (12)
- Google Sheets
n8n-nodes-base.googleSheets - Google Gemini Chat Model
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - Google Gemini
@n8n/n8n-nodes-langchain.googleGemini - Telegram
n8n-nodes-base.telegram - Edit Fields (Set)
n8n-nodes-base.set - AI Agent
@n8n/n8n-nodes-langchain.agent - Split Out
n8n-nodes-base.splitOut - Switch
n8n-nodes-base.switch - Auto-fixing Output Parser
@n8n/n8n-nodes-langchain.outputParserAutofixing - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - Telegram Trigger
n8n-nodes-base.telegramTrigger - If
n8n-nodes-base.if
From the author
🤯 Problem of Traditional Bookkeeping - 🔀 Context switch kills the habit: Because bookkeeping lives outside the apps you use every day, you postpone it → forget to log. - 🧱 High input friction: You’re forced to fill rigid fields…