I have an Airtable linked to my Glide app and my issue is that User profile column value is not saved to other tables. At first it is, then it disappears.
I have chosen a “Role” column in my user profile to determine the role of the user.
Every time a user submits info about his prospects from the Glide interface, the app automatically sets column value of the “Row” column of the prospects tabe to the User’s role from he User profile column.
At first I can see that the value is set correctly to Prospects table, however then the info updates and the “Role” column automatically sets to the user’s email.
When I try to write the same Role or any other User info to different columns of the Prospects table, nothing gets saved.
I just tried to replicate that behaviour, but I was unable to.
Can you tell me more about how you are setting the Role column when new rows are added to your Prospects table? eg. is it done with a form? if yes, is the Role value passed with the form, or is it done as an onSubmit Set Column Values action? If the latter, that probably explains the behaviour that you’re seeing.
It’s the latter. I set the Role column with an on submit set column. Is there another way to do that, so the user doesn’t know that I’m setting this column for him?
The problem is that the row is initially written with an empty value in the Role column, and because that column has Row Owners applied, the user immediately loses access to the row. Which of course means that the onSubmit action fails.
The solution is to pass the Users Role as a User Profile Value with the form.
As a general rule of thumb, it’s best to avoid Set Column Values as an onSubmit action with a form. It’s known to be unreliable. The problem is that every now and then the onSubmit will fire before the new row is added, and so the Set Column Values will fail.