Hidden Gems in the New Nonprofit Cloud: Life Events

Feeling a bit overwhelmed? Here are five awesome features from Nonprofit Cloud you can implement today!

With the introduction of Nonprofit Cloud, the new Industries Cloud-centric option for Nonprofits, a host of new (and new-to-us) features are entering the scene all at once. It’s easy to feel overwhelmed by all the options, especially when many of them have steep learning curves (cough, I’m looking at you Omnistudio, cough). With this new series, “Hidden Gems in NPC,” we’ll take a look at some of the most accessible and impactful new features that may have gotten lost in the noise. Learn how to wield new tools and expand your org today with these quick wins!

Life Events aka Milestones

This one is probably my favorite and one of the easiest features in this post to implement. Genuinely, you could set this up today! It’s also highly extensible to existing business processes and automations. 

Like most new NPC features, Life Events actually already existed as an Industries feature. In this case, Life Events is also known as “Events and Milestones” in Financial Services Cloud. The idea is that people have key events in their lives that are relevant to their relationship with your organization be they donors, clients, volunteers, or board members. Capturing these events and displaying them in a quick and easy to read component can help users understand the contact better and tailor their interactions. 

Life Events are made up of a few key pieces: there’s an object called PersonLifeEvents, and there’s a lightning component for your Contact record pages.

A customized Life Events component

It’s easy to see why Life Events comes to us from the world of Financial Planners, since nearly every major life event has some relevance for projects like estate planning or selecting the right insurance. 


PersonLifeEvent records are a master-detail child record of the Contact record, but the component works whether placed on a Person Account (thanks, Person Accounts!) or Contact record page. These records can represent an event that happens only once (say birth) or which happens repeatedly (like changing jobs or relocating), or happens periodically and is only good for a specific period of time (like getting an Identification card).

Configuring Life Events

This part really couldn’t be more simple. All you really need to do is configure the type of events important to your organization, and then drop the component on your account page. 

To configure your list events, simply modify the EventType picklist field on the PersonLifeEvents object. Here are the defaults used in the Trailhead learning orgs, and they can be a great start:

You’ll no doubt want to configure this list with some additional values that make sense for your organizations’ focus, and possibly deactivate a few of these. The active values will make up the icons that appear in the component. 

Extra Credit: Custom Icons

If you’ve added a custom value to the EventType picklist, you may notice that your custom events get a standard icon that looks rather like a star. Below, I added my custom value of “Got Braces” to represent that pivotal event in many young lives:

Graduation, Job, Marriage… these all have appropriate icons, but not Braces. Fortunately, this feature gives us the means to spiffy this up with our own custom icons. In Setup, under User Interface > Icons > Events and Milestones, you’ll find the icon settings for your Life Events. Here in my Trailhead Learning Org, there’s several icons already loaded with event types, but you’ll find in fresh, shiny production orgs there are NO pre-loaded icons. Like many new features, these orgs have little to none of the UI elements that really make the features sing, so you’ll have to do this work. 

To update the icons, simply click the “Change Icon” button to the right of the PersonLifeEvent type entry you’d like to customize. You’ll get a modal allowing you to upload your own file:

Here we run into a little problem. This setting needs an SVG file, also known as “Scalable Vector Graphics.”  SVGs are XML based, and allow the image to scale effectively. They’re not something you can easily make by just exporting an icon found on the internet into a different format. Fortunately, we have a source for FANTASTIC icons in all sorts of formats made just for Salesforce: The Salesforce Lightning Design System, or SLDS. The SLDS is a resource for designers and developers to create beautiful interfaces using assets like icons, fonts, and more. There’s all sorts of goodies in here, but under Icons you’ll find downloadable files that include SVG Icons. Use these to create attractive Type icons for your Life Events!

Life Event Examples

Now let’s look at some use cases. I said at the beginning of this post that Life Events work well for three major types of milestones: things that happen just once, things that can happen multiple times, and things that happen but are only relevant for a period of time. Let’s look at examples for each of these that we might see in a Nonprofit. The key to effective use of Life Events is all in how the data is entered.

One and Done

This type is the simplest; here we can document things that happen only once. The most obvious case here is the simplest, and it is here for us already: birth. Everyone does it!

