Introduction
Orka’s Expression Language provides a powerful way to work with dynamic data in your workflows. It allows you to reference variables, perform calculations, manipulate strings, and make decisions based on conditions—all without writing complex code. The expression language is based on theexpr-lang package, which provides a robust and flexible Go-based expression evaluation engine.
Expression Syntax
Expressions in Orka can be used in two main ways:- Interpolation: Using double curly braces
{{ }}to insert dynamic values into strings - Direct evaluation: Used in nodes like If Node and Set Variable Node for condition checking and variable assignment.
Basic syntax:
Variable Interpolation
Variable interpolation allows you to insert dynamic values into strings. This is particularly useful for HTTP requests, messages, and other text-based operations.Examples
Expression Evaluation
Expressions are evaluated at runtime using the current execution context, which includes:- Workflow variables: Variables defined in the workflow
- Node output: Values produced by previous nodes
- Initial variables: Variables set when the workflow is triggered
- Parse the expression
- Compile it against the current variable environment
- Execute the compiled expression
- Return the result
Supported Operations
Orka’s expression language supports a wide range of operations:Arithmetic Operations
Comparison Operations
Logical Operations
String Operations
Conditional Expressions
Objects & Arrays
Built-in Functions
Working with Secrets
Orka provides special syntax for securely accessing secrets:- Recognizes the secrets. prefix
- Securely resolves the secret value
- Inserts the value without storing it in the execution context

