You dragged a field into the wrong spot, deleted a filter you needed, or changed an output column, and now the query doesn’t return what it did five minutes ago. You go looking for Ctrl+Z and it isn’t there.
The short version: as far as we know, Altru’s query designer has no step-by-step undo history. What you can do depends on one thing: have you saved since the mistake?
You haven’t saved yet
This is the easy case. Edits in the query designer don’t touch the stored query until you save. Close the designer and choose not to keep your changes, and the query goes back to its last saved version. Then reopen it and make your edits again, more carefully this time.
The catch is that you lose every unsaved change, not just the bad one. If you spent twenty minutes building filters and the mistake came at the end, write down the filters you want to keep (or take a screenshot of the criteria) before you close.
Behavior can vary a little between Altru releases. If you aren’t sure whether closing will discard your work, test it first on a throwaway copy of a simple query.
You already saved over it
This is harder. We don’t know of a built-in version history for ad-hoc queries in Altru, so once you save, the earlier definition is generally gone. If the query was important, ask Blackbaud support whether anything can be recovered for your database. Don’t count on it, though. Your realistic options are:
- Rebuild from memory or from output. If anyone exported results from the old version (a spreadsheet in someone’s downloads folder, an attachment in an email), the column headers tell you which output fields it had. The row counts and values can help you work backward to the filters.
- Look for a sibling query. Teams often copy queries. Search your query list for similar names; an older copy may be close enough to start from.
- Check what depends on it. If the query feeds a selection, an export, a mailing, or a report, look at those too. They’re now running against the changed definition, and they may be what alerted you to the problem in the first place.
Habits that make undo unnecessary
Since there’s no safety net built in, build your own. None of these take more than a minute.
Copy before you edit
Before changing any query other people rely on, save a copy first with a clear name, for example “Lapsed members 90 days – backup 2026-10-31.” Edit the copy, test it, and only then decide whether to replace the original. If the edit goes wrong, the original is untouched.
Write the logic in the description
Use the query’s description field to note, in plain words, what it’s supposed to return: “Active individual members, expiring in next 60 days, excludes comps and deceased.” If someone later breaks the filters, the description is your spec for putting them back.
Keep a known-good result
For queries that drive mailings or board numbers, export the results once you know they’re right and keep that file. After any edit, run the query again and compare row counts. A big unexplained jump or drop is the fastest way to catch a broken filter.
Limit who edits shared queries
Query permissions in Altru let you control who can change a query versus who can only run it. Shared queries that feed selections, acknowledgments, or recurring exports should be editable by a small group. Everyone else gets a personal copy to play with.
Change one thing at a time
Make a single change, run it, check the count, save. Batching five edits into one save is how you end up unable to tell which change broke it.
When the query feeds other tools
An accidental change hurts most when a query isn’t just for looking at data but is feeding something downstream: a mailing list, a spreadsheet the development team works from, a dashboard. A renamed or removed output field can quietly break those connections, and nobody notices until a list goes out wrong.
If you sync Altru queries to outside tools, treat those queries as production. Give them names that make that obvious (some teams prefix them with “SYNC –”), lock down edit rights, and keep the copy-before-edit habit strict. Our Data Bridge syncs Altru query results to Google Sheets, Mailchimp, ActiveCampaign, and other tools, so the same rule applies there: if the query changes, what lands in the destination changes with it. A protected, clearly named query is the simplest way to keep those syncs reliable.
Quick answers
Is there a keyboard shortcut to undo in the query designer?
Not that we’re aware of for query structure changes. Text fields may respond to standard browser undo while you’re typing in them, but that won’t restore a removed field or filter.
Will rerunning an old export bring the query back?
No. An export is a snapshot of results, not the query definition. It’s useful as a reference for rebuilding, nothing more.



