Help

Edit permission for specific row in a database

Topic Labels: Base design Collaboration
Solved
Jump to Solution
1174 4
cancel
Showing results for 
Search instead for 
Did you mean: 
varun
4 - Data Explorer
4 - Data Explorer

Hello! New to Airtable. Trying it out to see whether I can use it for a specific need I have. 

Scenario: Our community (of around 500 members) have a shared google sheet having each of our basic details. I have imported that to a airtable base. 

Question: Can I set the permission on the base such that (i) all members can view the table AND (ii) each member of the group can edit their row?

Thanks!

Varun

1 Solution

Accepted Solutions
TheTimeSavingCo
17 - Neptune
17 - Neptune

I don't think so I'm afraid; there isn't a (economically feasible) way to allow users to edit only their own row.  The only way I can think of to do this would be to have a Pro or higher account and create an interface that will only display the logged in user's records.  This should work, but would mean you would have to pay for 500ish Pro seats, which comes up to 1000ish USD

You could look into using a third party tool like Softr or StackerHQ which would help with this, but you'd need to use their paid tiers to do this I believe.  Softr's Basic plan is 49 a month and has "1000 external users"; not too sure what that means but it's probably worth exploring!

See Solution in Thread

4 Replies 4
TheTimeSavingCo
17 - Neptune
17 - Neptune

I don't think so I'm afraid; there isn't a (economically feasible) way to allow users to edit only their own row.  The only way I can think of to do this would be to have a Pro or higher account and create an interface that will only display the logged in user's records.  This should work, but would mean you would have to pay for 500ish Pro seats, which comes up to 1000ish USD

You could look into using a third party tool like Softr or StackerHQ which would help with this, but you'd need to use their paid tiers to do this I believe.  Softr's Basic plan is 49 a month and has "1000 external users"; not too sure what that means but it's probably worth exploring!

varun
4 - Data Explorer
4 - Data Explorer

Thanks for the response! 

ScottWorld
18 - Pluto
18 - Pluto

@varun I would not recommend Stacker. The best portal tools on the market for this are FilloutNolocoSoftr, JetAdmin, and Glide.

AndyC
5 - Automation Enthusiast
5 - Automation Enthusiast

@varun - I believe you can actually achieve this using Airtable Interfaces. Some caveats are that your users can see the names of all other users who have access to the base and that they need to access the interface with an Airtable login that you will need to manually add to their user record. And you'll need to be on the Pro plan yourself to restrict users viewing the other base data. 

First set up your base with a "Members" table that includes a 'User' field type. In your main "All Details" table, add a 'Member' field that links each record to the respective member in the "Members" table. Then add a lookup field for this 'Member' field to add the 'User' field from the "Members" table. 

Then in the main "All Details" table, add an 'Edit' button using native Airtable forms and automations (detailed here in the community forum) or you can use Fillout.

Now set up your Airtable interfaces with two pages or views. In the first "All Details" page, this is for members to see everyone's details, so you won't show the 'Edit' button. On the second "My Details" page, you will show the edit button but most importantly, you will need to only show specific records by adding a filter where the 'User' lookup field is exactly the 'Current user'.

After you publish the interface, share it with all your members with the 'Read only' permission. And when they log into the Airtable Interface, they should only be able to see the 'Edit' button for their details on the "My Details" page. 

In terms of the order you need to add your members to the 'User' field, they can be added upfront if they already have an Airtable account. Otherwise, you'll need to share the interface with them first and after they've signed up with an Airtable account, you will then need to re-add them into "Members" table's 'User' field.   

I haven't test this on 500 members, but it does work for a handful of users I test it on.