Just because there's automation doesn't mean people don't need to be involved. SharePoint 2013 makes it easy to assign tasks to someone along the way.
Most of the workflows that we create, are a mix of virtual and actual actions, steps that can be automated like sending emails are all electronic. And then steps that have to be completed by someone physically and can't be done by a computer. A perfect example of that is here in our workflow order business cards, where someone actually needs to print business cards. And the easiest way to make that happen is to assign someone to do that task. So, we've been waiting in the printing card stage pausing until the ship date and then saying well we think they were printed at that point.
But what we would like to do as, as soon as we have verified that we're ready to send this task to the printer, we want to send it out the door. We don't want to wait until we've paused for a day to be able to send some information. We actually want to receive the order, do our calculations, send a confirmation email and then immediately right here, we want to engage the printer by assigning a task. There are two task actions. The first is assign a task and the second is start a task process, which is the name for this new action, which should be called assign a task to multiple persons or multiple participants.
We're assigning a task to one printer. So this is what I need to know at this point: am I going to involve multiple people in this particular task or just one? Because if I want multiples, I'm going to choose task process instead. But we're going to assign a task to one person. So it says, let's assign a task to this user, and immediately there are two variables that have been created, local variables. One is the Task ID, so that SharePoint can keep track of this task, while it's waiting for it to be completed.
And then the second is an outcome that will say that the task actually was approved or not. And both of those were created here as local variables, Outcome, TaskID. All good. So I'm going to click the this user link, and that will open up a Select Task Participant form. Now, I could enter an email address, but I'm going to click our build button to open the Select User dialog. And if I wanted to give this task back to the person who created it, I could do that right here. I could go grab anybody that I have in the workflow.
I could look someone up. In this case, we're using me. So I'm simply going to choose myself and add myself right here. And the reason we're doing that is this is all about developing the workflow and testing. Ultimately, somebody else is going to be the participant here, the printer, who we're going to be given their information by the HR department. Then I need to provide a title for a task. I could say print business cards, but this printer's going to get a bunch of these. So, this is like creating a subject for an email. I want to make sure that I'm creating something that's useful, so let's click the build button and let's say, Print Order.
And, let's have the number first, our quantity. So in the Current Item, we have a Quantity field. Right there. That many business cards for Full Name. There we go. That's the task. There's a print order and we have that many business cards to be printed. We can create a description. This will actually be used in the task as part of the description. So I could say use the business card template and provides more information about that.
Whatever I want to put in terms of a description. And I'm going to leave that text here, so you can see where that's going to show up. If I wish, I could create a lot of text here. And I can use lookups in exactly the same way that I can build them into my task title or the body of an email. So I can just enter my body here or open in editor and do a little bit more work. Due Date, well, I have one of those as well. As you'll recall, we're calculating it and storing it in a local variable. And that is our ship to date. Now, at this point I'm really regretting that we called this ship date, and at some point it would be great to clean this up.
I'm not going to do that right now, but if I change the name of that local variable, I'll need to change every place that I use it. This is a cautionary tale. Sometimes we choose a name, the user say oh, it'll be the ship date. Well it would be, but it's really not. Because now we're talking about actually having a printer say, I completed this at this point. And, perhaps somebody who ships it's saying, I shipped it on this date. So we want to be clear in our naming. And even though the folks in the business were referring to it as a ship date.
We should've chosen something like date promised, estimated completion date, something like that. But right now, that's what we have so we're going to continue using it. By default, we're going to wait until this is completed. There's an email that is created automatically. We don't need to create it. We can edit it if we wish and we can add more information to it. So, I'm going to open the email editor so you can see the email it's automatically being created when we assign a new task. It says, You have a new task. It's going to show the title, we just created that.
It's going to indicate, who it was assigned to. In this case that will be me. When it was due. We just filled that in. The description. We saw some text that we placed up there earlier. That says what template we should be using. And then the related item is going to provide a hyperlink, so that we can take a look at the entire task if we wish. I can make any changes I want in this email. Notice the Subject: Task Assigned. And the task title will be there, so the task title is going to be Print Order 500 business cards for.
I can also create another email that is sent when this task is overdue. There is not one created by default, but I could say automatically when this task passes it's due date then we need to do something about that and send another email and perhaps send an email everyday. That says, you still haven't done this task, so this is actually a great gateway to harassment, we can send a daily email, or a weekly or monthly email, we can recur it a specific number of times, or just say Infinitely, as long as this task is overdue continue to bother this person, but that's not on by default.
And then the Outcome Options are that this task is a workflow task. We don't have more than one option here. That the outcome is going to be stored in the outcome field, that was actually set up this local variable will be mapped to this Task Outcome field. And that there's a default outcome is that it's Approved. And approved and rejected, this actually doesn't make a whole lot of sense in our context, that the outcome would be used if the task is not completed properly by the user. Don't worry about that, these settings are what you want them to be right now.
So, so here's our new task assignment. I'm going to click OK. We're going to check our workflow for errors Looks good. And republish this. So that's the process of setting up the task assignment. As soon as this is published, we're going to create a new item so that you can see how this works. So, I'm going to go to my business card orders and preview them in the browser. And create a new item. We're going to order 1,500 business cards for Abbey Adams and Abbey is a Trainer in the Human Resources area.
That's optional. And I'm not going to enter any values there because we're just testing. And Abbey is in the Seattle office. Now I'd like to return to this form later on and get rid of this shipping forecast and the reason is, this is actually the result of a calculated field and I don't want it to show up on this form. I'd like it to show up later, when a user is looking at the information that's been entered because that value, that shipping forecast value is provided as part of our workflow.
So I'll just make a note in my log that I need to do that. Create a task for it. But let's save this and here it appears as an item in our list. I'm going to refresh this. Here comes my HR order. So, now I'm receiving this in my role as the person who set up this order. Your order for 1500 business cards for Abby Adams has been received. Next, I'm receiving a task, and this task is being sent to me in my role as the printer.
You have a print order, 1,500 business cards has been assigned to you. So I can view this print order, but notice that I see use the business card template. So all of this information is being provided based on the settings that we used in assign a task. Says the content of this item will be sent as an email message to the person or group assigned to the item. To the single participant. Okay, that works. I can close that and go to Outlook.
And actually that came in at almost the exactly same time as the task. It's here already. I just didn't get to see a particular desktop alert for it. So here is my, you have a new task, email. A print order of 1,500 business cards for Abby Adams. So this is the email that we saw, that we could modify. As opposed to the task assignment that was sent to us automatically by SharePoint that we saw a moment ago. So, that's how this works. Now, when we're actually working on the task, there's our print order.
All right, there's my task name, it's not complete and at this point, after I go do the printing, or my printer goes and completes all the printing, they can go back and mark this as being a 100% done. This is one way that we could have them do it. There are other methods. There's that approved or rejected and this is simply part of the form, that we get for a workflow action. I'm just going to save this as the participant. So returning to our Workflow in SharePoint Designer.
We could still pause here, but we don't necessarily need to pause after we've assigned this task to the printer. We could remove this if we wished. And after this task has been completed, then, we will automatically go to the next stage, which is called Printing cards. So, rather than have Order received here, we might want to insert a new stage that says printing, or we might want to move this entire section here down to printing cards.
And we are no longer pausing, so we are going to send, send confirmation email, and assign task. There we go. So now our first stage is order received. Our second stage is printing cards. We're sending a confirmation email, and we're assigning tasks. And then the next stage would be, card shipped, and in exactly the same way that we assigned the task to print, we might also assign a shipping task. Or shipping might be part of printing. But this is how we assign a task to an individual item.
And how we modify other items and actions in our workflow to make sure that we're not overbuilding this, that we're simply allowing the workflow to drop through, assign the task and when the task is completed, go on to the next step or stage.
- Automating workflows
- Documenting workflows with Sticky Notes, Excel, and Visio
- Driving workflow interactions with forms
- Using workflow actions
- Making choices and controlling flow with conditions
- Creating a simple form
- Using email notifications
- Pausing and stopping workflows with core actions
- Building a dictionary
- Creating a site workflow
- Deploying workflows
- Creating workflows visually
Skill Level Intermediate
Q: In the video "Creating a workflow with conditions," the email workflow generates the email and successfully changes the value in AreaCalc but the workflow does not complete, and raises no errors. How can I fix this?
Q: Where do I get InfoPath Designer 2013 (mentioned in the "What you need to know" video)?
- If you have Office 2013 Pro, you may already have InfoPath Designer 2013, but it may not have been installed. Try reinstalling Office and choose to install InfoPath Designer.
- Sign up for a free 30-day trial of one of the Office 365 plans that include InfoPath Designer—for example, Office 365 Enterprise (E3) Edition, which also includes SharePoint, or Office 365 ProPlus, which does not include SharePoint. After the 30-day trial you will need to pay a monthly fee for Office 365.