Skip to content

Automations: work that runs on a schedule

Automations are routines that run for you without a new chat message each time: a morning briefing, a weekly backup, or a check that should happen while you’re away.

You will find them in a project’s Automations tab. It lists each routine, whether it is active or paused, its schedule, and the command it runs.

The plainest way to start is to ask an agent in Chat:

“Every weekday at 9am, check my calendar and tell me what needs attention.”

An agent can create the routine for you. You can also use New routine to fill in the details yourself: name, schedule, time zone, timeout, command, and environment.

Schedules use cron-style lines. A routine can have more than one schedule. If it has no schedule, it is manual: it waits until you run it yourself.

Open a routine and choose Run now to test it or run it outside its schedule. Lowkey starts a run immediately and opens the run detail view.

While the run is active, the detail view keeps refreshing. You can watch status, duration, stop it if needed, and read output as it arrives. Logs are split into stdout and stderr, so progress and warnings stay separate.

Good routine scripts print progress as they work: “[fetch] checking new mail…”, “[summary] wrote 12 items…”, “done: sent the morning brief.”

Each routine keeps a Run History. Every run has a status: running, success, failed, or cancelled. Completed runs also show timing, duration, exit code, the command, the working directory, the run directory, and any summary.

Open a past run to inspect its stdout and stderr logs. Older runs may keep only a summary after log retention trims the raw output.

Failures are meant to be visible. A failed routine records the failure in run history and can send a failure notification. When the default failure handler is enabled, Lowkey opens a visible conversation so an agent can investigate and report back to you.

That conversation is separate from the routine run. It includes the run id, run directory, stdout and stderr paths, status, and any verification notes, so the agent starts with the evidence.

Automations can act while you are not watching, so keep them small and legible. Use the README to say what the routine should do, what it depends on, and what a failure means. Pause a routine by editing it and turning off Enabled. Delete routines you no longer want. Use Run now after changes.

Lowkey also avoids overlap: if one run is still active when another trigger arrives, the new run is skipped instead of starting a second copy.

  • To understand the agents doing the work → /agents/
  • To understand conversations opened after failures → /sessions/
  • To understand the difference between automations, sessions, and runs → /concepts/