Actions are the side effects of a workflow. You define them once in the definition’s Actions tab, then reference them from a node’s On Enter chain or from a transition’s action chain. Chains run in order; if an action fails, the instance’s variables roll back to their node-entry state and the instance routes to the error node (or is marked Failed).A few conventions apply across the catalog:
Value parameters accept expressions. Anything marked expr below can be a literal, contain {{ references }}, or be switched to expression mode and computed with a formula like $instance.retries + 1.
Actions target the anchor by default. Document and WorkView actions accept an optional DocumentId / ObjectId parameter; leave it empty to act on the workflow’s own document or object, or supply an expression (for example an ID read from a keyword) to act on a related document or object. The accompanying TargetDocumentTypeId / TargetClassId setting tells the designer which type the related target is, so its pickers offer the right keywords or attributes — it has no runtime effect.
Some actions capture output. Actions with an IntoVariable parameter store their result as an instance variable for later steps to read as instance.<name>.
Host, Port (default 587), UseTls (default true), Username?, Password?, From, To, Cc?, Bcc?, Subject (expr), Body (expr), IsHtml (default false)
Sends an email over SMTP. To accepts a comma-separated list.
Never hardcode SMTP credentials in the definition. Reference configuration instead: {{ env.smtp_host }} for the host and user, and {{ secrets.smtp_password }} for the password. Secrets are encrypted at rest and never written to instance history.
The email Body field uses the template editor with {{ }} autocomplete, so you can mix prose with references:
Invoice {{document.kw.InvoiceNumber}} was approved by {{identity.username}}.
DefinitionId, Version? (omit for latest published), SetVars?, AnchorDocumentId?, AnchorWorkviewId?, IntoVariable?
Starts a child workflow and continues immediately (fire-and-forget). The child inherits the parent’s anchor unless an anchor parameter overrides it; SetVars seeds its variables; IntoVariable captures the child instance’s ID. Spawn cycles and duplicate active instances are rejected.
Workflow.End
Reason?
Completes the instance immediately; the optional reason lands in the history
ScriptSlug, EntityId? (defaults to the anchor), Input? (expr), TriggerEvent?, IntoVariable?
Runs a script in the script engine and optionally captures its output as an instance variable. Workflow scripts run under the engine’s service account with a 10-second timeout.
To pass a structured input, write an object literal in the formula editor: