Scenario
How to upgrade a Nintex for Office 365 workflow to Nintex Workflow Cloud that contains an Office 365 Query List action.
After Upgrade
- Upgrading of this action will require you to review the action's configuration in some areas depending on what you have implemented.
- The Office 356 Query List action will become the SharePoint Online - Query a list action.
- You will need to have an existing SharePoint connection created with an account that has access to query lists for items.
- You may need to reconfigure connections in all SharePoint related actions so they point to the correct site.
- If you used a Dictionary or Collection variable to store your query results in the Fields XML property, your result variable will be automatically renamed and changed to an object variable.
- Your original result variables for Result Count, First Column will come over, but will not be used. You can delete the original variables because these values will be available in the new object result variable.
- Dictionary related actions that process results such as, Get an Item from a Dictionary, will not upgrade and will be replaced with placeholder actions that should be deleted. You will need to reconfigure how you access result data with the new object variable.
Differences
- The query property section will become conditions. You will now be able to nest conditions if necessary.
- CAML queries will no longer be supported for building query conditions.
- For storing query results, the output variables will no longer be separate variables. The output result will be stored in an object variable that contains the child variables, Number of items returned, Item ID(s) collection, Items collection, and a First item object.
- The list name property is now a drop-down list that will show you list options based on your configured SharePoint site URL property. You can also use a variable to configure the list name.
- Specifying individual fields(SharePoint Columns) to return will not be supported. Instead you will be able to access all columns for each item returned in the results object variable.
- Sorting will only be allowed on one column.
- Include subfolders is not supported.
Configuration
Connection
Configure the connection property to use a connection that points to the SharePoint environment where your list lives. This may also be set automatically for you based on the Start event connection.
Output Result
Object Variable
An output result variable will be automatically created for you and will replace the original collection or dictionary variable that was used to store XML results. This will be an object variable that contains variables with query results collections and the number of items returned. From there you can delete the original results variables that came over from the Office 365 upgrade.
Dictionary Actions
If you originally used dictionary actions in your workflow, those will not upgrade to Nintex Workflow Cloud and will be replaced with placeholder actions due to dictionary variables and their actions not being supported.
The new object variable that stores query results will contain multiple collection variables to store lists of data.
You will need to replace dictionary actions with actions that process data using the new object variable and collections. The object variable may improve your workflow design with the need for less steps. The next section explains how to retrieve data from an object variable. The example below removes the action, Get an item from a dictionary, and works directly with the object variable result.
Retrieve Data from the Output Result Variable
To retrieve and work with list items stored in an output object variable iteratively, you can use the action, Loop for Each. The following example sets the target collection to loop through the Items collection from the object variable returned from the Query List action. This is a collection of all the items in the SharePoint list and includes all columns from the list for each item with values stored in those columns.
- Configure the For Each action's target collection property to use the Items collection inside the output object variable from the SharePoint Online - Query a list action. This is found in the SharePoint Online variable group.
- Reconfigure actions within the For Each action grouping to use values from the current item object variable tied to the current iteration in the loop for each variable section. In this example, the Current item variable in the Set variables action is an old variable that came over from the upgrade. It is changed to use the Value column of the current list item being iterated upon in the for each loop.
- You can also access the first item returned from the Query a list action in the output object by working with the First Record variable in actions like Send an Email or Log to instance details. The first record is found under, SharePoint Online - First Item, in the Variables window.