Skip to main content
Learnengineawesome

Multi-File Upload

Create a record for every file you upload

The Multi-File Upload blocks let users pick or drop a batch of files and get one new record per file. They work like a bulk version of the Create New action: instead of adding one blank record, each uploaded file becomes its own record, with the file already attached.

There are two blocks. They do the same job and share the same settings; they only look different:

  • Multi-File Upload Button: a button (labeled "Upload Files" by default) that opens your computer's file picker, where users can select several files at once.
  • Multi-File Dropzone: a dashed drop area that says "Drop files here", with a Browse files link for users who would rather pick files. It also lists the file types the field accepts, for example "Allowed: Images, Documents, Spreadsheets, Interactive, Text".

When to use it

  • Photo libraries: drop a folder of product or property photos and get one record per image.
  • Document intake: upload a stack of receipts, invoices, or contracts in one go.
  • Media catalogs: add a batch of audio or video files, each as its own entry.
  • Any object where records are mostly "a file plus some details" and users often add many at once.

Before you start

The blocks are only offered for object types that have at least one File, Image, or Media field. Each uploaded file is stored in the field you choose, so add one to your object type first if it doesn't have one.

How to add it

  1. Open the layout editor where you want users to upload files. This is usually a layout that lists records, so new records show up right away.
  2. Add a Multi-File Upload Button or Multi-File Dropzone block.
  3. The block shows a Field picker. Choose the File, Image, or Media field that each upload should be stored in, then click Select.
  4. Optionally, click the button or drop area text to change its wording.
  5. Adjust the settings described below.
  6. Save and publish your layout.

Settings

  • Display: switch between the Multi-File Upload Button (Button) and the Multi-File Dropzone (Dropzone) without re-adding the block.
  • File Name Field: optional. Pick a Text or Textarea field to fill with a name for each new record (see How record names are filled). Only plain text fields are listed, since a file name wouldn't be a valid value for fields like Email or Phone Number.
  • Show Only When Editing: on by default. The block only appears while the view is in edit mode. Turn it off to show the block all the time.
  • Edit New Objects: only available when Show Only When Editing is off. When on, each new record switches into edit mode right after it is created, so users can fill in the rest of its details.
  • Label position: show the field's label above or below the block, or hide it (the default).

How it works

The blocks follow the same rules as Create New:

  • They create records of the nearest object type in the layout.
  • Users need permission to create records of that object type. If they don't have it, the block is hidden.
  • If the block sits inside a relationship (for example, a list of Photos on a Property page), each new record is linked to that parent automatically.
  • New records are added to the current list, so they appear without a page refresh.

Allowed file types

Both blocks only accept the file types allowed by the chosen field. The file picker only shows matching files, and files dropped on the dropzone are checked against the same list. A file that doesn't match is skipped with a message like "photo.tiff is not an allowed file type", and the rest of the batch still uploads. To change what's accepted, update the category toggles on the field.

Uploading and saving

Files are uploaded and saved one at a time. While the batch runs, the button or drop area shows the progress, such as "Uploading 3 of 10…". When it finishes, a single message such as "Created 10 objects." confirms how many records were created, instead of one message per file.

If something goes wrong partway through, the problem is listed under the block:

  • A file fails to upload: that file is skipped and the rest of the batch continues.
  • A record fails to save: the batch stops. Save errors usually affect every file in the same way, such as a required field that isn't filled in or reaching your plan's record limit, so continuing would only repeat the same error. Records already created are kept.
If your object type has required fields other than the upload field, the batch will stop at the first save. Either make those fields optional or give them a default value before using these blocks.

How record names are filled

If you set a File Name Field, each new record gets a name automatically:

  1. For JPEG and HEIC images, the block first looks for a title saved inside the image itself. This is the title you can set in tools like Adobe Lightroom or Photoshop, or in the Windows file properties dialog.
  2. If there's no embedded title, it uses the file name without its extension. For example, beach-sunset.jpg becomes beach-sunset.

Example

You run a real estate app with a Properties object and a related Photos object. Photos has an Image field called Photo and a text field called Caption. On the Property detail layout, you add a Multi-File Dropzone inside the Photos list, set its field to Photo and File Name Field to Caption, and turn off Show Only When Editing so agents can upload without editing the property first.

After a shoot, an agent opens the property and drags in 30 photos. The dropzone uploads them one by one, creating 30 Photo records already linked to that property. Photos the photographer titled in Lightroom get that title as the caption; the rest use their file names. A single message confirms the upload when it's done.

Tips

  • Place the block inside the list it adds to, so users see new records appear as they upload.
  • Use the dropzone where there's room and users will often drag files from their desktop. Use the button in tighter spaces such as toolbars.
  • Turn on Edit New Objects when every record needs extra details after upload, such as a description or category.
  • Pair it with Action Buttons set to Show Only When Inline Editing to show Save or Delete buttons only on the records that were just opened for editing.