Skip to content

Notifications and chat apps

Rookery tells you when something happens: an agent finished, a service returned something new, a reminder came due, something needs a decision.

There are two places it reaches you, and they serve different purposes.

Every notification lands in the inbox on the home page. It is the durable record — grouped by day, unread marked with an accent bar, failed agent runs flagged, and each item linking back to whatever produced it.

This is where you look when you have been away.

Deleting an item gives you five seconds to undo. The deletion is not sent until that window closes, so undo genuinely cancels it rather than restoring something.

The two are not a choice. When an agent notifies you it reaches the inbox and every connected chat app; when it stays silent it reaches neither. There is no setting for “inbox only, not Telegram” — asking an agent for one is asking for something Rookery cannot currently do, and it should tell you so rather than quietly go silent.

In practice this bites less often than it sounds. With no chat app connected, notifying already reaches the inbox alone — so if the inbox is where you want things, you may already have exactly that.

One thing worth separating: the inbox here is Rookery’s own. It is not Gmail or Outlook. Those connect as services, and putting a message in one of them means sending an email — a different thing, with its own setup.

Connect Telegram, Discord or Slack and notifications reach you wherever you are. All three are direct-message only.

Once connected, the conversation goes both ways:

CommandWhat it does
/agentBuild or edit an agent
/skillCreate a skill
/runRun an agent now
/chatStart, resume or stop a conversation
/remindSet, list or delete reminders
/secretAdd or remove a secret
/memoryAdd quick notes to your context
/pendingList actions waiting for approval
/approve, /rejectResolve one
/helpThe list, in the app

Anything that is not a command becomes a chat turn, with the same access to your knowledge and connections as chat in the browser.

Each needs credentials from the platform — a bot token for Telegram and Discord, and for Slack a bot token plus an app-level token. The connections page shows the steps for each.

Every adapter connects outbound: the bot dials out to the platform, so nothing listens on an open port. Rookery works from behind a home router with nothing forwarded, and there is no public endpoint anyone could reach.

Not every agent should message you. Plenty are useful precisely because they only speak up when something needs you — an uptime check that stays quiet is doing its job.

When you build an agent, Rookery asks whether you want a message each run or only when something is worth saying. An agent that decides it has nothing to report sends nothing at all — no message, no placeholder, no “all clear”.

Two cases are deliberately not silent, because silence would hide them:

  • The run finished but had nothing to send and never said it meant to be quiet. You get a short warning, so a broken agent cannot pass for a discreet one.
  • The run produced no output whatsoever. That is a failure, not discretion: nothing was checked and nothing was saved. It is reported as a failed run and says so, rather than reporting success and going quiet.

Reminders and inbox items are not written into your knowledge base. A notification is a delivery record, not knowledge — the agent’s run log already holds what it did, and duplicating it as notes would fill the knowledge base with “25°C, clear sky” entries that make search worse.