The organization calendar in Altru is a good place to see what’s happening across the building: public events, scheduled programs, private rentals, and other items your staff have put on it. Then someone asks for “everything on the calendar next quarter” as a spreadsheet, and you find out the calendar is built for looking at, not for exporting.
There’s no single “report on the whole calendar” option that we know of. The calendar pulls together several different kinds of records, and each kind lives in its own part of Altru with its own query source. So a full report is really a few smaller reports stitched together. Here’s how to approach it, and where the gaps tend to be.
Start by listing what’s actually on your calendar
Before building anything, open the calendar for a busy month and write down every type of item you see. For most organizations the list looks something like this:
- Events such as galas, lectures, member nights, and fundraisers
- Scheduled programs: timed admission, tours, classes, camps, and other program events you sell through daily, advance, or group sales
- Group and facility bookings, if your team uses them
- Other calendar entries staff added by hand, like closures, maintenance, staff meetings, or holds
That list is your report spec. Each line becomes its own query, and the last category is the one to test early, because it’s the most likely to be hard to pull out.
Build one query per item type
Events
Event records are generally well covered by Altru’s query tools. Build an event query with the fields people actually want: name, start and end date and time, location, category or type, and status. Filter on a date range and save it as a reusable query rather than a one-off export.
Scheduled programs
Program events (the individual scheduled times behind your programs) are a separate source from events. Build a second query for them with program name, date, start time, capacity, and sold count if those fields are available to you. Use the same date filter as your event query so the two lists line up.
Group sales and other bookings
If group reservations show on your calendar, add a third query from the group sales side with the date, group name, program, and headcount. Skip this if your calendar doesn’t show them.
Manually added calendar items
This is the uncertain one. We aren’t sure every type of hand-entered calendar entry is exposed as a query source in every Altru setup. To find out, look through the available sources in query for anything calendar-related, and test it in a sandbox or with a narrow date range first. If you can’t find it, ask Blackbaud support directly whether those entries can be queried. If they can’t, you’ll need a workaround (more on that below).
Combine the results into one view
Once you have the separate queries, you need them in one place. The practical options:
- Export and merge in a spreadsheet. Run each query, export to CSV, and paste them into one sheet with matching column headers: Date, Start, End, Item, Type, Location, Notes. Add a “Source” column so readers know where each row came from. Sort by date and you have your calendar report.
- Keep column names consistent across queries. If every query outputs the same columns in the same order, merging is copy and paste. If they don’t, every refresh turns into reformatting.
- Decide how often it needs refreshing. A board packet once a quarter is fine as a manual export. A weekly operations sheet that front-line staff rely on is worth automating, because manual exports drift out of date fast.
Workarounds for items you can’t query
If manually added calendar entries turn out not to be reportable, you have a couple of choices:
- Move recurring items into a queryable record type. For things like closures or private holds that matter for reporting, some teams set them up as events or program events with a clear internal category instead of free-form calendar entries. Talk it through with your team first, since it changes how those items behave elsewhere in Altru.
- Keep a short side list. If the unqueryable items are few and predictable (holiday closures, for example), keep them in a tab in the same spreadsheet and fold them in when you merge.
Either way, write down which item types the report includes. Then nobody assumes a calendar entry is in the report when it isn’t.
Keeping the report current automatically
The export-and-merge routine works, but it’s someone’s recurring chore, and the sheet is only as fresh as the last export. Data Bridge from Social Good syncs Altru queries to Google Sheets, so your event, program, and booking queries can each feed their own tab and stay up to date without manual exports. A summary tab can then combine them into one date-sorted list for anyone who needs it. It only works with what your queries return, so the question above about hand-entered calendar items still has to be answered in Altru first.
Quick answers
Can I print the organization calendar as a report?
You can usually print or screenshot the calendar view, which is fine for a quick glance. It isn’t sortable or filterable data, though, so for anything you’ll analyze or share widely, use queries.
Why don’t my event query and the calendar match?
Usually because the calendar is showing more than one record type. Check whether the missing items are program events, group bookings, or manual entries, and add the matching query.



