Workflow has become an important paradigm for distributed data and computing systems in a wide range of application areas. An important challenge in workflow management is the scheduling of actions of concurrent tasks. This requires specifying the legal schedules of concurrent actions, and generating control mechanisms to ensure correct, efficient executions. Workflow scheduling is particularly difficult because the constraints between tasks are application-specific, and task autonomy may place certain actions outside the control or observation of the scheduler. We use techniques from supervisory control theory of discrete event systems to generate workow scheduling controllers automatically. We specify tasks and intertask constraints as finite state automata, characterizing some transitions as outside the control or observation of the workflow scheduler. Applying the techniques of supervisory control theory to these specifications, we can automatically determine the existence of schedulers. In ca..