Preloader Image
management

Exploring the Program Management Module for Salesforce

By: Lisa Gilham

The Nonprofit Success Pack (NPSP) for Salesforce is great for helping fundraisers track donations, donors, and complex relationships. But nonprofit organizations do a lot more with Salesforce. In fact, that’s kind of the best thing about Salesforce — at its core it’s just a powerful database and you can use it to store whatever information you want. Salesforce can do whatever you want it to.

One of the most common ways Idealist Consulting helps nonprofits get the most out of Salesforce is to set up Salesforce for program management. Nonprofits want to track different program types, contacts and households enrolled in programs, benefits received from different programs, and scheduled services.

Take for example an LGTBQ+ center in your community. The organization might offer a program for young community members and another for senior community members. They’d offer different services for each program, like delivered meals, companionship matching services, counseling, and regular meetups. The organization might want to use Salesforce to keep track of which contacts were connected with which programs, and break that down to be able to see which services each constituent took advantage of.

Enter the Program Management Module (PMM), a free, open source solution that can integrate into any Salesforce environment, but works best with NPSP. 

What You Need to Know About the Program Management Module

Idealist Consulting has built many custom applications in Salesforce over the years for different nonprofits to accommodate program management. But recently, Salesforce released its Program Management Module to provide a core set of records and relationships for managing programs with Salesforce. This means you don’t have to build records and a data schema from scratch. 

Before you install the module in your org, there are a few things you should know about the module:

  1. The PMM has two main objects — Programs and Services — and several objects that connect those objects together with contacts and household accounts.
  2. The PMM doesn’t work with the standard Case object. Nonprofits can either purchase the Nonprofit Case Management or simply use PMM Service Delivery in its place.
  3. The PMM is very flexible, but it requires customization and consideration to make it work.

Let’s review each of these and talk about what it might mean for you as you consider Salesforce’s Program Management Module for your organization.

Diving into Programs and Services

There are two main types of records in the Program Management Module: Programs and Services.

The Program object is required when setting up the PMM. It is meant to record independent programs or groupings of offerings.

The other object you’ll leverage is Services. These records are meant to represent different services offered in each program. Think about how, in our example, the LGTBQ+ center has a program for seniors that offers meal delivery, companion services, and counseling.

Programs and Services are related to individual contacts through other objects included in the module. Each of the other objects are optional. You can use them or not — it really just depends on how you run your programs and what information you need to collect and report on. Let’s take a look at a few of them. 


In one scenario, you have a program connected to a Program Engagement record, and a Program Cohort record. The Program Engagement record connects contacts and household accounts to a program. With it you can report on which contacts are involved in which programs. The Program Cohort is useful if you have on-going programs that run in cycles, like an afterschool program that has a group of kids in the fall, another in the spring, and another in the summer.

In another scenario, you have Service records under each program. Related to each service are Service Delivery, Service Schedule, Service Session, and Service Participant records. These records connect to Contacts, Accounts, and Program Engagement records in a few different ways. Let’s break them down a little. 

Each service connects to a contact or account directly through a Service Delivery record. That’s like saying, in our Senior Care Program, we offer weekly meal kits, and for each week that Mr. Rogers receives a kit, we create a Service Delivery record. 

Alternatively, you can create a schedule of services, delineated by a series of Service Session records, which connect to each participating contact or household by a Service Delivery record. Each participant in the scheduled service is connected to the scheduled services through a Service Participant record. These records best support regularly scheduled services to an individual, rather than participation in a broader program.

All of this illustrates that when you’re just starting out with the Program Management Module, you’ll want to do some planning and group services by program. Then think through how participants interact with those programs or services and what information or relationships you want to report on. Working with a consultant who understands these relationships will help you ask the right questions and organize your data. 

Reimagine Cases

Your nonprofit may be currently using the Case object in Salesforce in two different ways. The Program Management Module can potentially replace one of those ways. You can use the PMM to plan programs, related services, and costs. The PMM records a contact’s participation in a program, particularly over time.

So, for example, do you use cases to schedule and record service delivery to a contact or household? The Program Management Module would replace this functionality, and you would start using a different set of records. You may need to migrate and transform some of your current data to fit into the new module. 

Now, if you use cases to document requests for assistance, issues, complaints, or other short-term problems, the PMM would not replace this functionality.  

A high volume of cases to manage short-term needs or requests is best accommodated by Service Cloud or the Nonprofit Cloud Case Management products, both of which come at additional cost. (It should be noted that Nonprofit Cloud Case Management does connect with the Program Management Module for visibility across the constituent lifecycle.)

Customization Support

The PMM makes it easier to set up Salesforce for program management, but it still requires customization to make it functional for each organization. Even if working with a consultant, it takes time to plan and configure the module before it’s ready to use.

As we mentioned above, you’ll first want to think through the organization of your programs, the services offered under each program, and how those relate to contacts and households. From there, you’ll want to examine the fields on each object and make sure you can define how you’ll use them to collect data for your purposes. You might also want to add new custom fields tailored to how you manage your programs.

And you’ll want to build and test all of this in a sandbox first, of course!

Looking to make big changes to the way your organization uses Salesforce? Download our guide to technology change: “Be Prepared, Not Scared: Strategies for Salesforce Projects,” and be ready to make the most of Salesforce at your organization.

Download the Guide

Newsletter Earth

Subscribe to our newsletter

Where nonprofit organizations get inspired

Join thousands just like you to receive a monthly dose of user adoption tips, innovation, and industry trends.