Introduction to workflows
Workflows help people to collaborate on documents and to manage project tasks by implementing business processes on documents and items in a Microsoft Office SharePoint Server 2007 site. Workflows help organizations to adhere to consistent business processes, and they also improve organizational efficiency and productivity by managing the tasks and steps involved in business processes. This enables the people who perform these tasks to concentrate on performing the work rather than managing the workflow.
In this article
What are workflows?
Workflow is sometimes described as a series of tasks that produce an outcome. In the context of Microsoft SharePoint Products and Technologies, workflow is defined more narrowly as the automated movement of documents or items through a sequence of actions or tasks that are related to a business process. Workflows can be used to consistently manage common business processes within an organization by enabling the organization to attach business logic to documents or items in a SharePoint list or library. Business logic is basically a set of instructions that specifies and controls the actions that happen to a document or item.
Workflows can streamline the cost and time required to coordinate common business processes, such as project approval or document review, by managing and tracking the human tasks involved with these processes. For example, in an Office SharePoint Server 2007 site, you can add a workflow to a document library that routes a document to a group of people for approval. When the document author starts this workflow on a document in that library, the workflow creates document approval tasks, assigns these tasks to the workflow participants, and then sends e-mail alerts to the participants with task instructions and a link to the document to be approved. While the workflow is in progress, the workflow owner (in this case, the document author) or the workflow participants can check the Workflow Status page to see which participants have completed their workflow tasks. When the workflow participants complete their workflow tasks, the workflow ends, and the workflow owner is automatically notified that the workflow has completed.
The actions in the Approval workflow in this example follow the process shown in the following illustration.
Workflows not only support existing human work processes but also extend the ways in which people can collaborate and work with documents, lists, and libraries. Site users can start and participate in workflows by using customizable forms that are accessible from the document or item in a SharePoint list or library. Additionally, the workflow functionality in Office SharePoint Server 2007 is tightly integrated with the 2007 Microsoft Office system. The following workflow tasks can be performed either in an Office SharePoint Server 2007 site or directly within certain client programs that are part of the 2007 Office release:
View the list of workflows that are available for a document or item.
Start a workflow on a document or item.
View, edit, or reassign a workflow task.
Complete a workflow task.
Workflows that are included in Office SharePoint Server 2007
An Office SharePoint Server 2007 site includes several workflows that address common business scenarios:
Approval This workflow routes a document or item to a group of people for approval. By default, the Approval workflow is associated with the Document content type, and thus it is automatically available in document libraries. A version of the Approval workflow is also associated by default with the Pages library in a publishing site, and it can be used to manage the approval process for the publication of Web pages.
Collect Feedback This workflow routes a document or item to a group of people for feedback. Reviewers can provide feedback, which is then compiled and sent to the person who initiated the workflow. By default, the Collect Feedback workflow is associated with the Document content type, and thus it is automatically available in document libraries.
Collect Signatures This workflow routes a Microsoft Office document to a group of people to collect their digital signatures. This workflow must be started in a client program that is part of the 2007 Office release. Participants must complete their signature tasks by adding their digital signature to the document in the relevant Microsoft Office program. By default, the Collect Signatures workflow is associated with the Document content type, and thus it is automatically available in document libraries. However, the Collect Signatures workflow appears for a document in the document library only if that document contains one or more Microsoft Office Signature Lines.
Disposition Approval This workflow, which supports records management processes, manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. The Disposition Approval workflow is intended for use primarily within a Records Center site.
Three-state This workflow can be used to manage business processes that require organizations to track a high volume of issues or items, such as customer support issues, sales leads, or project tasks.
Group Approval This workflow is similar to the Approval workflow, but it uses a designated document library and offers a personalized view of the approval processes in which a user is participating. This workflow provides a hierarchical organization chart from which to select the approvers and allows the approvers to use a stamp control instead of a signature. This solution is available only for East Asian versions of Office SharePoint Server 2007.
Translation Management This workflow manages the manual document translation process by creating copies of the document to be translated and assigning translation tasks to translators. This workflow is available only for Translation Management libraries.
Each of the above workflows can be customized for your organization in several ways. For example, when you add a workflow to a list, library, or content type to make it available for use on documents or items, you can customize the tasks lists and history lists where information about the workflow is stored.
When a site user starts a workflow on a document or item, the user may have the option to further customize the workflow by specifying the list of participants, a due date, and task instructions. Find links to more information about working with the predefined workflows described above in the See Also section.
Support for custom workflows
Although the predefined workflows that are available in Office SharePoint Server 2007 can be customized somewhat to meet different needs, your organization may choose to design and develop workflows that are unique to the business processes in the organization. Workflows can be as simple or complex as the business processes require. Developers can create workflows that are started by people who use a site, or they can create workflows that start automatically based on an event, such as when a list item is created or changed. If your organization has developed and deployed custom workflows, these workflows may be available in addition to or instead of the predefined workflows already described.
There are two ways in which custom workflows can be created for Office SharePoint Server 2007:
Professional software developers can create workflows by using the Visual Studio 2005 Extensions for Windows Workflow Foundation These workflows contain custom code and workflow activities. After a professional developer creates custom workflows, a server administrator can deploy them across multiple sites.
Web designers can design no-code workflows for use in a specific list or library by using a Web design program, such as Microsoft Office SharePoint Designer 2007 These workflows are created from a list of available workflow activities, and the Web designer who creates the workflow can deploy the workflows directly to the list or library where they will be used.
If you want to have a custom workflow developed, contact your site administrator for information about what resources may be available in your organization. For more information about developing custom workflows for Office SharePoint Server 2007, see the Microsoft Office SharePoint Server 2007 SDK, which is available from the SharePoint Server 2007 Developer Portal on MSDN.
Steps involved in using workflows
There are several steps involved in using a workflow on a document or list item. Each step can be completed by individuals in different roles. For example, a site administrator can make a workflow available for use in a document library, a content creator can start a workflow or modify a workflow in progress, and a third person (for example, a document reviewer or an approver) can complete the workflow task.
Adding a workflow to a list, library, or content type
Before a workflow can be used, it must be added to a list, library, or content type to make it available for documents or items in a specific location. You must have the Manage Lists permission to add a workflow to a list, library, or content type. In most cases, the site administrators or individuals who manage specific lists or libraries perform this task.
The availability of a workflow within a site varies, depending on where it is added:
If you add a workflow directly to a list or library, it is available only for items in that list or library.
If you add a workflow to a list content type (an instance of a site content type that was added to a specific list or library), it is available only for items of that content type in the specific list or library with which that content type is associated.
If you add a workflow to a site content type, that workflow is available for any items of that content type in every list and library to which an instance of that site content type was added. If you want a workflow to be widely available across lists or libraries in a site collection for items of a specific content type, the most efficient way to achieve this result is by adding that workflow directly to a site content type.
When you add a workflow to a list, library, or content type, you can customize the workflow for its specific location by specifying various options:
The name for this instance of the workflow
The tasks list where workflow-related tasks are stored
The history list that records all of the events that are related to the workflow
The way that you want the workflow to be started
Additional options that are specific to the individual workflow, for example, how tasks are routed to participants, what circumstances complete the workflow, and what actions occur after the workflow is completed
When you add a workflow to a list, library, or content type, you make it available for documents or items in a specific location; you do not start the actual workflow. Find links to more information about adding workflows to lists, libraries, or content types in the See Also section.
Starting a workflow on a document or item
After a workflow is added to a list, library, or content type and thereby made available for use, you can start this workflow on a document or item (if the workflow is configured to allow it to be started manually). To start a workflow, you select the workflow that you want from the list of workflows available for the document or item. If necessary, you may also need to fill out a form with the information that the workflow requires. Depending on how the workflow was designed and configured, you might have the option to further customize the workflow when you start it on a document or item by customizing such options as participants, due date, and task instructions.
Modifying a workflow in progress
After a workflow is started on an item, you may need to make changes to how the workflow behaves. For example, after a workflow starts, the person who started the workflow might need to add additional participants. Or a workflow participant might need to reassign his or her task to another person or request a change to the document or item that is the focus of the workflow. You can modify some of the predefined workflows that are included in Office SharePoint Server 2007 while the workflow is in progress. If your organization has developed and deployed custom workflows, it is possible that changes to workflows in progress are allowed.
Completing workflow tasks
Any workflow event that requires human interaction is represented by a workflow task. When a workflow assigns a task to a workflow participant, the task recipient can either complete that task or request changes to the workflow itself by editing the workflow task form. In Office SharePoint Server 2007, workflow participants can complete workflow tasks on the SharePoint site or directly within a client program that is part of the 2007 Office release. When a workflow participant completes a workflow task or requests a change to the workflow, this prompts the server to move the workflow to the next relevant step.
Tracking the status of workflows
Workflow owners and participants can follow the progress of a workflow by checking the status page that is associated with the workflow. The status page includes status information about outstanding workflow tasks. It also includes history information that is relevant to the workflow.
Office SharePoint Server 2007 also includes reporting tools that provide an aggregate analysis of workflow history. Organizations can use this analysis to locate bottlenecks in processes or to determine whether a group is meeting the performance targets for a given business process. Office SharePoint Server 2007 includes several predefined Microsoft Office Excel reports that can be used with any workflow. Additionally, workflow history information is available as a SharePoint list data source that can be used and analyzed in other programs, such as Microsoft Office Visio 2007, Microsoft Office Access 2007, or custom business process monitoring solutions.