Help

Save the date! Join us on October 16 for our Product Ops launch event. Register here.

Re: Interface Filter Element URL

263 1
cancel
Showing results for 
Search instead for 
Did you mean: 
Tristan_Scifo
6 - Interface Innovator
6 - Interface Innovator

I’ve built a client meeting interface for my team with the following elements:

  • Client record dropdown element
  • Meeting record dropdown element
  • Client Goal filter element (to filter for only the goals linked to the meeting)
  • Client Action Item filter element (to filter for only the action items linked to the meeting)

My objective is to generate an automated URL to view the interface with all 4 elements prefilled.

I’ve been able to prefil the client record and meeting record, since these only use record IDs.

However I can’t seem to identify what data type the filters utilise in their url code.

Here are some examples of one of the filter’s URL code:

0Klo0=b%3AeyJBYk5NTyI6W1swLFsicmVjWEtBdGMzQmJaY0JlaUYiXV1dfQ
0Klo0=b%3AeyJBYk5NTyI6W1swLFsicmVjR1pWRzc1OU50Q2JORDkiXV1dfQ

The bold part appears to be the value of the filtered meeting, but is clearly not a record ID.

If I can identify this value type and source the value, I can then build my desired prefilled URL formula for the interface.

Any insights or suggestions would be greatly appreciated.

T

16 Replies 16
Harry_Singh
5 - Automation Enthusiast
5 - Automation Enthusiast

I believe [Interface] Use Data to Populate Connected Filter ... - Airtable Community   is a new idea request for this to be implemented. 

einfachiso
5 - Automation Enthusiast
5 - Automation Enthusiast

Hey, 

i had the same issue and just tried a few things.

The parameter for setting the filter is

b followed by a URL encoded colon (%3A) followed by a Base 64 encoded record that looks like this in my case:

{"lmq2i":[[6,["rec5N7fBUoLjX5wh8"]]]}

In your case (eyJBYk5NTyI6W1swLFsicmVjWEtBdGMzQmJaY0JlaUYiXV1dfQ) it contains this:

{"AbNMO":[[0,["recXKAtc3BbZcBeiF"]]]}

The first element seems to identify the filter (AbNMO), don't know what the integer value indicates but then follows the record ID for the elements selected in the filter.

Hope this helps. 😃

It worked!! THANK YOU! First decoded the url after the %3A as described. Then used the script shared here to encode it with the desired recordID filled in. Thank you!!!

Could you give more details about how you did this? Are you using an Automation Script step to create the link to the interface for the record at record creation? Could you share your script if so?

olafjasiniak
5 - Automation Enthusiast
5 - Automation Enthusiast

I think I've managed to solve this:
I tested it on a "blank page" interface, it has a filter element and a grid table

When I select one element in the filter element (linked records), the URL looks like this:

https://airtable.com/{{base_id}}/{{interface_id}}?2HzwN=b%3AeyI4dGtRNiI6W1s2LFsicmVjbFpqMzhmMVhwcERUMXEiXV1dfQ   

normally, when using a record picker, the querystring looks like this: ?2HzwN={{record_id}}

Turns out, that the long string starting with "b%3Aey..." is base64 and url encoded, you can decode it using GPT4 quickly, which will give you the output of:

{"8tkQ6":[[6,["{{record_id}}"]]]}

Knowing this, you can generate the dynamic link using make.com for example. It's going to look like this:

https://airtable.com/{{base_id}}/{{interface_id}}?2HzwN=encodeURL(base64 ("{""8tkQ6"": [[6, [""{{record_id}}""]]]}"))

Tested this out manually on a couple of examples and it seems to be working, the output is a working url to the interface, which after clicking, opens the interface with a prefilled filter element

 

EDIT: I've just only now seen u/einfachiso's reply (it wasn't pinned on the first page :D). The solution seems to be the same

 

Jason_Jakarta
7 - App Architect
7 - App Architect

 Great Work! Thanks for sharing in detail. It would be nice to see Airtable help out here and make this a bit easier 🙏🏻

Very smart solution and thanks for sharing.

That said, shame on Airtable!  Navigating between Interfaces with some session data that dictates filters and other parameters is a core and common aspect of any application.  The fact that their architecture actually does support this, but that they haven't provided an INTERNAL (not requiring Make) way of executing this is baffling! 

Common use case - Interface to views a list of Clients.  After selecting a specific Client, and the Interface showing their information, I want to navigate to a different Interface that pulls up an assessment on that client (so navigate to the page and preload the filter the the correct client's assessment).  Very common!

Before these LCNC platforms can truly start to displace bespoke applications - these types of common functions must be present.