Selecting Records And Bulk Actions

Some work is not about one record. You need to reassign a dozen tasks, close a batch of tickets, or delete the rows you have just filtered down to. This chapter explains how you tick records in a list, what "ticked" actually covers, how you run something over all of them at once, and where the honest limits of that are.

What This Is

Selecting records means ticking one or more rows in a list so that the next thing you do applies to all of them instead of only to the row you clicked.

Once rows are ticked, you reach the things you can do to them from the small menu that opens when you right-click a row, or from the list's own actions menu — a three-dots button under the rows. Both of them pick up the ticked rows automatically — there is no separate "bulk mode" to switch on.

Where Selection Exists

Selection is a feature of table layouts. It is not available in every layout your application may use for a list.

LayoutTick boxesPer-record menu
TableYesYes — right-click a row, or click the chevron in the second narrow column
Table with drag handles (reorderable)YesYes
CardsNoYes, but one card at a time — the small three-dots badge on the card
Simple listNoNo
Board (kanban)NoNo
CalendarNoNo

So if the list in front of you is showing cards, a board, a calendar or a plain list of titles, there is nothing to tick, and no built-in way to pick several records and act on them from that screen. If your application lets you switch the layout, switching to the table layout brings the tick boxes back. See List Screens for how layout switching works and whether it is available to you.

The other place with real multi-select is the file repository — the screen where uploaded files are stored. It works differently from a list of records and is described in Uploading Files And Images; the short version is at the end of this chapter.

How To Tell A Table Supports Selection

Look at the far-left edge of the table. When selection is available, the table starts with two extra narrow columns before your first real column:

  1. a small empty-square icon on every row — the tick box
  2. a small downward chevron on every row — opens that record's menu

On a table you can drag rows into a manual order, there is a third narrow column with a grip icon in front of those two.

If those narrow columns are absent, this particular list does not offer selection or per-record menus. That happens on pages published for people who are not signed in, and on lists your administrator has built from a hand-written data source. It is not something you can turn on yourself.

Why It Matters

Doing the same thing to forty records one at a time is slow and error-prone. Selection is the answer to that: tick the rows, act once.

It is also the only way to reach some things at all. A quick field change from the row menu applies to everything ticked, so changing an owner, a status or a yes/no flag across a batch takes one click instead of forty form saves.

The trade-off is that a bulk action is fast to start and impossible to take back. The rest of this chapter is mostly about understanding exactly what you are about to hit.

How To Select Rows

Ticking One Row

Click the tick box at the left edge of the row. The empty square becomes a filled check mark and the whole row takes on a light color wash so you can see it at a glance.

Click it again to untick it.

You do not have to hit the icon precisely — the whole narrow cell around it is clickable.

Ticking A Whole Page

Click the empty square in the table header, above the tick boxes. Every row currently displayed becomes ticked.

Click it again and everything is unticked.

The Half-Checked Box

The header box shows you the state of the page:

What you see in the headerWhat it means
Empty squareNothing on this page is ticked
Square with a dash in itSome rows on this page are ticked
Filled check markEvery row on this page is ticked

The dashed state is informational only. Clicking the header box while it shows a dash clears the selection — it does not complete it. If you meant to tick everything, click it twice: once to clear, once to select all.

Selecting A Range With Shift

To tick a run of consecutive rows:

  1. Click the tick box of the first row in the run.
  2. Hold Shift and click the tick box of the last row in the run.

Everything between the two is ticked as well. You can repeat this to add several separate runs: the rows in between are only ever added, so runs you ticked earlier stay ticked.

Two things to know:

  • The range starts from the last row you ticked, not from the last row you touched. If you untick a row and then Shift-click somewhere else, the range still runs from the row you ticked before that.
  • Using the header box resets the starting point. After a select-all or a clear-all, the next Shift-click behaves like an ordinary click until you have ticked a row to start from.

Example A support list is sorted by date and you want the eleven tickets logged last Tuesday. Click the tick box on the first Tuesday row, scroll to the last Tuesday row, hold Shift and click its tick box. All eleven are ticked in two clicks.

If Your List Is Grouped

When a list is grouped — for example tickets grouped by team — each group is its own block of rows, and a Shift-range is only reliable inside a single group. If the two rows you click sit in different groups, you do not get the rows between them: other rows in the first row's group are ticked instead. Work one group at a time, and look over what actually ended up ticked before you act on it.

