# How I run my Grok Bots

By [Rogério Moreira](https://rgllm.com/)

November 10, 2026

I run a small team of Grok Bots for home and work. They no longer poll websites on a schedule. changedetection.io watches the pages, hits a webhook, and the right bot only wakes when something actually changed. Coding goes through T3 Code on my Mac mini.

I have been building a small team of Grok Bots around the things I actually do: a couple of sites, a job search, family logistics, and the usual admin that used to live in my head.

The useful part is not that there are many of them. It is that each one has a single job, and I have a chief of staff whose only job is to route the rest. I talk to Mordomo for small admin, and he hands domain work to the bot that owns it, then gets out of the way.

This post is a snapshot of that setup, plus two changes I made recently: I stopped polling websites on a schedule, and I moved all coding work to T3 Code on my Mac mini.

## The team

I will not describe every prompt. Here is who does what, grouped the way I actually use them.

**The front door.** Mordomo is the chief of staff. He handles a short reply, a booking check, a file to find. Anything that belongs to another bot gets handed off in one message.

**Work and money.** A job hunter finds openings and applies only after I say yes. A career mentor gives honest advice when I am the candidate. A researcher looks things up and reads the sources. An ideas scout hunts for new product ideas. A personal accountant keeps the financial picture up to date.

**Sites and writing.** Vendedor de Juntas does sales for Engino with Portuguese Juntas de Freguesia. Quim looks after [ominho.pt](https://ominho.pt/). Posteiro writes posts and threads on X.

**Life and home.** Dona Fernanda covers family logistics, style, and films. Olheiro do Lomarense follows the Lomarense juniors in AF Braga. Radar sends a daily news briefing and a Hacker News digest. A homelab manager helps with the Macs and the home lab.

When I want a new bot, I talk to dr eggbot, who designs it and creates it.

## Don’t poll. Get pinged.

The expensive habit was this: each bot had its own cron. A routine would fire on a timetable, open a website, and check whether anything had changed. Most of the time, nothing had. The bot still used a turn, and therefore credits, just to find that out. Multiply that by several bots and several sites, and you are paying for no-ops all day.

I [wrote about the new flow on X](https://x.com/rgllm/status/2120132467457945750). The bots no longer poll websites on a timetable. [changedetection.io](https://changedetection.io/) is the watcher. It keeps a snapshot of each page, compares the next fetch against that snapshot, and only acts when the page actually changed. Then it sends an HTTP POST to the webhook of the bot that owns that watch.

The webhook is what wakes the bot. The bot does not re-crawl the site. It reads the diff, decides whether the change is useful, and only messages me when there is something to do. Otherwise it stays quiet and the turn ends there.

The connector is the [changedetection MCP](https://changedetection.io/MCP), which shipped in changedetection.io 0.70.1. That is how I manage the watches from the bots themselves: list monitors, inspect change history, and point notifications at the right webhook. I asked Mordomo to move every routine that was checking websites over to this model. Site watching now lives outside the bot. The bot is event-driven.

## Coding stays on the Mac mini

Since 9 November 2026, coding work does not go to Cursor cloud agents. It goes to [T3 Code](https://t3.codes/) on my Mac mini, which is always on at home. T3 Code is an open-source control plane for coding agents. It runs on the machine that already has the repos, and each agent thread writes to its own branch.

The preferred path is the T3 Code MCP connector. The bot opens a thread in a project, sends the task, and reads the result without leaving the chat. If the connector is not available, the bots fall back to the `t3` CLI on that machine, at `~/.t3/bin/t3`:

```
t3 thread start
t3 thread send
t3 thread show
t3 thread list
```

The change stays on that branch until I say it can be pushed or opened as a pull request. I still do that part myself.

The point is the same as with the webhooks. The bot should not do heavy work in the wrong place, and it should not spend a turn just to find out that nothing happened.

## What I still do myself

The bots draft. I send. They prepare a change. I decide whether it lands. That split has been the difference between a setup I trust and one that quietly acts in my name.

The rest is routing, watching pages only when they change, and writing code on the machine that already has the repos.

Source: https://rgllm.com/posts/grok-bots-setup/
