← Back to Builds
Jules Telegram Bot showcase

Jules Telegram Bot

27 Aug 2025

A private automation bot that tracks Google Jules coding sessions and reports progress in Telegram topics.

Automation Node.js Jules SDK Telegram

Private project, built for personal use.


The Problem with Jules

Jules is Google’s autonomous AI coding agent. It connects to your GitHub, writes code, opens pull requests, and handles tasks end-to-end. It’s impressive, but using it has a major practical problem:

  • Tasks take a long time. Jules runs autonomously, which means you’re waiting, not doing.
  • There are no notifications. You don’t know when Jules finishes, when it fails, when it gets stuck, or when it’s asking you a question.
  • Keeping the tab open is expensive. Jules streams its progress live in the browser, which means leaving the tab open drains data, not ideal.

So you end up in this uncomfortable loop: check the tab, nothing yet. Check again, still running. Check again, it failed three steps ago and you had no idea.

I built this Telegram bot to fix that.


What It Does

The bot turns Jules into a notification-driven workflow via Telegram. It also replaces the Jules web interface for session management, you do everything through Telegram.

It requires a Telegram group with topics enabled to work. Once the bot is running and added to your group, here’s how it flows:


Session Management

Starting a Session

In the Jules topic (created automatically when the bot first starts), you initiate a new session. The bot walks you through:

  1. Select a repo, powered by the GitHub API (not the Jules SDK alone, because the Jules SDK was missing repos when you have a large number of them or many branches, the GitHub API search is more reliable)
  2. Select a branch
  3. Enter your task description

That’s it. Jules gets to work.

Session Topics

For every new Jules session, the bot automatically creates a new Telegram topic in your group. The topic name always ends with [XYZ], the last three characters of the session ID, so you can identify which session is which at a glance.

To change the repo or branch mid-way, run /change in the session topic.


Real-Time Status via Topic Names

The bot updates the topic name as the session progresses, using a colour-coded dot emoji as a visual indicator:

EmojiMeaning
🔵Processing: Jules is actively working
🟡Waiting: Jules has a question and needs your input
🟢Complete: session finished successfully
Archived: Jules closed the session
🔴Failed: something went wrong

No need to open Jules. One glance at your Telegram group tells you the status of every active session.


Why Telegram

Telegram’s Topics feature (in supergroups) is a near-perfect fit for this use case:

  • One group, one bot, multiple concurrent Jules sessions, each in its own topic
  • Topic names are dynamic, so status updates are visible without opening the thread
  • Telegram notifications are reliable and low-bandwidth

Tech Stack

LayerTechnology
RuntimeNode.js
AI AgentJules SDK (Google)
Repo SearchGitHub API
InterfaceTelegram Bot API

Status

This is a private project, built entirely for personal productivity. It’s not open source and not publicly available, but it solves a real gap in the Jules experience that anyone who’s used it for longer tasks will immediately recognise.