UserSetting as a holding area for user-specific variables affecting app behavior

I am learning from various posts that UserSetting can be great holding area for not just “setting” but also user specific variables that control the behavior of the application. The really useful behavior of UserSetting is that it can be written by Actions and changing it does not affect any other user.

An alternative would be a table that is keyed by USEREMAIL to hold these variables. That approach would work well if the set of users is static and one is okay creating a row for each one of them ahead of time.

On the other hand UserSetting does not have this limitation and would be perfect except that there seems be only 10 of them. I do not see a way to add more. For most apps, where UserSetting is truly used to hold “settings” that should suffice. But when it is used as a holding area for user-specific variables, I can see how one could easily run out when the app has significant complexity.

May be a feature request for AppSheet? Curious what other alternative ideas others are using.

I changed this as a feature request.

One workaround is to save more “variables” in one field than just one. For example you could fill the field like “Variable#1 , Variable#2 , Variable#3 , etc. Then you could read variables out of it like INDEX(SPLIT(Userettings(Variables),” , "),1)

1 Like

Thanks @Aleksi
Agree. I did think about overloading on lines you suggested, just that it would get harder to debug.

I am good for now but was just checking on possibilities. Thanks for making it a feature request.

1 Like

Hi - can you please elaborate on how this works - as I can’t find any instructions as to how to write a UserSetting via Actions? (or is this part of the feature that you are requesting?) thanks!

1 Like

@crprocone_CR, yes, I was unable to write to UserSetting using Action either. When I wrote the post I thought one could but when I tried to do it, could not figure out.

Yes that’s true, you can’t write values with an action at this moment.

…but could we have that, please? thanks