A workflow can be defined as an acyclic, directed rule graph where each rule may be evaluated at runtime. In other words, a workflow is a template designed to help customers apply a series of controls and validations that make up a business process.

After its creation, a workflow may be executed at any time. To do this, the workflow owner should provide an input (whose schema is defined in the scope the workflow targets) which will be picked up by the workflow engine that will pump it into the rule graph, which may optionally produce workflow execution outputs.

A Workflow must target a Scope so that both input and output schemas are well-defined.