Skip to main content
Question

Attachment field not working in custom interface

  • February 18, 2026
  • 4 replies
  • 39 views

I have a custom interface created by Omni where I have a button to create a new record in a table. When I’m creating a record from this interface, I want to upload a csv file into an attachment field, however, the code isn't working.

 

The file will appear to have been uploaded, but when I check the data table, it's not uploaded or it's uploaded in a corrupt format that doesn't load again.

 

How can I fix this in the interface? Omni has not been able to solve for this yet.

4 replies

TheTimeSavingCo
Forum|alt.badge.img+31

Hm, it sounds like you’re trying to create the record and upload the attachment at the same time?  Sounds silly, but what if we made the flow:

  1. Create a new record
  2. Show you a page to upload an attachment to that record

Maybe Omni will be able to figure out how to get that to work instead?

If that isn’t feasible we can also grab the code and modify it, and do this by selecting the Custom Interface Element and then editing the source code.  Note that once we do this we won’t be able to get Omni to modify the element again though


Mike_AutomaticN
Forum|alt.badge.img+28

In line with Adam’s answer above, what I’ve done in the past is (i) click on Edit source code, (ii) explore what’s in it -if you cannot figure it out you can still share a copy and paste with gpt, claude or orther, (iii) understand what needs to be done (or ask AI), (iv) share the instructions with omni (or the actual code snippet). In this way you get your system to work, whislt still being able to leverage Omni in the future for the same custom interface.

 

Completely different matter, but would love to have you join the March 2026 AT Community led Hackathon! Make sure to sign up!!

 

Mike, Consultant @ Automatic Nation 
YouTube Channel


Forum|alt.badge.img+4
  • Participating Frequently
  • March 5, 2026

This has nothing to do with interfaces at all but how the Airtable attachment field works.

The attachment field does not accept raw file data, blobs, or base64 strings only an array of attachment objects.  Each object must contain a publicly accessible HTTPS URL at the time the record is created.

When the correct format for creating the record is:

[
{
url: "https://example.com/file.csv",
filename: "file.csv"
}
]

 

If you are passing CSV contents directly Airtable will appear to accept them but won’t actually persist the file- causing the “uploaded but corrupt/ missing in the table” behavior you’re seeing.

 

To fix this:

-Upload the CSV to a storage provider (S3, Cloudinary, etc.) first.

-Generate a publicly accessible HTTPS URL.

-Pass that URL into the attachment field when creating the record.

If Omni isn’t able to generate a public URL before the record is created, you’ll need a middleware step to handle the upload and return the URL.

Once Airtable receives a valid URL in proper attachment format, the file will attach correctly and not corrupt.


TheTimeSavingCo
Forum|alt.badge.img+31

@Mike_AutomaticN Ooh that’s a really neat trick, nice one