Employed for Good

Tech tips for social impact professionals. Do well at doing good.

Volunteers for Salesforce (V4S): Troubleshooting the Volunteer Job Signup page

Background: I’m working with an org to help them get Volunteers for Salesforce up and running. So I did what any well-intentioned Salesforce volunteer would do. I went to Trailhead, since it wasn’t something I had implemented before!

Scenario: Using my own developer org (free, personal Salesforce instance), I walked through the following Salesforce Trailhead modules, in this order:

Volunteers for Salesforce Basics
Volunteer Registration
Website Integration for Volunteer Management

p.s. If you’re reading this because you need to set up V4S for your org, I recommend replicating the module steps in a sandbox (at least) beforehand. And if you have no clue what Trailhead is, start here.

As I worked, I got stuck a few times. I couldn’t see the shift calendar (for different reasons), couldn’t submit a signup (also for various reasons), and Trailhead didn’t have all the info to tell me why!

Enter this post. If you run into any issues implementing V4S, here are the scenarios I ran into and how I eventually managed to fix them.

1. Page load error when trying to view the Volunteer Job Signup Page

So this is a pretty obvious one! The first time I tried to load the Volunteer Job signup page (which is the Visualforce page with the GW_Volunteers.VolunteersJobListingFS suffix), I got a down-for-maintenance page that looked like this.

Ignore the irrelevant site name! Note that after “force.com”, I’ve added the suffix for the Volunteer Job Listings page.

The reason? My Salesforce site URL was incorrect. *facepalm*

When I first set up my Salesforce site, I forgot that I added a “/test” path to the end of the site URL. So keep in mind when you’re adding those Visualforce page suffixes, you need to add them to the end of your path (if you have one) for the page to load.

Here it is with the correct path. Note the “/test” in the URL.

The little mistakes! With everything else correctly configured, you can now see my Volunteer Jobs from Salesforce.

p.s. You can find links to preview all the main Visualforce pages in the product documentation here (scroll down).

2. The Volunteer Page loads, but doesn’t show any available jobs

Once I got the right URL, I had a different problem. The Volunteer Jobs page – the main page I’d been testing – didn’t show any Volunteer Jobs. Despite my having created those job records in Salesforce.

Now by this point, I’d done almost all the steps in this section of the Website Integration Trailhead module, including:

– Assigning all Volunteer Jobs to an ‘Active’ (checkbox) Campaign
– Granting public access to all necessary objects via the Salesforce Site settings
– Configuring access to the Visualforce Pages for the Guest User Profile

However. In that website integration module, there are instructions for granting minimum levels of object access. (If you scroll down, it’s the part that talks about Organization-Wide defaults). It reads that if you can’t set the minimum public access levels in your OWDs (because you need to maintain more restrictive permissions), then you should use Sharing Rules to grant public site users access to the correct object.

What it doesn’t quite explain is that those Sharing Rules are mandatory if your org was created after a certain date….even if you open up data access in those OWDs! That’s because of a recent update, where public site users need to be granted criteria-based object access. You can find that explanation – and the necessary steps – here in the V4S documentation.

Once I created that sharing rule for the Campaign object, I was able to see my volunteer jobs.

As of the date of this post – you may have figured out that sharing rule tidbit if you read this page of the V4S documentation. However, those Criteria-Based sharing links don’t link out to the correct section. (They take you to instructions for Granting Guest Users Update Access, when they should take you to the Define Sharing Rules section. In case you were feeling as confused as I did!)

3. Volunteer jobs appear, but some populated fields are not visible

On the Volunteer Job in Salesforce, I added information to the various location fields and description. But at first, none of that data was loading on the page.

Luckily, this was an easy fix. Just make sure that the public Guest Profile has view access to all the necessary fields. See here for very clear instructions straight from the documentation.

You can also do the same for Volunteer Shifts (if, for example, you want to add a description for individual shifts.)

4. Salesforce throws an error when someone tries to use the Volunteer Signup

Now, I won’t go into every single error I encountered here….because that might triple this blog post. 😭

But I basically ran into two, distinct signup issues. The first was Salesforce showing field access errors (e.g. that I didn’t have access to the Volunteer_Jobs_NumberofVolunteers field).

Those error messages are helpful, because you know exactly what the issue is! You need to grant edit access to all the necessary fields that a prospective volunteer would update. That includes fields on the Volunteer Shift and Volunteer Hours objects.

The second issue was Salesforce showing invalid cross object reference errors. These were less helpful, because they didn’t have an error ID nor did they reference the object giving me the issue. So it took some digging.

“Insert failed: First exception on row 0; first error: INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY, Insufficient access rights on cross-reference id:[]”

In the end, you need to ensure that:

1. The Guest Profile has all the minimum mandatory object access. You can find this in the Create a Salesforce Site section of the website integration Trailhead module. (Scroll to the Step 5: Configure Data Access – Profile Object and Field Permissions heading. That object permissions chart is what you need to replicate in your Guest User profile).

2. That Guest Users are granted update access in Custom Settings, so that they can modify records shared with them. Instructions from the V4S documentation here. (If I’m remembering correctly, this step isn’t included in the Trailhead modules I linked above.)

In this case, step 2 resolved my problem. I could successfully submit the form, and I could see my volunteer record in Salesforce.

Hope this was helpful for troubleshooting your V4S woes!

Highly recommend walking through the Trailhead modules and V4S docs simultaneously. (The V4S docs are accurate but can feel dense to some. And the Trailhead modules are simple, but lacking in some necessary detail!)

6 responses to “Volunteers for Salesforce (V4S): Troubleshooting the Volunteer Job Signup page”

  1. My problem is with the Report Hours tab – the Volunteer jobs are taking FOREVER to load and as a result, the volunteer shift selection dropdown box never appears. Any suggestions?

  2. Hey Dee,

    I added custom fields as a pick list to the form. Example: “how did you find us?”

    Once the form is submitted a new contact is made in salesforce but the added field information does not show up in the contact profile. The field with “how did you find us” is in the profile but the information they choose is not.

    Do you know how to make sure the information submitted on the website form inputs into the contact profile?

    • Hi BP – to set up my trial org only took a few days (in total, prob 8-10 hours with the troubleshooting). Activating the app is pretty simple. The parts that will take time are:
      – configuring the Salesforce site (if you want to make customizations or embed into an existing site)
      – organizing/entering data records (volunteers, campaigns, volunteer jobs), especially if you’re planning to add historical volunteer data and have a ton of volunteer opportunities
      – training staff/getting them used to using all the different tools

      Hope that helps

Share your thoughts!

%d bloggers like this: