A workflow consists of a collection of activities which support a specific business process; classical examples range from claim management in an insurance company to production scheduling in a manufacturing company to patient care management and support within an hospital. In conventional workflow systems, each business process is separately specified and autonomously supported by a workflow management system, which drives and assists computer-supported activities. However, business processes often interact with each other; in particular, activities which are performed in the context of one process may influence activities of a different process in a way that, laying "between" the two processes, is quite difficult to formalize and understand. Therefore, a new challenging area for research consists of studying the process of workflow interoperability, i.e. to focus on the interactions among workflows which are autonomously and separately specified, yet need each other's support. This paper is focused on the semantic specification of workflow interoperability, and provides a classification of "modes of interaction" and of the semantic properties of cooperating workflows. We introduce some topological properties of cooperative workflows, e.g. teachability, deadlock and starvation, and discuss "workflow integration", i.e. links established between workflows that allow us to view an integrated process from its component processes.