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
- Open any collection list view
- Check the checkbox on individual rows, or use the header checkbox to select all
- A floating toolbar appears at the bottom with available actions and the selection count
- Click an action to apply it to all selected records
Built-in Bulk Actions
| Action | Description |
|---|---|
| Delete | Delete all selected records. Shows a confirmation dialog with the count. |
Selection Modes
| Mode | How | Description |
|---|---|---|
| Individual | Click row checkboxes | Select specific records one by one |
| Select all (page) | Click header checkbox | Select all visible rows on the current page |
| Deselect | Click header checkbox again | Clear 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.
Related Pages
- List Views — Table configuration
- Actions — Custom and built-in actions
- Filters — Filtering records