Introduction to workflows
Workflows help people to collaborate on documents and to manage project tasks by implementing specific business processes on documents and items in a Windows SharePoint Services 3.0 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 specific 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 specific 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 organizations 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 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, by using Windows SharePoint Services 3.0, an organization can create and deploy a basic custom workflow to manage the approval process for drafts of documents in a library. The workflow can route a document to a specified person or a group of people for their review and approval. The workflow can then take specific actions on the document based on the outcome of the workflow. If the document is approved, its status can be updated from Draft to Final, and the document can be automatically copied to another document library. If a document is rejected, its status can remain as Draft and no further actions occur.
When this approval workflow starts, it can create document approval tasks, assign these tasks to the specified workflow participants, and then send 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 by approving or rejecting the document, the workflow ends. The workflow automatically takes the appropriate actions on the document, and it alerts the workflow owner about the outcome of the workflow.
The actions in the approval workflow in this example follow this process:
A workflow that is predefined for a site
A Windows SharePoint Services 3.0 site includes a predefined Three-state workflow. The Three-state workflow supports business processes that require organizations to track the status of an issue or item through different phases. Specifically, the workflow tracks a list item through three different states involving two transitions. With each transition between states, the workflow assigns a task to a person and sends that person an e-mail alert about the task. When this task is completed, the workflow updates the status of the item appropriately and progresses to the next state. The Three-state workflow is designed to work with the Issue Tracking list template, but it can be used with any list that is set up to contain a Choice column with three or more values. The values in this choice column serve as the states that the workflow tracks.
The Three-state 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. For more information about working with a Three-state workflow, see Use a Three-state workflow.
Support for custom workflows
Your organization may choose to develop and deploy completely custom workflows that are unique to the business processes in your organization. Workflows can be as simple or complex as the business processes in an organization require. Developers can create workflows that are started by people who use a site, or they can create workflows that start automatically based on a specific 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 for use on your site.
There are two ways in which custom workflows can be created for Windows SharePoint Services 3.0:
Professional software developers can create workflows by using the Microsoft 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 that is compatible with Windows SharePoint Services, 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 it directly to the list or document library where it 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 custom workflow development. For more information about developing custom workflows for Windows SharePoint Services 3.0, see the Windows SharePoint Services Developer Center on MSDN.
Steps involved in using workflows
There are several steps involved in using a workflow on a document or list item. Each of these steps may be completed by individuals in different roles. For example, a site administrator might make a workflow available for use in a specific document library, a list owner or document author might start a workflow on a document or item, and a third person (for example, a document a reviewer or an approver) might complete a workflow task.
Adding a workflow to a list, library, or content type
Although a no-code workflow created in a Web design program that is compatible with Windows SharePoint Services, such as Office SharePoint Designer 2007, can be deployed directly to the list or library where it will be used, any custom workflow that is installed on the server 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, 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. You might add a workflow directly to a list or library if that workflow will be used only by a specific team or for very specific types of content.
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. You might add a workflow directly to a list content type if that workflow will be used only for very specific types of content.
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. You might want to add a workflow to a site content type if you want it to be widely available to different teams across different sites.
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 of the workflow
The task list where workflow-related tasks are stored
The history list that records all of the events related to the workflow
How 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 successfully completed.)
When you add a workflow to a list, library, or content type, you simply 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 specific document or item (if the workflow is configured to allow it to be started manually). To start a workflow, 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 may have the option to further customize the workflow when you start it on a document or item by customizing options, such as participants, due date, and task instructions.
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 (depending upon the workflow) request changes to the workflow item itself by editing the workflow task form. When a workflow participant completes a workflow task, 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.