I’m running into a puzzling issue with Row Owners and visibility right after a new user signs in. Here’s my setup and what’s happening:
My app has a sign-on screen where a new user enters their Name.
A Go button appears once the fields are complete.
Pressing Go runs an action that:
Checks the user’s Email against an If-Then-Else column to detect their company domain (e.g., randomagency.com, partnergroup.com, etc.).
Writes the resulting company name (e.g., “AgencyA” or “PartnerGroup”) into the Role column of the Users table.
The Role column is a basic text column (not computed) and it visibly updates as expected — I can see the value appear in the Data Editor.
Then:
The sign-on screen is set to disappear when the Role column is filled, revealing the Home screen.
The Home screen contains a collection pulling from another table where the Row Owners column is also “Role” (role-based ownership).
The role text in both tables is identical (e.g., “AgencyA”).
Here’s the problem:
After sign-in, the collection stays empty, even though the Role value clearly matches the Row Owner value.
If I go to the Data Editor, manually retype the exact same text (for example, “AgencyA”) into the Users table Role column and return to Layout, the collection suddenly becomes visible within a second or two — so the matching logic does work, but not immediately after the automatic action runs.
It feels like Glide isn’t recognizing the new Role value as “real” until I manually edit it — as if the automatic write doesn’t trigger a security or ownership refresh.
Has anyone experienced this timing or recognition issue before?
Is there perhaps a workaround — for example, adding a short Wait or Shuffle step in the “Go” action — to force Glide to re-evaluate or acknowledge the change in data immediately?
Thanks in advance for any insights or workarounds!
In my setup, the user’s email address is checked through an If-Then-Else column in the Users table, which determines the user’s company or domain group (e.g., by looking for a domain fragment like @randomagency.com).
When the user presses the Go button on the sign-on screen, a custom action runs that sets the Role column in the Users table to the result of that If-Then-Else column. This part seems to work correctly — I can see the Role value being written in real time to the user’s row during sign-on.
However, even though the value appears instantly in the data, the collections on the Home screen (which rely on that Role value for visibility and Row Owner logic) stay hidden until I manually re-enter the same text in the Data Editor. It’s as if the automatic write doesn’t trigger Glide to refresh ownership or visibility immediately after the sign-on action.
Glide will clear the value as soon as it syncs with the back end. Roles cannot be set via user interaction workflows. As @NFNHello said, you must use either a server side workflow, or the Glide API.
Would it be possible for the Go button to trigger a Glide API call directly?
I’ve seen another community tip where someone used Make.com to call the Glide API successfully, and I understand that API actions can essentially access the app as if they were running with admin-level permissions.
However, I’m wondering how that applies when the API is triggered by the end user themselves — for example, from the Go button on the sign-on screen.
Would the call still execute with full app-level permissions (like the owner/admin), or would it be restricted in some way because it’s initiated from a user action rather than from the backend
I understand the manual approach however I want to set up in advance a short list of private networks, and use the logic of the email to assign the new user automatically into the correct network. There may be times when I am not alerted to a new user for several hours, and this may cause frustration with new users who are expecting instant access.
OK, you mean trigger manually by a user event. Yes that will work perfectly. Apologies I thought you meant manually going into the data tables and writing directly into the glide table.
Yeah. Apologies for my terse replies, but I’m outside. If you watch my video you should get the idea. I think in the video I might have used a webhook trigger, but a manual trigger works just as well.
No your replies and especially the video are super helpful. You first showed a webhook trigger using make then made another using a Glide webhook… very cool.