Help

Re: Restricting interface filter element so one client cannot view other client data

Solved
Jump to Solution
2732 0
cancel
Showing results for 
Search instead for 
Did you mean: 
adrian-wsa
4 - Data Explorer
4 - Data Explorer

Hi all

I'm trying to create an interface (dashboard) that uses a report Filter on client ID (eg. so that client A can only see client A data on the dashboard) (https://support.airtable.com/docs/interface-element-filter).

I have shared the interface to a test user as readonly, however the test user can simply change the value in the filter on top of the dashboard, then he can see any client's data.

What I'm looking for is to grey out the dashboard filter value, so it says client = "client A" for client A, and client = "client B" for client B etc).... I know I can create a different view for each client, however this is a lot of manual work as the number of client increases...

Any suggestion would be much appreciated! 

 

1 Solution

Accepted Solutions

Hey @adrian-wsa

You have to create a unique interface per customer and share each of them with the client you refer. While this seams to be painful and time consuming as a solution, as I have already done it I recommend the following steps: 

1. Create one interface and filter you data in data source and not on "record picker element". In this way by default the interface will include data only for that specific client and the record pricker element will show again only his related records. 

2. When you finalize the interface start duplicating it and the for each duplicated just update the filer in data source 

3. When you do updates in interfaces, you can create the new page in one of them, and then duplicate the page by adding it other's client interface. 

Last but not least, I you have a table with all your client data, I would recommend you so save there the link for their interfaces because you can use them in email notifications with automations, so then in emails you can include the url for interface. 

For any further question feel free to post on Airtable community. 

 

Yours sincerely, 
Dimitris Goudis  

See Solution in Thread

9 Replies 9

Hey @adrian-wsa

You have to create a unique interface per customer and share each of them with the client you refer. While this seams to be painful and time consuming as a solution, as I have already done it I recommend the following steps: 

1. Create one interface and filter you data in data source and not on "record picker element". In this way by default the interface will include data only for that specific client and the record pricker element will show again only his related records. 

2. When you finalize the interface start duplicating it and the for each duplicated just update the filer in data source 

3. When you do updates in interfaces, you can create the new page in one of them, and then duplicate the page by adding it other's client interface. 

Last but not least, I you have a table with all your client data, I would recommend you so save there the link for their interfaces because you can use them in email notifications with automations, so then in emails you can include the url for interface. 

For any further question feel free to post on Airtable community. 

 

Yours sincerely, 
Dimitris Goudis  

adrian-wsa
4 - Data Explorer
4 - Data Explorer

Thanks a lot for your help! 

Hey Dimitris, I'm suffering from the same problem, and I think I understand what you're asking to do, however, I cannot find a way to 'filter the data in the data source'...

My data source is a table of all my users, and the users belong to specific clients. So client A has user 1, 2, 3, and client B has user 4, 5, 6. The interface is connected to this specific table.

So I really need the filter to do what it's intended to do....

Do you have any other workarounds?

 Screenshot 2024-04-10 at 15.22.34.pngScreenshot 2024-04-10 at 15.26.16.png

Hey @byzaaaaaa,

At this point dynamic filtering isn't available? 

Thanks

byzaaaaaa
4 - Data Explorer
4 - Data Explorer

Is that a question or a statement? 

@byzaaaaaa

I am asking if at the point of your screenshot if the dynamic filtering is aloud. btw where do you try to add this filtering setting? 

Thanks

Not yet on a paid plan so don't have access to dynamic filtering. I am unsure if dynamic filtering changes this though (will make it work)...

Thanks for your answer! I wonder if you came up with a more automated solution since your answer. I see your explanation as the default solution given the Airtable features. I tried an alternative method but there is one missing point. 

I got a single interface for all clients (gallery view and record review), then put a filter dropdown and shared it as public. From the public link, I selected a client Contact from the dropdown filter and the URL for this selection has a particular pattern which I managed to reverse engineer and replicate for other clients using a script automation. So, I got an already filtered URL for each client and added it as a field in the base with  automation. I found this method from this community entry

Now, the missing point is that the filter is still there, and they can see other clients. I tried to remove the filter item from the interface design but after publishing it, the filtered URLs to interfaces no longer worked. When I was trying earlier, I had one experiment where I found that even after removing the filter element from design, I was getting the filtered view for client which is exactly what I needed (giving a personal URL to each client without seeing other clients). I'm not sure if this successful experiment was an bug or an illusion in my case because I wasn't able replicate it afterwards. 

Please let me know if you know any solution for this case or any workarounds. Thanks! 

Hey @baris_art

I am thinking that optimizing your current system more I think you will meet some limits in terms of scalability.. 

Why don't you build an application interface that will also improve your clients' user experience? Totally recommend Noloco or Softr for something like this. 

Thanks