 These types of systems rely on the ability to capture all of the information relevant to the workflow process through a specialized interface aimed at non-programmers, and then compile that information into a functional workflow application.Sometimes, however, the need for utilizing a programming language arises when more complex rules need to be integrated into the workflow, such as calculations for validating data in input forms.For code-based workflow design, workflow applications can be developed with any general-purpose programming language, but specialized workflow languages also exist.