You are here:
Manage Your Programs with Program Management Module (PMM)
Learn what the PMM package includes, some common use cases, and how to map your programs to the PMM data model.
As a program manager, your work is at the heart of the programs and services that benefit your constituents and advance your mission.
Whether you work for a disaster relief organization running a wildfire relief program; a nature conservation organization providing habitat cleanup services; an animal welfare organization, overseeing animal rescue and placement services; a cancer awareness organization, organizing family and patient support groups; a homeless advocacy organization, distributing food as part of a community outreach program; or any other organization dedicated to making the world a better place—no matter what your mission, Program Management Module (PMM) is here to help you:
Define the programs and services that you provide.
Track the people, households, organizations, or other entities that have applied for and enrolled in programs, including those on a waitlist.
See service recipients grouped by common criteria, such as those who receive services at the same location.
See the number of services distributed or delivered, and to what recipients.
Report on program utilization and other trends to see how well your programs and services are performing.
Do all of this without spreadsheets!
PMM works in any Salesforce environment, although it performs best with NPSP. PMM also comes with reports and dashboards so you can easily see trends in enrollment, Services delivered, and other key metrics to track program performance.
- PMM Objects
PMM uses the standard Salesforce Account and Contact objects and some custom objects. - PMM Use Cases
PMM is so flexible that it works for any organization that provides programs and services. - Map Your Programs to the Data Model
Use a downloadable slide deck to help you think through mapping.
PMM Objects
PMM uses the standard Salesforce Account and Contact objects and some custom objects.
Here are the custom objects tailored specifically for program management:
-
Programs are thematic areas that make up your organization's mission. Examples of Programs include wildfire relief, environmental cleanup, animal rescue, patient support, or food distribution for the homeless.
-
Services are the activities that make up your Programs. Services in a wildfire relief program might include clean water distribution and providing emergency shelter, while services in a cancer support program might include patient support groups and caregiver education resources.
-
Program Engagements are the relationship between Programs and who, or what, they benefit. Program Engagements can be associated with Contacts (clients), Household Accounts (households), Organization Accounts (other organizations or schools), or custom objects (other entities, such as animals or stream beds). Program Engagements can track things like who has applied for emergency shelter, which habitat is planned for cleanup, or who is on a waitlist to join a support group.
-
Program Cohorts are a grouping of Program Engagements based on program cycle, location, date, or any other criteria that's meaningful to your organization. An example Program Cohort is anyone enrolled in a support group for the winter cycle of your program.
-
Service Deliveries represent a specific instance of a Service that was delivered, including the recipient of the service, when they received the service, and how much was delivered. An example of a Service Delivery is: Tim attended a support group on September 12th for one hour.
-
Service Schedules are scheduled instances of a service to be provided, like a class or event. Service Schedules can be a single session or a recurring schedule of sessions, and they can serve individuals or groups. An example of a Service Schedule is an English class held every Wednesday night from 6-8 PM for 6 weeks.
-
Service Participants are people who signed up for a Service Schedule. If Tom signs up for a Thursday night English class, he is a Service Participant. Tom can also be a Service Participant in other Service Schedules, and all of them will show up on his Program Engagement. A Service Participant can also be linked directly to a Service. This can be helpful for planning if you know a participant should receive a service but you aren't sure which Service Schedule will work for them yet.
-
Service Session is a single instance of a Service Schedule. In a Service Schedule of classes running for 6 weeks, each class is a Service Session.
PMM Use Cases
PMM is so flexible that it works for any organization that provides programs and services.
Example 1: Managing Multiple Programs
A youth development organization provides arts enrichment and college readiness programs for high school students in a large city. This organization manages multiple programs and services using PMM.
Here’s how the youth development organization set up PMM:
-
Program: Arts Enrichment for high school students
-
Program Cohort: Students are grouped into cohorts by school
-
Program Engagement: Mary is enrolled in the Arts Enrichment program, and this information also shows up on Mary’s Contact record
-
Service: A watercolor class, measured by hours attended
-
Service Schedule: The watercolor class is offered on Monday and Wednesday afternoons from 3-4 PM
Service Participant: Mary is a participant in the Monday and Wednesday afternoon watercolor class
Service Session: Monday, October 5th watercolor class
Service Delivery: Mary attended 1 hour of the watercolor class on Monday, October 5th
-
-
-
Program: College Readiness
-
Program Cohort: Students are grouped by grade level
-
Service: A college application workshop, measured by the number of applications submitted
-
Example 2: Managing a Single Program
An environmental organization offers one program, youth outdoor education, which is available to students of all ages in a small suburban area. This organization uses PMM to track a single program.
Here’s how the environmental organization set up PMM:
-
Program: Youth outdoor education for students
-
Program Engagement: Marco is enrolled in the youth outdoor education program
-
Program Cohort: Participants are grouped by the Winter or Spring cycle
-
Service: A summer day camp, measured by days attended
-
Service Schedule: The Marsh Exploration Camp is held from July 5th through July 16th, Monday through Friday
-
Service Session: Monday, July 5th day of camp
-
Service Participant: Marco is a participant in the Monday, July 5th day of camp
Service Delivery: Marco attended 1 day of the Marsh Exploration Camp on Monday, July 5th
-
-
-
Example 3: Providing Services to Other Organizations
A financial literacy organization offers educational curriculum programs to schools. They use an Organization Account to track program engagements for schools instead of Clients. To learn more about using Organization Accounts, check out Customize Recipients of Programs and Services.
Here’s how the financial literacy organization set up PMM:
-
Program: Financial literacy curriculum for schools provided in two program cycles, Winter and Spring
-
Program Engagement: North Elementary School participates in the financial literacy curriculum program
-
Service: Train the trainer workshop to train teachers to implement the financial literacy curriculum
-
Service Schedule: The train the trainer workshop is offered on the first Tuesday of every month at 4 PM
-
Service Delivery: Provided training to 15 teachers at North Elementary School on January 8th
-
-
Service: Financial literacy curriculum kits
-
Service Delivery: Provided 25 curriculum kits to North Elementary School on January 15th
-
-
Example 4: Providing Services to Recipients other than Clients
An animal rescue organization uses a custom object to track services delivered to Animals instead of Clients. To learn more about using custom objects, check out Customize Recipients of Programs and Services.
Here’s how the animal rescue organization set up PMM:
-
Program: Animal rescue
-
Service: Vet checkup for rescued animals
-
Program Engagement: Fido is added to the animal rescue program using the Animal custom object
-
Program Cohort: Animals are grouped by where they came in, either the San Francisco Intake Center or the Oakland Intake Center
-
Service Delivery: Fido received 1 rabies booster on February 5th
-
-
Example 5: Providing Case Management Services
A human services organization has multiple types of programs. Their long-term housing program is only for enrolled clients, but they also offer an emergency assistance program available to anyone in need. PMM is perfect for tracking the emergency assistance program without the need to track individual recipients. For the long-term housing program, the organization uses Nonprofit Cloud Case Management for better long-term client management.
Here’s how the human services organization set up PMM and Nonprofit Cloud Case Management:
-
Program: Long term housing
-
Program Cohort: Clients are grouped by the year they entered the program
-
Program Engagement: Maddie is enrolled in the long term housing program
-
Service: Individual counseling
-
Case managers work with individual clients like Maddie, using Case Management to track goals and progress towards obtaining permanent housing
-
-
Program: Emergency assistance for community members in need
-
Program Engagement: This organization doesn't use program engagements for the emergency assistance program because they don’t track individual service recipients
-
Service: Emergency food assistance
Service Delivery: Distributed 20 bags of groceries on February 15th
-
Map Your Programs to the Data Model
Use a downloadable slide deck to help you think through mapping.
It’s important to talk with your team and decide how you want to map your organization’s programs and services to the data model. This downloadable slide deck provides exercises, definitions, and common use cases to help you make these decisions.
Complete these mapping exercises before doing any configuration so you can capture the data you need from the start, and so that reports produce the data you need. Happy mapping!

