In my opinion, workflows are one of the best things in SharePoint, but also one of the most difficult in understanding. Therefore, I am going to go through all of the basics through common tongue and try my best to make things as clear as possible for anyone trying to use workflows.
Generally, a workflow is a pattern that you set to perform tasks on documents systematically. Workflows are essential for automating your site and simplifying the menial tasks which a young intern might be doing. Though many of the users of SharePoint have a technical background, many may not. This may seem remedial, but that is because it was meant to be.
First, when working on a SharePoint site, you may open your site in SharePoint Designer. If you currently do not have SharePoint designer installed on your computer, it is a free resource that can be downloaded.
When you open SharePoint designer, you will have the options listed below. Hopefully you already have a site if you are trying to make a workflow to simplify your work. If not, feel free to start a new one anyway to experiment.
For this example, I will be using SharePoint 2010.
When you come to the workflow setting on the left, you will have these options listed below. Though it is described when you hover over the workflow, I will give a general description of each of the workflows and what they mean in a very generic sense.

- List Workflow: A workflow that will apply to one and ONLY one list. If you expect that your workflow will have to be recreated or that you will want to use it somewhere else, this may not be the choice that you will want to use.
- Reusable Workflow: This workflow is one that could be applied to many different lists or content types and this will be the one that you will most likely use. This eases the assumptions which you make when you are designing your site. It might seem common sense, but I've seen many people make a list workflow and then not be able to move it.
- Site Workflow: This is a workflow that does not need an item to work. This is a workflow that applies to the site as a whole and can be used from the site page itself. When you consider using these workflows, be mindful of what you are doing. Depending on your workflow, you could end up with duplicates of all your data or end up deleting everything if you are not careful.
Generally, I always make Reusable Workflows because it is simpler to identify the task that I am trying to do, but later it may seem like second nature for you to use a site workflow, but that is at your discretion.
Above is the given options in SharePoint Designer 2010 for workflows. As a general introduction to logic, we'll run through this very quickly.
IF Statements: Look to see if a certain condition
is met.
Example:
If it is raining, then grab an umbrella.
It is raining; therefore, we take an umbrella.
Else Statements: Alternative to the
if statement that was not met.
Example:
If it is raining, then grab an umbrella.
Else, don't grab an umbrella.
It isn't raining, therefore we don't grab an umbrella.
Else If Statements: This is an alternative
if statement if the first was not met.
Example:
If it is raining, then grab an umbrella.
Else if it looks warm, then take off coat.
Else, don't grab an umbrella.
It isn't raining, don't grab an umbrella.
It looks warm; therefore, take off coat.
Sometimes this is the most annoying sense as people become frustrated in understanding why their logic isn't working. Many people don't understand the difference between
else if and
else statements. It should also be mentioned that the else statement is the general rejection of every if that was met. In other words, if no specifiers are met, then do the generic. I know that sounds repetitive, but I've corrected so much code where users didn't understand how the difference operated effectively.
Generally, you need to consider the fact that we are trying to meet conditions for our workflow to meet and will trigger the workflow process. The workflow will only act if the conditions are met, so generally it is not necessary to put the
else statements in, although
else-if statements are still important.
Conditions:
Conditions are what we just defined. These are things which we are specifying that are triggering our workflow or the next step. Just like in the examples above, we might say that this workflow is activated when we are leaving the house. Though that is a simple example, our mind works through these processes all the time and we are basically trying to teach the site how to react to certain things.
Therefore, we start with the first on the list.
If any value equals value:
This is what appears when you use this category. This is using your if statement which we defined before. The
first value will be the item which you are specifying, such as the title of a document. The "
equals" can be changed to various categories such as: not equals, contains, contains(ignoring case) and a few different things which can be interpreted by common sense.
The last value is what you are trying to determine is met or not. If the condition is met, then we will continue with the course set thereafter.
If created by specific person:
This will cause the workflow to operate on a specific item which was created by a specific person which is authorized to work on your SharePoint site. An example may be something like getting an email from a specific person will be sent to a special folder. This would be a useful operation that is commonly found in the "rules" option of Microsoft Outlook.
Created in a specific date span:
As may be expected from this one, you may specify that items which were created during a specific time may be operated on. This may include items which need to be updated periodically and may need to be moved to an update folder.
Modified by a specific person:
This one is also common sense. This means that if you are monitoring documents which are created by a specific person for some reason then you may perform certain operations on these documents. This may be useful for people making checks on individuals for content.
Modified in a specific date span:
This one is similar to the created in a certain date span but specifies that things are modified. This might include the same option which we needed before with the created in a specific date span because after that date they are no longer created, but are modified, unless completely recreated.
Person is a valid SharePoint user:
You might not think this is a common workflow, but it will be in your future. This is what you want to use if you want to hide certain documents or show documents specific to a user. This might also have implications for individuals who try to find there way into your site when they shouldn't be.
If title contains keyword:
This is similar to the one which has value instead of title field. This is one that has been generically created for a specific task. This may include affecting documents which have certain components in their title. This may only work if your documents have a template for the Title Field which must be used or when trying to manipulate data.