A scheduling platform can be used for self-service automation of workflows, such as automating data mart creation or generating reports. The platform includes a scheduling model that includes configuring pre- and post-conditions for a job that defines when the task runs and its effects on other jobs when it finishes.