Forum Discussion

EricDeferm's avatar
EricDeferm
Steel Contributor
Feb 11, 2019

Forms - Build/link choice list with SP Term Store

Is there a possibility to retrieve and show the values of a SP Term Store set as a choice list for the user interface within a Form while editing/submitting the Form?

If it's not possible in the Front-End, can we link/retrieve the values in the Back-End?

When submitting the Form, we're creating/adding a new Item to a SP List using Flow > standard & straightforward functionality. This is working very well and easy to implement. Yet we're struggling with Field items that use Managed Meta Data (linked with a Term Store Set).

The values captured by the Form and copied by Flow to the new Item are just plain Text values and don't contain any reference to the Term Store set. When mapping that plain text value to a Managed Meta Data type field an error is raised. Logically as the MMD field expects a unique ID referencing a value in the Term Store set. Is there a method/way to convert/link a plain text field such that it can reference/map with unique IDs of Term Store set in MMD fields?

    • EricDeferm's avatar
      EricDeferm
      Steel Contributor

      Hi Damien_Rosario tx for directing me the discussion blog article, that was really helpful. I managed to get it working for single value Managed Meta Data fields referencing Term Store sets. Still struggling with multi value MMD fields and the correct syntax.

      For a single value MMD field Flow just requires to put the value of the corresponding selected option from the Form (given that Form choice list is composed as follows <value>|GUID. With the correct choice option Flow converts it as follows (for a Form field called Language) --> "Language": { "Value": "Chinese Simplified|7d195f65-0778-41da-a0b9-c44af83c3c0b"}

      However for multi value MMD fields, Flow is not converting the syntax to a proper result, for the Country field the following happens --> "Country": [ { "Value": "[\"Argentina|a6b99d64-f5ec-42fe-b41c-95e4d4935e61\",\"Australia|c8f575d4-087e-4838-8324-1298f0c14cdcArgentina\"]" } ],

      Whereas the correct syntax (when assigning values in Flow it self) looks like this

      "Country": [ 

      { "Value": "Argentina|a6b99d64-f5ec-42fe-b41c-95e4d4935e61" } ,

      { "Value" : "Australia|c8f575d4-087e-4838-8324-1298f0c14cdc" }

      ],

      Will continue the quest for 'clean' syntax.

      • EricDeferm's avatar
        EricDeferm
        Steel Contributor

        I've found an easier way to assign Managed Metadata Fields in Flow. Using the hidden list https://<tenant>.sharepoint.com/TaxonomyHiddenList you can lookup the corresponding term store key via the 'Title' column. Next step > assign the value by combining the Label (plain text) and IdForTerm separated by the '|' (pipe).

Resources