Workflow ¶
Visual designer for event-driven automation against Proxmox VE — built on Elsa Workflows. Compose snapshot, backup, migration, power and notification activities into reusable workflows.
Features¶
-
Drag-and-drop Designer
Build workflows visually in Elsa Studio — embedded directly in cv4pve-admin, no external tool.
-
PVE Activities
Pre-built activities for guests (power, backup, snapshot, migrate, clone, resize), nodes (shutdown/reboot, inventory, RRD), storages (inventory, content, RRD), HA (manage state) and replications.
-
Admin Activities
Built-in
Notifyactivity to send messages through any configured Notifier — Slack, Telegram, email, webhook. -
C# and JavaScript
Inline expressions in C# or JavaScript anywhere a value is accepted — branching, filtering, formatting.
-
History & Audit
Every workflow run is recorded with status, inputs and timing — replay or inspect from the History tab.
-
Multi-tenant
Workflows are isolated per cluster (tenant) — designing in one cluster does not leak into another.
Why¶
Why a workflow engine when scripts and cron already work?
No scripts to maintain
Drag-and-drop, no Bash, no PowerShell, no SDK. Tasks that used to live in a wiki page become a workflow.
Branching and error paths
Conditions, loops, retries, error handling — without writing a state machine. The designer makes the control flow obvious.
Cluster-aware activities
Activities know about your nodes, VMs, storages, HA groups — pickers populated from the live cluster, no IDs to copy-paste.
Auditable runs
Every execution recorded with inputs, outputs and timing — answer "when did this happen and what did it do?" without digging through logs.
Sections¶
- Workflows — open Elsa Studio to design, edit and publish workflows for the current cluster
- History — list of past workflow runs with status, duration and per-step detail
Available Activities¶
Show all PVE activities
Guest — Inventory
| Activity | What it does |
|---|---|
GetGuests |
List VMs and CTs with status, node, tags |
GetConfig |
Read full VM/CT configuration (CPU, memory, disks, network) |
GetRrdData |
Historical RRD metrics for a VM/CT |
Guest — Operations
| Activity | What it does |
|---|---|
PowerAction |
Start / Stop / Shutdown / Reset / Suspend |
Backup |
Trigger vzdump backup with compression and mode |
Migrate |
Live or offline migration to another node |
Clone |
Clone a VM/CT |
ConvertToTemplate |
Convert a VM/CT to template |
Resize |
Resize a virtual disk |
Guest — Snapshots
| Activity | What it does |
|---|---|
Create |
Create a snapshot |
Delete |
Delete a snapshot |
Rollback |
Rollback to a snapshot |
Get |
List/inspect snapshots |
Update |
Update snapshot description |
Node
| Activity | What it does |
|---|---|
GetNodes |
List nodes with status |
GetReplications |
List replication jobs |
GetRrdData |
Historical RRD metrics for a node |
ShutdownReboot |
Shutdown or reboot a node |
Storage
| Activity | What it does |
|---|---|
GetStorages |
List cluster storages |
GetStorageContents |
List content on a storage (ISOs, backups, templates) |
GetRrdData |
Historical RRD metrics for a storage |
Cluster
| Activity | What it does |
|---|---|
ManageHA |
Manage HA resources (add, remove, set state) |
GetReplications |
Cluster-wide replication inventory |
Utilities
| Activity | What it does |
|---|---|
WaitForTask |
Wait for a Proxmox task to complete |
Notify |
Send a message through a configured Notifier (Slack, Telegram, email, webhook) |
Filter |
Filter a collection by expression |
Persistence
Workflow definitions and runtime state are stored in the workflow_elsa Postgres schema — separate from the cv4pve-admin schema.