Three-Tier Cascading Drop Downs: Do Go Chasing Waterfalls!

Design Canvas Artiste
24 14 22.4K

Nintex Forms allows for Cascading Drop Downs which can improve the functionality of your forms, but what if you wanted to include a third-tier to the cascading drop down?

Let's take a look at how to configure a three-tier cascading drop down using Nintex Forms!

The Setup

For this example, we are creating, in total, four lists (List A, List B, List C, and Meal Order).

Below is what List A -  C look like:







Notice the following:

  • List A contains the Single Line column 'Title' data that will feed into the 'Meal Time' List Lookup used on List B.
  • List B contains the List Lookup column, 'Meal Time' (from List A), and a Single Line column, 'Meal Type'.
  • List C contains the List Lookup column, 'Meal Type' (from List B), and a Single Line column, 'Beverage'.

These are the columns used when creating the list, 'Meal Order', which will be where we build our Nintex Form.

Below is the configuration of the 'Meal Order' list columns:

Meal Order - Column Settings

Notice the following:

  • The 'Meal Time' List Lookup references the 'Title' Single Line Text column of List A.
  • The Meal Type List Lookup references the 'Meal Type' Single Line Text column of List B.
  • The 'Beverage' List Lookup references the 'Beverage' Single Line Text column of List C.

Now, let's take a look at how the List Lookup Controls are configured on the Nintex Form for Filtering:


The 'Meal Time' control will not have any filtering applied, so we can move on to 'Meal Type'.


'Meal Type' is going to be filtered by the output of the control, 'MealTime' when the value of 'Meal Time' matches that of 'Meal Type'.

Now, let's move onto 'Beverage'.


'Beverage' will be filtered by the output of the control, 'MealType' when the value of Meal Type matches that of 'Meal Type'.

...the Magic.



Not applicable

Will this work for three tiered drop downs like State, City, Zip Code, where there might be cities with the same name in multiple states?    How would you search for the State/City combination to get an accurate list of zip codes?   Anyone solve this one?

Automation Master

there shouldn't be a limit how many dropdowns you can cascade. at least not from logical point of view.

for your requirement you will need to create3 lists:

- states

- cities - will contain lookup to states list. depends on whether the states list contain unique state's identifiers or not you can make lookup through this identifier or use itemID

- zipcodes -will contain lookup to cities list. since the cities are not unique you will have to make lookup over itemID or to make artificial unique identifier for every single item

Not applicable

Thanks hadn't thought about using the ID field as an unique identifier


Nintex Newbie

Thanks for this post. I have done this on prem a number of times, but I am now doing it in O365 for the first time and it just does not work.

I can try filtering on a value, which works. Or I can try filtering on a choice control, which works. But when I try to filter on a value that is from another lookup, it does not work. Any ideas?

Not applicable

Excellent post and it works perfectly for me.  I had previous learned how to do two-tier cascading drop downs from another post.  This is awesome.  I wonder how many tiers you can go so I might build onto this and see how far down I can go.  Thank you again for sharing.

Nintex Observer

Hi, it worked very well for me! Very good tutorial. From my side I have a 3 levels choices like the tuto.

Thank you!

Nintex Observer

In addition when we have a dupplication of correspondance from the second list, you may have a problem as I encountered. Even if it is the same value in the lookup, the ID is not corresponding... So, in the n+1 filters you may have nothing in there. The workaround I found was to list every cases with the corresponding lookup ID (blindly).

I didn't found any tip to load lookup fields with the quick edit inserting the corresponding ID... I tried to insert directly the ID but field is not active and I tried to use the syntax ID;#VALUE, but SharePoint was not able to interpret it. finally I did it manually.

But it is now working, I didn't have seen this behaviour before my precedent post

Automation Master

I just accidently ran into this blog post, and I must say; good content - helped me help a client - and, 90s music related title? Yes. Yes, I like this.

Workflow Veteran

Ya'll need to get on board this snippet from Aarti Shaw‌   - soo good, no more multiple list for the business to maintain

Nintex Newbie


Could you please create one just like this, but for a two-tiered?  I'm a newbie!



Nintex Observer

Hi Miriam,

for a two-tiered one, you just have to stop after the list B in the tuto.

Result should be good

Design Dabbler

Hi Sean/Guys,

I am trying to achieve the same functionality like you explained above, but when I select First drop down "Meal time", the other two drop downs below it "Meal type" and "Beverage" are greyed out. Nintex 2016 forms.

I really appreciate some help here.

Canvas Initiate

I am new to nintex and not a great coder but using the exact example, it works. So this process works really well. The problem, I am having is the third level menu has details of 255 or more characters and the type defaults to multi type not the single line type as expected and I dont see the the column as an option when trying to complete the third tier. I Is there anything you can recommend to help resolve this issue? 

Canvas Initiate

Hi, I am new to Nintex. So, I am learning as I go. I used the great example "Three-Tier Cascading Drop Downs: Do Go Chasing Waterfalls!" to create my own three tier menu and it works. However, the third table needs to have a "Multiple lines of text" type  but when I try to copy the data into a list with the single line of text, the data is truncated. I do understand its because of the 255 limitation. When I convert an excel spreadsheet into a list, the type changes from single line of text to Multiple lines of text which I need to display all of the data. The problem is when I try to link the field as shown in the example, it is not available. I figure this is because its a "Multiple lines of text type.  How can I get this to work. I really need some help PLEASE!!!!!