Schedules & triggers
Chat is the trigger you see. Most of the value of an agent team, though, is in the work that starts without you: the morning brief, the weekly review, the campaign that posts on schedule, the nightly performance pull. WilsonOS treats those as first-class — with a ledger, a scope, a destination, and a watchdog — rather than as scripts running in the dark.
Three triggers, one path
Section titled “Three triggers, one path”flowchart TB C["Chat — you ask"] --> R S["Schedule — a registered automation fires"] --> R G["Signal — a connected channel reports something"] --> R R["A run record is written first"] --> W["The agent works under a scoped credential"] W --> D["Result delivered to a conversation you chose"] W --> L["Receipt: what ran, what it cost, what happened"]
Whatever starts a run, the same things are true: the run is recorded before anything executes (so a missing record is positive evidence that nothing ran), the work happens under a credential scoped to one brand and one run, spending waits for approval rules, and the outcome is written down.
Schedules
Section titled “Schedules”Every agent owns a registry of its scheduled automations — what fires, when, in which brand, and where the result goes. The registry is the canonical source; the system’s clock is generated from it, never hand-edited.
A few things you can rely on:
- Scope is declared, not inherited. Each entry names the brand it works in and, explicitly, any external access it needs. A scheduled run never inherits broad credentials from the machine it runs on.
- A destination is required. An automation that reports to chat names the conversation it reports to. Without one it does not post silently somewhere; it fails loudly and the failure is surfaced.
- Approval-gated. Agents may add automations for themselves, defaulting to off, and ask before enabling. Pausing is preferred to deleting.
- Time zones are handled. Entries are written in your time zone and converted for the clock.
Typical automations: a daily driver for a brand (what’s on today, what needs a decision), Mia’s daily and weekly reviews, a nightly memory consolidation, a nightly measurement pull, a weekly feedback distillation, a channel sync that pulls in new signals.
Signals from connected channels
Section titled “Signals from connected channels”Some work starts because the world moved: a batch of new performance data landed, a post went live, a listing changed. A channel engine — one per growth channel, sharing a common core — ingests those signals on a schedule, diagnoses what changed, and proposes actions. Its proposals arrive in a conversation like anything else; creating or tuning content from them goes through the usual review. See Channel engines.
The guardrails do not depend on you watching
Section titled “The guardrails do not depend on you watching”An unattended run cannot be less careful than a conversation, so the same rules apply:
- Announce the capability. The receipt names the skill or flow that ran.
- Quote before spending. A paid step in an automation is either pre-approved in the entry at a stated scope or it stops and asks in the destination conversation.
- Brand rules apply. The run boots the brand’s essence like any session.
- Memory is written through the same writers. A run’s durable facts go through the sanctioned path, scoped; a scheduled run never writes into a person’s private memory.
What watches the watchers
Section titled “What watches the watchers”- A watchdog compares each automation’s expected cadence with what actually fired and raises “expected run did not fire”.
- Failed or missed fires from the last two days appear in the agent’s boot bundle, so the agent itself knows and can tell you.
- Alerts land on an operator signals feed; in-app notification is best-effort, never the safety net.
- Silence is treated as a defect. A calm dashboard is only trusted when the ledger says the runs happened.
live The per-agent registry, run-record-first execution, scoped credentials, required destinations, and the watchdog are live. direction Operating-system-level isolation for scheduled runs (which chat conversations already have) is designed and scheduled.
Related
Sources: docs/architecture/agents-runtime.md §Crons, docs/architecture/channel-engine.md, input/WilsonOS_Overview.html §02 (Capabilities & automation) · Last verified 2026-09-15