cancel
Showing results for 
Search instead for 
Did you mean: 

Update Managed Metadata Column in SharePoint List Using Nintex workflow and Web Service

aartishaw
Nintex Newbie
1 8 4,689

To Update manage metadata column in SharePoint list we need two thing:

1. Label of manage metadata

2. Term ID of the manage metadata.

Scenario: I want to update "Europe" in manage metadata column in SharePoint List. I have only label with me which is present in Team store.But I cannot update manage metadata column directly using action "Update Item" as I also need the termid for same.

Solution:

1.We have to first select the termsetID from which the "termid" need to be taken and save in variable

example: "Country" is TermSet and need to get its ID from "Term Store management".

2.Using Taxonomy webservices "<siteurl>_vti_bin/TaxonomyClientService.asmx" in Action "CallWebservices" and user Method as "GetTermsByLabel"

Once we get the SOAP Editor details , modify the below Web Service as :

3. We get Result in XML then using "Query XML" get the TermID based on the TermStoreID

4. Once we get the TermID and the update list item using "UpdateListItem" with "label | TermID"

example: "Europe|TermID"

8 Comments
Not applicable

Hi  Aarti Shaw,

Thank you for your share~

But I have some problems when I update metadata Column.

Step3, coll and collID's type is single line, is't right?

Step4, how to update the item's column?I try to configure action as blew, but it is no useful. POI is a term label.

The workflow is finished with error.The error info is:The workflow could not update the item, possibly because one or more columns for the item require a different type of information.

Did I do some thing wrong? Would you reply me before Wednesday(Nov 27)?

Thank you very much for your help!

aartishaw
Nintex Newbie

Hi Levona,

Error message you are getting is due to unable to get correct "TermID" when you are updating.

from site setting-->Site Settings--> Term Store management, you can get the label and termID for particular metadata.

try to update same using nintex workflow and then see if you logic to getting the termID is correct.

Not applicable

I try to filled the Column with label|termID from Matadata Management info, but it’s not work.

alexandredavid
Nintex Newbie

your solution is working only when you have unique labels for all your terms and this is almost never the case. Am I wrong ?

annhwallinger
Nintex Newbie

I was able to set it using the regular workflow actions and just set the field value to Text using this syntax:

-1;#FieldName_0

so if your Managed Metadata field is 'DocType' it would be:

-1;#DocType_0

My terms are not unique and it is still working. It does not work to null out a field though if the source is null and you want the destination to be null you have to handle that differently.

nintexbadger
Nintex Newbie

kb_kotresh
Nintex Newbie

@Aarti Shaw

I have followed same steps as mentioned above. But When i querying the XML I am not getting correct value from the xml. It always give as shown in the image. 

IN Workflow 

Out put of above value

XML OUt out is :

Kindly let me know What will be xpath to get the country name as "india" (Line no 6)

Kotresh 

kb_kotresh
Nintex Newbie

Hi, 

I am able to resolve this issue . we need to use XPAth Builder from the action. In the source paste the xml result and select the proper xpath from xml .

It works great!!