Query expenses on Telegram with GPT-4.1 and Google Sheets β€” n8n Workflow

High complexity⚑ Trigger73 nodesβš’οΈ Engineeringby Robin

Overview

πŸ’¬ Chat with Your Finances on Telegram

Ask questions like β€œHow much did I spend on food last month?” and get instant answers from your financial data β€” directly in Telegram.

This workflow connects your Google Sheets expense log to an AI-powered query engine that understands natural language, resolves ambiguous categories and person names, and sends back a clean formatted summary in Telegram.

No spreadsheets. No dashboards.
Just chat with your financial data.

⚑ How it works

Simply send a m

Nodes used

Google SheetsHTTP RequestTelegramCodeOpenAI

Workflow Preview

🟒 LAYER 1 β€” INPUT
Receives incoming Telegram messages & callbacks.
Authorizes users and routes by message type.
---
βš™οΈ ACTION REQUIRED
1. Connect Telegram Credential
πŸ”΅ LAYER 2 β€” INTENT PARSING
---
βš™οΈ ACTION REQUIRED
1. Connect OpenAI Credential
Open the `LLM | Parse Intent` node and connect your Ope
🟑 LAYER 3a β€” ENTITY RESOLUTION: CATEGORIES
Resolves raw category strings to canonical names via ma
Unknown entities β†’ LLM classification β†’ user confirmati
---
βš™οΈ A
🟠 LAYER 4 β€” QUERY ENGINE
Loads expense data from Google Sheets.
Merges resolved intent with raw data for filtering.
---
βš™οΈ ACTION REQUIRED
1. Connect your `expenses` Google Sheet
πŸ”΄ LAYER 5 β€” ANALYTICS & AGGREGATION
Applies date, person, category and common_only filters.
Computes totals, category breakdown and person breakdow
---
βš™οΈ ACTION REQUIRED
No setup required
🟣 LAYER 6 β€” RESPONSE
Formats the final message and sends it back via Telegra
---
βš™οΈ ACTION REQUIRED
1. Connect Telegram Credential
Open `TG | Send Reply` and connect your Telegram Bot
🟑 LAYER 3b β€” ENTITY RESOLUTION: PERSONS
---
βš™οΈ ACTION REQUIRED
1. Connect your `person_mapping` Google Sheet
Open `GS | Read Person Mapping` and `GS | Save Person M
Replace `YOU
Purpose: Entry point of the workflow. Receive
What happens here:
- `MSG | Telegram Inbound` β€” Listens for incom
Purpose: Converts the user's free-text messag
What happens here:
- `LLM | Parse Intent` β€” Sends the raw message to GP
Purpose: Resolves raw category strings from t
What happens here:
- `IF | Category Present?` β€” Skips t
Purpose: Mirrors Layer 3a but for person name
What happens here:
- `IF | Person Present?` β€” Skips the branch entirely wh
Purpose: Assembles the fully resolved intent
What happens here:
- `SET | Assemble Resolved Intent` β€” Merges canonical c
Purpose: Applies all filters from the resolve
What happens here:
- `JS | Filter & Aggregate` β€” Single code node that doe
Purpose: Formats the aggregation result into
What happens here:
- `JS | Format Response Message` β€” Builds the final mes
πŸ”„ WORKFLOW OVERVIEW
🟩 Input & Security (Layer 1)
Every incoming Telegram message or button tap is receiv
The workflow checks whether the sender's Chat ID is on
HOW IT WORKS β€” AI TELEGRAM EXPENSE TRACKER (Q
This workflow answers natural language expense question
Instead of opening spreadsheets, simply send a message
⚑
M
MSG | Telegram Inbound
LLM | Parse Intent
JS | Extract Intent JSON
GS | Load Expenses
GS | Load Categories
JS | Filter & Aggregate
JS | Format Response Mes…
TG | Send Reply
M
MERGE | Combine Expenses…
I
IF | User Authorized?
S
SPLIT | Split Categories
GS | Read Category Mapping
M
MERGE | Join Categories …
TG | Confirm Category Su…
GS | Read Allowed Catego…
S
SET | Normalize Category
M
MERGE | Check Category a…
I
IF | Category Known?
LLM | Classify Category
M
MERGE | Combine Categori…
S
SET | Extract LLM Category
I
IF | Category Suggestion…
GS | Save Category Mapping
M
MERGE | Loop Entry (Cate…
S
SET | Set Resolved Categ…
S
SET | Assemble Resolved …
A
AGG | Aggregate Category…
L
LOOP | Iterate Categories
S
SET | Set New+Old Catego…
JS | Build Category Inli…
W
WAIT | Wait for Category…
HTTP | Send Category Sel…
S
SET | Read Callback Body…
S
SET | Set New+Old Catego…
M
MERGE | Combine Category…
HTTP | Forward Category …
TG | Confirm Category Se…
JS | Read Category Callb…
I
IF | Message or Callback?
I
IF | Category Present?
M
MERGE | Combine Category…
A
AGG | Aggregate Resolved…
I
IF | Person Present?
S
SPLIT | Split Persons
M
MERGE | Join Persons wit…
S
SET | Normalize Person
M
MERGE | Check Person aga…
I
IF | Person Known?
M
MERGE | Combine Persons …
A
AGG | Aggregate Person L…
GS | Read Person Mapping
GS | Read Allowed Persons
TG | Confirm Person Sugg…
LLM | Classify Person
S
SET | Extract LLM Person
I
IF | Person Suggestion A…
GS | Save Person Mapping
L
LOOP | Iterate Persons
S
SET | Set New+Old Person…
JS | Build Person Inline…
W
WAIT | Wait for Person S…
HTTP | Send Person Selec…
S
SET | Read Callback Body…
S
SET | Set New+Old Person…
M
MERGE | Combine Person M…
M
MERGE | Loop Entry (Pers…
S
SET | Set Resolved Person
M
MERGE | Combine Person M…
I
IF | Category or Person …
HTTP | Forward Person Se…
TG | Confirm Person Sele…
JS | Read Person Callback
JS | Merge Intent Fields
73 nodes88 edges

How it Works

  1. 1

    Trigger

    The workflow starts with a trigger trigger.

  2. 2

    Process

    Data flows through 73 nodes, connecting aggregate, code, googlesheets.

  3. 3

    Output

    The workflow completes its automation and delivers the result to the configured destination.

Node Details (73)

GO

Google Sheets

googleSheets

#1
HT

HTTP Request

httpRequest

#2
TE

Telegram

telegram

#3
CO

Code

code

#4
OP

OpenAI

n8n-nodes-langchain.openAi

#5

How to Import This Workflow

  1. 1Click Download JSON button on the right to save the workflow file.
  2. 2Open your n8n instance. Go to Workflows β†’ New β†’ Import from file.
  3. 3Select the downloaded query-expenses-on-telegram-with-gpt-41-and-google-sheets file and click Import.
  4. 4Set up credentials for each service node (API keys, OAuth, etc.).
  5. 5Click Test Workflow to verify everything works, then activate it.

Or paste directly in n8n β†’ Import from JSON:

{ "name": "Query expenses on Telegram with GPT-4.1 and Google Sheets", "nodes": [...], ...}

Integrations

aggregatecodegooglesheetshttprequestifmergeopenaisetsplitinbatchessplitouttelegramtelegramtriggerwait

Get This Workflow

Download and import in one click

Download JSONView on n8n.io
Nodes73
Complexityhigh
Triggertrigger
CategoryEngineering

Created by

Robin

Robin

@robinvm

Tags

aggregatecodegooglesheetshttprequestifmergeopenaisetsplitinbatchessplitout
⚑

New to n8n?

n8n is a free, open-source workflow automation tool. Self-host it or use the cloud version.

Get n8n Free β†’

Related Engineering Workflows

COGOHTIF+5
high

Automate YooKassa Payments & Order Logs in Google Sheets

Transform your payment operations with this comprehensive n8n automation designed for seamless YooKassa integration. Instead of manual data entry, this workflow creates a self-correcting financial ledger by syncing every transaction directly into Google Sheets in real-time. The logic handles the entire commerce lifecycle: from the moment a customer initiates a checkout to the final status confirmation via secure webhooks. What sets this template apart is its robust error-handling and multi-stage processing. It doesn't just log successful sales; it intelligently updates refund statuses, sorts transaction types, and uses conditional logic to ensure your spreadsheet remains a 'single source of truth.' By utilizing the Respond to Webhook node, the workflow provides immediate feedback to the payment gateway, ensuring high reliability. This is an enterprise-grade solution for small business owners who need to scale their digital sales without the overhead of expensive ERP software or manual bookkeeping. It eliminates human error, accelerates fulfillment, and provides a transparent audit trail for every ruble processed. **Common Use Cases:** - Automated Digital Product Delivery: Trigger instant access to downloads or courses once the YooKassa payment status is verified in the sheet. - Real-time Financial Reporting: Maintain a live dashboard of sales performance and refund rates for e-commerce stakeholders without manual exports. - No-code Subscription Management: Track recurring customer payments and trial expirations by logging every transaction event into a centralized Google Sheets database.

πŸ”— WebhookΒ·39 nodes
COGOHTMA
low

Automate Google AI Overview Tracking: SEO Audit with SerpApi

As Google’s Search Generative Experience (SGE) reshapes the digital landscape, traditional SEO metrics often fall short. This advanced n8n workflow bridges the data gap by providing a scalable solution for monitoring brand visibility within AI Overviews. By integrating SerpApi with Google Sheets, the automation systematically audits your target keyword clusters to detect AI-generated summaries and source citations. The process begins by pulling high-priority keywords directly from your repository. It then executes real-time search queries via SerpApi, utilizing custom JavaScript in a Code node to parse complex JSON responses. The workflow specifically identifies if an AI Overview is present and, more importantly, whether your domain is cited as a primary source. All findings are exported into a structured Google Sheet, creating a historical record of your 'AI Share of Voice.' This automation saves SEO teams dozens of manual hours, allowing for data-driven adjustments to content strategy based on how Google’s LLM perceives and attributes your site’s authority. It is an essential tool for agencies and enterprise SEOs looking to defend their organic traffic in the age of generative search. **Common Use Cases:** - SGE Visibility Benchmarking vs Competitors - Automated AI Citation Reporting for SEO Clients - Content Strategy Optimization for Informational Intent Queries

⚑ Trigger·5 nodes
EDFOGIGM+3
medium

Automate Dynamic GitHub Images & URL Redirects in n8n

Stop manually updating marketing assets across distributed channels. This professional n8n automation eliminates the 'stale content' problem by transforming static GitHub-hosted images and links into dynamic, self-updating resources. Instead of hunting down every email template or PDF where you've embedded a promotional banner, this workflow allows you to push updates to a central GitHub repository that automatically reflects across all live instances. The workflow functions by utilizing GitHub as a headless content management system. It leverages the EditImage node to programmatically modify visual assets and the GitHub node to commit these changes automatically. It includes a Form Trigger for on-demand updates and a Schedule Trigger for recurring maintenance. By using stable embed links that point to dynamic GitHub files, your marketing collateral remains evergreen. Whether you are updating a limited-time offer in an old email sequence or refreshing data visualizations in a shared report, this automation ensures your audience always sees the most current information without requiring manual re-distribution of files. **Common Use Cases:** - Automated Email Banner Updates for Evergreen Campaigns - Dynamic GitHub Profile Readme & Repository Statistics - Centralized Promo Link Management for Distributed PDF Guides

⚑ Trigger·12 nodes
AGCOEXGI+8
medium

Automate Jekyll SEO Blogs with GPT-4 and GitHub (n8n Guide)

This sophisticated automation engine transforms your content strategy by bridging the gap between raw data and a live, high-ranking Jekyll website. Instead of manually drafting and formatting Markdown files, this workflow utilizes an advanced LangChain agent powered by GPT-4 to synthesize high-quality, long-form articles from simple CSV inputs. The system intelligently parses your data, constructs SEO-optimized blog posts, and handles the technical heavy lifting by committing the code directly to your GitHub repository. This triggers your CI/CD pipeline for instant deployment. Beyond just publishing, the workflow acts as a social media manager, automatically distributing your new content to LinkedIn and X (Twitter) to maximize reach and backlinks. It is an ideal solution for lean marketing teams or solo developers who need to maintain a consistent publishing cadence without the overhead of a traditional CMS. By automating the research, writing, and distribution phases, users can scale their organic traffic exponentially while focusing on high-level strategy rather than repetitive formatting and manual commits. **Common Use Cases:** - Programmatic SEO for Niche Affiliate Marketing Sites - Automated Technical Documentation and Change Log Updates - Scalable Content Engine for Multi-Language Recipe or Directory Portals

⚑ Trigger·13 nodes
AGCOEMEM+5
medium

Build a Local AI Book Concierge with Ollama & n8n

Transform your inbox into an intelligent, automated literary assistant with this advanced n8n workflow. By leveraging the power of local LLMs through Ollama and the OpenLibrary API, this automation eliminates the manual effort of responding to reading inquiries. The process begins by monitoring an IMAP folder for incoming requests. Once an email arrives, a sophisticated AI agent analyzes the sender's natural language to pinpoint their specific interests and genre preferences. The workflow then executes a real-time API lookup to fetch accurate bibliographical data, including summaries and metadata. Finally, it crafts and sends a professional, personalized recommendation email back to the user. This setup is perfect for organizations looking to deploy privacy-focused AI solutions without relying on expensive cloud tokens. It demonstrates a high-level integration of LangChain agents, conditional logic, and external data enrichment, providing a seamless 'set-and-forget' experience for managing high volumes of literary or educational inquiries while maintaining a human-like touch in communication. **Common Use Cases:** - Personalized Reading Lists for Digital Newsletters - Automated Curriculum Support for Educational Institutions - Privacy-First Customer Engagement for Local Bookstores

▢️ ManualΒ·15 nodes
AGCOFIGM+6
medium

Automate HubSpot AI Email Replies with Slack Approval (n8n)

This advanced n8n automation bridges the gap between AI-driven speed and human-verified precision. By integrating Google Gemini with your HubSpot CRM, the workflow automatically generates context-aware email responses whenever a new inquiry hits your Gmail inbox. Unlike basic auto-responders, this system queries your HubSpot recordsβ€”including contact history, active deals, and support ticketsβ€”to ensure every draft is personalized and accurate. To maintain brand integrity, the draft isn't sent immediately; instead, it is routed to a dedicated Slack channel via an interactive message. Your team can review, edit, or approve the reply with a single click, triggering the final send via Gmail. This eliminates the manual overhead of switching between tabs to find customer data and drafting repetitive emails from scratch. It is the perfect solution for scaling customer operations without hiring additional headcount, ensuring that every outbound communication is data-backed and professionally vetted. The workflow utilizes LangChain agents for intelligent reasoning, filtering out internal noise to focus purely on high-value customer interactions. **Common Use Cases:** - High-priority sales lead nurturing where quick, data-informed follow-ups are critical for conversion. - Technical support escalation where AI drafts troubleshooting steps based on existing HubSpot ticket history. - Account management automation for handling routine client inquiries with personalized data from active deals.

⚑ Trigger·13 nodes