Sub-Workflow
Overview
IntelliBuddies supports sub-workflows to promote modularity, reusability, and maintainability of BPM processes.
Every process contains a single main workflow (main.json) and can include multiple sub-workflows, each identified by a unique name.
Each workflow, main or sub, maintains its own:
- Model Data
- Form Data
This separation ensures workflows remain independent, easier to manage, and portable across projects.
If a workflow needs to access data defined in another workflow, the required values must be passed explicitly using workflow arguments.
The Process Data panel always reflects the model and form data of the currently active workflow. Selecting a workflow in the designer automatically updates the panel to show its associated data structures.
Certain standard data models are shared across all workflows:
- System Data
- Enterprise Variables
- Datasource model (used in the Form Bindings dialog)
Because forms are workflow-specific, the Forms node is not shown at the project level. Instead, forms are accessed through the workflow context menu, which allows users to view and manage the forms associated with each workflow individually.
Add Sub-Workflow
Sub-workflows allow complex processes to be decomposed into smaller, reusable units, resulting in cleaner designs and improved maintainability.
Steps to Add a Sub-Workflow
- Open the Project Explorer.
- Right-click the Workflows node.
- Select Add Workflow from the context menu.
- In the New Workflow dialog, enter a Name and Description.
- Confirm to create the sub-workflow.
Add Model Data
Each workflow can define its own model data to support workflow logic, conditions, and decision-making.
Steps to Add Model Data
- Open the desired workflow in the designer.
- In the Process Data panel, navigate to Model Data.
- Right-click Fields and select Add Fields.
- Define the variable name, type, and default value.
- Save the workflow to apply the changes.
Invoke Workflow
The Invoke Workflow capability allows one workflow to execute another during runtime. Sub Workflow enables:
- Logical separation of responsibilities
- Reuse of standard process logic
- Improved readability and maintainability of workflows
When invoking a sub-workflow, the caller can:
- Pass data using arguments
- Choose whether to wait for completion
- Control how the sub-workflow instance is identified at runtime
Workflows can be invoked using the Call Sub-Workflow activity. When configured, this activity triggers the specified workflow based on the provided settings.