The Workflow service in the CERN Cloud Service relies on OpenStack Mistral.
With Mistral you can aggregate a set of OpenStack API actions defined in tasks into a workflow. Then you can execute it and the service will take care of state management, correct execution order, paralellism, synchronization and high availability. It also provides flexible task scheduling so that it can run a process according to a specified schedule (for example, every Sunday at 4.00pm) or triggered by an OpenStack event (for example, a creation of an instance) instead of running it immediately.
For the actions, you can use some standard actions defined (like sleep, ssh, doing http requests or sending mails) or all the actions available on the OpenStack APIs for the CERN Cloud Service.
The workflows are written in YAML following the Mistral Workflow Language v2 specification
This specification takes advantage of supported query languages to define expressions in workflow and action definitions.