tg-notion-sync, Telegram to Notion finance automation
Personal project · Node.js service

The task
Move bank transaction notifications from a personal Telegram chat into a Notion finance tracker without manual copying.
My role
Solo developer and maintainer of the Node.js automation service.
Implemented solution
A small MTProto service that parses transaction messages, matches accounts, and writes structured records to Notion while leaving ambiguous categories for manual review.
My bank sends transaction alerts in Telegram, and copying each one into my Notion finance tracker by hand is exactly the kind of task I kept putting off. The regular Bot API can't help here: it can't read another bot's messages in a chat unless my own bot has admin rights there, and you can't arrange that for personal bank notifications. So this service logs into Telegram as a normal user account over MTProto, the same protocol the official app uses, and listens to that chat in real time.
- Reads a personal chat via MTProto (GramJS), since the Bot API can't access another bot's messages there
- Parses bank notifications with regex into amount, currency, date, card, balance, and merchant
- Writes to Notion automatically, matching the card to the right account
- Doesn't auto-guess spending categories, that's left for manual entry since guessing would be unreliable