Send scheduled financial digests to Telegram from Notion with multi-schedule alerts
Who’s it for
Solo founders and spreadsheet gremlins who track everything in Notion and want crisp Telegram pings without opening a single page.
What it does
This workflow runs on daily, weekly, and monthly schedules, queries multiple Notion databases, summarizes key numbers, formats human‑readable messages, and sends them to Telegram.
Out of the box it sends:
Daily: Total Expenses Today (sum of Debit in Financial Transaction since start of day).
Weekly: Total Expenses This Week, Monthly Budget Left/Spent per budget item, Financial Obligations due (from Scheduler).
Month End (28th by default): Total Expenses This Month, Total Income This Month, Funds status.
Month Start: Liquidity snapshot — balances for Liquid and Semi Liquid assets (from Assets and Liabilities).
Messages are built via Code nodes (simple JS) and delivered to Telegram.
---
How it works (nodes & flow)
Schedule Triggers: Daily, Weekly, Monthly (start & end).
Notion queries (selected DBs):
Financial Transaction: filters on Created time, Type = Debit/Invoice.
Budget: Currently Applicable = true, Payment Schedule Type = Monthly, formula: Monthly Budget Left.
Income: month-to-date Created time filter.
Funds: reads Amount Left, Amount Spent, Amount Needed.
Scheduler: Next Date on or before now, Type = Financial, Repeat Type != off.
Assets and Liabilities: Liquidity = Liquid or Semi Liquid.
Summarize nodes: sum propertycost / propertybalance fields.
Set/Code nodes: reshape Notion properties (e.g., propertynextdate.start → next-date) and format text blocks like:
Total Expenses Today - Rs X
Monthly Budget Left - <list>
Invoices still to pay - <list>
Funds Info - spent/needed
Liquidity Balance - <list>
Telegram: sends the composed message to chatId.
> Tip: If your Notion property names differ, adjust the filters and Set node mappings accordingly.
---
Requirements
n8n (Cloud or self‑hosted)
Notion workspace with Personal Finance System Notion template cloned into your workspace.
Telegram account (for bot + chat)
---
Setup (quick)
Telegram
Create a bot via @BotFather → get Bot Token.
Get your Chat ID (n8n Telegram Trigger “Run once”, then message your bot, copy chat.id).
In the Telegram Send node, set chatId (or use an env var/secret).
Notion
Create an Internal Integration, copy the token, and share each DB with the integration.
In the Notion nodes, select your Notion credential and map the DB IDs (already present in the JSON).
n8n Credentials
Notion API credential: paste the integration token.
Telegram API credential: paste Bot Token and set chatId in the node or via expression.
Time windows
Daily: onorafter: $now.startOf('day')
Weekly: onorafter: $now.startOf('week')
Monthly: onorafter: $now.startOf('month')
Monthly end trigger runs on day 28 by default — change in the Schedule node.
---
Customization
Change the date ranges, add currency symbol, or swap summaries for tables.
Add more filters (labels, categories) to the Notion nodes.
Replace Telegram with Slack/Email by swapping the final node.
To avoid “expects dateTime but got object”, convert $now to string: {{$now.toISO()}} or parse Notion dates with DateTime.fromISO(...) as needed.
---
Example messages
Total Expenses Today - Rs 1,840
Monthly Budget Left - 3
1) Groceries: Rs 4,500
2) Dining Out: Rs 1,200
3) Utilities: Rs 800
Invoices still to pay - 2
1) Figma Pro: Rs 3,000
2) AWS: Rs 2,450
---
Why this is useful
Keeps your spend & cash visibility tight without opening Notion.
Turns your financial system into low‑effort telemetry — you just look at Telegram.
---
Credentials you’ll likely name in n8n
Notion: Notion account
Telegram: Accountant AI
> Works great with the “Personal Finance System” style schemas. Adjust property keys (property_*) if your Notion columns differ.
By Anoop