Volunteer coordinators usually want one simple thing: a single view of every shift that still needs people, laid out by date, that they can hand to volunteers. “Saturday the 14th: two openings at the education cart, one at the garden entrance.” Getting that out of Altru is harder than it sounds. Volunteer data in Altru is organized around jobs, occurrences, and individual volunteers, not around a public calendar of gaps.
This guide covers what to check in Altru first, how to build a reliable “open shifts” list, and the practical ways to turn that list into a calendar people can actually use.
Be clear about what “an opening” means
Before you build anything, agree on the definition. In most volunteer programs an opening is a specific job occurrence (a job on a date and time) where the number of volunteers needed is higher than the number assigned. That gives you three things your calendar has to show:
- When: date, start time, end time
- What and where: job name and location or department
- How many spots are left: needed minus assigned
If your team doesn’t consistently enter a “needed” number on each job or occurrence, fix that first. No report or calendar can show openings when the target headcount is blank.
Check what Altru shows natively
Altru’s volunteer area gives staff ways to view schedules and assignments, and depending on your setup that may be enough for internal use. What we can’t say with confidence is whether your version offers a single calendar of unfilled positions across all jobs, or one you can share outside Altru. Blackbaud changes the product over time and organizations configure volunteer management differently.
The quickest way to know: open the volunteer scheduling views in your sandbox, create a test job with a few occurrences, assign one volunteer to some of them, and see whether any view highlights the remaining gaps. If nothing does, ask Blackbaud support directly whether a calendar of open positions exists and whether it can be exported. That answer will save you from building a workaround you don’t need.
Build an “open shifts” query
When the native views fall short, a query is the dependable foundation. Everything else in this article is built on it.
- Start from job occurrences rather than volunteers, so each row is one shift.
- Add the output fields listed above: job name, occurrence date, start and end time, location, and the volunteers-needed value. Look for a field or smart field that gives the count of assigned volunteers. If you can’t find one, you may need to count assignments in a separate query and combine the results in a spreadsheet.
- Filter to a rolling date range, such as today through the next 60 days. Past shifts just add noise.
- Filter to openings only if Altru lets you compare the two numbers in the query. If not, export everything and filter in the spreadsheet.
- Sort by date and start time and save it somewhere the whole volunteer team can run it.
Test the query against a few shifts you know well. If it says the Sunday tour has three openings and you know it’s full, check how assignments are recorded before you trust it.
Turn the list into a calendar
Option 1: A shared spreadsheet sorted by date
This is the least glamorous option and often the most useful. Export the query, paste it into a shared Google Sheet or Excel file, and group rows by week. Volunteers can scan it on a phone, and coordinators can update it in minutes. Add a “how to sign up” line at the top.
Option 2: Import into Google Calendar or Outlook
Both accept CSV imports. For Google Calendar, rename your columns to the headers it expects (Subject, Start Date, Start Time, End Date, End Time, Description, Location). Put the job name and the number of open spots in the subject, for example “Education cart (2 open).” Import into a dedicated calendar you share with volunteers, not anyone’s personal calendar.
The catch: an import is a snapshot. Re-importing creates duplicates, and filled shifts won’t disappear on their own. The cleanest routine is to clear the shared calendar and re-import on a fixed schedule, such as every Monday morning, and to say on the calendar when it was last updated.
Option 3: A printed or emailed weekly list
For volunteer groups that skew less digital, a one-page “open shifts this week” email or bulletin-board printout still works. It comes from the same query.
Things to decide before you share it
- Privacy. Share openings, not rosters. Leave other volunteers’ names and contact details out of anything that leaves Altru.
- How people claim a shift. Choose a single route: reply to the coordinator, a sign-up form, or a phone call. Then record the assignment in Altru so the next export is accurate.
- Who owns the refresh. A calendar that’s two weeks stale does more harm than no calendar, because volunteers show up for shifts that are already filled.
Where Social Good fits
Our Calendar Builder is built for public timed-ticketing calendars, not volunteer shifts, so it isn’t the right tool here. The manual export step is where we can help. Data Bridge syncs Altru query results to Google Sheets, so your open-shifts query can feed a shared sheet without someone exporting and pasting it every week.
Quick answers
Can volunteers see openings and sign themselves up inside Altru?
Ask Blackbaud support what volunteer self-service your Altru setup includes. Many organizations share openings outside Altru and record assignments in Altru themselves.
Why does my calendar show shifts that are already full?
Either the calendar hasn’t been refreshed since the shift was filled, or the assignment wasn’t recorded in Altru. Check the record first, then your refresh schedule.



