Symphony variables

Symphony variables provide a way to store and exchange values between activities and states within a Symphony in Enterprise Orchestrator.

What are the Symphony variables?

Symphony variables are essential components in Enterprise Orchestrator that facilitate data exchange and dynamic logic across orchestration states. They enable seamless communication between activities, support decision-making processes, and enhance the maintainability and scalability of automation flows.

You can use the Symphony variables to these actions:

  • Keeping values throughout the orchestration
  • Capturing user input or system responses
  • Making decisions in states
  • Providing input values to activities

This table shows the types of variables available in the Enterprise Orchestrator.

Variable name Description
State configuration variables

The variables consist of input and output variables that are defined within individual states in a flow.

An output variable from one state can be reused as an input variable in another, but only if the output-providing state precedes the one using it.

The state configuration variables create a sequence of dependency: the output must exist before it can be referenced. Also, the output variables are not configurable but can be mapped into the references of the Symphony variables during the symphony creation or edition. It will be the output of the execution reported and displayed in Output variables.

Symphony-level variables

The variables are configured at the global Symphony level, not within individual states.

The symphony-level variables can be used as input values in any state, regardless of its position in the flow.

They are not sequence-dependent. Symphony variables are ideal for values that must be consistently accessed across multiple states.

Selecting the Value Type Input/Output allows the variables display in the Execution Details screen as Input Variables and Output Variables.

Execute window displays the variables only when the Input check box is selected.

For more information about states and activities, see Symphony.

Examples of the Symphony variables

  • InvoiceID
  • UserDecision
  • FilePath
  • ApprovalStatus

Purpose and functionality of the Symphony variables

  • Data flow management: Variables control how data passes between Activities, Infor Applications, and decision points within a Symphony.
  • Dynamic Orchestration: Variables, with flexible data handling support conditional logic and runtime decisions.
  • Execution monitoring: Variables help track and validate data throughout orchestration execution, improving traceability of the Symphony.

Syntax rules for variables names

When designing Symphonies in Enterprise Orchestrator, use consistent and compliant variable names to improve readability and system performance.

Clear naming supports collaboration, ensures accurate mapping, and prevents validation errors.

These syntax rules are enforced:
Note: The violation of the rules causes validation errors.
Rule Description
Mandatory Every variable must have a name.
Unique Each variable name must be unique within the Symphony.
No wildcards Do not use wildcard characters such as * or ?.
Type Must be a string that matches the regex: [a-zA-Z0-9_\-]+
Length Variable names must be between 1 and 50 characters.
Total maximum number You can define up to 10 Symphony Variables per Symphony.

Best practices

  • Use these naming conventions to improve clarity and traceability:
    • Use descriptive names such as customerId, invoiceTotal, or retryCount.
    • Choose one naming style (camelCase or snake_case) and apply it consistently.
    • Use prefixes such as input_, output_, or state_ to indicate the variable’s purpose or scope.
    • Avoid abbreviations unless they are widely understood within your team or domain.
    • Name variables to reflect their business purpose rather than just their data type.
  • Use these variables values conventions to reduce errors during an execution:
    • Use meaningful default values. For example, use Pending instead of P for status fields.
    • Avoid overloading variables. Do not use the same variable for multiple purposes across states unless the design explicitly supports it.
    • Be explicit with Boolean values. Use true/false rather than "yes"/"no" to avoid typing mismatches.
    • DateTime format. Use ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ) for consistency and reliable parsing.
  • Consider these execution-time decisions:
    • Validation timing: Input values are validated during Symphony execution, not only when saved.
    • Timeout dependencies: Activity timeouts must not exceed the Symphony timeout.