Bulk changes, import and actions
Tick the rows, then act: set a field on all of them, delete them with an Undo, or run your org’s own flows and Apex on them. Bring records in from a CSV or Excel file with a preview of exactly what will change, and take them out again as a clean CSV.
Why it matters
Bulk changes are where list views stop and Data Loader starts: export, edit, re-import, and hope nothing went wrong. Rowhouse keeps the change in the grid, shows it before it is saved, and gives you a way back — Undo before the save, the Recycle Bin after a delete, Undo import after an import, and an optional audit trail of everything the grid changed.
See it as your users will
Actions on each row
An admin adds flows, Apex and quick actions to each row’s menu, to the selection bar, or both. Here a service queue’s rows offer Log a call, beside display rules for new, high-priority and escalated cases.
Every change, written down
With logging on, edits, an Update field and an import each write entries to the Grid Edit Log in the same transaction as the change. If an entry cannot be written, the change is not made.
Undo before you save
Changes wait on the Save bar with a count of what is unsaved. Undo and Redo step through them one action at a time; Cancel throws them all away.
In detail
Update a field across a selection
Choose a field and a value for every selected row. The dialog shows what the rows hold now, the changes wait as unsaved edits you can check, display rules and subtotals react before you save, and one Undo takes them all back.
Delete, with Undo
Delete asks first, naming the first five rows, and starts with focus on Cancel. Deleted records go to the Recycle Bin, and an Undo bar puts them back. When more records match than are loaded, you can select and delete every match, up to 50,000.
Actions: flows, Apex and quick actions
An admin adds actions to each row’s menu, to the selection bar, or both: a screen flow, an autolaunched flow, an invocable Apex action or a quick action. Results come back per record, and a record the action could not run on shows why.
Import from CSV or Excel
Four steps: choose a file, check the rows, import, done. Nothing is written until you say so; the preview shows updates old → new, new records, and rows with problems, which you can download as a file to fix. Match by record Id or an External Id. Undo import puts back what changed and deletes what was created.
Export
Download the loaded rows as a CSV that opens in Excel, record Id first so it can come back in as an import, in the columns and order you see. Columns you cannot read are never exported, and values a spreadsheet would run as a formula are made safe.
Where it stops
Each limit is there for a reason you can see: how much a browser draws smoothly, or how much Salesforce lets one transaction do. Every limit, and the benchmark →
- Rows in one selection10,000
- Delete every match50,000 (not offered above that)
- Import file10,000 rows, 20 MB; batches of 200
- Records per action call50
- Actions run with their own access. Rowhouse checks the object, the records and the action’s own permission, but not access to the flow or Apex class, and a flow left in its default mode runs in system context. Give an action a Required Permission, or set the flow to run in user context, to limit it.
- Update field and actions work on loaded rows. Only delete reaches every match beyond them.
- Import writes to one object, the grid’s own. Columns that show a related record’s field are left out of an import, and the preview says why.
Against the paid grids
Bulk changes: questions
Can I undo a delete?
Yes, straight away: deleted records go to the Recycle Bin and the Undo bar restores them. If a large delete was a mistake, use Undo at once, because a full Recycle Bin removes its oldest records first.
Can an import create new records as well as update them?
Yes. A row with a record Id updates that record; a row without one creates a record, if you may create records. On a record page or in a child table, every new record is linked to the parent automatically. For a handful of records, the New button adds a row at the top of the grid instead.
Can I run a flow on many records at once?
Yes. An autolaunched flow, an invocable Apex action or a quick action runs on the selected rows, 50 records per call, with a result for each record. A screen flow opens on its own page with the selected record Ids.
Who can run an action?
Anyone who can read the grid’s object and records, unless the admin gives the action a Required Permission — a custom permission only some users hold. That is how to restrict an action.
Three things you can verify without asking us
Free. Not freemium, not a trial, not a tier.
Install it, assign the permission sets, build your first grid on the Grid Admin tab. Everything else is in the Grid Guide inside the app.