Feb 26, 2024 11:25 AM
Is it possible to automate the status of read-only interface collaborators? For example, when the status of a collaborator changes to 'inactive' in my base, I'd like to remove them as collaborators on all interfaces. When their status changes to 'active', I'd like to remove their access to Interface B but preserve their read-only access to Interface A.
Solved! Go to Solution.
Feb 27, 2024 12:22 PM
Those endpoints for adding or deleting collaborators are only available to people on Enterprise plans. They also are part of the web API, not part of scripting. Although it is technically possible to access the web API with scripting, it is not secure.
Thus, it is not realistic to use scripting to control access.
However, you can set up your fields and interfaces to only show records to active users. Have a table of users where you store the status of each user. Link users to their records in other tables. Use conditional lookup fields to include only users who are active. Then in the interface, filter the records to only include records where the current user is in the conditional lookup.
Inactive users would still have access to the interface, but would not be able to see any records.
Feb 26, 2024 06:22 PM
There appear to be an API endpoints for this, so it should be possible, yeah:
https://airtable.com/developers/web/api/add-interface-collaborator
https://airtable.com/developers/web/api/delete-interface-collaborator
Feb 27, 2024 08:07 AM
I did see this, but it is not clear to me how to integrate these into a script. Could you provide an example of what it would look like in the script?
Feb 27, 2024 12:22 PM
Those endpoints for adding or deleting collaborators are only available to people on Enterprise plans. They also are part of the web API, not part of scripting. Although it is technically possible to access the web API with scripting, it is not secure.
Thus, it is not realistic to use scripting to control access.
However, you can set up your fields and interfaces to only show records to active users. Have a table of users where you store the status of each user. Link users to their records in other tables. Use conditional lookup fields to include only users who are active. Then in the interface, filter the records to only include records where the current user is in the conditional lookup.
Inactive users would still have access to the interface, but would not be able to see any records.
Feb 27, 2024 12:33 PM
Thank you! That is essentially what I have done, was just hoping for a more complete removal of access without having to manually remove.