The header box is not limited that way: it ticks every row on the page, in every group, including groups you have collapsed. Grouping is covered in Columns, Grouping, Merging And Calculations.

How You Know What Is Selected

There is no counter and no toolbar. Nothing on the screen says "12 selected", and no bar slides in from the top with buttons on it. The only signals that rows are selected are the check marks and the tinted rows.

This matters more than it sounds. Before you run something over a selection, scroll the page and look at the tinted rows. It is the only verification you get.

Selection Is Mouse Work

The tick boxes respond to clicking only. You cannot reach them with Tab and toggle them with the space bar, and there is no keyboard shortcut for select-all. If you work without a mouse or trackpad, selection is not usable — say so to your administrator, because there is nothing to configure your way around it.

What A Selection Actually Covers

This is the single most important fact in this chapter.

A selection covers the rows currently displayed on the page you are looking at. Nothing more.

There is no "select all 1,430 matching records" option anywhere. The header box ticks the rows on screen, and that is the whole of it. If your list shows 20 rows per page and 400 records match your filter, ticking the header box selects 20 records, not 400.

Getting More Than One Page Into A Selection

You have two levers, and you must pull them before you start ticking:

  1. Raise the page size. The button at the bottom left of the list shows something like 20 / 437 — rows on this page over rows in total. Click it and choose a larger size: 50, 75, 100, 250 or 500. When the total is under 500, an extra entry offers to put them all on one page. Now the header box covers that many records.
  2. Narrow the filter until the set fits. Add conditions so that what matches is what you want to act on, then put it all on one page. See Filtering Your Data.

This is exactly why the page-size control matters, and why it sits next to the pagination. Both controls are described in List Screens.

Very large pages are slower to load and slower to act on. Above a few hundred rows, expect the list to take noticeably longer and expect bulk actions to take longer still — see Large Lists And Performance.

Example You need to mark 120 invoices as reviewed. At the default 20 rows per page that is six pages and six separate rounds of work, and the selection is lost every time you turn the page. Instead: filter to the 120 invoices, set the page size to 250 so they all sit on one page, tick the header box, and act once.

Rows You Cannot See Are Still Selected

The header box ticks every row on the page — including rows that are hidden from you at that moment:

  • rows hidden by the on-page "find" box in the filter bar, which only hides non-matching rows rather than re-querying the list
  • rows inside a group you have collapsed

Both of those still count as "on the page" and are still ticked and still acted upon. If you have typed something into the find box to narrow what you see, do not use the header box afterwards — tick the rows you want individually, or turn the typed text into a real filter condition first.

The Row Menu

Opening It

Right-click anywhere on a row in a table.

If right-click is awkward on your device, use one of these instead:

  • Click the small chevron in the second narrow column of the row. This always works and does the same thing.
  • On a Mac, hold Ctrl and click, or tap the trackpad with two fingers.
  • On a touch screen, use the chevron. Pressing and holding a row does not open the menu.

There is a short pause while the menu is fetched — its contents depend on the record you clicked, so it is built fresh each time. The row you right-clicked is highlighted while the menu is open. Press Esc or click elsewhere to close it without doing anything.

On the cards layout the equivalent is the three-dots badge that appears in the corner of a card when you hover over it. It opens the same kind of menu, but because cards have no tick boxes, whatever you pick applies to that one card.

What Is Usually In It

The contents are decided by your application and by your role, so treat the list below as the typical shape rather than a promise. In a standard setup you can expect, roughly in this order:

  • an entry that opens the record's details in a pop-up window
  • an entry that opens the record as a full page of its own
  • one entry per tab the record has, opening the record straight on that tab
  • Edit — opens the edit form in a pop-up window
  • Refresh data — re-saves the record so anything calculated from it is recomputed
  • Duplicate — opens a new record form pre-filled from this one
  • Delete — in red
  • entries that create a related record ("New task", "New invoice line", and so on)
  • at the bottom, submenus for changing a single field value in place (see below)

On top of that, your administrator can add their own entries — an approval step, a status change, a document generation, a hand-off to another team. Those are the ones that most often make bulk work worthwhile.

