<!-- https://zerolog.ch/docs/automation · Docs / Agents -->
# Invisible automation

Reading needs no permission. Anything that leaves the system needs a standing grant from you and one first confirmation. Money is never automated. What is not allowed waits in an approval queue.

## What a grant is

You grant one action type at a time with a switch in Settings, Automation: send mail, reply to mail, label or archive mail, create or change a calendar event, create or edit a document, call an outside webhook. Grants are **explicit and revocable**, so nothing gains permission **silently**. Revoking one also clears its first confirmation, so granting it again asks again. The feature needs a paid plan.

## Why the digest exists

“It ran while I was away” never means “I do not know what happened.”

Findings are collected and delivered once per period, as a plain list with the actions still waiting for you. Nothing pings per event, and a day with nothing to report sends nothing.

## How long it can run

Your [plan](https://zerolog.ch/docs/plans) sets the running time for unattended background jobs. Follow a job live, or read its log afterwards, under [Jobs](https://zerolog.ch/docs/jobs).

For a `/goal` in chat, the automatic limits are rounds and repeated lack of progress.

## How an automation action is gated

Mermaid source of the diagram on this page:

```mermaid
%% Automation gate: what happens to an action an automation wants to take. Facts from server/automation.js (ACTIONS, check, propose, approve, digest), server/routes/automation.js.
flowchart TB
  act["An automation wants<br/>to take an action"]
  kind{"What kind?"}
  read["Read only<br/>mail, calendar, documents,<br/>a web page"]
  write["Leaves the system<br/>send or reply, label mail,<br/>calendar, documents, webhook"]
  money["Money<br/>transfer, purchase, refund"]
  run["Runs, no grant needed"]
  grant{"Standing grant,<br/>confirmed once?"}
  allowed["Runs"]
  queue["Waits in the<br/>approval queue"]:::hot
  never["Refused, always"]
  you["You approve or reject.<br/>Approving also records the<br/>first-time confirmation"]

  act --> kind
  kind --> read --> run
  kind --> write --> grant
  kind --> money --> never
  grant -->|yes| allowed
  grant -->|no| queue --> you

  linkStyle 8 stroke:#8f7ac9
  linkStyle 9 stroke:#8f7ac9
```
