Upcoming change to Airtable model URLs in scripting & custom apps

In 4 weeks, we’ll be rolling out a small change to the URL format returned from Table, View, and Record models via the .url property. Specifically, these URLs will now also include the base ID in their return value. This change affects both Scripting and Custom apps, and coincides with the recent change to include base IDs in Airtable URLs throughout the rest of product.

This may be a breaking change if your script or app makes hard assumptions about the format of this url property (e.g. by deconstructing the returned URL into its component parts with substring() or similar). No action should be needed if your script or app only uses the URL for navigational purposes.

Browser navigation will continue to work for the old-style Airtable URLs via redirects, although these redirects may not be supported indefinitely in the future. If your script or app constructs Airtable URLs from scratch, we recommend updating the construction logic to also include the base ID.

Summary of changes

Scripting

Table#url
Before: airtable.com/tblXXXXXXXXXXXXXX
After: airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX

View#url
Before: airtable.com/tblXXXXXXXXXXXXXX/viwXXXXXXXXXXXXXX
After: airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX/viwXXXXXXXXXXXXXX

Custom apps

Table#url
Before: airtable.com/tblXXXXXXXXXXXXX
After: airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX

View#url
Before: airtable.com/tblXXXXXXXXXXXXXX/viwXXXXXXXXXXXXXX
After: airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX/viwXXXXXXXXXXXXXX

Record#url
Before: airtable.com/tblXXXXXXXXXXXXXX/recXXXXXXXXXXXXXX
After: airtable.com/appXXXXXXXXXXXXXX/tblXXXXXXXXXXXXXX/recXXXXXXXXXXXXXX

3 Likes

Thanks for the official announcement. I noticed the base ID in the urls a few days ago.

How will these changes affect the url of a button field that calls an app. I am currently using a button button field with Page Designer to get the table id of the button field. Will I be able to use it to get both the table id and the base is? (It would be really nice if the table id and base id were available directly through a formula function.).

Also, when do you expect the change to be propagated to the record url available in automations? I am currently using the record url to extract the table id of the record.

This is unlikely. Uploading an attachment via script does not use any of the affected urls.

Hi @kuovonne! Great questions.

  1. The cell value url for button fields opening apps will be unchanged (ie, it will continue returning the legacy format sans base ID). Adding TABLE_ID() and BASE_ID() formula fns is a compelling idea, though - I’ll pass this suggestion along.

  2. I expect the record URL in automations to be updated on a similar timeframe (~4 weeks), but look out for a separate post pertaining just to automations. If possible, I’d recommend tweaking the extraction logic in your automation to work with both formats to avoid any automation run failures when the switchover occurs (e.g. use regex instead of substring helpers)

1 Like

Thanks! A RECORD_URL() formula would be most welcome as well.

2 Likes