QUESTPIE
Workspace

Bulk Actions

Select multiple records and apply actions in batch.

The list view supports multi-select for batch operations. Select records with checkboxes, then use the floating toolbar to act on them.

Using Bulk Actions

  1. Open any collection list view
  2. Check the checkbox on individual rows, or use the header checkbox to select all
  3. A floating toolbar appears at the bottom with available actions and the selection count
  4. Click an action to apply it to all selected records

Built-in Bulk Actions

ActionDescription
DeleteDelete all selected records. Shows a confirmation dialog with the count.

Selection Modes

ModeHowDescription
IndividualClick row checkboxesSelect specific records one by one
Select all (page)Click header checkboxSelect all visible rows on the current page
DeselectClick header checkbox againClear all selections

The floating toolbar shows the count of selected items (e.g., "3 selected").

Custom Bulk Actions

Define custom bulk actions using the .actions() extension:

.actions([
  {
    name: "publish-all",
    label: "Publish Selected",
    bulk: true,
    handler: async ({ ids, collections }) => {
      for (const id of ids) {
        await collections.posts.update(id, { status: "published" })
      }
    },
  },
  {
    name: "export-csv",
    label: "Export as CSV",
    bulk: true,
    handler: async ({ ids, collections }) => {
      const records = await collections.posts.find({
        where: { id: { in: ids } },
      })
      // Generate and return CSV
    },
  },
])

Soft Delete Support

If your collection has softDelete: true:

  • Bulk delete soft-deletes records (sets deletedAt) instead of permanently removing them
  • Soft-deleted records can be restored individually from the form view
  • A filter toggle shows/hides soft-deleted records in the list

Access Control

Bulk actions respect the same access rules as single-record actions. If a user can't delete individual records, the bulk delete option is hidden.

On this page