Task Workflows Table
Task Workflows are used to create a set of task templates that may be organized to trigger all at once or in a specified sequence. They can be selected in services for Change Requests or Service Requests, and they are also associated with Project Types. They essentially predefine the tasks that should be completed for a particular request type. They are used in conjunction with the Task Generation Method of "Predefined Task Workflow."
Task workflows can be created by members of the Project Manager, Change Manager, Service Manager, and Admin groups. All except admin users may only edit the workflows related to their primary tables, so change managers can edit workflows related to change requests, while project managers can edit workflows related to project types.
A task workflow can be created directly in the Task Workflows table or it can be launched from within a service for a change request or service request or from a project type record, using an action button:
The advantage of doing it from a service record or project type record is that the Related to field will be populated automatically with the correct table:
Either way, the process of setting up a new task workflow involves naming it with a unique name, ensuring it is related to the correct table, adding a description, and then creating the task templates:
Clicking the Create New Task Template button saves the workflow and then brings up the new task template screen. See the Task Templates section for more information on how to create and fill out the task template form.
Once the first template is created, if the Enable Prerequisite Tasks is set to Yes in the workflow, then additional templates may select the earlier ones as prerequisites.
Prerequisite Task Handling
Within a single task workflow, there may be multiple threads of dependent tasks with different prerequisites, and these threads may proceed independently.
Tasks in a workflow can be displayed in a diagram showing their relationships and dependencies:
As shown in the diagram above, it is possible to launch two separate threads and then bring them back into alignment by making their final tasks prerequisites of the next task.
Task templates can be conditional, and if their condition is not met, then they will be marked as not needed when they would otherwise be assigned. When they are marked as not needed, their dependent tasks will be assigned.
This is an important point: tasks that are dependent on conditional tasks are not prevented if the condition is not met. If they should be prevented, then they should also be made conditional based on the same condition as their prerequisite task.
Note that when tasks are launched for a project or a request using a Launch Tasks button, the Status of tasks will be changed to Assigned based on the following logic:
- The task status was Queued or Conditional;
- The task has no prerequisites and is either not conditional, or its condition is met;
- The task has some prerequisites but they are set to a status of Not Needed or Completed – i.e. they are conditional and are not needed, or they have been removed and marked as not needed by a technician before the tasks are launched.
Below is an example of a task workflow for employee termination:
Here there are two tasks without prerequisites, ID62 and ID61, that will be assigned right away. The tasks with a sequence value of 2 will be assigned as soon as the Hold Exit interview is completed, so they might get assigned before ID62 is completed. The final task will be assigned as soon as the exit interview is completed and the support and tasks are reassigned. So it is conceivable that ID62, ID160 and ID63 are all in progress at the same time and any may be completed first.
The ability to choose exactly which tasks must be finished before another task is assigned provides a flexible model for complex task workflows.
The sequence number gives a general idea of the order of tasks, but it is not definitive and does not control any of the processing. It allows the tasks to be sorted more or less in order of assignment.
Cloning a Task Workflow
Workflows can also be cloned using the Clone Workflow button. The effect of cloning a workflow is to create a new workflow with the workflow title changed to prefix it with information that it was cloned, i.e. Cloned on 05/27/2016 02:58 - General IT Project. The task templates are also cloned and linked to the new workflow.
Note that task templates may only be linked to one workflow and are created independently for each workflow, since they may have a sequence and order within that workflow that would be different within a different workflow.