Row Owners

Hi there, I’m a newbie (diy’er) I did watch some videos and read some of the documentation but am getting confused on the row ownership.

I am trying to set up a CRM with different sales reps. When sales Rep A logs in, I want them to only see their leads. I have a spreadsheet in Glide with an owner assinged. When I log in as that owner I see all leads.

Not sure what I’m doing wrong here?

Here’s my security settings, should these be different?

First off, Row Owners is really a security feature and if you only need to control visibility, you don’t necessarily need to use Row Owners to accomplish what you’re after (you can just filter your lists where the email column in the row is the Signed-in User).

If you want to use Row Owners to secure the data and completely prevent other users from accessing rows they have no business seeing, then it sounds like you’ve got things configured properly. The Row Owner column should have the user’s email address that should be able to view that particular row. Other users should not be able to see that row, so the lists should automatically get filtered for you based on who is the Row Owner.

If you just added a Row Owner column in the Editor and you’re not seeing any changes (i.e. you can still see all rows even when you’re “Viewing as” a specific user), try refreshing your browser window. I’ve noticed this is necessary to make the newly added Row Owner column stick. I’d also choose the “Collect Real User Email Addresses” to ensure your Row Owner emails match the ones that are found in your User Profile table. If you don’t do this, your Row Owner column will need to have the user’s anonymously-generated email instead of their actual email address.

1 Like

OH thank you… so my leads are attached to the users by a connection (and that is where the login is set to the users sheet) . So I tried setting up the list as you mentioned above but it doesn’t seem to make any difference. Refreshed screen etc.

Did I put this in the wrong place?

It looks like you’re just adjusting the visibility of the full tab, not filtering the list.

In the Screen section (left side of the Editor), you should have a list of components and one of them should be a list. If you click that component, on the right, you should have similar General/Options choices at the top. In the options, you should have a Filter group where you can filter by signed-in user.

1 Like

Ok thank you again, I’m learning so much already…

So perhaps the way I have my “user” connection to the lead is not set up priperly because I can’t find a way to filter by the signed in user.

I’ve tried several different settings but none of them say “the signed in user” as an option.

Does your leads table have a column that contains the email address of the Sales Rep that is in charge of that lead? And if not…should it? Can the rep ever change for a lead?

My leads table has a column that has a “relation” connection to the user name aka Sales Rep (which is the table where the sales rep email is stored).

Like this

and then the rep connenction - connects to the users table which stores the email

This screenshot is the users table

Is the relation in your leads table a single relation or a multiple relation? If it’s a single relation (which it should be), then add a Lookup column the retrieves the Rep’s email out of that relation. The set up your filter on the list to filter where the Lookup email is signed in user.


Wohooo that did it :smiley: :smiley: :smiley: thank you so much!!

1 Like

Hello guys,
I saw in this video that row owners can also be multiple as long as we have the emails in an array column, I’ve tried to do that with no luck, my list of users are pulled from Users sheet through a multiple relation but the option of “Make row owner” in the column is not available neither in the Lookup column nor in a Joined List column. Does the column with the array of users have to be in a different format? Thank you guys in advance!

An array will only work if it was built using the sequential numbering scheme in a google sheet. (Email 1, Email 2, Email 3, etc.).

Think of it this way. A Lookup column is a computed column, which needs the data to be sent to the user’s device before the lookup will work. At that point it’s too late, and you can’t assign row owners to a lookup because security has already been compromised by sending all data to the user’s device. Google sheet arrays are unique because the array is built before it’s sent to the user’s device. That why Google sheet arrays happen to work as row owners.


For sure, this is the most unintuitive part for anyone new to Glide looking to implement row owners. “I have an array, I want it to be row owners…oh wait I can’t.”