CiviVolunteer Scope and Use Cases

2012-11-29 14:39
Written by


Since our first blog post on CiviVolunteer, we've been on the lookout for user stories that differ from our own, as well as input from other CiviCRM users about what they'd like CiviVolunteer to be. We received quite a bit of feedback at a users group meeting in DC and have gotten a lot of input from other development shops and well as interested nonprofits.


Several use cases that were brought to us – managing a speakers' bureau and mentoring at risk youth, to name a few – are already pretty easily handled with existing tools in CiviCRM. With help from Tim Otten, we identified three categories that cover all of the currently unmet volunteer management use cases:
  • Event management
  • Volunteer matching or "brokering"
  • Skill building

Event Management

More than any other category, event management most closely fits with the mockups we presented in our first CiviVolunteer post. Within the area of event-based volunteering, we identified three subtypes.
Major events with several volunteers filling varied roles at different times. One particularly good example of this scenario came to us from the DC user group. "Jim" helps with a swim club in Northern Virginia which has 500 members and 170 kids on the team. In order to meet the legal requirements in the area, each meet requires the participation of 50 volunteers in various capacities. They are currently using GoogleDoc Forms, Sign-Up Genius, and other such tools to manage volunteers, leaving them with no reminders, notifications, or history.
Recurring events where the primary challenge is matching volunteers with assets. For some organizations, the challenge is not managing the number of volunteers (or their multiple roles) but rather matching those volunteers with an asset such as a meeting room. Here's an example from an organization we spoke to. "Teach First" organizes series of art classes across the NYC area. They regularly partner with schools and community centers which serve as venues for the classes. "Teach First" struggles to manage instructors' schedules, to match instructors to venues, and to report on the number of hours an instructor has performed in a given month.
Shift volunteering. In this case the primary challenge is scheduling volunteers. A few examples follow:
  • "Go Veg" has a table at a festival which they hope to use to distribute pro-vegetarian literature. From 10am to 1pm, they need one staffer and two volunteers at the table; from 1pm to 4pm, when traffic is heavier, they need one staffer and four volunteers at the table.
  • "Go Veg" needs four volunteers in the office each Tuesday from 4pm to 6pm to stuff envelopes.
  • "Help Now" operates a hotline on the weekends and needs volunteers to answer calls and serve as receptionist.

Volunteer Matching or "Brokering"

Some organizations serve as volunteer clearinghouses. They screen volunteers and organizations seeking volunteers, advertise widely to attract potential volunteers, then match up orgs and vols with similar interests. For the most part, these clearinghouses hand off volunteers to the organization executing the project and have little to do with them afterwards. These clearinghouses generally have a geographic focus (e.g., Good Samaritans of Hillsborough County) or a service-area focus (e.g., Natural Disaster Response).

Skill Building

Some volunteer positions require a certain amount of training before they can be filled. "City Trees" is a nonprofit organization whose mission it is to augment and support the work of the District government in reforestation and tree maintenance efforts. Before a volunteer can be sent out to plant trees on public land, they must watch an instructional video and pass a quiz demonstrating comprehension of the material. Additionally, they must assist an already-qualified volunteer in two planting sessions before they can be promoted to a session leader.

Other Lessons

One thing we learned very quickly is that the name CiviVolunteer is a bit misleading for some folks. Some people wanted CiviVolunteer to replace functionality already in core, while others found it limiting. The art instructors in the "Teach First" example, for instance, are not technically volunteers; they are paid consultants. While the name "CiviVolunteer" wouldn't prevent groups like "Teach First" from meeting their goals, it might keep them from considering it in the first place. On the other hand, a moniker like "CiviCoordinate" is kind of boring and is unlikely to capture the interest of a potential user skimming Civi's feature list. If you have a better name for CiviVolunteer, please suggest it in the comments!
We also discovered that the interface we designed for matching volunteers to assignments could have other applications and – with some changes – might be a nice addition to core. For instance, the same interface could be used to assign open cases to a team of caseworkers, or  to assign caseworkers to the individual activities of particularly involved cases, or for any number of assignments.


It is becoming clear to us that, like CiviCRM as a whole, CiviVolunteer could be many things to many people. This presents some interesting challenges, as adopting a single paradigm when several are desired is likely to alienate swaths of users. Additionally, attracting funding for the development of an extension with wide-ranging use cases – some of which may not apply to a given potential sponsor – is more challenging than raising funds for a more focused project.
We've had some interesting brainstorming sessions about these issues, and we feel that the functionality in CiviVolunteer is elemental in many respects. Keeping these features basic and flexible for very different use cases will provide the most bang for the community's pooled resources.
After the users group meeting, we got together with Tim Otten, of the core team, and Jessie Austell, of Simplicity Metrics, and began hashing out implementation concerns. We have identified four distinct features that, if necessary, could be implemented on their own. In different combinations, and with scenario-specific interfaces, we believe these components offer greater flexibility than a monolithic volunteer extension.
Stay tuned for further reports on our progress and brainstorms. Your feedback is most welcome and we are of course open to more collaborators as we visualize, fundraise, and finally implement this exciting extension.
Filed under


