How to Enforce One Attachment per Record in Airtable

You’re working in Airtable and you’ve got a field where people can upload an attachment.

This could be a product photo. This could be a profile picture for a contact. This could be a scanned contract you want to keep on file.

The setup works fine if there is only one attatchment per record.

But Airtable’s attachment field lets you upload multiple files. That means someone could accidentally add two or three pictures or files when you really only want one.

This creates confusion. You do not know which picture is the correct one or what document is the correct one, and users can end up attaching duplicates or the wrong file altogether.

What you really want is a way to enforce one attachment per record.

Is this possible to set up in Airtable?

Not directly. Airtable doesn’t have a built-in option to restrict an attachment field to a single file.

But with a little creativity, you can work around this limitation. There are a couple of approaches that make it possible to keep things to just one attachment per record.

Option 1: Limit uploads through forms

One way to handle this is by having people upload files through a form instead of editing the table directly.

In the form settings, you can place a restriction on the attachment field so that only one file is allowed. If someone tries to add more, the form won’t let them submit.

Limit uploads through forms

That way, every time a record is created through the form, it will always contain just a single attachment.

Option 2: Use attachment proofing (Business and Enterprise plans only)

Airtable now supports versioning for attachment fields.

Normally, an attachment field just holds files. If you upload a second file, it simply sits alongside the first. But with versioning enabled, the field works differently.

Instead of storing multiple separate files, the field now keeps track of versions of a single file.

The first upload becomes version 1. If you upload again, that file becomes version 2. Upload once more, and that becomes version 3.

At any point, the field only shows the latest version, while still keeping the full history in the background. You can also review past versions or leave comments on them.

To make sure only one file is kept, you can schedule an automation that runs on a daily basis.

This automation checks each record, and if multiple versions exist, it removes everything after the original version.

Use attachment proofing

A sample script you could use in the automation to retain only the first file looks like this:

let { urls } = input.config();
output.set("url", urls[0]);

The next step in the automation should be an Update record action, where you take the URL returned by the script and write it back into the attachment field of the record that triggered the automation.

This way, you’ll always have just one version stored.

While this method doesn’t strictly prevent people from uploading more files, it lets you automatically clean up the field so it behaves as if it only supports a single attachment.

Need help or have feedback? Email me at[email protected]