1. A computer-implemented method for authoring a workflow process, the method comprising: obtaining a library of predefined building blocks, wherein the predefined building blocks include source code that defines functions for executing the workflow process, and wherein at least one of the predefined building blocks is customizable to allow a user to choose a specific workflow function not provided for by other predefined building blocks to modify a flow of execution of the workflow process; receiving a selection of at least two of the predefined building blocks in the library; arranging the selection of the at least two predefined building blocks in a sequence to generate the workflow process; associating the workflow process with an execution event that causes execution of the workflow process; generating an XML document that includes the source code of the at least two predefined building blocks; validating the XML document, wherein validating comprises determining whether predetermined parameters have been set for the at least two predefined building blocks and determining whether the at least two predefined building blocks are properly arranged; upon receiving an indication of the execution event, compiling the XML document to form an assembly and loading the assembly onto a workflow execution engine for execution of the workflow process; and modifying the functions for executing the workflow process while the workflow process is executing.