This sounds interesting.    The use-cases I hear about most frequently are is situations where there are a lot of "tasks" that need one or more people to fill each task time slot.  Typically these are not connected to any event.  Such as the organizer needs:

5 people at 8am to prepare food

3 people at 10:30 to pack boxes of meals/supplies

10 people who can drive, make deliveries  of food/supplies  to various destinations


So the organizer needs a really simple way to set up all the "tasks/needs" at the various times/locations.  I think ease of use/setup needs to be paramount, as the organizer is often NOT a regular user of CiviCRM, and just needs to get their setup of the tasks done very quickly, without needing to be trained in the intricacies of the system. 

Then the people who may be interested in helping need a simple way to see all the options available, and indicate which tasks they want to do.

 An example of a website that is handles this kind of use case nicely is at:





Thanks for sharing this service. I've poked around it a bit and will take a closer look at its strengths and shortcomings to make sure we incorporate and leave them out, respectively. The wizard does a pretty good job of hand-holding, which I think is an important part of what we're trying to do with CiviVolunteer. A lot of the functionality for volunteer management is already in core, but the CiviCRM admin screens can be a little daunting to newcomers -- one CiviVolunteer's primary concerns is to package the pieces in such a way that results in a centralized, easy-to-use interface.


Have you looked at Crew Connect?

While this currently isn't tied to CiviCRM, most of the groups already using it are building on which includes the same version of CiviCRM included in  

Crew Connect is basically a collection of Profile 2 fields, Views, and some JQuery that turns multiselect form fields into sliders making it much easier to search for a person who's rated themelves or been rated a 3 or higher in a specific skill.  The functionality in Crew Connect is largely Views driven.  The default filter for including a user in a volunteer search is a single checkbox for users to volunteer, but using fields and views you can easily customize this for a variety of use cases.  

Views Send allows users with the approporiate permission to contact each other directly.  

We've already discussed tracking the emails exchanged as CiviCRM Activites.  The skill ratings could also be done as CiviCRM profile fields, but I'd push for the type of syncronization we do w/ over only storing the data in CiviCRM.  

Here in England GMCVO & Circle Interactive are talking to YouthNet who run the national volunteering website and supply volunteer brokerage software to all the local volunteer centres. A number of the volunteer centres already run CiviCRM alongside the software supplied by YouthNet and the addition of a brokerage module to CiviCRM would mean they could then run all their work through CiviCRM only.

Currently we are in inital discussions and looking for a partnership agreement. If we can get the agreement we will then start to put together a project plan, speak to other people who are interested / blog our progress.


A good use case for us is with teams for activities specifically Peer Review. Where people fill out qualifications sheet (check list and open-ended statements) and then are teamed up/ paired together based on skillset and previous work completed.  They are also broken down into distance the reviewer is to the reviewee in hopes of controlling/mitigating travel related expenses/issues.  We have traditionally done this manually but see this module and the Case module overlapping to provide the solution we need. Just some prelim thoughts about our use.

Your scenario aligns more or less with our "Skill Building" use case, I think.

In some version of CiviVolunteer -- it's unclear to us at this point whether this feature should be considered a requirement for a viable release -- we'd like to tie roles to requirements or qualifications. When defining a role for an event or volunteer activity, the admin could optionally identify requirements (e.g., in order to serve as a lifeguard, a volunteer must be CPR certified). Only contacts who meet the requirements could be assigned to (or sign up for) that role.

Additionally, the admin would be presented with a list of candidates for a shift. This list would be generated in a way not unlike the "Advanced Search" in core, taking into account the skillset or qualifications required by the role. To meet your use case better, you could alter the search criteria to filter based on geography as well.

Thank you for your feedback. Please continue to follow our posts on the CiviCRM blog and continue to weigh in!


One of the most important features for my organization is the ability to track the number of volunteer hours an individual has contributed.  We use the total number of hours to demonstrate part of our value as an organization.  In addition, we award volunteers with certain benefits at various milestones (100 hours, 250 hours, 1000 hours, etc.). 

Individual volunteers should be able to record their own hours contributed and certain admins should be able to enter hours by event for other individuals.  For example, a regular volunteer would enter their hours each week.  Whereas, for a large volunteer day, one person should be able to enter volunteer hours for a large number of contacts at once.


Referencing the "tree" scenario above:

Any thoughts about integration with CiviCase to handle that workflow mentioned within the Skill Building scope. Such that case workflow might flag the person who has taken the quiz or maybe has been assigned to a leader for first two plantings and the leader can then record that for each planting. So that when all assigned activities are completed that the person can then register as a particular volunteer type?

I really tried to adapt this concept from my own thoughts about peer review use case that I have, where it is almost a hybrid between this and CiviCase, due to the fact that people submit all sorts of paperwork along the way and leaders clear others to lead and/or new skills they have acquired along with recording of the "event" (a peer review) and the participants "reviewers".

Just some mroe thoughts on this.