Automations
Triggers and schedules that let Dispatch act on its own when conditions are met.
Automations are how Dispatch acts without you in the loop. A trigger watches for an event ("a new email arrives from Sarah"); a schedule fires at a time ("every weekday at 8am"). When either condition matches, Dispatch dispatches an agent run with the prompt the automation defines.
Automations are how recurring work (daily summaries, follow-up reminders, weekly recaps, conditional drafts) gets delegated permanently rather than re-asked every time.
What it does
- Two kinds of automation. Triggers fire on events; schedules fire on time.
- File-backed. Triggers live at
/automations/triggers/, schedules at/automations/schedules/. The agent can read and create them through file tools. - Run autonomously. When fired, an automation dispatches a fresh agent session with
origin.kind === "triggered"or"scheduled". The user is treated as not present for permission decisions. - Use the same agent. Automated runs go through the same agent loop, the same permission gate, the same memory layer. They are not a separate agent with a separate model.
How to use it
You create automations by asking. The agent picks the right shape, writes the file, and explains what will happen.
- "Every weekday morning, brief me on what's on my calendar today."
- "When I get an email from anyone at Acme that mentions the proposal, draft a reply and put it in my drafts folder."
- "Once a week, summarize what shipped and post it to my daily note."
To inspect existing automations:
- "What automations are running for me right now?"
- "Show me the trigger for Acme emails."
What Dispatch can do here
- Morning briefing: a scheduled automation that sends a daily summary.
- Weekly digest: a scheduled end-of-week recap.
- Auto-draft replies: a trigger automation that drafts replies to incoming mail.
- VIP alerts: a trigger automation that pings you when a high-priority contact reaches out.
Limits and behavior
- Permission gate applies. Autonomous runs cannot ask you to confirm. Risky writes that need confirmation will not happen; the agent should defer (draft, propose, todo) when it hits a gated action without a present user.
- Same memory as chat. Automations write to the same preferences, daily notes, people, and todos files as your chat sessions. There is no separate "automation memory."
- Loop guard. A misconfigured trigger that fires on its own output could in principle loop. Dispatch's permission gate retry-loop guard and various sane defaults keep that contained, but very chatty trigger definitions are worth reviewing.
Related
- Permission gate: how autonomous writes are gated.
- Todos: for one-off deferred work, not recurring rules.
- Cookbook: Morning briefing
For agents
- Automations are files. Triggers at
/automations/triggers/, schedules at/automations/schedules/. - A fired automation dispatches an agent run with
ctx.origin.kind === "triggered"or"scheduled". - Autonomous runs treat the user as not present for permission decisions.
- Same agent loop, same permission gate, same memory layer as chat runs.
- The agent creates new automations by writing the corresponding file via
write_file.