Lets users invite users to a "workspace" in a public app

Hi, community,

I’m looking to create a public app, where users can invite other users to view and collaborate on their data. The app needs to be public since everybody should be able to access it and create a user. As a user, I should have my own workspace, where I manage my own data, and to which I can invite other users. Now, if I’m invited to participate in another user’s workspace, I should be able to switch between my own and their workspace, much like how the “View as user” feature works here in Glide.

In theory, I should be able to participate in an infinite number of workspaces, using the same email.

I imagine users invite other users via a form on a members/team page, through which they should also be able to remove them. When the inviter submits the form, the invitee should receive an email invitation.

I’ve been looking at topics on row owners, roles, and everything in between, here in the community, but haven’t managed to figure out if this functionality is feasible.

Any help would be much appreciated.

Thanks.

There is actually a feature request for this, but it does not seem to be very popular. Not even I voted for it (I have other things I used my precious votes for).

That said, in one of my apps, I actually wanted users to be able to “share” data, including whether the other person could only view or also modify the other person’s data.

So it can be done, but there is a finite number of users you can share with – limited only by how many columns you care to set up to share the ‘row owner’ feature.

In my app, that limit is 8.

It is a ‘geneology’ app of sorts, and so if I enter great-grandma, I want to be able to share great-grandma with everyone else who is related to her.

You’ll notice I specified “in lowercase”. There is a Glide feature that will allow you to lowercase into a ‘computed’ field, but you cannot set a computed field as row owner.
image

You could also micro-manage your users by checking for a valid email address, but I chose not to do that.
image

I have almost the exact same use case as you and I had to do it all in Google Sheets with some complex arrayformula/normal formula to handle the unknown amount of row owners I may have. It’s certainly not an easy build.

3 Likes

If roles weren’t limited to 9 per user, then I think it could be handled with roles.
But that would introduce a cost consideration, as every user that gets added to a team would effectively become a private user.

1 Like

Thank you very much for the detailed explanation of your setup @David_Gabler. I have a feeling I’ll run into problems with it though in my app. Whatever solution I come up with needs to be really robust otherwise I’ll rather do without.

I don’t think this is a very unique/specific feature and see it in many other products such as Slack and Notion (and pretty much any other product where you can invite other users).

Thank you for the input @ThinhDinh. I think what you’ve come up with will almost certainly be too complex for my skill set.

I think you’re on to something there @Darren_Murphy. It seems that Glide’s focus on companies who want to build “internal tools” leaves its traces here and there…