Do the common things
Modify a row, send an email, call a webhook or external API, run an SQL query, or run arbitrary JavaScript. Plugins add more through the actions extension point.
Platform · Workflows & actions
Saltcorn workflows are durable: every step is persisted, every failure is recoverable, and a run can suspend mid-execution to wait for a person — then pick up exactly where it left off.
Everything automatic in Saltcorn is the same shape: something happens, a trigger notices, and an action responds. An action can be a single step — or an entire workflow.
A row changes, a schedule ticks, a user logs in, an API is called — carrying a user, a channel and a payload.
A trigger binds one action to one event, scoped to a table or channel, configured by the action it runs.
One action, or a durable multi-step workflow — the same actions also run straight from buttons in views and pages.
eventTypes extension point.Actions are the verbs of a Saltcorn application. Wire them onto a trigger, drop them behind a button, or chain them into a workflow.
Modify a row, send an email, call a webhook or external API, run an SQL query, or run arbitrary JavaScript. Plugins add more through the actions extension point.
Build action logic block-by-block with Blockly, or write it directly in a CodeMirror editor. The same action runs the same way, however you composed it.
Fire an action from an event, from a button a user clicks, or expose it — along with whole workflows — as a tool an AI agent can call.
A workflow — stable since Saltcorn 1.2.0 — is triggered like any other trigger, but instead of one action it runs a sequence of named steps that share a context: a JSON object accumulating state as the run proceeds.
Control flow is declarative. Each step carries a next_step formula, evaluated against the context after the step runs, with every other step's name in scope — so age < 18 ? step2 : step3 wires a branch with no glue code. A dedicated ForLoop step handles iteration, and any step can still drop to JavaScript when it needs to.
A workflow run is persisted — its context and current step live in the database, so it survives a restart, waits days for a human, and resumes exactly where it stopped.
Most automation tools lose their place the moment a process dies or a person walks away. Saltcorn treats a running workflow as data, not as a thread in memory — which is what lets a step pause for an approval on Friday and continue on Monday, and what lets multi-node deployments hand a run between servers without dropping it.
Durable by construction Runs are rows, not threads — pausable, resumable, portable
only if guard, the next_step branch formula, and the action's own settings.Lay steps out visually and configure each one in a side panel — no scripting the plumbing between them.
Every step has a name (the identifier other steps' formulas reference), a toggle for whether it's the initial step, an optional only if guard, and the next_step formula that decides what runs next. Pick the action the step performs, fill in that action's settings, and copy, delete or rewire steps freely.
Because a run is durable, it can stop and wait for someone, then resume when they respond. Since Saltcorn 1.4 the server can push interactions to the user over the collaboration websocket, and stream LLM output as it is produced.
Pause to present a form — an approval, a data correction, a checklist — and resume only when the user submits. The run holds its place in between.
The WorkflowRoom view template exposes a running workflow as a chat interface — ideal for AI-backed processes that interleave LLM steps with forms and actions, with text streamed live.
Automation you can't inspect is automation you can't trust. Every run and every event is recorded and reviewable.
A run's context and current step are stored, so it outlives process restarts and moves cleanly between nodes in a multi-server deployment.
Opt in to save a step-by-step trace of every run, then review exactly which steps fired and how the context evolved from the Workflow runs view.
Record events to a configurable event log for auditing and debugging — a durable trail of what happened across triggers, actions and workflows.
Spin up Saltcorn and wire your first trigger, action and workflow together in minutes — free, open-source, durable by default.
The Saltcorn team can map your process and build the triggers, actions and workflows behind it.