observe lets your bot listen to a group without answering β every message lands in the transcript, but the agent only runs when itβs @mentioned.
Quick Start
1
Simple Usage
Write the agent that answers when addressed.Behind the scenes: run this agent through the Telegram bot with
group_policy: observe.2
Gateway YAML (the real switch)
group_policy: observe is the whole change. Add session_scope: per_chat for shared group memory.How It Works
Unmentioned messages are recorded as passiveuser turns; the agent only runs on an @mention and sees the full recent conversation.
Policy Options
Everygroup_policy value and when to pick it.
Interaction Flow
What the group sees versus what the transcript actually holds underobserve + per_chat.
Compatibility
Only Telegram honoursobserve today. Other adapters gate solely on mention_required and fall back to their default group handling.
Best Practices
Prefer observe over respond_all + NO_REPLY
Prefer observe over respond_all + NO_REPLY
observe records unmentioned messages without running the agent β no LLM tokens spent, no risk of an accidental reply. respond_all + NO_REPLY runs the agent on every message and then chooses silence, which is more expensive and less safe.DMs are unaffected
DMs are unaffected
DMs always run the agent regardless of
group_policy. observe only changes how unmentioned group messages are handled.Account for retention and PII
Account for retention and PII
Every unmentioned message is stored. In busy or sensitive channels, lower
max_history or enable compaction to summarise older turns.Related
Per-Chat Session Scope
Share one transcript across a group with sender attribution
Bot Intentional Silence
Let the agent choose not to reply with NO_REPLY

