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.

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.

On this page