Symphony variables
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.
| 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, orretryCount. - Choose one naming style (camelCase or snake_case) and apply it consistently.
- Use prefixes such as
input_,output_, orstate_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 descriptive names such as
- Use these variables values conventions to reduce errors during an execution:
- Use meaningful default values. For example, use
Pendinginstead ofPfor 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/falserather than"yes"/"no"to avoid typing mismatches. - DateTime format. Use ISO 8601 format (
YYYY-MM-DDTHH:MM:SSZ) for consistency and reliable parsing.
- Use meaningful default values. For example, use
- 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.