Q&A
so we have this intake form for our sales team where they pick a product from a dropdown. problem is our product list changes like every other week - new bundles get added, old ones get discontinued, pricing changes etc
right now someone on my team has to go in and manually update the dropdown options and half the time they forget. last week a rep submitted a request for a product we stopped selling 2 months ago lol
we also have a similar thing with our new hire onboarding form - theres a department dropdown and we went from 4 departments to like 11 this year and nobody updates it
is there a way to make the dropdown pull from somewhere so it stays current on its own? or is everyone just manually doing this
RT
River Thompson 路 Mar 26
+1 same problem here. following this
AH
Ashley Hernandez 路 Mar 26
you can connect the dropdown to a TinyTable. basically if you have your product list in a table (or import it there), the dropdown pulls options straight from a column. so when something gets added or removed from the table the form just picks it up automatically
we do this for a vendor selection form at work - about 80 vendors in a table with a status column, dropdown only shows ones marked active. vendor leaves, we flip the status, gone from the form. no one has to touch the form itself
for your department thing its even easier, just a single column table with the names and point the dropdown at it
MH
Michelle Harris 路 Mar 26
oh god yes. our support ticket form has a product version dropdown and every time we do a release its wrong. weve had customers picking v2.3 when were on v4.1 now haha
theres actually two ways to handle this depending on your situation
first one is what ashley said, connect it to a TinyTable. works great when you maintain the data yourself and want it to just stay in sync
second option is if your data lives somewhere else like a CRM or some other system. in that case you can go to the Settings tab on the dropdown question type and define a variable there. then whatever page is loading the form can pass the values in when it renders. so if you embed the form on your sales portal the portal can push the current product list into the dropdown without you duplicating anything
the variable thing is nice when
- values come from an outside API and you dont want to copy them into a table
- you need different options depending on who is filling out the form
- the parent app already has the list anyway
for most people id say start with TinyTable since theres zero code involved but the variable route is there if you need more control
JH
Jamie Hernandez 路 Mar 27
wait does this work if the form is embedded? we put ours inside our helpdesk tool
AH
Ashley Hernandez 路 Mar 27
yeah works fine embedded. the form fetches the table data when it loads regardless of where its hosted
DM
David Martinez 路 Mar 27
bookmarked. been meaning to fix this on our end too
PW
Phoenix Walker 路 Mar 27
we ran into this exact thing with our timesheet form. has a project dropdown and people kept picking projects that were already closed out. our PMs were spending like 20 minutes every monday morning updating the list across 3 different forms, total waste of time
switched to pulling from a TinyTable where we track active projects. row gets archived when a project wraps, dropdown updates itself. honestly cant believe we did it manually for so long
one thing to add on the variable approach - you can also pass a default selected value not just the options list. we set both the options and the default from our CRM when loading the form so the rep doesnt even have to pick anything if theres an obvious choice. took maybe 10 lines of js on the embedding side
MH
Michelle Harris 路 Mar 27
the variable option is exactly what i needed. our version list comes from our release pipeline so copying it to a table would be annoying. passing it in when the form loads makes way more sense for us
RT
River Thompson 路 Mar 27
this is super helpful thanks everyone
DM
David Martinez 路 Mar 28
kinda wish this was more obvious in the docs. i spent a while looking for this before finding it under settings. maybe im just bad at reading docs lol
good thread. quick recap for anyone finding this later
two ways to do dynamic dropdowns:
- connect it to a TinyTable column so it pulls values automatically. best for lists you manage yourself like products, departments, vendors etc
- or define a variable in the Settings tab of the dropdown question and pass values in from wherever the form is loaded. better when the data comes from another system or you need different options per user
both work with embedded forms
PR
Parker Ramirez 路 Mar 28
update: got it working. pointed the product dropdown at our product table and it just pulled everything in. took like 5 minutes including the csv import. kind of mad we did this manually for a year
thanks all