Durable executions
Every step is checkpointed. If an API is down or the box reboots halfway through, the job finishes, because a retry is a row in the database and not a goroutine praying nobody pulls the plug.
Steps that call real systems
HTTP, PostgreSQL, email, files (CSV, Excel and a PDF's text), ERPNext, and the notifiers: ntfy, Discord and Gotify. A credential vault with OAuth2 holds the secrets, sealed with a key that lives outside the database.
Steps that talk to HotLoop
Read tags and alarms, acknowledge an alarm, call a service, run a script, apply a recipe and trigger an automation on a HotLoop gateway. Every command goes through the gateway's write gate, with a reason in its audit trail, so Cascade has no side door to a device.
Bringing a workflow in
It converts a workflow exported as JSON from another tool. What it can be sure of comes across, and everything else comes across switched off with its original settings in the notes. It never guesses what a JavaScript expression meant, and it never brings credentials.