The Workflow Service enables you to connect and control movement of data throughout LUSID, its ecosystem of applications, and external systems, allowing you to model data and business operational controls.
For example, you could create a workflow to load some quotes into the LUSID Quote Store. Your workflow could detect when quotes are loaded and trigger Luminesce to check for any outlier quotes. Exceptions and outliers could be written to a child task for manual resolution.
You can model a workflow process using the following components:
- A task definition defines a workflow modelled as a Mealy state machine.
- A task is an occurence of a workflow, existing in states such as ‘Pending’, ‘In progress’, ‘Screening securities’, ‘Done’.
- A state transition, caused by a trigger, moves a task from a start state to an end state.
- A field is a transport mechanism for data in a workflow, and can be used in a guard to conditionally allow a state transition to succeed.
- A worker is a unit of functionality that can access LUSID data. It takes input parameters in the form of fields from a task, and returns a list of output items that can be reported back to the original task, or to other tasks.
- An action is an activity, defined in a state transition, to be taken on completion of that transition. For example, start a worker, create a child task or trigger a parent task.
Today, you can call APIs to model a workflow, create task definitions and tasks, and manually transition between states and trigger workers. See how to model a simple workflow to approve new or updated data.
LUSID is also able to instantiate tasks in response to system events, and state transitions will occur automatically.
Providing you have appropriate permissions, you can interact with the Workflow Service using:
- The Workflow REST API.
- The LUSID web app.
- Workflow SDKs in Python and C# (other languages coming soon).
- The dedicated Luminesce providers for the Workflow Service.
Tutorials: Get started by doing something tangible
- Using the Workflow Service to approve new or updated data
- Setting up access control for different workflow service users
Reference: Understand concepts and implications
- Understanding Workflow Service terminology
- Using guards to add conditions to workflow state transitions
How-to guides: Get something done