Admins / Users

Volunteers for Salesforce App: A Deep Dive

By Penny Rodie

Volunteers for Salesforce (V4S) helps you set up different types of volunteer jobs against an event, set shifts for each of these jobs, track the skills and availability of your volunteers, and match them to jobs and shifts that need filling. You can set up recurring jobs and recurring volunteers to avoid having to manually enter someone’s weekly food bank shift, for instance. The Volunteer Wizard allows you to create campaigns, jobs, and shifts all in one go, and you can also embed V4S pages onto your website (or create a Salesforce Site), so that your volunteers can sign themselves up for shifts directly.

The Volunteers for Salesforce app is available free to charities and can be used with or without the Nonprofit Success Pack. Your internal users will need a Salesforce license that gives them access to Campaigns in order to use V4S, as Volunteer Jobs are child records of Campaigns. Volunteers can access the site as guest users and don’t need a license. Let’s have a look at what it can do in more detail.

The Data Structure

Source: Salesforce V4S Entity Relationship Diagram

As you can see from the above, Volunteers for Salesforce adds five key objects to your org:

  1. Volunteer Job is a child of a campaign and denotes the type of role a volunteer is needed for, whether as a one-off or on an ongoing basis.
  2. A Volunteer Shift is one instance of a volunteer job that tells you the start time and the duration.
  3. Volunteer Hours links a contact to the volunteer shift they have been assigned to and tracks the status (e.g. is this a planned shift, was it cancelled, did they complete the shift?) and the hours worked.
  4. Volunteer Recurrence Schedule links a contact to multiple regular shifts in one go.
  5. Job Recurrence Schedule denotes a regular need for the same job and creates Volunteer Shifts accordingly.
READ MORE: Which Salesforce Apps are Best for Your Nonprofit

How It Works

The Volunteers for Salesforce documentation shows you how to install and configure V4S, but here we will mostly focus on how it can be used, so that you can decide whether it might be a good choice for your organization or client.

Creating Volunteer Records

V4S adds a number of useful fields about your volunteers to both the Contact and Lead objects. To start, select the skills a volunteer has, any notes, their status, availability, skills, etc.

You can add new skills options by editing the picklists in Setup. For instance, in the example I above I’ve added “Customer service” and “Organizational skills” to the out-of-the-box options.

However, be aware that you have to add the new values onto each object separately: Contact, Lead, and Volunteer Job. There is no way to mass update the skills list, and since this is a managed package, you can’t promote the picklist values to a global value set.

Creating Jobs and Shifts for Volunteers

As you can see from the data structure, volunteer jobs and shifts are related to Campaign records. 

In this context, what does a Campaign represent? In the example below, I’ll be setting up a Campaign record for our Christmas Gala which is a one-off event, but you could also set up an umbrella Campaign to cover volunteering across a longer period of time. 

Let’s say that your organization sends reading helpers into local schools. You might set up one Campaign for each school that’s going to be receiving volunteers for the year, or you could choose to set up a Campaign for all reading helpers for 2023 and have each Volunteer Job be a different school. Here’s what those two options would look like:

V4S provides the Volunteer Wizard to get Campaigns, Jobs, and Shifts set up nice and quickly. Click the Volunteer Wizard tab and enter the basic information about your campaign:

Next, complete the bottom section which gives you the option to copy the jobs, shifts, and hours from a pre-existing campaign, or select a number of sample jobs and shifts to create. Here, I’ve chosen not to copy an existing campaign, but instead will create five different sample jobs for the event and two shifts per job. 

Click Save, and you’ll be redirected to a new Campaign which will have automatically created related Volunteer Jobs records.

If you’ve created sample jobs, edit them one by one – for instance, here I need a cloakroom attendant and have requested that volunteers have customer service and organizational skills for this role. I’ve also chosen to make this available on the volunteers’ website so that they can sign themselves up for a shift as a cloakroom attendant.

You’ll also see that each job has had shifts created for it:

Again, if you created sample shifts, you’ll need to edit these to have the right start date & time, duration, and number of volunteers needed per shift for this job. I think I’ll need two volunteers per shift for a three-hour stint each.

We’ll have a look at how we can add volunteers to these shifts in the next step.

Find Volunteers and Assign Them to a Job/Shift

Firstly, go to the Find Volunteers tab and enter your search criteria. You can search by volunteer status, availability, and skills. The search uses “or” logic, i.e. in my search below it will show me all volunteers with either customer service or organizational skills, as they don’t have to have both.

