Cost Driven Approval Workflow - Nintex Workflow for Project Server

Document created by Emily Billing Employee on May 18, 2014Last modified by Emily Billing Employee on Jun 1, 2014
Version 4Show Document
  • View in full screen mode

This tutorial is applicable to both Nintex Workflow for Project Server 2013, and 2010.

 

The Cost Driven Approval workflow determines if a proposal is greater than the predetermined approval limit of $1,000,000. If the proposal is, the workflow will request approval from the Portfolio Managers security group before moving it to the next stage in the project.

In order to complete this tutorial, it is necessary to configure a number of stages and an enterprise custom field within the Project Web App. The steps to complete this are outlined in Appendix A.

This tutorial also assumes that your Project Server 2013 instance is running in SharePoint security mode.

 

Open Nintex Workflow for Project Server 2013 workflow designer

  1. Navigate to the Project Web Application (PWA) site.
  2. Click on the Settings Icon > Project Server Workflow > Create Demand Management Workflow (Create Project Server Workflow in 2010).
  3. In the Workflow Designer Ribbon, click on Workflow Settings. In the Workflow Settings dialog, enter the Title and Description and click Save when completed.

Note: Ensure you select the Nintex Project Server Workflow Tasks task list.

 

Designing the Cost Driven Approval Workflow

The initial steps within this workflow will be to set the project stage and initial status of the project to wait for an input when the workflow is started. Start creating the workflow by dragging and dropping the workflow actions onto the design canvas.

  1. Drag and drop the Set project stage action from the toolbox and onto the design canvas.
    set_project_stage.png
  2. In the configuration settings, set the stage to Initial Proposal Details. Note: The first action in a Project Server workflow must be a Set Project Stage action.
    initial_proposal.png
  3. Drag and drop the Set Status Information action. In the Configuration settings, set the following:
    1. Stage: Initial Proposal Details
    2. State: Waiting for input

 

The workflow will need to query Project Server for the name of the project, the display and login names of the project owner (the user who created the proposal) and store them in variables that will be used throughout the workflow.

 

  1. Create the following workflow variables to store the name and login of the project owner and the project name:
    1. Project Owner Name (Single line of text)
    2. Project Owner Login (Single line of text)
    3. Project Name (Single line of text)
      variables_project_name.png
  2. get_project_name.pngAdd an Action set action to the designer canvas and rename the Action title to “Set Owner Information”.
  3. Drag and drop the Read project property action within the Action set (Set Owner Information). In the Configuration settings, set the following:
    1. Project property: Project Owner Display Name
    2. Store result in: Project Owner Name
  4. Drag and drop a second Read project property action within the Action set (Set Owner Information). In the Configuration settings, set the following:
    1. Project property: Project Owner Login Name
    2. Store result in:  Project Owner Login
  5. Drag and drop a third Read project property action within the Action set (Set Owner Information). In the Configuration settings, set the following:
    1. Project property: Project Name
    2. Store result in:  Project Name

 

 

 

The cost driven condition in the business process is to automatically approve any proposal that has a cost of less than $1,000,000. Any proposals that are more than $1,000,000 must be approved by the members of the Portfolio Managers’ project group.

 

  1. Drag and drop the Set project stage action. In the Configuration settings, set the following:
    1. Stage: Initial Review
  2. Create the following workflow variable to be used for storing the comparison result:
    1. Is Too Expensive (Yes/No)
  3. Drag and drop on the Compare project property action. In the Configuration settings, set the following:
    1. Project property: Sample Proposal Cost
    2. Comparison Operator: Greater than
    3. Value: Value; 1000000
    4. Store result in: Is Too Expensive

Note: The Compare project property action will return a True/False based on the comparison. The result can then be branched on in the workflow.

 

  1. Drag and drop the Set a condition action. In the Configuration settings, set the following:
    1. Condition: If any value equals value
    2. Where: Workflow Data; Is Too Expensive; equals; Value; Yes
    3. Give the action a label "Proposal Cost is more than $1,000,000

 

