Skip to main content

What is a Step?

A step is a single unit of work in an automation workflow. Each step performs one action — calling an API, transforming data, running a script, querying a database — and produces an output that downstream steps can use. Steps are the building blocks you connect together on the canvas to create your workflow logic.

Adding Steps

To add a step to your workflow, click the Step dropdown in the canvas header and select a step type. The new step appears as a node on the canvas. Click on it to open the configuration panel on the right, where you set up the step’s inputs, authentication, and behavior. Once configured, connect steps by dragging from one step’s output handle to another step’s input handle. The connections define the execution order.

Configuring a Step

Select any step on the canvas to open its configuration panel. Every step has:
  • Name — a unique identifier used to reference the step in template variables
  • Type-specific fields — inputs that vary by step type (URL for HTTP Request, prompt for Transformer, etc.)
  • Branches — optional conditional paths based on step output
  • Presets — saved configurations you can apply with one click

Generate with AI

Steps that include a prompt, script, or SQL editor have a built-in Generate with AI feature. Click the sparkle icon in the bottom-right corner of the editor to open a dialog where you describe what you need in plain language — the AI generates the content for you.
Step TypeWhat Gets Generated
TransformerTransformation prompt
ValidatorValidation prompt
CodeNode.js or Python script
Database (Query mode)SQL query
The generation is context-aware — it knows your current automation structure, including the available step outputs and database schemas, so the generated content can reference the right data paths.

Presets

Presets are reusable step configurations saved at the organization level. They let you quickly apply a standard configuration to a new step instead of setting it up from scratch.
  • Applying a Preset — When adding or editing a step, select a preset from the presets dropdown. The step’s configuration fields are filled in automatically.
  • Creating a Preset — Configure a step the way you want, then save it as a preset. It becomes available for all future steps of that type.
  • System vs User Presets — System presets are provided by Royaltyport. User presets are created by your team.
  • Active Indicator — The currently applied preset is shown with an active badge on the step.

Branches & Conditions

Branches create conditional execution paths after a step completes. When a step finishes, its output is evaluated against branch conditions to determine which path to follow. Each branch has:
  • Label — a descriptive name for the path
  • Field path — the output field to evaluate (e.g. output.status)
  • Operator — the comparison operator
  • Value — the value to compare against (not required for unary operators)
Available operators:
OperatorDescription
equalsExact match
not_equalsDoes not match
containsContains substring
not_containsDoes not contain substring
greater_thanNumerically greater
less_thanNumerically less
starts_withStarts with string
ends_withEnds with string
is_emptyValue is empty (unary)
is_not_emptyValue is not empty (unary)
is_nullValue is null (unary)
is_not_nullValue is not null (unary)
Unary operators (is_empty, is_not_empty, is_null, is_not_null) do not require a comparison value.
Special branches:
  • Else branch — fallback path taken when no other branch conditions match
  • Default connector — the path followed when no branches are configured at all

Output Schemas

Every step produces a typed output object. Downstream steps can reference these outputs using template variables. The Schemas panel on the canvas shows all available data paths organized by source:
  • Trigger — data from the trigger event
  • Variables — organization and project variables
  • Databases — connected automation databases
  • Steps — outputs from earlier steps
Each path shows its data type. Click a path to copy its template variable to the clipboard.

Template Variables

Template variables let you reference dynamic data inside step configurations. Use double curly braces to insert them.
SyntaxSourceExample
{{trigger.*}}Trigger event data{{trigger.contract_id}}
{{step.{name}.output.*}}Output from an earlier step{{step.fetch-data.output.body}}
{{db:{name}.{table}[]}}Automation database data{{db:my-db.users[]}}
{{iteration.item}}Current loop item{{iteration.item.id}}
{{iteration.parent.*}}Parent loop context (nested loops){{iteration.parent.item}}
{{variable.{name}}}Organization/project variable{{variable.api_config}}
When a template variable is the only content in a field, it returns the native data type (object, array, number). When embedded in a string with other text, all placeholders are stringified.

Step Types

API Request

Make API calls to external services.

Transformer

AI-powered data transformation.

Validator

AI-powered data validation.

Code

Run custom Node.js or Python scripts.

Database

Query automation databases.

Loop

Iterate over arrays with nested steps.

SFTP

Transfer files via SFTP.

Notification

Send email notifications.

Review

Create review requests for human approval.