Click Find and you’ll be shown all available volunteer records:

Select the volunteers and assign them to a job and shift – here I’ve put Alana and Andy onto the first cloakroom attendant shift.

I’m putting their status as Prospect since I’ve still got to confirm the shift with them both. You can see this here:

After this, click Assign. If you navigate back to the volunteer job, you’ll see that Volunteer Hours records have been created for this job and shift.

From here, you’ll see that there is a Mass Edit Volunteer Hours button in the Volunteer Hours related list. Once the shifts have been completed, you can use this button to reflect what actually happened – here, I’ve noted that one volunteer completed the shift and worked one hour longer than expected, and that the other didn’t show up:

Once you’ve added a volunteer to a shift, they will also be added as a Campaign Member against the campaign for this job. It’s important to bear this in mind if you want to add other types of campaign members, such as event attendees or donors to your campaigns, as there’s no out-of-the-box way to differentiate the volunteers from everyone else.

Visualizing All Upcoming and Past Shifts

There’s an easy way to visualize upcoming and past volunteer shifts, and this is through a shift calendar. The Shift Calendar tab shows upcoming shifts in a calendar format, and you can click into a calendar entry to edit that shift.

Recurring Jobs

If you have a volunteer job that will repeat a number of times – let’s say a street cleaning team in the neighborhood – you can create all the shifts in one go using a Job Recurrence Schedule.

In this instance, create a Campaign and Volunteer Job, but do not create any shifts. Go to the Volunteer Job record and find the related list Job Recurrence Schedules. Click New.

Then select the days of the week where shifts will happen, as well as the regularity. Here, I’ve said that shifts will be on Wednesdays and Saturdays, and that this will happen every week:

After that, select the date and time of the first shift. All subsequent shifts created will start at the same time. Determine the duration in hours, desired number of volunteers, and description.

You don’t have to specify an end date. If you don’t, V4S will create four months of shifts by default and then create new shifts in a batch on a schedule that you set. If you do set an end date, all the upcoming shifts will be created in one go. Changing this later will create new shifts up until the new end date.

Click Save and then refresh the Volunteer Job record. You’ll see that shifts have now been created!

If there is another regular shift that starts at a different time, create a separate Job Recurrence Schedule for that shift.

Recurring Volunteers

Now that you’ve got your shifts set up, perhaps there are volunteers who can commit regularly. You can set up their hours en masse by using Volunteer Recurrence Schedules. Go to the record of the Volunteer Job they’re going to take on. I’m sticking with my Street Clean Team and clicking New (next to Volunteer Recurrence Schedules).

If you have a volunteer that can commit to most or all of the shifts in one of your Job Recurrence Schedules, select it in the Copy Schedule From section. It will copy all the details in the following fields, which you can then edit for this specific volunteer. Otherwise, manually enter the details.

Here, I’ve said that my volunteer Jane can commit to the street clean team every Wednesday for the first two months of the program:

Click Save once you’re done and you’ll find that Volunteer Hours records have been created for the shift Jane’s going to do:

She’s also been assigned to the correct shift, and the Total Volunteers column for the Shifts she’s doing is now showing that one volunteer has been signed up.

Volunteers for Salesforce Website

V4S provides five Visualforce pages that can be displayed to your volunteers: sign up form, jobs calendar, job listing, a volunteer report hour form, and a personal info page.

READ MORE: 4 Free Salesforce Apps for Nonprofits

You can either set up a Salesforce site or embed these pages into an existing website. Bear in mind that the pages out-of-the-box are very basic, and you will most likely want to update the styling – see the example below for this.

Another thing to note if you’re using a site is to go through the steps to set up guest user access very carefully, including editing the Volunteers Profile – this step isn’t mentioned in the documentation but applies just as it would for internal users. Find the guest user’s profile by going to Sites, click into your site via the Site Label, then click the Public Access Settings button.


I hope this has provided you with some useful insight into Volunteers for Salesforce. If you have any questions about approaching a Salesforce build or upgrade, feel free to reach out on LinkedIn!

The Author

Penny Rodie

Freelance Salesforce Administrator - 3 times certified Salesforce professional with over 5 years experience in the charity sector


    April 05, 2023 1:14 am
    The trailhead to set up guest user access is garbage. I read the instructions instructions four times. Beating my head against a wall for a week and cannot solve the problem. I get error when testing the sign up for shift process. No idea why!!

Leave a Reply