Skip to content

No-Code Actions

Regulator|No-Code Actions

Generated from PayrollEngine.Client.Scripting — do not edit manually.

What Are Actions?

Actions are built-in operations that control case behavior — field visibility, labels, formats, default values, validation constraints, and related case values — without writing C# code. They are entered directly in the Web App or in JSON configuration, and evaluated at runtime by the scripting engine.

Actions are the No-Code layer of the Regulator role. Where actions are not sufficient, the Low-Code layer provides full C# scripting.

Syntax

An action expression is a string prefixed with ^:

^[source:]Action[(parameters)]
Part Description Example
^ Required prefix — marks the string as an action expression ^
source: Optional — source field to read from ($ = case field, & = case relation, ^ = environment) $Salary:
Action Action name in PascalCase SetMandatory, Hide, SetFormat
(parameters) Optional comma-separated arguments ("DD.MM.YYYY"), (true)

PascalCase required: Action names and all referenced case field names must use PascalCase without spaces. Spaces break the action parser.

Object References

Action expressions can directly reference payroll objects using ^-prefixed tokens. Each token targets a specific object type — using the wrong token for an object is a runtime error.

Token Target Context Example
^# Lookup value Anytime ^#IncomeTax(^&GrossIncome)
^^ Case value Anytime ^^Salary * ^^EmploymentLevel
^: Case field Case change ^:Salary.Start < PeriodStart
^< Source case field Case relation ^<EmploymentLevel < 1.0
^> Target case field Case relation ^>Salary = ^<Salary * ^<EmploymentLevel
^\| Runtime value Payrun ^\|GrossPay = ^^Salary * ^^EmploymentLevel
^@ Payrun result Payrun ^@AnnualBonus = ^^Salary * 12
^$ Wage type value Payrun (WageType) ^$BaseSalary * 0.08
^& Collector value Payrun (WageType) ^&GrossIncome * ^#IncomeTax(^&GrossIncome)

Lookup values support optional key, rangeValue, and field arguments:

^#LookupName(key)
^#LookupName(rangeValue)
^#LookupName(key, rangeValue)
^#LookupName(key, rangeValue, field)

Collector (^&) selectors:

Selector Description Example
(none) Value of the current payrun period (default) ^&GrossIncome
.Cycle Year-to-date sum across all previous payruns in the current cycle ^&GrossIncome.Cycle

Wage type (^$) selectors:

Selector Description Example
(none) Value of the current payrun period (default) ^$BaseSalary
.Cycle Year-to-date sum across all previous payruns in the current cycle ^$BaseSalary.Cycle
.RetroSum Net sum of all pending retro corrections within the current cycle ^$BaseSalary.RetroSum

Note: Consolidated queries combining historical and current-period values require a periodMoment date argument and cannot be expressed as a simple selector. Use the Low-Code API (GetCollectorCurrentConsolidatedValue, GetWageTypeCurrentConsolidatedValue) for those cases.

Function Types

Each action belongs to one or more function types. The function type determines in which scripting context the action can be used. 91 built-in actions are available across 5 function types:

Function Type Actions Description
CaseChange 42 Case input: field visibility, labels, formats, validation constraints
CaseRelationBuild 9 Case relation: read and write related case field values
Payroll 27 Common actions available across all payroll scripting contexts
Payrun 10 Payrun lifecycle: runtime values, results, YTD collector totals
WageType 3 Wage type value and result calculations

See Also