Skip to main content

# Schedules and Workflows

The schedules panel supports both step-based jobs and visual workflows. You can use it as a scheduler for regular tasks or as a visual automation tool.

## Supported Trigger Types​

- `Cron`
- `Interval`
- `One Time`
- `User Triggered`
- `KVDB Queue Consume`

Notes:

- `User Triggered` schedules do not run automatically. They only run when started manually.
- `KVDB Queue Consume` is useful when you want a schedule to run whenever work is pulled from a queue.

## Target Devices and Groups​

- Schedules use the same device and group logic as the main screen.
- If a schedule selects groups, those groups still use their currently bound scripts and settings at runtime.
- For `User Triggered` schedules, you can also control whether the action appears under `More Actions`, and whether device selection is required before triggering it.

## Two Editing Modes​

### Step Mode​

Good for simple serial actions such as:

- launch script
- stop, pause, or resume script
- lock or unlock screen
- respring SpringBoard or reboot device
- wait for a number of seconds
- run Lua code
- enable, disable, or trigger another schedule

### Workflow Mode​

Good for more complex automations. The workflow editor can combine:

- device actions and script execution
- file operations across the app's main managed directories
- HTTP requests and Lua code
- KVDB and TableDB actions
- conditions, variables, and flow control
- calls to other schedules

## Testing and Manual Runs​

- The workflow editor includes a built-in test run feature.
- Saved schedules can also be run immediately.
- When a test or run fails, the panel shows the error and makes it easier to return to the related step or node.

## Run History and Export​

- Every schedule keeps a run history.
- You can inspect run status, trigger source, device result counts, and logs.
- Run logs can be exported into `File Manager → Reports Directory`.

## Backup and Restore​

- The schedules list supports backup and restore.
- This is useful when moving to another machine, reinstalling, or copying the same automation setup elsewhere.