A volunteer schedule for a church or club in SharePoint
Use two SharePoint lists: Slots (one row per job per date, with how many people are needed) and Signups (one row per person per slot). Add a calendar view of Slots to see the month at a glance.
Nobody has to scroll a group text to find out who is coming. Exact names may differ on your screen.
Why signup sheets and group texts break down
A paper sheet at the back of the room works until someone is away. A group text works until it has 200 messages. Then the same things go wrong each time:
- Two people think they have the same job, and another job has no one.
- Someone cannot come and tells a friend, but not the coordinator.
- The coordinator rebuilds the list from scratch every week.
- A new helper cannot tell which jobs are still open.
The fix is one place that shows each slot, how many people it needs, and who has signed up.
How this differs from other guides
This guide is about a schedule of jobs and dates. To count hours that people have given, see "A volunteer hours tracker in SharePoint for a nonprofit". For a one-list task tracker with a punch list, see "A punch list tracker in SharePoint for a small contractor". To move from a spreadsheet, see "Replace a spreadsheet tracker with a SharePoint list".
The two lists
Slots has one row for each job on each date.
- Title: the slot label, the role plus the date and time, such as "Greeter 2026-11-01 9:00 AM". Rename it to "Slot". Volunteers pick this label in Signups, so no two rows may read the same.
- Date: a Date and time column.
- Time: Single line of text, such as "9:00 AM".
- Needed: a Number column. How many people the slot needs.
- Status: a Choice column with two choices: 1 Open and 2 Filled.
Signups has one row for each person in a slot.
- Title: the first name of the volunteer. Using Title for the name means you do not need another required column.
- Slot: a Lookup column that points to the Slots list.
- Volunteer name: Single line of text. Use it for a last initial or a note, such as "J. (bringing a friend)".
Microsoft describes a lookup column as the way to link one list to another list on the same site. You make the source list first, which here is Slots. Then you add the lookup column to Signups. See the Microsoft page on lookup columns in the sources. If a lookup column shows blank, see "SharePoint lookup column shows blank or too few fields".
Columns to copy
Slots: Slot (the Title column), Date, Time, Needed, Status.
Signups: Title (first name), Slot (Lookup to Slots), Volunteer name.
A sample Slots row: Slot "Greeter 2026-11-01 9:00 AM", Date 2026-11-01, Time "9:00 AM", Needed 3, Status 1 Open. It then gets up to three Signups rows, each with that label picked in Slot.
Time slots
Put the time in the Time column and in the label, and make one Slots row per time block, such as "Greeter 2026-11-01 9:00 AM" and "Greeter 2026-11-01 11:00 AM". Each block gets its own Needed number and its own signups.
Step 1. Create the Slots list
- Go to your team's SharePoint site, or to Microsoft Lists.
- Pick New, then List, then Blank list.
- Call it Slots.
- Rename the Title column to Slot.
- Select Add column and add Date as a Date and time column. Microsoft says you can show only the date or both the date and time.
- Add Time as Single line of text.
- Add Needed as a Number column.
- Add Status as a Choice column. Type the choices as 1 Open and 2 Filled.
Microsoft's page on creating a column in a list lists the column types and what each is for. It is in the sources.
Step 2. Create the Signups list
- Create a second blank list and name it Signups.
- Leave Title as the volunteer's first name.
- Add a column named Slot and choose the Lookup type. Pick the Slots list as the source.
- Add Volunteer name as Single line of text.
Step 3. Enter the slots
Fill in the Slots list one season at a time, for example one month. You can type rows in the list, or use grid view to enter several rows at once. Microsoft's calendar page describes selecting Edit in grid view to enter data, then Exit grid view.
One way to start: add only the next four weeks. A short list is easier to check than a long one.
Step 4. Add a calendar view
A calendar view needs at least one Date and time column. Microsoft's steps are:
- In the Slots list, select Add view on the command bar.
- Enter a view name, such as "Month".
- Under Show as, select Calendar.
- Under Start date and End date, choose the Date column. For a single date, Microsoft says to use the same column for both.
- Under More options, choose which column labels each item. The default is Title.
- Select Create.
Microsoft also says you can set the view as the default, and that selecting a day with events shows their details in a panel on the right. See the calendar page in the sources.
The calendar shows the Slot label on each date. It does not show the number of signups by itself. To see who signed up, open the Signups list.
Step 5. Collect signups
Each person adds a row to Signups. Send them one link, instead of a long text thread. They enter their first name in Title and pick the slot in the Slot column. Two ways to start:
- Give volunteers access to the Signups list and let them add their own rows.
- Have the coordinator add rows from messages and sheets for the first month, then switch.
Count rows per slot to see if it is full. When the number of signups equals Needed, the coordinator changes Status on that slot from 1 Open to 2 Filled. This is a manual step. Open slots are easy to find with a view that shows only 1 Open.
To make that view, create a view named "Open slots" and filter Status to 1 Open. This filter works from the column header. Microsoft says filters with [Today] or [Me] need the classic view editor (Edit current view, then Filters).
Step 6. A swap process
Swaps need a clear rule. This is our advice, not a Microsoft rule. One way to start:
- The person who cannot come finds a replacement, or asks the coordinator.
- The replacement adds their own row to Signups for the same slot.
- The person who is leaving tells the coordinator, and the coordinator deletes or edits their row.
- If no one is found, the coordinator sets the slot back to 1 Open.
Use one rule: a swap is done only when the coordinator sees both changes in the list. A text between two friends is not a swap.
Step 7. A reminder to the coordinator
Power Automate can email the coordinator a weekly list of open slots. This is optional. Microsoft's page on scheduled flows lists the choices: "Once a day, an hour, or a minute." "On a date that you specify." "After many days, hours, or minutes that you specify."
- In Power Automate, go to My flows, open Cloud flows, and start a flow from blank.
- Use the Recurrence trigger with Interval 1 and Frequency Week. The Start time takes the form YYYY-MM-DDTHH:MM:SSZ; the Z marks UTC. Choose your Time zone too.
- Next, Get items (SharePoint): your site, then the Slots list.
- In Advanced options, set Filter Query to: Status eq '1 Open'. The text in quotes must match the choice exactly, including the number.
- In Advanced options, set Top Count. Microsoft says the default item limit is 100. You can raise the limit up to the list view threshold of 5,000. If you go past 5,000, Power Automate fails. Microsoft also says to turn on Pagination in the action settings for lists with more than 5,000 items. Set Top Count so you know what the flow reads.
- Add the Office 365 Outlook action Send an email (V2), and put the coordinator in the To field.
This flow reads the whole Slots list and does not know which dates are soon. To limit it to the next few weeks, you can add a Date condition to the Filter Query. Microsoft's Get items page gives a date filter example that uses formatDateTime and utcNow. Test it with a few rows before you rely on it.
Reminders to the volunteers themselves would need an email or Teams account for each person. That is more personal data than this tracker needs, so this guide stops at the coordinator.
Signing up from a phone
The Lists apps for Android and iOS were retired in mid-November 2025, per Microsoft, so volunteers sign up in the phone's web browser. Before the link goes out to the group, open it on a phone yourself, add one test signup, then delete it. "Microsoft Lists phone app is gone: what to use now" covers the details.
Privacy: keep it small
Store only what the schedule needs. First names, and a last initial if two people share a name, are enough. Do not add phone numbers, home addresses or notes about family or health. If someone needs to be reached, the coordinator can use the contact method the group already uses.
Views are not security. "Open slots" trims the screen, but every volunteer with list access can open a different view and read all signups. If some people should not see the list at all, set who has access to the site or list. For more, see "Keep one column private (like pay or notes) in a shared list".
What to avoid
- Making one row per person per year. The calendar gets crowded and swaps are hard. Use one row per slot.
- Typing Status in different ways. Use the Choice column, not free text.
- Adding personal details you do not need.
- Letting swaps happen only in a text thread.
- Entering a year of dates at once. Start with one month.
When to get help
You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: $5,000 for one, built in 2 weeks. See "What a SharePoint tracker costs to build". Bring one example of the problem to a free call.
I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.
See trackers I built: Tools I built
FAQ
How do I make a volunteer sign up sheet with time slots?
Add a Time column to the Slots list and make one Slots row per time block, each with its own Needed number. Volunteers then pick the block in Signups.
Is there a free volunteer sign up sheet template?
Not as a file. "Columns to copy" lists what Slots and Signups need, and the sample row shows how one slot is filled in.
How do I stop two people taking the same job?
Set the Needed number, count the rows in Signups, and change Status to 2 Filled when the count is reached. Check the list before you send out the schedule.
Do volunteers need a Microsoft 365 account?
Check with your admin. Who can open a list depends on how your organization shares its site.
How do I send volunteers a reminder?
A weekly Power Automate email to the coordinator is in Step 7. Reminders to the volunteers themselves would need an email or Teams account for each person.
Sources
- Microsoft Support, Microsoft Lists mobile apps retirement
- Microsoft Support, Create a calendar view from a list
- Microsoft Learn, Run a cloud flow on a schedule in Power Automate
- Microsoft Learn, In-depth analysis into Get items and Get files SharePoint actions
- Microsoft Learn, SharePoint connector reference
- Microsoft Learn, Office 365 Outlook connector reference
- Microsoft Support, Create list relationships by using lookup columns
- Microsoft Support, Create a column in a list or library
- Microsoft Support, Use filtering to modify a SharePoint view