Help

Re: Linking to Airtable Interface Details Pages

2096 0
cancel
Showing results for 
Search instead for 
Did you mean: 
wooti
6 - Interface Innovator
6 - Interface Innovator

I'm looking to send out an email when a record is updated to interface-only collaborators. 

I want the email to include a link to the record in question.

I've got a link to the record using the following formula:

 
But I need to link to the Details section of the record with this link. I.e., my Interface uses the 'Sidesheet' details pane. When I click the email link, I want to be taken to the correct Interface and correct page and have the sidebar pop out too. 

What do I append to the above formula to make the correct sidebar pop out?
5 Replies 5
wooti
6 - Interface Innovator
6 - Interface Innovator

Thanks for your reply @yoanna5!

I've appended "&modal=record-details" to the formula, but it's not opening the sidebar 😞 

Here's my formula - do you know what the issue would be?

"https://airtable.com/appxxx...?58Npc=" & RECORD_ID() & "&modal=record-details"



Lom_Labs
7 - App Architect
7 - App Architect

Hello @wooti  We've built an app just for this, and it even works if your Interface has filters: https://airtable.com/marketplace/blketWdmOlr98JMZl/sidesheet-link-generator

We've also created another app that will generate a script that you can use with Airtable Automations "Run a script" action to generate links to the Sidesheet in your Interface!

Interface Sidesheet URL Generator.gif

And you can try the app before buying it here: https://www.lomlabs.io/airtable/scripts/interface-sidesheet-link-generator

Did you find a solution to this?

FObermayer
4 - Data Explorer
4 - Data Explorer

Chat-GPT solved that issue for me (for list views where I wanted to link to record details):

How to Construct Direct Links to Record Detail Pages in Airtable

If you're looking to create direct links to specific record detail pages in an Airtable Interface, you can do so by constructing a URL with a Base64-encoded JSON object. This allows you to create dynamic links that directly take users to the detailed view of a record within your Interface.

The Basic Structure

A direct link to a record detail page typically looks like this:

https://airtable.com/{baseId}/{pageId}?detail={Base64EncodedJSON}

Where:
- baseId: The unique identifier of your Airtable base.
- pageId: The identifier of the specific Interface page.
- Base64EncodedJSON: A Base64-encoded JSON object that contains the `pageId` and the record's `recordId`.

The JSON Object

To construct the link, you’ll need to create a JSON object that looks like this:

{
"pageId": "yourPageIdHere",
"rowId": "yourRecordIdHere",
"showComments": false,
"queryOriginHint": null
}

- pageId: The ID of the Interface details page where you want the detail to be shown.
- rowId: The ID of the specific record.
- showComments: Set to `false` if you don't want to show comments by default.
- queryOriginHint: Typically set to `null`.

Encoding and Constructing the URL

Once you have the JSON object, you’ll encode it in Base64 and append it to your base URL:

https://airtable.com/{baseId}/{pageId}?detail={Base64EncodedJSON}

By following this pattern, you can dynamically generate URLs that link directly to the detailed view of any record in your Airtable Interface. This is especially useful for creating buttons or links within your base that navigate users to specific records.


Unfortunately, formula fields in airtable records do not support base64 encoding / decoding, so I only managed to do this via a javascript automation:

// Configuration: Update these with your specific base and page IDs

const baseId = '<base-id>'; //app....
const parentPageId = '<parent-page-id>'; //pag...
const pageId = '<page-id>';//pag...

const urlPrefix = `https://airtable.com/${baseId}/${parentPageId}?detail=`;

// Get the recordId from the input configuration

const { recordId } = input.config();

// Construct the JSON object with the correct pageId and rowId

const detailObj = {

pageId: pageId, // The pageId is constant for all records

rowId: recordId, // This should be the specific record ID

showComments: false,

queryOriginHint: null

};

// Convert the JSON object to a string

const detailString = JSON.stringify(detailObj);

// Encode the string to Base64

// @ts-ignore

const detailBase64 = Buffer.from(detailString).toString('base64');

// Construct the final URL with the encoded detail

const finalUrl = urlPrefix + encodeURIComponent(detailBase64);

// Set the output with the generated detail page URL

output.set("detailPageUrl", finalUrl);
lex_j
5 - Automation Enthusiast
5 - Automation Enthusiast

Here is how I did this for anyone curious.

You have to be sure that if you are not using Record Review or Record Summary pages, that you enable the record view to be full screen and not just a side panel. Once I did that, I used the following formula in a formula field:
Concatenate("https://airtable.com/appXXXXXXXXXXXXXX/pagXXXXXXXXXXXXXX/" & Record_ID() & "?home=pagXXXXXXXXXXXXXX")