System Variables
System Variables expose dynamic data while intratool evaluates supported fields and automation configurations. The available entry points depend on the current evaluation context.
Values can be rendered as text, compared in conditions, or passed to features such as dynamic Targetables. The affected resource or action documentation determines whether a field supports System Variables.
Always Available Variables
system.datesystem.temporaryUsersystem.user
Evaluation Contexts
Additional variables become available for specific evaluation contexts.
EntitySelect
an entity selection from a field of type entity_select is resolved
selectableEntity (User or Department, depending on entity type)
a form is being submitted
formMessage, form, field.{formFieldKey} + field.{formFieldKey}.value, field.{formFieldKey}.request_value, field.{formFieldKey}.resolved_value
a task has been finished
taskExecution, field.{formFieldKey} + field.{formFieldKey}.value, field.{formFieldKey}.request_value, field.{formFieldKey}.resolved_value
Properties and Relations
System Variables are entry points to public properties and relations. For example, system.user.id accesses the current User ID, while system.user.role.name traverses the User's Role relation and returns its name.
The affected resource's Model Definition documents the available properties and relations. Query Result Control uses the same public relation names.
Form and task contexts additionally expose field values through field.{formFieldKey} and its value properties.
Syntax
Rendered Templates
Wrap a System Variable in double braces when the field renders text:
Use dot notation to access properties and relations:
Rendered-template fields accept ordinary text around System Variable expressions. Every expression must use valid template syntax. Arithmetic operators such as +, -, *, /, %, and ** are not supported, and an additional-attribute set key inside an expression must use the documented attribute-set key format. Slashes remain valid in ordinary text and quoted formatter arguments.
Key-only Values
When a field evaluates only the variable key, omit the braces. systemVariable conditions and computed Targetables use this key-only form.
A key is a dot-separated path. Its first segment starts with a letter or underscore, and every segment contains only letters, digits, or underscores. Later segments may be numeric. Template braces, formatters, empty segments, and slashes are not valid in key-only values.
Examples
system.date
Current date/time context object. Example access: {{ system.date }} or nested properties depending on formatter/context.
system.user
Current authenticated user. Example: {{ system.user.id }}, {{ system.user.role.name }}.
system.temporaryUser
Temporary authenticated user (if available in current context). Example: {{ system.temporaryUser.id }}.
form
Current form context object (where available). Example: {{ form.name }}.
formMessage
Submitted form message object in FormMessage context. Example: {{ formMessage.id }}.
taskAssignment
Task assignment object in TaskAssignment context. Example: {{ taskAssignment.title }}.
taskExecution
Task execution object in TaskExecution context. Example: {{ taskExecution.id }}.
attributeSet
Attribute set object in AttributeSet context. Example: {{ attributeSet.title }}.
menuItem
Menu item object in MenuItem context. Example: {{ menuItem.id }}.
selectableEntity
Selected entity in EntitySelect context (user or department). Example: {{ selectableEntity.id }} or {{ selectableEntity.name }}.
field.{formFieldKey}
Full field context object in FormMessage and TaskExecution contexts. Use this when you need structured access to the field.
field.{formFieldKey}.value
Raw stored field value (usually normalized to the persisted representation). Useful for direct comparisons.
field.{formFieldKey}.request_value
Original value from the incoming request before full resolving/formatting. Useful for debugging or strict input-based logic.
field.{formFieldKey}.resolved_value
Final resolved/rendered value after processing, for example formatting or entity resolution. Useful for output-ready text and notifications.
system.user.role.additional_attributes.{attributeSetKey}.{attributeFieldId}
Access an additional attribute that is linked to the current user's role. Without sub-key, this resolves to the field value (same behavior as field.*).
system.user.role.additional_attributes.{attributeSetKey}.{attributeFieldId}.value
Stored value of a role-bound additional attribute field (normalized output value).
system.user.role.additional_attributes.{attributeSetKey}.{attributeFieldId}.request_value
Original request value of a role-bound additional attribute field.
system.user.role.additional_attributes.{attributeSetKey}.{attributeFieldId}.resolved_value
Resolved/rendered value of a role-bound additional attribute field.
system.user.role.department.additional_attributes.{attributeSetKey}.{attributeFieldId}
Access an additional attribute that is linked to the current user's department. Without sub-key, this resolves to the field value.
system.user.role.department.additional_attributes.{attributeSetKey}.{attributeFieldId}.value
Stored value of a department-bound additional attribute field (normalized output value).
system.user.role.department.additional_attributes.{attributeSetKey}.{attributeFieldId}.request_value
Original request value of a department-bound additional attribute field.
system.user.role.department.additional_attributes.{attributeSetKey}.{attributeFieldId}.resolved_value
Resolved/rendered value of a department-bound additional attribute field.
Field Value Resolution
Field context objects expose the stored, requested, and resolved representations of a submitted value.
Text Field
For a text field with ID 123 and the submitted value Max, the properties resolve as follows:
field.123→Maxfield.123.value→Maxfield.123.request_value→Maxfield.123.resolved_value→null
field.123 and field.123.value both return the stored field value.
Entity-Select Field
For an entity-select field with ID 456 and a selected user with ID 789, the properties resolve as follows:
field.456→Max Mustermann (Operations, ID: 789)field.456.value→Max Mustermann (Operations, ID: 789)field.456.request_value→789field.456.resolved_value→Userobject
The resolved object exposes its documented public properties, for example field.456.resolved_value.phone.
Using Resolved Values
An object in resolved_value cannot be rendered directly as text. Use value, request_value, or a public property of the resolved object for text output. Use resolved_value when another mechanism requires the entity itself, such as a dynamic assignment.
Depending on the field type these object types can be expected as resolved values:
An
entity-selectfield for users resolves to aUserobject.An
entity-selectfield for departments resolves to aDepartmentobject.A
file-uploadfield resolves to a FileManagerFile object.All other field types return
nullasresolved_value.
Formatters
When a System Variable is rendered, its value can be passed through a formatter.
Unavailable Values
If a variable or property is unavailable in the current context, rendering replaces it with an empty string.
Last updated