Workflow activity
- Last UpdatedDec 11, 2025
- 8 minute read
The Workflow activity allows a workflow (parent) to call and execute another workflow (child). Both workflows must belong to the same repository. Parent workflows can pass variables, XML variables, and workflow contents to the child workflow as part of the execution process.
Activity description
In AVEVA Work Tasks, a workflow can invoke another workflow within the same repository:
-
The workflow initiating the call is the Parent Workflow
-
The workflow being executed is the Child Workflow
The Workflow Activity supports passing:
-
Variables → using Variables for ChildWorkflow
-
XML variables → using XMLVariables for ChildWorkflow
-
XML content → using Contents for ChildWorkflow
Activity properties
The Workflow Activity must be configured using the Activity Properties panel. You can access this panel from the toolbar or by right-clicking the activity.
The properties are grouped as described below.
Name & Description
Name - Specifies a name for the activity.
Property type: Optional
Description - Specifies a brief description for the activity.
Property type: Optional
Configuration
Repository
This property specifies the repository that contains the workflow to be executed. The child workflow must belong to the same repository as the parent workflow. The Repository property is available for backward compatibility when configuring child workflows.
Property Type: Mandatory
Note: When the Repository property is set using the Expression Editor, Work Tasks cannot determine the repository during design time. As a result, the Workflow dropdown will not display any workflows.
Workflow
This property specifies the child workflow to execute. This is an editable dropdown that lists all workflows within the selected repository. You may also type a new workflow name to create a new subprocess.
To design a new subprocess, right-click the Workflow Activity and select Open Sub Process. A new Process Designer window will be opened with the Application name and Workflow name specified here. You can create the new sub-process in this window.
Property Type: Mandatory
Version
This property specifies a specific version of the child workflow to execute. Leave blank to execute the latest published version.
Property Type: Optional
Contents for ChildWorkflow
This property defines the XML content to pass to the child workflow.
Property Type: Optional
You can choose from the following options:
-
Pass the same XML used in the parent workflow.
-
Add more XML elements to the parent contents.
-
Build a completely new XML structure for the child workflow.
Steps to configure
-
Click the button for Contents for ChildWorkflow.
-
In the Set Contents for ChildWorkflow dialog box, the Set Contents tab is selected by default and the corresponding window appears.
-
Check Set the Parent Contents to pass the parent contents XML to the child workflow.

-
Click Set.
-
Alternatively, you can append XML content to the parent workflow contents and pass them to the child workflow. To do this, click Append to open the corresponding window.
-
Select a type of value (Variable or Content) and the corresponding value collection from the respective dropdown and then click Insert to add the selection to the text area.

-
Add more XML contents if necessary. After adding all the values, click Append to save the setting.
-
Third options to build complete XML content and can pass these contents to child workflow. To do this, click the New tab to open the corresponding window.
-
In this window, select a type of value (Variable or Content) and the corresponding value collection from the respective drop-down and then click Insert to add the selection to the text area.

-
After specifying the new content, click Add to save the settings.
See Workflow - Contents for ChildWorkflow for a detailed description of the Contents for ChildWorkflow property window.
See About XML Variables for details on how to use the XMLVariables to build the expression.
Variables for ChildWorkflow
This property specifies which variables from the parent workflow should be passed to the child workflow.
Property Type: Optional
Steps to configure
-
Click the button for Variables for ChildWorkflow.
-
Select the variables to pass to the child workflow.

