Unexpected behavior with Row Owners and Role assignment on first sign-in

Hi everyone,

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:

    1. Checks the user’s Email against an If-Then-Else column to detect their company domain (e.g., randomagency.com, partnergroup.com, etc.).

    2. 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!

— Simon

1 Like

How are you adding the value to the role column? It should be with a server side workflow or API.

Thanks for the reply!

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.

1 Like

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.

1 Like

Thanks for clarifying that — that really helps.

Can I just check something?

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

1 Like

Yup, you can use an app interaction workflow with a Call API or Trigger Webhook action to set the user role.

1 Like

I’d recommend a manual trigger, saves messing with the API. It runs with full privileges, regardless of the user that triggered it.

1 Like

Here’s an example

1 Like

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.

1 Like

Yes, that works well for a manual approach. However, I need it to be triggered. At sign in.

1 Like

Perhaps you don’t understand what a manual trigger is?
It will be fully automated.

1 Like

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.

1 Like

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.

2 Likes

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.

1 Like

Webhook method now implemented and working like a dream. I also like the idea of adding other actions such as email notifications, etc…

Thanks.

1 Like