Skip to main content

I had these notes stored from a couple of years ago - they helped me at the time with a problem I had been banging my head with for ages, but I haven't needed to use them since.  Not sure if any use to anyone, but in the process of getting all my blog posts in one place, and what better place than the Community happy.png

 

Believe it or not, this is not straight forward.  For this blog I will paint the picture.  I have a request list which uses Managed Metadata to store Business Units.  I have a list on another site which stores approved and completed items from the original request list.  On this list, the same Business Unit Managed Metadata column is used.  I tried using the "Create item in another site" action in Nintex Workflow but could not just simply map the field from one list to the other.  Instead I had to query the TaxonomyHiddenList of the target site collection to get the ID and GUID for the term.  To find the hidden taxonomy list, simply use "Lists/TaxonomyHiddenList/AllItems.aspx" on the end of your URL after the site collection.

 

There can be multiple terms for the same value in the TaxonomyHiddenList (if it exists in a few of the term stores), so you need to be able to pass the IdForTerm in when querying the list which is achieved by using a regular expression action.

 

Firstly I use the Set Variable action to store the value from the managed metadata field in the original list into a variable.  In this example I called it vTextBusinessUnitMM

Then I used a Regular expression action to find the "IdForTerm".  The configuration below changes the variable value above to the format of the IdForTerm and stores it in the same variable.

 

 Then I use Query list to query the TaxonomyHiddenList of the target site to get the ID and the IdForTerm.  I store the returned values in variables.

Finally I use the Build String action to format the values returned:  ID;#Value|IdForTerm.  This is what needs to be passed to the destination site when inserting or updating an item with Managed Metadata field.

 

I'll give that a go.  Thanks for the response!


I'm not sure why this hasn't already been mentioned or maybe I'm just not understanding the original post, but if you want to create/copy/update managed metadata from one list into another it's much simpler than what I'm seeing above.

In my example below Specific Location is a Managed Metadata column.

Just set a single line of text variable using the Current Item List Lookup:

Then use Update Item or Create Item action to insert/update:

If you take a look at the value that is returned using list lookup you'll see the GUID is being pulled back so that's why this works:


Is that in the same site though? What about a different site collection? 


I am using the Create item in another site action:

I am taking it from a sub-site and creating an item in the top level site. 

I have not personally tested against a different site collection but the option is there if you need it.  I would assume if it doesn't work then yes you would probably need to use a web service action.


Yes the values of the terms from site collection to site collection 


Hi,

Thanks for your feedback.

I have retried it in 2010 and I confirm it is not the case. It returns only the value.

In which environment are you running your workflow?

Regards,

Christophe


This was on SharePoint 2013 On Premise.


Hi Ann

This works well, but I have only been able to get it working when creating a new item, but not when updating an item. So this (Office 365 Upload file) works:

but not this (Update List Item):

Strange...


Reply