Help

Re: How to Create a Button That Opens a Specific Record’s Side Panel in an Interface?

51 0
cancel
Showing results for 
Search instead for 
Did you mean: 
GrahamW
7 - App Architect
7 - App Architect

Hello all!
I’m working with an interface in Airtable where each record has a side panel that opens when I click on it, showing more information related to that record. When I click the link button at the top-right corner of the panel, I get a unique URL that directs me to that record with the side panel already opened, were I to paste it into a new window or share with a colleague.

For example, each record has a unique detail parameter in the URL that seems to encode both the record ID and other information. I’ve tried creating a formula to dynamically generate these URLs based on the RECORD_ID(), but I can't figure out how to replicate the exact structure of the detail parameter that opens the side panel view for each record. I've used AI to try and help, but the best solution proposed so far is manually entering each URL into the field.... Not happening. 

My goal is to create a button (or use a formula) that I can put in another interface page, using the same data(table) as that in the other interface, that will allow me to jump to this other interface with the side panel open for the record associated with it. 

What I’ve Tried:

  • I’ve attempted to dynamically construct the URL using RECORD_ID() in a formula, but it only brings me to the main interface page, not to the specific record with the side panel opened.
  • The detail parameter in the URL seems to be more complex than just the RECORD_ID(), possibly involving encoded data that includes other record information.

My Questions:

  1. Is there a way to programmatically generate the correct URL (including the detail parameter) for each record’s side panel using a formula or automation?
  2. If not, are there any workarounds (like using Airtable’s API, automations, or external tools) that could help automate this process instead of manually copying each URL?

Any advice or suggestions would be greatly appreciated! I’m looking for a scalable solution as I have many records, and manually generating the URLs would be time-consuming.

Thank you thank you thank you!!! 

3 Replies 3

Hello,

I do no not have a direct answer to you question, but if what you are interested in is to display an "item focus" page when clicking on a button, you can do the following:

- Add a hidden blank page to your interface starting with a record picker element set on the table hosting the records you want to focus on

- Design this new page as you wish

- Publish the page and copy the URL up to the = sign 

- In the table you are focusing on, add a formula field as being the URL part that you copied + RECORD_ID()

- Add a button field referring to this formula

The reason why I suggest to insert 2 fields, one for the URL formula, the other for the button is because you may want tp propagate this url into other linked tables.

Regards,

Pascal

AlliAlosa
10 - Mercury
10 - Mercury

For some reason, the side panel URL uses a base64 encoded string, making it very difficult to formulaically recreate the URL.

If you decode the string, it looks something like this: 

{"pageId":"{{pageID}}","rowId":"{{recordID}}","showComments":false,"queryOriginHint":null}

I suppose you could use an automation with a script step to populate a field for each record with the encoded string that should go on the end of each URL. I can help with that if you want, but I almost would recommend against it as it's a bit fallible.

A much easier fix is to use the full-page option for your detail page, instead of the side sheet. This changes the URL so that it simply uses the record ID and is super easy to emulate using a formula (what @Pascal_Gallais- described).

GrahamW
7 - App Architect
7 - App Architect

@Pascal_Gallais- @AlliAlosa I will try these in the coming days. Thanks for the help. I do wish the record selector view was mobile compatible(or that I could target that sideloading view more directly, on our existing view) but hard to deny this is a solution. 

Thanks for the help.