Transform a variable directly inside its #{...} reference instead of adding one-off scripting around it. Project variables use VAR. and built-in deployment values use CONTEXT.; the unprefixed project-variable shorthand is available only during package file replacement. Convert case, trim text, replace patterns, format numbers and dates, encode values, escape configuration formats, and feed comparisons into conditional blocks.

// Extended syntax

Filter, chain, and render conditionally

Filters run from left to right, after nested variable references are resolved. Use VAR. for project variables and CONTEXT. for built-in deployment values.

#{VAR.SiteName | Trim | ToLower}
#{VAR.ConnectionJson | JsonEscape}

#{if CONTEXT.EnvironmentName == "Production"}
logging.level=Warning
#{else}
logging.level=Debug
#{/if}

Safe controls around more expressive templates

18 built-in filters Case conversion, text manipulation, formatting, encoding, escaping, matching, and comparisons.
Conditional blocks Use if, unless, and else, including nesting and filtered conditions.
Compatibility modes Existing workspaces stay on Legacy; new workspaces default to Extended unless you choose otherwise.
Unresolved-token policy Leave missing tokens silent, warn in deployment logs, or fail before the step runs.

The Variable Filters & Substitution Modes guide documents every filter, conditional rule, error case, compatibility guarantee, and rollout step.