If the proposal cost is less than $1,000,000, the proposal will be automatically approved and moved to the next stage.

 

In the “No” branch of the Set a Condition action, add a Set status information action. In the Configuration settings, set the following:

    1. Stage: Initial Review
    2. State: Remain in current state
    3. Status information: Proposal is below the approval limit. Automatically approved.

set_status.png

 

If the proposal cost is more than $1,000,000, the workflow will require approval from the members of the Portfolio Managers’ group.

  1. In the “Yes” branch, add and configure the following workflow actions:
    1. Drag and drop the Set status information action. In the Configuration settings, set the following:
      • Stage: Initial Review
      • State: Waiting for approval
    2. Drag and drop the Read project security group action. In the Configuration settings, set the following:
      • Group name: Portfolio Managers for the Project Web App security group
      • Create a workflow variable Portfolio Managers (single line of text) to store the users retrieved from the Project security group
      • Store result in: Portfolio Managers

Note: Project Server 2013 can be configured to run in one of two security modes, either SharePoint or Project Server. The configuration of the Read Project Security group action will be different depending on the mode chosen.

 

yes_branch.png

 

A ‘Request approval’ action is used to request approval from a user. It will send the user a notification requesting their response with a URL to a task page for them to submit their decision. The action can be configured to change the rules of the approval process (i.e. all must respond, all must agree, etc.)

 

Drag and drop the Request approval action, configure the options as follows:

    1. Assignees: Portfolio Managers
    2. Leave all other options as default

 

On the DECLINED branch:

Drag and drop the Set project stage action. In the Configuration settings, set the following:

    1. Stage: Rejected

 

Drag and drop the Send notification action. In the Configuration settings, set the following:

    1. To: Project Owner Login (workflow variable)
    2. Subject: Proposal was rejected
    3. Body: Create a message using the Project Owner Name , Context Item Display Name (name of the proposal) and Context Item URL (URL to the status)

 

Drag and drop the End workflow action.

 

On the APPROVED branch:

 

Drag and drop a Send notification action. In the Configuration settings, set the following:

    1. To: Project Owner Login (workflow variable)
    2. Subject: Proposal was approved
    3. Body: Use inserted references to provide context to the email body.

 

request_approval.png

 

Once the proposal has gone through the automated approval or Portfolio Managers’ project group approval, it will be moved to the final stage, Execution.

 

Drag and drop the Set project stage action. In the Configuration settings, set the following stage to ‘Execution’.

 

This workflow can now be associated to a new or existing Enterprise Project Type via Server Settings. See the Nintex Workflow for Project Server 2013 help file “Associating a Project Server Workflow with an Enterprise Project Type”.

 

Appendix A - Configure Project Server

Configure Stages

  1. Click on the Settings icon and choose ‘PWA Settings’, select “Workflow Stages”
  2. Click on the ‘New Workflow Stage’ button to create a new Stage as follows:
    1. In the Name field, type ‘Initial Proposal Details’.
    2. In the Description field, type “Initial Proposal Details stage for Nintex Tutorial”.
    3. In the Workflow phase field, select “Create”.
    4. In the Visible Project Details Pages section, select “Project Details” and click on the > button to highlight it.
    5. Click on Save.

 

Repeat step 2, to create three additional stages as outlined in the table below:

Stage Name

Description

Workflow Phase

Visible Project Detail Pages

Initial Review

Initial Review stage for Nintex Tutorial

Create

Project Details

Rejected

Rejected stage for Nintex Tutorial

Create

Project Details

Execution

Execution stage for Nintex Tutorial

Manage

Project Details

Schedule

 

Configure Enterprise Custom Field

Create a Resource Custom Field called Proposal Cost and configure it as follows. This field will be used to record the cost of the proposal.

  1. In the Name field, type “Proposal Cost”.
  2. In the Description field, type “Proposal Cost field for Nintex Tutorial”.
  3. In the Entity and Type field, select the Project entity and type Cost.
  4. In the Behaviour section, check the ‘Behaviour controlled by workflow’ option.

Attachments

    Outcomes