Airtable attachment URL behavior
  • 09 Feb 2023
  • 4 Minutes to read
  • Dark

Airtable attachment URL behavior

  • Dark

Article Summary

On November 8, 2022, Airtable introduced expiring attachment URLs across our product surface areas to help increase attachment security. That means when you share attachments stored in Airtable via URL with external colleagues, the link you provide them will expire after a couple of hours.

This change does not affect the following:

  • Form URLs
  • URL fields
  • Google Drive, Box, or other 3rd party attachment storage services
  • URLs in text-based fields

What are expiring attachment URLs?

Airtable attachments include a URL where the attachment can be publicly accessed via a web browser. This presents a potential security risk for any files that contain sensitive information. For that reason, we introduced expiring public-accessible attachment links starting November 8th, 2022.

Which surface areas are impacted?

Most customers should only experience the benefits of the enhanced security related to expiring attachment URL behavior. However, certain customer workflows in Airtable may be impacted:

  • The use of Airtable to host files on the internet.
  • We have and will continue to discourage the use of Airtable for this purpose.
  • Any workflows where a file held within Airtable will need to be shared for a prolonged amount of time with an external colleague. We recommend that you share a view with the colleague and ask them to download the file themselves, should they need it for future reference.
  • Airtable formulas - Formulas that reference attachment fields will not experience any changes in output. However, any attachment links that are output will become invalid and no longer work to access the attachment.
  • Copy paste - URLs obtained from copying an attachment cell value (CMD C) will open the file to the attachment viewer within the product, instead of directly opening the file.
  • CSV exports - You’ll need to download any attachment files from the links in the exported CSV file before those links expire.
  • API - Similar to CSV downloads, attachment links obtained via Airtable’s API will expire after a given amount of time.

For workflows that are dependent on the format of the attachment URL or identifiers within it (eg: filename), there is nothing in the attachment URL that can be interpreted in a meaningful way. To reiterate, the attachment URL formatting is not part of our compatibility surface, so users should not attempt to parse or interpret attachment field URLs.

General recommendations

  • When sharing a file with colleagues who have access to the base where the attachment is being stored we recommend that you open the attachment preview window (click into the attachment field and press the spacebar) and copy the URL in your browser like so:5100308772887attachmentsViewerURL.gif
    This URL is static and will not expire unless the attachment is removed or the record is deleted. Links will only be accessible to users who have been added as collaborators in the workspace or base where the attachment is located.
  • If you are sharing a file with a colleague who is not collaborating with you in Airtable, then you will need to consider alternative ways of sharing the file attachment in question. Typically, the best practice would be to navigate to the attachment in Airtable, download the file, and then share it with the colleague in an email, via Slack, or some other surface that your organization uses. Alternatively, you can share a view with the colleague and ask them to download the file themselves, should they need it for future reference.

Recommendations for Zapier integrations

For users that rely on third-party integrations through Zapier that interact with Airtable attachments, we recommend the following:

  1. Go to an existing Zap that interacts with an attachment field. For example, you may have a Zap using the trigger "New record in Airtable" that will email an Airtable Attachment URL
  2. In the above example, go to the "Set up trigger" step of that Zap, and set the option "Include file contents?" to "True"
  3. Adjust any later Zap actions that were relying on the Attachment field, to use the new field instead. The new field will be named “(Attachment field name) File”. Note that this will only appear in Zapier as a result of changing the setting from step 2.

How do Automations interact with the Attachment field?

For Airtable automations that handle attachment records, there are 2 options for using attachment URLs:

  1. The attachment viewer URL property allows users to view the attachment but will require that they are signed into Airtable in order to view it.
  2. The expiring download URL property for use cases that intend to offer downloadable public links that will expire after some time.

We cover some deeper considerations related to image use in the Send email action in this article


What is an attachment URL?

Every file uploaded to Airtable in an attachment field has a set of properties, including a unique ID, a URL directly to the file, a file name, and other data related to the file itself (size, type, etc.). The URL to those files is what will expire every few hours.

What happens if an expired link is accessed?

Expired links will result in an error code such as "This URL has expired" or "Resource Expired" indicating that the URL is no longer valid or has expired.

What kind of links will be impacted? If I have a link to a Box or a Google Drive folder, will it be affected?

Only links to attachments stored in Airtable will be affected. Links added to single line, long text, and URL fields are unaffected by this change.

How many hours will the URLs remain active before expiring?

URLs will not expire for at least 2 hours after they are received.

I use APIs to obtain an URL to an Airtable attachment, and this usage is integrated with other tools, e.g. Zapier. It seems the URLs will expire. What should I do?

If you, or a third-party integration, are using API processes to obtain attachment URLs from Airtable, then it’s important to note that the URLs obtained will only be active for a short period of time (~2 hours). Using Airtable as a CDN has been and continues to be discouraged in line with this change.

Was this article helpful?