tg-notion-sync is a personal Node.js service that turns bank notifications in Telegram into structured records in a Notion finance tracker. I developed and maintain the service.
The task
Remove the repeated work of copying transactions by hand while keeping account matching and category review explicit.
Implementation
The service uses a Telegram user session through MTProto and GramJS to listen to the notification chat. A regex parser extracts transaction fields such as amount, currency, date, card and merchant.
Each parsed record is matched to the corresponding account and written through the Notion API. Spending categories stay available for manual entry rather than being guessed from an ambiguous notification.
Engineering decision
The input comes from a personal notification chat. I chose a user-session integration for that specific source, and kept parsing, account matching and the Notion write as distinct steps.
Result
The automation moves notifications into the tracker without manual copying. The source is public, so the parsing and integration approach can be inspected. This is my own working automation.