id | yes | string | — | — | Stable id for this monitor (10+ char random). Used as the dedup/cursor key and to match the feed_monitor DB row. |
enabled | no | boolean | — | — | Whether the poller should fire this monitor. |
kind | yes | enum | one of rss, twitter | — | Source type: ‘rss’ (feed_url) or ‘twitter’ (handle). |
feed_url | no | string | — | — | For kind=‘rss’: the full http(s) URL of the RSS/Atom feed. |
handle | no | string | — | — | For kind=‘twitter’: the username to watch (with or without a leading ’@’). |
query | no | string | — | — | For kind=‘twitter’: optional keyword/phrase to further filter the user’s tweets. |
poll_interval_minutes | no | integer | — | — | How often to poll, in minutes. Clamped to the platform-configured minimum. |
react_mode | no | enum | one of off, all, classified | — | How to react to new items. ‘off’ = log only; ‘all’ = run the agent on every new item; ‘classified’ = run an LLM classifier first and react only when it returns action=‘react’. |
classifier_prompt | no | string | — | — | For react_mode=‘classified’: owner guidance describing which items are relevant enough to react to. |
classifier_action_allowlist | no | array of string | — | — | For react_mode=‘classified’: restrict the actions the classifier may pick. Subset of [“react”, “drop”]. |
react_instructions | no | string | — | — | The task the agent runs when it reacts to a new item. The item’s title/author/link/content are appended automatically. |
delivery | no | object | — | — | Where the agent’s reaction output goes. ‘inbox’ is implicit (the reaction always mirrors into the owner Inbox); ‘email’ also sends the output to a target address. Item fields below. |
label | no | string | — | — | Optional human-readable label for the dashboard. |
preProcessor | no | object | — | — | Code-first pre-processor: owner JS/Python that runs per new item BEFORE the LLM classifier and returns a verdict. A ‘drop’ or ‘store’ here skips the classifier; ‘pass_to_agent’ falls through to react_mode. See $lib/server/event-pipeline. Item fields below. |
interpreters | no | array of object | — | — | Payload interpreters: each is tested in order against a new item and the first match injects its hint into the agent’s context. Part of the unified incoming-event pipeline. See $lib/shared/event-pipeline. Item fields below. |
notes | no | string | — | — | Private operator notes about this monitor. Never sent to the model. |
collapsed | no | boolean | — | — | UI hint — start this entry collapsed in the dashboard editor. |