Workflow Data
Overview
Workflow Data defines the internal data model of a workflow.
Workflow Data was previously displayed as Model Data. This is a user-interface rename only: the namespace remains modelData, and existing expressions continue to work. For example, reference a workflow field as modelData.Customer.Name.
Use Agent Data, with the agentData namespace, when a value must be shared across workflows in the same agent execution.
Unlike Workflow Parameters, which define the data entering and leaving a workflow, Workflow Data stores and organizes the business data used while the workflow executes.
Activities can create, read, update, and manipulate Workflow Data throughout the workflow, making it the primary mechanism for maintaining workflow state.
Workflow Data is:
- Defined at design time.
- Instantiated for each workflow execution.
- Used to store business objects, intermediate results, collections, and workflow state.
Open Workflow Data from the Process Data Explorer.
Workflow Data Hierarchy
Workflow Data is organized as a hierarchy of fields and groups that can represent both simple values and complex business objects.
| Node | Purpose |
|---|---|
| Field | Stores a single value of a specific data type. |
| Field[] | Stores a collection of values of the same data type. |
| Group | Organizes related fields into a structured business object. |
| Group[] | Stores a collection of structured business objects. |
For example:
Customer
├── CustomerId
├── Name
├── Email
└── Orders[]
├── OrderNumber
├── Amount
└── Status
This hierarchy allows complex business information to be represented in a clear and maintainable structure.
Workflow Data Nodes
Field
A Field stores a single value.
Typical examples include:
- Customer Name
- Order Number
- Total Amount
- Approval Status
Use a Field whenever a single value is required.
Field[]
A Field[] stores multiple values of the same data type.
Examples include:
- Email Addresses
- Order Numbers
- Tags
- File References
Use Field[] when the number of values is dynamic or unknown.
Group
A Group represents a structured business object containing related fields.
For example:
Customer
├── First Name
├── Last Name
├── Email
└── Phone
Groups improve readability and allow business entities to be modeled naturally.
Group[]
A Group[] represents a collection of structured business objects.
For example:
Order Items[]
├── Product
├── Quantity
├── Unit Price
└── Discount
Use Group[] when multiple instances of the same business object must be stored.
Creating Workflow Data
To create Workflow Data:
- Open the Process Data Explorer.
- Expand Workflow Data.
- Right-click the location where the new item should be created.
- Select one of the following options:
| Option | Creates |
|---|---|
| Add Field | A single value. |
| Add Field[] | A collection of values. |
| Add Group | A structured business object. |
| Add Group[] | A collection of structured business objects. |
Enter a meaningful Name. For a Field or Field[], select its Type from the designer's type selector, then save the item. For a Group or Group[], save the group and add its child fields, specifying a name and type for each. Each array item uses the selected field type or the group's child-field structure.
For example, create a Group named Customer, then add a text Field named Name. Reference it as modelData.Customer.Name. See Creating Agent Data for the corresponding shared-data structure and collection examples.
Editing Workflow Data
To modify existing Workflow Data:
- Right-click the required Field, Field[], Group, or Group[].
- Select Edit.
- Update the required properties.
- Save the changes.
Using Workflow Data
Workflow Data can be referenced anywhere the Process Data Explorer is available.
Typical uses include:
- Binding activity inputs.
- Storing activity outputs.
- Building expressions.
- Configuring conditions.
- Populating forms.
- Generating email content.
- Assigning Workflow Outputs.
Activities can read from and write to Workflow Data throughout workflow execution. Use Multi Assign to assign field values and Add To Collection to append values to a Field[] collection.
Workflow Data Flow
The following diagram illustrates how data typically flows through a workflow.
Workflow Starts
│
▼
Workflow Inputs
│
▼
Workflow Data
│
▼
Workflow Activities
│
▼
Set Workflow Output
│
Workflow Ends
Workflow Inputs provide data to the workflow.
Workflow Data stores and manipulates that information while the workflow executes.
Before the workflow completes, the Set Workflow Output activity maps values from Workflow Data (or other available data) to the workflow's Output Parameters.
Best Practices
- Use Workflow Data to store workflow state and business data.
- Organize related information using Groups.
- Use Field[] and Group[] when storing collections.
- Keep data models aligned with real business entities.
- Choose meaningful names for fields and groups.
- Add descriptions to improve maintainability.
- Avoid deeply nested structures unless they represent the underlying business model.