Home
Back to docs
Automation

Workflows

A node tries once unless you turn retry on, and a dry run deliberately performs only the actions that have no effect.

Building and editing workflows. Each one is a canvas you place nodes on and join up.

Data is referenced in one language

Wherever you need a value from somewhere else, it is written in one of three shapes:

  • {{trigger.…}} — data the trigger brought with it.
  • {{steps.<node id>.…}} — the output of a node that has already run.
  • {{vars.…}} — variables you have defined on the workflow itself.

The picker beside each field inserts these at the cursor, so none of it has to be remembered.

A dry run is deliberately incomplete

In a dry run only actions with no outside effect are actually performed. No email is sent, no invoice is created, no outbound request is made.

Skipped nodes produce no output at all, and where a later node referenced one, it is reported as unresolved rather than filled in with an invented value.

So a dry run proves the path and the shape of the data; it does not stand in for a real run.

A node tries once unless told otherwise

The default is a single attempt. Automatic retry is something you turn on deliberately, with the number of attempts and the gap between them set on that node.

The default is deliberate: retrying an action that moves money or sends a message can do that thing several times.

Failure can be given a path

Any node can have an "on error" branch. A failure that follows it is a designed path rather than a breakage — and it is not recorded among the dead letters either.

Node timeouts

Each node has its own timeout; without one, the workflow's timeout and finally the default apply. A stuck node never waits forever.

The rate of execution can be held back

There are three independent levers on a workflow, all off by default:

  • Max concurrent — never more than this many runs in flight at once.
  • Throttle — at least this long between two starts.
  • Debounce — collapse a burst of triggers into one run carrying the freshest data.

A run held back by these is recorded as skipped; it does not vanish quietly.

Last updated:

Developed by LogaTech Powered by LogaCore