Two things you may notice:

  • Entries appear and disappear from row to row. Permissions are re-checked for each record, and a custom entry can have a condition attached. An action that is offered on one order may be genuinely absent on the next. That is not a glitch; see Roles, Groups And Permissions.
  • Some entries are shown grayed out. An administrator can add an information-only entry that displays a fact and does nothing when clicked.

Changing One Field Across Many Records

At the bottom of the row menu you may find one or more submenus named after a field. Opening one lists the possible values, with a check mark next to the value the record you clicked currently has. Picking a value writes it to every ticked record.

Always right-click one of the rows you ticked. A quick change is applied to the ticked rows rather than to the row under your cursor — except when exactly one row is ticked, in which case it lands on the row you right-clicked. Right-clicking inside the selection removes the difference.

This is the quickest bulk edit available to you.

It is available only where your administrator has enabled it, field by field, and only for fields with a fixed set of possible values — a yes/no box, a drop-down or option list, or a link to one other record. Fields that hold several values at once are never offered this way, and neither are free-text, number or date fields.

Example Twelve tasks need to move from one colleague to another. Tick the twelve rows, right-click any one of them, open the submenu named after the "Assigned to" field, and pick the new colleague. All twelve are reassigned. If there is no such submenu, the field has not been enabled for quick changes — ask your administrator, and in the meantime open each record and edit it.

Entries That Only Ever Affect One Record

Not everything in the row menu honors your ticks. These affect only the record you right-clicked, no matter how many rows are ticked:

  • Edit — the edit form always opens for the single record you clicked
  • Duplicate — copies the one record you clicked
  • the entry that opens the record as a full page of its own
  • any custom entry your administrator built to open a page, a form or an external link rather than to run something in the background

The details entry and Delete do the opposite: with several rows ticked, the details entry opens one pop-up window stacked with a card per selected record, and Delete asks about all of them together.

If you are unsure which kind an entry is, test it with exactly one row ticked and see what happens.

Running An Action On Many Records

While It Runs

Feedback is deliberately minimal. A thin progress bar animates across the top of the window (or across the top of the pop-up window, if the list is inside one) and stays there until the work is finished. That is all: no per-record progress, no "37 of 120", no cancel button.

The records are processed one after another inside a single request while you wait. A hundred records that each take half a second is a very long minute, and the browser gives you no reassurance during it. Do not click the entry a second time — you would start the whole thing again. Pressing Esc stops your browser waiting for the answer, but work already under way does not reliably stop with it.

When the work is done, the screen normally refreshes itself: the list and the rest of the page reload so that the new values are visible.

What Feedback You Get At The End

Message strips appear at the bottom right of the window and fade after a few seconds.

For most bulk work you get one message per record, not one summary. Changing a field across thirty records stacks thirty "Record updated." strips. Deleting thirty records stacks thirty "Record deleted." strips. There is no summary line, no report, and no history you can scroll back through once they have faded.

That is the main reason to watch the screen while a bulk action finishes. If three of the thirty failed, the only place that was ever said is in three message strips among thirty, and they are gone in seconds.

Some actions behave differently by design. Refreshing several records, for example, ends with a single "Refresh complete." message rather than one per record. Custom actions your administrator built emit whatever messages they were designed to emit — possibly none at all.

It Happens Record By Record

A bulk action is not one operation on a set. It is the same operation repeated over each record in turn, and each one can succeed or fail on its own merits.

That means a partial result is a normal outcome. A batch of forty can end with thirty-seven changed, three untouched because a validation rule rejected them or because your permissions do not extend to those particular records. The list will look mostly right. The three failures are only visible in the message strips. A batch can also stop part-way, if something fails outright, and leave the remaining rows untouched.

Deleting is the exception: several records deleted together are handled as one all-or-nothing operation. If one of them cannot be deleted, none of them are, and a warning strip says so.

There Is No Undo

Nothing in the application can reverse a bulk action. There is no undo command, no "revert last change", and no per-action history you can roll back. A field overwritten across two hundred records stays overwritten; the previous values are gone from the records themselves.

Deletion is worse than that: unless your administrator has configured deleted records to be recoverable, deleting removes them permanently. See Deleting Records And The Trash before you delete anything in bulk.

Try It On One Record First

