Once in a while, I am asked about the possibility of managing recurring tasks in a SharePoint project. If you have a task that will happen every week, month or any regular schedule, it would be convenient to have these tasks automatically created.
In SharePoint, it is possible to have recurring Calendar Events, but not Project Tasks, so if you need this feature, you would need to build it as a custom workflow using SharePoint Designer.
Managing Recurring Tasks in SharePoint
Consider the following Scenario: A Project Manager would like to have a Task in the Project Plan for a team member to organize a weekly PMO meeting. The Task description will contain the details and agenda of the meeting and will be assigned to a Project team member. Rather than manually create a new task once a month, they would like the Task to be automatically created, once the previous Task is complete.
The Project Task form in SharePoint is modeled to capture additional information used by the workflow to create the new recurring task. In summary, here are the additional columns added to the list.
Using the BrightWork Column Visibility Feature, the StatusCopy, NewStartDate and NewFinishDate Columns can be hidden from the form. This avoids confusion for the users as they are not needed to be rendered in the forms.
3. Workflow Design
Using SharePoint Designer and standard Condition/Action Workflow is built to create the next tasks.
Check the Task to see if the Recurring field is set to Yes and there has been a change in the Status of the Task. If either of these conditions was not met, the workflow stops and it logs information accordingly.
If the Project Task is indeed a recurring Task and the Status is changed, the workflow will continue to process. It looks for the Status set to Completed as the condition and then creates a new Task in the same list. The new Task copies over the Title of the Task and it’s Description. It also sets the new Start and Finish dates to the calculated columns defined in the list (Start Date = NewStartDate, Finish Date = NewFinishDate)
Finally, the StatusCopy column is updated to the new value of the Task Status, thereby enabling the cross check in Step 1 to determine if the Status changes again.
The results will be that each time a Recurring Task is completed, a new Project Task will be created with a deadline of one week later. The report below uses BrightWork’s Gantt Report to render the Recurring Tasks and their timelines.
Editor’s Note: This post was originally published in February 2014 and has been updated for freshness, accuracy, and comprehensiveness.