One of the awesome things about SharePoint workflow is the ability to create a task for someone and as part of that task collect additional information that can be used as part of the next step in the workflow. For example, I may want to send something to a team manager that is going to review the request and then assign it to someone within their team. I want the manager to approve the item and provide an assignment for the next task. You can easily create a custom form that is used in your workflow tasks using the Custom Workflow Task. We start by creating a new content type based on the Workflow Task (SharePoint 2013) content type.
Next, we will need to customize the content type to add the fields that we want to have displayed. You can also delete and hide fields from the default content type. As a general rule I simply hide the ones that I don’t need. One thing to be warned about is the importance of the % complete, Task Status and the Task Outcome fields. These must be displayed on the form in order for the Task Outcome to be displayed as buttons. For instance if I hide all of those fields I will get a drop down that says outcome and not a nice set of buttons that say “Reject” or “Accept” (button text is based on my outcome column.
You can make these changes by clicking on the column name and updating the options.
You can also create your new site columns here to collect additional data in the workflow task. For my example I am going to gather request type, request comments and request priority.
If you would like to have the buttons on the task display custom text you will need to create a column of type Task Outcome and select the choices to what you would like to have displayed on the buttons.
Here is a screenshot of my final configuration:
Now that the content type has been created we will be able to access it within our workflow. Just open your site in SharePoint Designer 2013 and create a new workflow associated with your list. Within your workflow add the “Start a Task Process” action.
Next you should click on “these users” to open and configure the task process. To associate your custom workflow task to this action simply reference it in the “Outcome Options” section.
This means that when this step of the workflow is reached, the tasks created will be based off of your custom content type. Also, note that in order for this to work correctly your content type must also be associated with the list that is storing the tasks for your workflow.
Now whenever your workflow reaches that step a task will get created off the content type. When a user goes to edit and complete the task, they will see the following:
Hopefully this blog post can help you get started on understanding how to create custom workflow tasks. This topic is quite long and involved, so as time permits I hope to be able to come back to this topic and provide some additional details and configuration options. This should be enough to help you get started though!