For the complete documentation index, see llms.txt. This page is also available as Markdown.

Script Modules

Reusable JavaScript modules shared across workflows and batch scripts.

VARIO Cloud Script Modules are reusable JavaScript files stored directly in the ERP. Instead of duplicating logic across workflows and batch scripts, you write it once as a module and import it wherever needed. Modules are managed under System → Scripts in VARIO Cloud.


Module Groups

Groups organize modules into named collections. Every group has a unique name and an optional description. Beyond organization, groups serve as namespaces — they become part of the import path and prevent name collisions between unrelated modules.

A module can belong to exactly one group or exist ungrouped at the top level.


Import Mechanism

Any workflow or batch script in VARIO Cloud can import a module using standard ES module syntax. The import path determines how the module is resolved at runtime through a virtual module system:

// Ungrouped module — looked up by name alone
import helpers from "my_module";
// Grouped module — looked up by module name within the specified group
import helpers from "my_group/my_module";

Module resolution is virtual — there is no filesystem involved. When a script executes, the engine resolves the import path against all registered modules in the database at runtime.


Domains

Each module has a domain that indicates its intended usage context. The domain is organizational — it helps categorize modules in the UI and signals to other developers what the module is designed for.

Domain
Purpose

LIBRARY

Shared modules importable by other scripts

WORKFLOW_SCRIPT

Workflow script tasks

WORKFLOW_SPLIT_GATEWAY

Workflow split gateways

WORKFLOW_INTERMEDIATE_EVENT

Workflow intermediate events

IMPORT_BATCH_PROCESSING

Batch processing scripts

APP

App-specific modules

UNDEFINED

Not yet categorized


Parameters

Modules can define typed parameters that make them configurable. Each parameter has a name and a valueType (string, boolean, or number). When a module is used in a workflow or batch script, the parameter values are passed at runtime and accessible inside the script via ctx.parameters.

This allows a single module to serve multiple use cases — for example, one print module configured with different templates or output formats depending on the context it runs in.


Presettings

VARIO Cloud ships with preset modules — default implementations for common tasks like printing documents, sending emails, or assigning images to articles. These presets belong to the group Vorgabe-Stapel-Skripte and can be used out of the box.

Users can customize a preset module by editing its script. The original version is preserved internally, and the module can be reset to its presetting at any time to restore the default implementation.


Built-in Modules

The scripting engine provides built-in modules that are always available and cannot be modified. These are the entry points for workflows and batch scripts:

Module
Context

work_item_script

Workflow script tasks (setAction, setGuard, setPrepare)

work_item_split_gateway

Workflow split gateways (setSplit)

work_item_intermediate_event

Workflow intermediate events

batch_script

Batch processing (setAction, setGuard, setAfterBatch)

These are imported at the top of every script — e.g. import workItem from "work_item_script". User-created modules are imported alongside them using the same syntax.


Example

A reusable module that validates address fields:

Importing it in a workflow:

The same module can be imported in batch scripts, other workflow scripts, or even other modules — write once, use everywhere.

Last updated

Was this helpful?