Designing Dynamic SharePoint Workflows

by | Jun 5, 2017 | Collaboration | 0 comments

In designing the Peters & Associates’ HRPortal, one of the things we wanted to do was to make it easy for non-technical users to manage the content and processes our application provides. SharePoint lists and libraries make it easy for end users to add, edit and delete content, but managing business workflow gets tricky.

We could have built our HR Business applications, like our Peters & Associates’ Employee Onboarding Application, using SharePoint Designer workflow to control the generation of tasks to manage employee changes, but that would have meant the HR staff would need to learn how to modify workflows in SharePoint Designer or be reliant on the IT staff if they wanted to add, change or remove tasks in the process.

We wanted to make it possible for HR staff to be able to modify the task generation process themselves, making the application much more dynamic and easy to change.

We did this by:

Providing users with a way to update processes

SharePoint Designer makes it easy to create a workflow to generate a set of tasks when an item is created or updated. This works fine for a process that doesn’t change very often, but if you have a business process that need frequent adjustments, the “hard-coded” nature of SharePoint Designer workflows means a lot of “backend” tweaking and testing.

For our HRPortal, we wanted users to have the ability to adjust the business processing without having to update the workflows themselves. We accomplished this by separating the information associated with a task from the process to create the task.

Our HRPortal application uses SharePoint lists to capture the data for creating tasks. The workflow then uses this information to generate and assign tasks based on the specific scenario. This concept is similar to applications that reference configuration files to set up how the application will operate.

Setting up the data

Our Peters & Associates’ HRPortal Employee Onboarding application provides an example. We created several lists to support the processing of onboarding, change of position, and termination activities:

  • Employee Change Request list – This list acts as the form for submitting a change request and identifies the activity (onboarding, change of position, termination), information about the employee, and due date for the request.
  • Employee Activity list – This list controls the available activities (onboarding, change of position, termination) and associated task assignee groups for the Employee Change Request. This allows users to add or modify the activities we generate tasks for.
  • Employee Change Configuration list – This list provides the information for the workflow to generate tasks, based on which activity is requested in the Employee Change Request.
  • Employee Change Task list – This list houses the tasks generated by the workflow and acts as the dashboard to monitor the progress of Employee Change Requests

Setting up the workflow

The SharePoint Designer workflow is started upon submission of a new item in the Employee Change Request list. The workflow moves through the following stages:

  1. Store information about the activity type, employee, due date, etc., as variables in the workflow.
  2. Loop through the Employee Change Configuration list and generate a task for each item in the list that matches the activity “type” into the Employee Change Task list.
  3. Verify all tasks were generated.

Applying the Concept to your Form and Workflow design

The idea of “decoupling” the data for task generation from the workflow can be applied to any business workflow application where you need to assign and track process steps generated by a request.

This concept not only makes the application much easier to administer, but also eliminates the need to test changes to your workflow just because you needed to update the tasks output by the application.

You can extend your application to handle more scenarios just by adding another “type” of activity to your request form. This opens up whole new possibilities to create “multi-use” forms for your users that they can manage themselves.

Need help to create business applications in SharePoint?

Peters & Associates has been assisting organizations in solving business problems since 1981. Need help to evaluate your work processes and determine what solutions can work for you? Give us a call at 630.832.0075 or drop us a line at You can also stay up to date on our latest webinars here.