For this example, we can just call the Event “birth.”  Type is Birth, and it’s important to fill out the Event Date for this use case. We may or may not know the time; if the time is unknown, Salesforce defaults to noon. If created from the person account record, our Primary Person will already be populated. Given how we use this information, the birth location may also be very important, and we can enter as much (or as little) of this information as we like. 

Multiples & Tentative

But what about events that can happen repeatedly, or events that may be expected to happen in the future? Let’s take the type “Graduation” as an example. Here’s an entry that captures our test contact Alex Brown’s graduation from University:

Here we may wish to give the Name a bit more detail, and we’ve also added some information in the Event Description to capture what Alex’s degree is in. Let’s say that Alex also shared with us in the same interaction that he’s attending school to earn his PhD. We can capture that anticipated event like this:

We’ve added all the same information, but note the date is in the future, and we’ve checked the “tentative” box. There are now two entries for the graduation benchmark, which we can see from the “x2” badge on the type. If we mouse over the Graduation type, we also see both entries and their dates. That’s a lot of information in one display!

There is a caution here! Note that it’s only the checkbox of “tentative” that makes a life event appear in this way. If the planned date comes and goes, the life event doesn’t automatically update. This could be automated using flow, but it doesn’t do this out of the box. It’s also true that if a user enters a date in the future but does not check the tentative box, Salesforce doesn’t complain at all. The reverse is also true; the checkbox can be checked for dates in the past. You may want a validation rule to handle these situations, depending on how your org wishes to use Life Events. 

Expiring Events

This might be my favorite example of how versatile Life Events can be, and especially how much information can be packed into not a lot of space. Let’s look at a use case that highlights an event that is only salient for a limited amount of time: licensing. In our case, let’s say that Alex has to acquire a certain professional license, but that license expires after a set period of time unless he remembers to renew it. 

To document this use case, we take advantage of the “Expiration Date/Time” field, add some notes to the Expiration Description, and check the Expiration box:

The end result in the Life Events component looks like this: 

We can quickly and easily see that Alex was licensed, but his license has expired. The record is still there, as reportable as ever, but the display makes it clear what’s going on. HOWEVAH the same caution applies here as with tentative events: only the “Expired” checkbox makes an event actually appear as expired. And as with tentative events, you could automate this process or enforce correct usage with a validation rule. 

At Navigators, we’ve used this particular feature to capture the need for certain services that should be routinely performed but at longer intervals, such as health checkups, annual physicals, dental exams, or periodic performance assessments and academic tests. Organized in this way, service providers can quickly see what areas need attention in the context of other major Life Events that are relevant to the mission. 

Going the Extra Mile

We’ve mentioned here that you could automate the marking of tentative events to non-tentative ones based on the expected dates, or automate events to “expire” based on expiration dates. There’s so much more to look at here. 

For starters, Life Events also have a lookup for the “related person.”  For events like Marriage, this can be a useful way to capture the other party to the event. 

Life Events can also be used on business accounts as “Business Milestones.”  It’s all the same functionality, but the records live on the BusinessMilestone object. 

Lastly, and probably my favorite, if your life events relate to something else you’re tracking in Salesforce, you can automate them to save your users time. Because Life Events are just records on a table, you can create and update them using flow. The use cases here are endless! Completing a Care Plan to achieve a treatment goal could be used to automatically create a Life Event of graduating from the program. Volunteers who reach a certain milestone of service could see a Life Event made to document joining an elite club of super-volunteers who have served over a certain number of hours. For a program serving small business started by non-traditional entrepreneurs, maybe you automate business opening or hiring/growth benchmarks based on key records associated with the related account. Let your imagination go wild! 

Wrapping it Up

Life Events, known elsewhere as Milestones, are records that capture key moments in your constituents’ lives or in their relationship with your organization. They use a compact but data rich component to display a great deal of information in a small space, and are flexible enough to be used with just about any type of event. Life Events are easy to configure, and easy to automate. Bringing Life Events to nonprofit organizations through Nonprofit Cloud is a great example of how features long enjoyed in industries can enrich nonprofit organizations, too. 


Hayley Tuller is the Founding Partner and Head of Services at Navigators. She is a 14x Salesforce Certified architect dedicated to helping nonprofits and other social-good organizations get the most out of their Salesforce investment.


One thought on “Hidden Gems in the New Nonprofit Cloud: Life Events

Comments are closed.