Forms Fledgling

Cascading dropdowns for "People" fields

Hoping I can ask for assistance please!

Basically - I can get cascading dropdowns working for "Text" fields but not for "People" fields.


The requirement is to manage maintenance issues at our different sites.

Each site has specific Buildings, Suppliers and Approvers. I created SharePoint lists for Buildings, Suppliers and Approvers, with "Dependant " fields linking to the sites list. All working fine. Another Sharepoint List records Maintenance issues.


I have a Nintex Form for the Maintenance Issue.

First Field is "Site" - user selects from a drop down list of sites.  This makes a control  "SelectSite".

I use Cascading dropdowns to filter values for Buildings, Suppliers and Approvers based on user choice (SelectSite).  (Thank you Emily!)

This works well for Buildings and Suppliers, which return text values that I connect to text fields on the Issues List.

Approvers are also successfully filtered - The correct approvers are selectable - However I cannot Connect/return the selected person value to the issues list Approvers field ("People" type).  Apologies if I have missed something obvious.


How can I get the selected "Issue Approver" People value to return to the Maintenance Issues List as a Person field?

Environment is NF

0 Kudos
2 Replies
Forms Fledgling

Re: Cascading dropdowns for "People" fields

I actually also tried to get through using this:

Lookup function – Help page documentation | Walking the stack

But this does not seem to help....

0 Kudos
Not applicable

Re: Cascading dropdowns for "People" fields


Hey John Charles,


As we discussed in your email to support this isn't really possible using Forms by itself, at least out of the box. The issue is that we can't take the text value in the "Approver" drop down and then transfer this across to the person or group column in the SharePoint list using the lookup control in the Form, and unfortunately Form variables are calculated at runtime, so this eliminates the possibility of having the lookup value stored dynamically and used later.


It's possible that someone with a much deeper understanding of JavaScript may be able to develop a custom solution for you here, however pending that intervention I'd say the best option is to create a simple workflow to do the change for you.


Note: For those playing at home, I've made a couple of assumptions here. The main one being that the "Approver" value in the cascading drop down matches the display name for the user in AD. In the example below I've also used a simple cascading drop down with two tiers, "Site" and then "Approver." The Form is being submitted on a third list "Issues."


First, in the "Issues" list I've added in an extra single line of text column and called it "Approver Hidden." In a real world scenario, we'd just remove this column from all the views of the list and the end users need never even know it exists.


Next, in the Form we set the "Approver" lookup control in the cascading drop down to write the value into the "Approver Hidden" column ("Text connected to" option.)  The Form can now be published as is.


So now in the list we should have the columns; Issue (Text), Approver (Person or Group), Site (Text) and Approver Hidden (Text)



We now create a new List Workflow:


  1. Create a new Workflow Variable called "varApprover" or similar, of type "Person or Group."
  2. Add a "Set Variable" action, and configure like so: Set = varApprover > Equals = List Lookup > Source = Current Item > Field = Approver Hidden
  3. Add a "Log in History List" action, and set it to log "varApprover" (This isn't essential, but I always do this to aid in troubleshooting later if needed.)
  4. Add an "Update Item" action and configure like so: Update = Current Item > Field = Approver > Equals = Workflow Data > varApprover > Return Type = Display Name (you can set return type by clicking on the "..." button)
  5. Open the Workflow Settings and set: "Start when items created" = Yes, "Start when items modified" = Conditional
  6. Click "Conditions" and set: Approver Hidden (previous value) > Not Equals > Approver Hidden
  7. Save and publish!


The only thing to be wary of here is that any other workflows set to run on item creation that rely on the "Approver" column, will need to adjusted to allow for the above workflow. Simply putting a pause at the start of any other workflow, or even better using a "Start Workflow" action at the end of the above, should get around this fine.


Hope that all works out!