Category Archives: Workflow

Add each item from InfoPath repeating section to SharePoint field with Nintex Workflow

If you want to add all items from a repeating section in InfoPath to a SharePoint field via Nintex workflow you can.

Create three variables:
Two text: “SoftwareToRetract” and “SoftwareRetracted “and one collection: “software collection”

  • Use an XML Query and select XML source current item;
  • Process using XPath;
  • Add your repeating field *
  • store the result in the Collection variable “software collection”

Add an For Each

  • Target Collection is “Software Collection”;
  • Store result in “SoftwareToRetract”;

Buid dynamic string

  • insert reference “SoftwareToRetract”;
  • add another one to insert reference to “SoftwareRetracted”
  • Store result in “SoftwareRetracted”

After the For Each add an Update item

  • select the field that stores the results and as workflow variable “SoftwareRetracted”

*You can get your XPATH code by opening your InfoPath form in InfoPath 2007. Now go to the field in the data source
task pane and right-click, copy XPath to get a field’s xpath code. Past it in the process XPATH field of your Query XML.

Update InfoPath field in a Repeating Table with Nintex Workflow

How to update a column in a InfoPath repeating table based on the selected user in a other column?
I wanted to add several users to a repeating table and after submitting the form the computer, location etc. from the selected users needs to be added via a workflow in the form.

The structure of the form is as follows: we need the field AccountId that is a child from Person, which is a child from gpContactSelector, that is a child is from group4, which is a child from group 3 and finaly the parent is myFields.
The XPath for this field is:

/my:myFields/my:group3/my:group4/my:gpContactSelector/my:Person/my:AccountId

updaterepeatingtable2

 

The workflow has the following actions:

updaterepeatingtable3

 

Add a Query XML on the Current item and add the XPath path, store the results in a collection variable

updaterepeatingtable4

 

Add an for each action that process the collection and a text variable.

An Update XML
XML source is current item

Create the following Xpath query:

  • /my:myFields/my:group3/my:group4/my:gpContactSelector/my:Person/my:AccountId.  Go to the parent of the field AccountId 
  • [my:AccountId={Workflowvariable:Created Text variable}]
  • /parent::my:gpContactSelector/parent::my:group4/my:FromLocation. This tells the query to go up two levels to come to group 4 and select there FromLocation

Select Update node value
Add the variable you want to set in the FromLocation

updaterepeatingtable6

Just a last few point:

  • This workflow doens’t do anything more than retrieving and updating, other options you have to add yourself
  • For more XPath see http://www.w3schools.com/xpath/default.asp
  • To get the Query I used Altova XMLSpy

Nintex Web service gives a HTTP status 400: Bad Request error

A workflow crashes with a HTTP Status 400: Bad Request error, strange that it only happened on one list item. The workflow needs to copy an item in another site collection via a Nintex web service action.

As it turned out the reason is that the title contained an ampersand (&) character and the web service crashes on special characters. So we have to excluded the parsing of the title, this can be done with the term CDATA.

Add an build dynamic string action and wrap the Title around “<![CDATA[” and end with “]]>”.
Store the result in a variable and replace the title with the newly created variable.

cdata1

Screenshot in Dutch.

Retrieve user properties from SharePoint person field with Nintex Workflow

When working with a personfield in SharePoint you need to remember that the field doesn’t save the username from the user but his SharePoint userID. If you want to use this field to get the emailaddress, firstname or other userproperties from the user you can use Nintex workflow to retrieve these items.

Create two text variables, one for web service result and one for Query XML result.

Add an Call web service action

  • Url is the current url via Web Url and add the following to call the userprofile webservice /_vti_bin/userprofileservices.asmx
  • Web method is GetUserProfileByName
  • AccountName is the SharePoint personfield
  • Save to the variable webservice result 

Add an Query XML

  • XML is the variable webservice result
  • Process using XSLTretrieveuserpropertiesfromsharepointpersonfield
  • Store result in variable Query XML result
    retrieveuserpropertiesfromsharepointpersonfield2

Create a listitem with date via a SharePoint Webservice workflow

On the internet there are enough methods to create a item via SharePoint Webservice, but getting date fields inserted took me more research.

Variable

Create in Nintex Workflow the following variables:

  • StartDate (Date and Time)
  • StartDateConverted (Text)
  • XML (Text)

Workflow

Set the created date in the variable Startdate with a Set variable action.

Add the calculate  date action, select in the by Date field the variable Startdate.
Add the variable StartDateConverted by the field Store ISO 8601 Date 

Add an Build Dynamic string action and cofingure as followed:

  buildcreateitemwebservice

Save the data in the variable txtBatchXML

Add a Call web service action
Add via the Insert Reference button the field {Common:WebUrl}, followed by /_vti_bin/lists.asmx. The full address is {Common:WebUrl}/_vti_bin/lists.asmx

Enter the Username and Pasword click Refresh.
Now select Web Method UpdateListItems and at the ID from the list by listname and for updates select the variable txtBatchXML

Nintex Workflow user’s Guide available

Starting to work with Nintex Workflow and overwhelmed with all the options?
Figuring out when you need which action?
You’ve created a few workflows with Nintex but you think they can be better?

For all these questions is the Nintex Workflow user’s Guide. A guide for people that are just starting with Nintex, want to know more of Nintex Workflow or even want to build complex workflows. Nintex Workflow user’s Guide comes with detailed step-by-step instruction for the creation of your first workflow till workflows that retrieve data from web services.

NWUG_Cover_Text_Long

Remove blank spaces from names in workflow

When creating a sharepoint site via a Nintex Workflow it’s best to remove any blank spaces from the url as these are converted to %20.

Most often these url’s are converted from a field a person has entered. You can explain the users that they shoudn’t use spaces or you can use Nintex to remove these blank spaces in the names.

You can easily remove the spaces by adding a Regular expression action with the following settings:

  • Pattern: \s
  • Replacement text: keep this empty
  • Input text: the name
  • Store result in: variable