n8nflow.net logo

Send Scheduled Financial Digests to Telegram from Notion with Multi-Schedule Alerts

by AnoopUpdated: Last update 12 days agoSource: n8n.io
Loading workflow viewer...

Getting Started

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 property_cost / property_balance fields.
  • Set/Code nodes : reshape Notion properties (e.g., property_next_date.startnext-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


Setup (quick)

  1. 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).
  2. 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).
  3. n8n Credentials

    • Notion API credential: paste the integration token.
    • Telegram API credential: paste Bot Token and set chatId in the node or via expression.
  4. Time windows

    • Daily: on_or_after: $now.startOf('day')
    • Weekly: on_or_after: $now.startOf('week')
    • Monthly: on_or_after: $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.