-
After specifying the data, click Update.
Note: The same variables must exist in the child workflow with matching name and type.
See Workflow - Variables for ChildWorkflow for a detailed description of the Variables for ChildWorkflow property window.
XMLVariables for ChildWorkflow
This property specifies XML variables to pass to the child workflow.
Property Type: Optional
Steps to configure
-
Click the button for XMLVariables for ChildWorkflow.
-
Select the XML variables to pass.
-
Click Update.
Notes:
- The XML variables must exist in the child workflow with the same name and type.
- For workflows using XML variables or resource activities, the SKEventData XML variable must be passed. If not present, create it using the SKEventData.xml file located at:[AVEVA Work Tasks Installed Path]\AVEVA\Work Tasks\Web\BPMUITemplates\Default\XMLSchemas.
See Workflow - Workflow - XmlVariables for ChildWorkflow for a detailed description of the XMLVariables for ChildWorkflow property window.
Wait for the child workflow?
This property determines whether the parent workflow should wait for the child workflow to complete.
Property Type: Optional
Execution mode
This property determines whether the child workflow runs synchronously, allowing the workflow to redirect the client.
Property Type: Optional
Control child workflow?
This property determines whether parent workflow actions (pause, resume, abort) apply to the child workflow.
Property Type: Optional
Note: Set Wait for the child workflow? and Control child workflow? to No when the parent should not wait for the child to finish executing.
Is Blocking Output Supported?
This property can be used along with the BlockingOutput activity.
The Workflow activity is a sleeping activity. If a sleeping activity runs before BlockingOutput, results may not be returned correctly. Use the Is Blocking Output Supported? property to overcome this behavior.
By default, the value for this property is set to No. Set the value to Yes if you want to use this property with the BlockingOutput activity. You can also set the value for this property through the Expression Editor.
Along with this property, set the values for the following properties as mentioned below.
-
Set the value of Wait for the child workflow? to No.
-
Set the value of Execution mode to Synchronous.
-
Set the value of Control child workflow? to No.
Property Type: Optional
Note: Consider a scenario where the Set Workflow Variable Out activity is used in the child workflow and then the return values are specified in the parent workflow. In this scenario, the BlockingOutput activity will not work.
Output Values
The property in the Output Values has been described below. You can use this property to specify the output values of the activity.
Return Values - This property can be used to add all the possible output values from the child workflow, for conditional routing. The child workflow should set a value to the 'ParentWorkflowOutput' variable. This variable will hold the output value from the child workflow. The value of the 'Wait for the child workflow?' property should be set to 'Yes'.
Property Type: Mandatory
Steps to configure
-
To specify the Return Values, click the button for the Return Values property to open the property window.
-
In this window, enter the return value in the Return Values field.
-
After entering the return value details, click Add Row to add this return value and display a new row for entering another return value.
-
Remove rows if necessary by selecting them and clicking Remove Selected.
-
After specifying all the return values, click Update.
See Workflow - Return Values for a detailed description of the Return Values property window.
Activity outputs
The Workflow Activity does not have any standard return value. It will output the value specified by the user in the Return Values property.
Example for a Workflow Activity
Configuring Parent Workflow to wait till Child Workflow Completes Execution
Steps to be followed for Parent Workflow configuration:
-
Set Wait for the child workflow property as Yes to wait for the child workflow to complete the execution.
-
Use Return Value property to set the routing condition after completion of child workflow. Example: ChildWfCompleted.

This will dynamically create a link output named 'ChildWfCompleted' for the activity. Once the child workflow complete its execution, it returns back to the parent workflow with the return value specified in the child workflow (In this case, child workflow should return 'ChildWfCompleted' value) and then it will continue with further execution.
Steps to be followed for Child Workflow configuration
-
Right-click the workflow activity to open child workflow using the context menu item Open Sub Process.

-
Declare a variable named 'ParentWorkflowOutput' of type string in the child workflow Start action.
-
Use Update Variable action to set the variable 'ParentWorkflowOutput' value as 'ChildWfCompleted' (This value should be same as the value for the Return Values property in parent workflow action properties).
-
The Update variable action to update the parent workflow output should be placed after the logical conclusion of child workflow.

After configuring child workflow, follow the steps given below:
-
Go back to the parent and set routing condition based on the output 'ChildWfCompleted'
-
Parent workflow goes to sleep mode after the child is executed.
-
Child completes execution with Update Variable as the last action.
-
Once the child completes execution, the value set in Update variable is given as output for the workflow action in parent.
Note: If the child workflow needs to update any of the parent workflow variables, it is a must for Parent workflow to wait for the child workflow to complete.
-
Exception Behavior
Each activity provides a Raise Error on Unhandled Linked Output option, which displays all default mapped error outputs.
See Mapped Error Outputs for more details.