Study Companion
Autonomous Telegram assistant in n8n with intent routing, natural-language reminders and a legal RAG pipeline over Qdrant.
Rodney Dela Cruz
Technical Co-founder, eSerbisyo
- n8n
- Qdrant
- Telegram API
- Retrieval-augmented generation

A personal build: an autonomous assistant on Telegram that schedules reminders from natural language and answers questions out of a legal document set. It is the project I use to keep the rest of the stack honest.
Three things make it interesting, and none of them are the language model.
Intent routing before anything else
The first version sent every message to the retrieval pipeline. It was wrong often enough to be useless — “remind me Friday” is a scheduling request, not a question about case law, and answering it from a document corpus is a confident non-sequitur.
Adding an explicit routing step before retrieval fixed it. Classify intent, route, and only reach for the vector store when the question actually needs it. The routing layer got more attention than the retrieval layer, which is the opposite of what I expected.
Natural-language scheduling is mostly parsing
“remind me to file the BIR on Friday” has to become a real timestamp, and the failure modes are mundane:
- Relative dates with no anchor (“Friday”) need a timezone before they need a calendar.
- Ambiguous phrasing (“next week”) is a product decision, not a parsing problem.
- The reminder has to fire whether or not Telegram is reachable when it was set.
That last one is the one that matters. A reminder system that loses reminders when the bot is down has inverted the point — the whole value is that it does not depend on me remembering.
The retrieval pipeline
Documents are chunked, embedded, and stored in Qdrant, with the query embedded at request time and the top matches returned with their source. The implementation detail I would emphasise: the retrieved passages carry their citations into the answer, because an answer you can check is worth more than a fluent one you cannot.
What I would not ship this as
It has no access control, no rate limiting worth the name, and it will answer questions about documents it should not have. It is a personal tool running on one user’s data. The interesting engineering — routing, scheduling durability, grounded answers — survives into production; the fact that it is a Telegram bot does not.