Flow Editor
Windmill's Flow Editor allows you to build flows with a low-code builder.
Workflows are graphs (DAG) that represent job specifications. A workflow engine is a distributed system that takes a workflow and orchestrates it to completion on workers while respecting among others all the dependency constraints of each job. There exists a great variety of workflows and many software are domain-specific workflow engines and workflow specs (if you are a software engineer, you probably already wrote one without realizing it).
The goal of an orchestrator or workflow engine is to execute the steps on different workers that respect that graph's dependencies, and pass the required data defined in the steps' inputs while applying parallelism when possible.
In Windmill, each step is code with a main function in TypeScript, Python, Go, PHP, Bash or raw queries to databases. The result of a flow is the result of the last step executed, unless error was returned before or Early Return is set.
Another approach is to write a program that defines the jobs and their dependencies, and then execute that program. This is known as workflows as code.
The Flow Editor has the following features which are the subject of specific pages:
Example of a flow in Windmill.