What is the NPower Template?
First of all, the "Nonprofit Template" is different than the "NPower Template." When nonprofits sign up for Salesforce and request the Nonprofit Template, they get a Salesforce instance that has a number of customizations and extras. These were created a long time ago by Tucker MacLean, a Salesforce employee, and Steve Andersen of One/NW. This template is good but not great; it shares many of the features we have implemented, but hasn't been improved much over time as Salesforce added capabilities to the platform.
In an effort to do a better job and to take advantage of new features, Steve at One/NW reworked the template extensively into a special version delivered only to One/NW clients. We did the same here at NPower, borrowing much of Steve's code but rewriting and reworking it.
Now, the NPower Template is quite different than its cousins. Most of the Apex code is written by Evan and V, and Of course, our customers don't all have the latest version of our template -- in fact, some don't have it at all because they don't fit the donor management model.
Most of the NPower Template is contained in a single AppExchange package. Evan updates this package frequently with improvements and fixes, so it is important to ask for the latest version. To install the template, first make sure that the customer signs up for the "standard" template, not the Nonprofit template. Then, follow the Installation Checklist, a spreadsheet that provides all the steps for installing the template from the AppExchange and configuring it. The checklist also discusses the optional items we've created to work with or alongside the template.
Here is what the template offers:
| Feature | Salesforce Object/Code |
Notes |
|---|---|---|
| Various fields renamed or added for nonprofit use |
Example: we add Home Phone and rename Phone to Work Phone |
|
| Apex to maintain Home and Work address |
Primary address fields Various triggers |
|
| New Contact record type creates one or more contacts at once |
New Contact page layout Contact triggers |
Users are only allowed to create
contacts with the New Contact record type. The contact triggers change
the record type to Contact and create a second (spouse/partner) contact
record |
| Householding (objects, fields, and code that help track spouses as separate contacts at a single address) |
Household object Household and Household Greeting fields on Contact object Householding Apex class |
|
| Duplicate contact checking |
Part of ContactChange trigger |
Duplicate names are rejected by trigger. New contact layout has a field that allows override. |
| Consistent naming and creation of contact roles for opportunities (donations and grants) |
New Opportunity s-control OpportunityWebServices Apex class Various triggers |
|
| Grant record type, layout, custom fields |
||
| Volunteering record type, layout, custom fields |
||
| Automatic donation totaling for accounts and contacts |
||
| Tools for lead conversion (matches imported people, donations, or web form submissions to existing contacts and accounts) |
Lead Conversion s-control LeadConversion Apex class |
|
| Household deduplication for mailing campaigns |
||
| Corporate matching tool for donations |
||
| Opportunity splitter for multiple pledge payments |
||
| Steve Andersen's "Campaign Combiner" |
Add or subtract one campaign from another. Great for sending a letter to all the donors who you *didn't* invite last time. |
|
| Automatic opportunity "cloning" for next year |
||
| Tools for bulk change of opportunity status |
||
| Various reports and dashboards |
||
| Basic email letterhead and templates |
||
| Tools for tracking and managing thank yous |
||
| Basic security settings appropriate to nonprofits |
||
| Automatic lead conversion for matching email or external ID |
The NPower Template is just a starting point for most implementations -- each customer has their own unique requirements for custom fields, workflow, and so on. In addition, there are many optional components that we've developed for the template. Here are a few:
- Custom objects and code for tracking relationships between multiple contacts and accounts (Relationships package)
- Account Primary Contact field that automatically fills with a contact from the account if one isn't specified (Account Primary Contact package)
- Automatic lookup of WA zip code to fill in city and county fields (Zip Code Lookup package)
- Management of event participation details (Event Participant custom object, Apex code)
- Automatic lead creation for Paypal donations (Plone notification service, custom fields and lead conversion code)
- Automatic lead creation for Brown Paper Tickets orders (BPT package)
If your customer needs any of this, ask Evan where to find it.