The practical safety rule, and the one worth building a habit around:

  1. Tick exactly one record — ideally an unimportant one.
  2. Right-click that same row and run the action.
  3. Open that record and confirm it now looks the way you expected.
  4. Only then tick the rest and run it again.

This costs you thirty seconds and it is the only rehearsal available. It is especially worth doing with actions your administrator added, because their name rarely tells you everything they touch.

If It Fails Or Times Out

A bulk action that runs too long can be cut off by the server. What you see is a single dialog titled "Error When Processing Request", whose own advice is to select fewer items at once. That advice is sound: halve the selection and run it twice.

Be aware that a timed-out bulk action may still have processed part of the batch before it stopped. Check a few records at the top of your list before re-running it. More on this dialog in When Something Goes Wrong.

Confirmations

Confirmations are inconsistent, so it is worth knowing which is which.

What you doWhat you get
Delete one or more recordsA pop-up window listing every record about to be deleted, with a red Delete button and a Cancel link
A custom action your administrator gave a confirmation textA plain browser confirmation box with OK and Cancel
A custom action without a confirmation textNothing — it runs the moment you click
A quick field change from a row submenuNothing — it is applied immediately, to every ticked record
Bulk delete of files in the file repositoryA plain browser confirmation box

The two "nothing" rows are the ones to respect. A quick field change across a large selection is one click away at all times, with no confirmation and no undo. The confirmation text on a custom action, where one exists, is written by your administrator and can differ from record to record.

Deleting Several Records At Once

Tick the rows, right-click one of them, and choose the delete entry. The confirmation window lists every record in the selection by name, so read it — that list is your last chance to notice that you ticked four more rows than you meant to.

Confirming deletes them together, as a single all-or-nothing operation, and you get one message strip per deleted record.

Whether those records can be recovered afterwards depends entirely on how your application is set up, and the screen where recovery happens may not be available to your role at all. Everything about that is in Deleting Records And The Trash.

Selection And The Actions Menu Under The List

Under the rows of a table, normally at the bottom right, there is a small button with three dots. It opens the list's own actions menu — typically the spreadsheet exports, plus any actions your administrator has added for whole result sets.

Entries here interact with your selection in a way that is worth understanding, because it is the opposite of the row menu:

  • With rows ticked, the action applies to the ticked rows.
  • With nothing ticked, the action applies to everything matching the current filter, across all pages — not to the current page, and not to nothing.

An empty selection therefore quietly means "all of it". Before running an action from this menu, decide which of the two you want and check the rows accordingly.

The exports are a special case, and the difference is easy to get wrong:

  • The entry that exports everything matching the view does honor your ticks. Tick twelve rows, run it, and you get a file of twelve rows.
  • The entry that exports the current page ignores your ticks entirely. Ticking three rows and running it still gives you the whole visible page.

Both are named by your administrator and default to names along the lines of "Export page to XLSX" and "Export all to XLSX", so read the wording in your own application. Everything else about exports — what lands in the file, how the background export reaches you, and what happens on very large data sets — is in Action Buttons And Exporting.

One more thing to watch for: buttons your administrator has placed elsewhere around the list (in the header, or above or below the rows) are not part of this menu and generally do not pick up your ticks. If you are not certain whether a particular button honors a selection, ask before you rely on it.

Getting Out Of A Selection

To clear a selection deliberately:

  • click the header box (it clears from both the all state and the half-checked state), or
  • untick the rows individually.

Your selection is also lost automatically, without warning, whenever the rows are redrawn. That includes:

  • turning to another page, or changing the page size
  • changing the sort order or the columns
  • adding, changing or removing a filter
  • pressing the refresh button next to the pagination
  • reloading the page in the browser, or navigating away and coming back
  • finishing any action that refreshes the screen — including the bulk action you just ran

There is nothing to restore it with. Selections are never remembered, never shared, and never carried across pages. If a bulk action leaves some records unprocessed, you have to find and tick them again.

One side effect worth knowing: if your application includes the AI assistant, the records you have ticked are part of what it can see about the page you are on. Unticking clears that too.

Worked Examples

