A common requirement for PMOs is to be able to capture key Project Level data, as the project moves along in the workflow, and to be able to do a trend analysis as to how the Project Budget has changed over time for example or the baseline cost etc.,


If you are using workflows within Project Server 2013 (or Project Online), then you can use them to also capture a snapshot of the key project data. This article will show you how. In our example, We will use a SharePoint list to store this data, so that we can later generate reporting on it.


Note: In a previous blog post, I explored how you could capture a snapshot of key project data, when you have a workflow running on the Project using a Nintex workflow.



Step 1: Create a list to store your project data snapshot

The first step is obviously to create a SharePoint list to store the custom data. As shown in the screenshot below, I created a Custom List, and then added the columns I need, based on the data I will capture into the list. Please note that, it is easier if the list is at the PWA Site collection level, else you will need to use the HTTP Web Service call to create list items. My example has the list at the PWA Site Collection level.




Step 2: Make sure your Workflow stages are created or available to build a workflow on

This is an obvious one. You need workflow stages created and ready to go, if you want to build a workflow. I have two stages in my workflow, for this example, Stage A and Stage B. You can have as many stages as you want based on your business needs. It is the actions between stages that we are concerned with in this blog post.


Step 3: Build the workflow (or Modify) in SharePoint Designer

If you already have a workflow, go ahead and open in SharePoint Designer. If you do not have a workflow, go ahead and build one. For the sake of brevity, I will refrain from go into details of “how to build a workflow”. Please refer to this TechNet Article for step by step guidance.


My Workflow is very simple:

  1. The Project after getting created, will wait in Stage A, until submitted to the next stage
  2. Upon the submit action, the selected Project Data is written to the Project Snapshot list, as a new list item
  3. Project moves to Stage B, and waits there until submitted to the next stage
  4. Upon the submit action, the workflow ends.

The workflow built in SharePoint Designer, will look like this:


Obviously the key element is, the highlighted one, creating a list item, so lets take a closer look at that.


Step 4: Configuring the Create List Item action

  1. To start, Click on appropriate place in the workflow designer area, and then click on Actions  on the ribbon.


This will add the Create List Item action to the designer area.



Now click on the this list in that action, to bring up the Create List Item dialog box.



Now select the list, you have created to store your project snapshot. This will bring the default column in, which in my case is the Title (which I renamed as Project Name). Now click on Add, to start adding more fields to the list.




In the dialog box, the Set this field refers to the columns in the list you are using to capture the snapshot, where as To this value,  will allow you to set the project data you require.


I will select the column Justification as an example. Once you select the column, click on the small fx icon, to bring up the lookup options.





This will bring up the Lookup Selections, and set the values as below, and click OK.



So, the create List Item box, should look like this now.



You can add other Project Fields the same way, as long as you have created the column to store the data in your list.


Now save, everything and publish the workflow.


Go ahead and associate the workflow to an Enterprise Project Type, if you have not done already, and create the project. As soon as you submit the workflow from Stage A to Stage B, you will see that the List has new item with the Project Data Snapshot.



As each project snapshot is captured as it moves through stages, You can now use this data to do Trend Analysis just by pulling this data into Excel etc., or even just Status Reporting.