SharePoint workflow is a very convenient way to solve automation tasks without programming. However, at any step aside from common tasks such as document approval workflow, developers face insufficient functionality of workflow actions delivered with the product.
A full list of workflow actions and conditions delivered with SharePoint 2010 can be found here:
The problem of insufficient functionality can be solved in the following ways.
For beginners, we have good and bad news. Let’s start with the bad. To develop a custom action, one needs SharePoint installed on the workstation. The good news is that SharePoint can be installed on Windows 7 and even on Windows Vista. This article describes how to do it: Setting Up the Development Environment for SharePoint 2010
SharePoint 2010 custom workflow actions can deploy both farm solutions and sandbox solutions. From the developer’s prospective, the difference between them lies in limitation of the SharePoint object model. Besides, additional restrictions for using namespaces are applied to sandbox solutions deployed in SharePoint Online. Detailed information on these issues can be found in the following articles:
The rest of the process of creation and deploying actions doesn’t differ and one of the following articles can be selected as a guide:
In addition to workflow actions, you can also create your own conditions for SharePoint Designer. A custom workflow condition is implemented as a static method that evaluates a condition and returns a Boolean value representing the result of evaluation. The example of implementation with a source code can be found in the following article: SharePoint 2010 Audience Membership Workflow Activity Condition for Designer Workflows
In general, it should be noted that despite it seems quite simple, the process of SharePoint development is very complicated, time consuming and fraught with difficulties, which can be hardly predicted. But if you can’t do without a custom code in your workflow, there’s one more way to cut development time.
HarePoint Workflow Extensions product contains “Execute Custom Code” workflow action that allows running the code on C# or VB.NET directly from the workflow without using Visual Studio.
Despite a number of shortcomings, the workflow in SharePoint 2010 is a powerful and convenient mechanism to automate not only business processes but also a large number of purely technical problems. If you are new to workflow, their study is a very good investment.