Reassigning Twelve Tasks To A Colleague

  1. Filter the task list to the twelve tasks — for example by the current owner and a project.
  2. Check the row count at the bottom left. If it says 12 / 12, everything is on one page. If not, raise the page size until it is.
  3. Click the header tick box. All twelve rows tint.
  4. Scroll through and confirm that twelve rows, and only twelve, are ticked.
  5. Right-click any one of them and open the submenu named after the owner field.
  6. Pick your colleague.
  7. Watch the message strips at the bottom right. Twelve "Record updated." strips means twelve successes; any warning strip among them names a task that did not change.
  8. When the list redraws, confirm the owner column now reads the new name on all twelve rows.

If there is no submenu for the owner field, that field has not been enabled for quick changes. Ask your administrator for it — it is a per-field setting.

Tagging Or Processing A Filtered Set

Where your application shows tags on a list, they are added one record at a time from the tag button on the row, so there is no built-in way to tag a batch. What there is instead: your administrator can add an action to the list's three-dots menu that does the tagging (or the status change, or the export to a partner) over a set of records.

Once such an action exists, you have two ways to aim it:

  • Filter down to exactly the set, tick nothing, and run the action. It applies to everything that matches, across every page.
  • Filter roughly, tick the specific rows you want, and run the action. It applies to those rows only.

The first form is the one to use for large sets, because it is not limited by what fits on a page. The second is safer while you are still learning what the action does. See Tags And Folders for what tagging does on its own, and Action Buttons And Exporting for how these actions are presented.

Exporting Only The Rows You Ticked

  1. Open the list and filter it so that the rows you care about are visible.
  2. Tick the rows you want in the file.
  3. Open the three-dots menu at the bottom right.
  4. Choose the entry that exports everything matching the view — not the one that exports the current page.
  5. The export is prepared in the background and reaches you through the jobs area in the top bar, so keep the tab open. See Notifications And Alerts.

If the resulting file has more rows than you ticked, you almost certainly used the page export. Run it again with the other entry.

Selecting Files In The File Repository

The file repository is the one screen that behaves the way people expect selection to behave. It has a select-all box, a live count of how many files are selected next to it, and buttons that appear only once something is selected — one to move the selected files into a folder, one to delete them. Deleting asks for confirmation first.

That count is unique to that screen. Do not expect it in a list of records.

Tips And Gotchas

  • Count your ticks by eye, every time. There is no counter. The tinted rows are the only record of what you are about to change.
  • Filtered-out rows are not unticked. Typing into the on-page find box hides rows but leaves them ticked and still in the selection. Clear the box before you check what is selected.
  • A collapsed group is still selected. Collapsing a group hides its rows; the header tick box still ticks them.
  • Shift-clicking an already-ticked row unticks that one row while still ticking everything between it and your starting point. Extend ranges by Shift-clicking rows that are not yet ticked.
  • Nothing ticked means "everything" in the list actions menu, and "this one record" in the row menu. Two menus, two opposite defaults.
  • The page export ignores the selection. Only the export of everything matching the view honors it.
  • Very long selections can time out. If you see the generic error dialog, halve the batch. Some of the records may already have been processed.
  • Reordering rows by dragging is not a bulk action. Dragging a row by its grip handle moves that one row, whatever else is ticked. Row reordering is covered in Tables.
  • Dragging a row onto a folder is different again. If the row you drag is one of the ticked rows, the whole selection moves with it; if you drag a row that is not ticked, only that row moves, even when other rows are ticked. See Tags And Folders.
  • A selection is never a saved thing. You cannot name it, share it or come back to it. If you need to return to the same set of records tomorrow, save the filter instead — see Saved Views And Queries.
  • Nothing on the screen updates by itself. After someone else changes a record you have ticked, your row still shows the old values until you refresh, and refreshing clears your selection.

What To Ask Your Administrator For

You cannot configure any of the following yourself. These are the requests worth making, phrased so they can be acted on:

  • "Please switch this list to the table layout, or add the layout switcher, so I can select rows."
  • "Please enable quick value changes on the Status field (and Assigned to) so I can change them from the row menu for several records at once."
  • "Please raise the default number of rows per page on this list, so a normal batch fits on one page."
  • "Please add an action that does X over a selected set of records from this list, so I do not have to open them one at a time."
  • "Please add a confirmation to the Y action — it currently runs the moment it is clicked."
  • "Am I allowed to delete records of this kind, and are deleted ones recoverable in our setup?"
  • "Please make the export available to my role."

A fuller catalog is in What To Ask Your Administrator For.