1. A computer-implemented method for managing execution of a data driven multi-step workflow, comprising: receiving input data for a step of the workflow; performing the step of the workflow on the input data to obtain a result set; applying at least one rule to the result set for determining whether one or more associated conditions are satisfied, the at least one rule defining the one or more associated conditions and an associated process; and if the one or more associated conditions are satisfied, performing the associated process on the result set.