Skip to content

setupkids

Salesforce admins focused on education

  • About setupkids
  • Tools
  • Cookbooks
  • About setupkids
  • Tools
  • Cookbooks

Category: Contact Management

Allow external users to tell you where they work or where they went to college without destroying data quality

DISH:  Many organizations use external forms to acquire new constituents, program prospects, donors and the like.  NPSP uses affiliations to store contact to account relationships but auto-creating new accounts and affiliations could create more duplicate accounts than anyone is ready to manage.


WHY THIS MATTERS:  Knowing external org affiliations is powerful and generally your users know which connections are important and which are not.  A system that users cannot trust is not going to be well adopted.


SOLUTION:  Store text-based account data coming from contact forms in a hidden field, then calculate Primary Affiliation via a formula field.


INGREDIENTS:

  • Know exactly how you plan to use affiliations in your org
  • Custom Hidden Text Org Affiliation field on the contact object
  • Custom Primary Affiliation (Text) field on the contact object

TOOLS REQUIRED: 

  • FormAssembly, SurveyGizmo or other external form tool integrated with Salesforce

STEPS:

  1. Create  Hidden Text Org Affiliation field
    • Navigate to the contact setup field section (Setup|Customize|Contacts|Fields)
    • Select New
    • Select Text
    • Select Next
    • Enter “Hidden Text Org Affiliation” on Field Label
    • Enter “Hide_OrgValue” in Field Name
    • Enter 255 in Length
    • Enter “Hidden field for all users to store text value of Org from external website etc, will be calculated to the PAff_txt__c field if the primary affiliation is null” in description
    • Select Next
    • Uncheck Visible for all user profiles
    • Select Next
    • Uncheck Add Field for all Contact Layouts
    • Select Save & New
  2. Create Primary Affiliation (Text) field to calculate between Primary Affiliation, Hidden Text Org Affiliation or all blank
    • Select Formula

    • Select Next
    • Enter “Primary Affiliation (Text)” on Field  Label
    • Enter “PAff_txt” on Field Name
    • Enter “Calculated text value for primary affiliation.  External integrations will update the PAff_txt field , when an actual primary affiliation is added it will replace the name in the calculation” on Description
    • Enter “This is a text representation of either an external web form entered by the actual contact or the account name of the primary affiliation.” on Help Text
    • Enter Text on Formula Return Type
    • Enter ‘IF( IsBlank( npsp__Primary_Affiliation__c ) = False,npsp__Primary_Affiliation__r.Name  , IF( IsBlank( Hide_OrgValue__c ) = True   && IsBlank( npsp__Primary_Affiliation__c ) = True,”Unknown-Unverified”, Hide_OrgValue__c & ” -Unverified” ))’ As Formula
    • Select “Treat blank fields as blanks”
    • Select Next
    • Make visible for all profiles
    • Select Next
    • Add field for all page layouts
    • Select Save
    • Select Page Layouts

    • Move Primary Affiliation (Text) below Primary Affiliation on all contact layouts
    • Select Save
  1. Now map your integrated form to the Hidden Text Org Affiliation field where you’re asking for an employer/university etc.

SERVE: Test your solution with your integrated form. You may also want to adjust the visibility on the Hidden Text Org Affiliation field so users can see it in reports to manage overall data quality.

Scenario 1: If the Hidden Text Org Affiliation field is filled out but no Primary Affiliation exists the value of Hidden Text Org Affiliation appears with “-Unverified” in the Primary Affiliation (Text) field.

Scenario 2: If the Hidden Text Org Affiliation field is blank and no Primary Affiliation exists the value of Hidden Text Org Affiliation appears as “Unknown-Unverified” in the Primary Affiliation (Text) field.

Scenario 3: If the  Primary Affiliation exists Hidden Text Org Affiliation field is ignored and no the value of Primary Affiliation appears in the Primary Affiliation (Text) field.


RISK LEVEL: Medium, if form data is constantly conflicting with affiliation data you may need to take additional steps (Post Coming Soon) to determine which is more recent and more relevant.   For example if a new form was filled out with a newer Hidden Text Org Affiliation value you may want to put things in place to prompt a user to view and update the affiliation history.  This can be combined with general Affiliation Verification methods (Post Coming Soon)


TIME: 10 minutes (not including creating and integrating your external form)

RELATED POSTS:

Cookbook – Strengthen NPSP affiliations management

Part 1 Decide what affiliations are to be used for

Part 2 Automate the Status field

Part 3 Align Title fields between Affiliations and Contacts

Share:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • Click to print (Opens in new window)
  • Click to email this to a friend (Opens in new window)
  • Share on Skype (Opens in new window)
  • Click to share on Reddit (Opens in new window)
  • Click to share on Pocket (Opens in new window)
  • Click to share on Pinterest (Opens in new window)
  • Click to share on Tumblr (Opens in new window)
  • Click to share on Google+ (Opens in new window)
  • Click to share on Telegram (Opens in new window)
  • Click to share on WhatsApp (Opens in new window)
Author bflorioPosted on December 27, 2016Categories Account Management, Contact Management, Data QualityLeave a comment on Allow external users to tell you where they work or where they went to college without destroying data quality

Recipe: Automate affiliation status field

DISH:  NPSP has an affiliation status field, but it demands that you update it along with the end date. Assuming you do not have an interim status like “On Extended Leave”  you may as well automate that field with a workflow.


WHY THIS MATTERS:  It is unnecessary to force users to enter 2 fields when they only need to enter one.  Data quality will suffer if we see that users have an end date but are also current affiliations.


SOLUTION:  When the end date is entered a workflow will update the status field as “Former” and uncheck the primary indicator, if the end date is erased the status field will return the status field to “Current.”


INGREDIENTS:

  • Know exactly how you plan to use affiliations in your org

TOOLS REQUIRED: 

  • Process Builder

STEPS:

    1. Create a new process. (Setup|Create|Workflow & Approvals|Process Builder)
      • Select New
      • Give your process a name and description (Start with the object name so you know which processes control which objects)
      • Enter A record changes under “The process starts when*”
      • Enter Affiliation in the Object Field
      • Start the process “When a record is created or edited.”
      • Select Save
      • Select Add Criteria
      • Enter a Criteria Name “End Date is entered.”
      • Criteria for Executing Actions = Conditions are met
      • Condition 1 End Date Is Null Boolean False
      • You want to execute only when specified changes are made
      • Select Save
      • Select Immediate Actions|Add Action next to your first decision diamond
      • Select update records
      • Action Name = Status Former
      • Select update type Select the npe5_Affiliation__c record that started your process
      • Select Choose
      • Select no criteria just update the records
      • Select Status Picklist Former
      • Select Primary Boolean False
      • Select Save
      • Select Add Criteria in the next diamond
      • Enter a Criteria Name “End Date is erased”
      • Criteria for Executing Actions = Conditions are met
      • Condition 1 End Date Is Null Boolean True
      • You want to execute only when specified changes are made
      • Select Save
      • Select Immediate Actions|Add Action next to your second decision diamond
      • Select update records
      • Action Name = Status Current
      • Select update type Select the npe5_Affiliation__c record that started your process
      • Select Choose
      • Select no criteria just update the records
      • Select Status Picklist Current
      • Select Save (NOTE: You probably do not want to check primary here as it could be possible to have two affiliations with no end date)
      • Select Activate
      • Select Confirm

SERVE: Test your solution and update your user training guides.

Enter an affiliation End Date and save.

The Status will change to Former and Primary will be unchecked.

Erase the affiliation End Date and save.  

The Status will change to current, primary is checked manually. Please be sure to indicate this in the training materials.

 


RISK LEVEL: Low


TIME: 10 minutes

RELATED POSTS:

Cookbook – Strengthen NPSP affiliations management

Part 1 Decide what affiliations are for

Part 3 Align Title fields between Affiliations and Contacts

Share:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • Click to print (Opens in new window)
  • Click to email this to a friend (Opens in new window)
  • Share on Skype (Opens in new window)
  • Click to share on Reddit (Opens in new window)
  • Click to share on Pocket (Opens in new window)
  • Click to share on Pinterest (Opens in new window)
  • Click to share on Tumblr (Opens in new window)
  • Click to share on Google+ (Opens in new window)
  • Click to share on Telegram (Opens in new window)
  • Click to share on WhatsApp (Opens in new window)
Author bflorioPosted on December 27, 2016December 27, 2016Categories Account Management, Contact ManagementLeave a comment on Recipe: Automate affiliation status field

Decide what affiliations should be used for and how to categorize

You want to be careful with using affiliations to record everything that relates a contact and an organization.  While having structured relational data has powerful potential, it can create complexity you don’t need.  In some cases, relationships would be better handled by a field update or even a note.

Examples where affiliations may be overdoing it:

  • You only participate in grassroots fundraising and the employers of your funders is unimportant or too much data to be worth managing
  • Your program is not centered around individuals, where they work or a need to leverage those extra accounts
  • There are a very limited number of possibilities  for account relationships
    • A picklist of 4 possible unions is quicker and easier to manage
  • You only care about the level of degree achieved not the actual volume of graduates from a particular school
  • Managing account data, especially duplicate accounts is too risky at this time
  • You want to be very careful about how much data storage you are using, you may already use the org to contact model rather than the household model for this reason

Assuming you’ve thought about all that and you feel it’s important to record at least some of the information using affiliations, decide on a design for customizing the affiliation record.  Salesforce and NPSP offer a lot of power and customization, but always make sure your focused on what’s critical to your outcomes vs what looks like a cool design or covers every odd scenario.

It’s always best to diagram your model out and share it with your business teams.  Be sure you and each business team are challenging each other to capture critical information in a structured (report-able) way while balancing the capacity for data entry and system training.

Here are some suggestions:

  1. Type: If you’re categorizing affiliations broadly, employment, education, volunteering, decide if a type field would suffice or a record type.
    • Type – a required field that simply splits out the object into broad categories.
    • Record Type – a required field that forces you to manage a whole new set of permissions, page layouts. It also changes the available picklist values.  It’s strongly recommended you start with a simple type and move to a record type only when you absolutely need it. Read more Record Type Steps
  2. Role – NPSP comes with this text field.  Decide if this text field is useful at all, it’s quite up to you how to use it.
  3. Title: If you plan on recording a job title, you can use the Role field, but be mindful you should hide the Title field on the contact or use a solution to populate or calculate (LINK) it.
  4. Other custom affiliation fields that could be useful.
    • If you’re training people on the job, you may want to relate your training (custom solution) to the job (affiliation)
    • The manager, program director or some other contact that influences this affiliation
    • A reason the affiliation ended
  5. Examples of validations to ensure important data is entered
    • Type and starting grade level are required when linking to school accounts only
    • Job role/title and job level is required when entering employment type affiliations
    • A start date is required for programmatic affiliations
    • The start date should never come after the end date

RELATED POSTS:
Cookbook – Strengthen NPSP affiliations management

Part 2 Automate the Status field

Part 3 Align Title fields between Affiliations and Contacts

Share:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • Click to print (Opens in new window)
  • Click to email this to a friend (Opens in new window)
  • Share on Skype (Opens in new window)
  • Click to share on Reddit (Opens in new window)
  • Click to share on Pocket (Opens in new window)
  • Click to share on Pinterest (Opens in new window)
  • Click to share on Tumblr (Opens in new window)
  • Click to share on Google+ (Opens in new window)
  • Click to share on Telegram (Opens in new window)
  • Click to share on WhatsApp (Opens in new window)
Author bflorioPosted on December 27, 2016December 29, 2016Categories Account Management, Contact ManagementLeave a comment on Decide what affiliations should be used for and how to categorize

Recipe – Display primary affiliation role in contact title field

DISH:  NPSP has the Role field on the affiliation record, Salesforce has the standard Title field on the contact record.  To ensure both values are aligned, you must manually enter and update duplicate information.


WHY THIS MATTERS:  Users are confused by having duplicate fields in different places and will lose faith in their data and the amount of effort it takes to maintain.


SOLUTION:  When the Role field is updated on a primary affiliation auto-populate the role value to the Title field on the related contact.


INGREDIENTS:

  • Know exactly how you plan to use affiliations in your org
  • Data currently stored in the Affiliation|Role fields and Contact|Title Fields. Export to csv files so you can move it to the correct field when the new model is complete
  • Custom Title field on affiliation object

TOOLS REQUIRED: 

  • DLRS or Rollup Helper

STEPS:

  1. Create a Title field on the affiliation object.
    • Navigate to the role field in custom object setup (Setup|Create|Objects|Affiliation)
    • Select New
    • Select Text
    • Select Title as a field label and Name 128 as a field length (To match the contact field’s length) Enter a description and help text to your liking.
    • Make visible to all users and allow users to edit
    • Save to page layout and save  
    • Arrange in page layout by opening the layout editor and selecting edit
    • Drag and drop to remove role and replace with the new title field
    • Do the same for the related list from the contact page layout
    • Do the same for the related list from the account page layout

  2. Disable the NPSP Role field. (You can use the Role field as the Title but you cannot change the name of either so educating users on the difference may not be worth the effort.  I suggest you just disable the Role field for now. If it’s been used as a job title value you may want to move that data over to the new field.)
    • Navigate to the role field in custom object setup (Setup|Create|Objects|Affiliation
    • Select Set Field-Level Security
    • Deselect all user profiles and select save.


  3. Open DLRS by  selecting the plus sign and selecting Manage Lookup Rollup Summaries (Note you can do this with Rollup Helper but the field values and process will be slightly different)
    • You will be creating a new Rollup so you just need to input data into the available fields
    • = Contact
    •  = npe5__Affiliation__c
    •  = npe5__Contact__c
    •  =npe5__Primary__c=True
    •  = Title__c
    •  = Concatenate Distinct
    •  = Title
    •  = Realtime
    •  = System
    • Active = False
    • Select Save
    • Select Manage Child Trigger
    • Select Deploy and wait until Deployment Complete message appears
    • Select Cancel
    • Select Active
    • Select Save
    • Select Calculate (Please note if you have more than 5000 or so affiliations you want to select Schedule Calculate
    • Select Run Calculate Job  Please NOTE:  Before you calculate the job you will want to move any values currently stored into the Title field on contacts into the new Title field on primary affiliations, calculating this job will remove all Contact Title values from any contacts that have a primary affiliation and replace it with the value on the affiliation even if that value is blank.

  4. Navigate to the contact field security Setup|Customize|Contacts|Fields|Title|SetFieldLevel Security
    • Set all to read only. This will ensure that users only add the title field by using the primary affiliation moving forward.


SERVE: Test your solution and update your user training guides.

Enter your title into an affiliation and be sure “Primary” is checked

Title automatically gets populated on the contact record

Consistent data when looking at org affiliations and contact titles.


RISK LEVEL: Low


TIME: 10 minutes (may take more time if contact title values need to be   migrated to primary affiliations)

RELATED POSTS:

Cookbook – Strengthen NPSP affiliations management

Part 1 Decide what affiliations are to be used for

Part 2 Automate the Status field

 

 

Share:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • Click to print (Opens in new window)
  • Click to email this to a friend (Opens in new window)
  • Share on Skype (Opens in new window)
  • Click to share on Reddit (Opens in new window)
  • Click to share on Pocket (Opens in new window)
  • Click to share on Pinterest (Opens in new window)
  • Click to share on Tumblr (Opens in new window)
  • Click to share on Google+ (Opens in new window)
  • Click to share on Telegram (Opens in new window)
  • Click to share on WhatsApp (Opens in new window)
Author bflorioPosted on December 27, 2016December 27, 2016Categories Account Management, Contact ManagementLeave a comment on Recipe – Display primary affiliation role in contact title field

Cookbook – Strengthen NPSP affiliations management

Challenge:  We started using NPSP affiliations without customization or clear purpose.

Affiliation is a great feature of the Non-Profit Success Pack. Many non-profits have people at the center of their work and being able to track current and historical relationships with organizations can be key.


Applications for Affiliation: 

  • Employment and employment history of donors and external contacts (replaces the contact and account Salesforce model when the household model is used)
  • Measure participants employment gains as related to your effort
  • Maintain history of contact’s educational history and degrees
  • Volunteer status between contacts and other organizations
  • Board membership

Overview:

Native Salesforce contains a feature called contact roles where multiple contacts are related to an account with the role that person plays.  In a business-to-business landscape, this is probably sufficient as the sales function only cares about who’s at the company and what their purpose is when making a sale. It’s not very customize-able, for example, you can’t indicate when they started or ended the role, designate if they’re a volunteer or board member etc.

Affiliations are an improvement over contact roles and come with a couple of cool features:

  1. You can use the Primary Affiliation field on a contact to designate the main account related to the contact.
  2. If you add or change the reference in the Primary Affiliation field on a contact, it auto-generates an affiliation record.
  3. If you check the Primary checkbox on an affiliation record it will change the Primary Affiliation reference on the contact and uncheck all of the other affiliation’s Primary fields

This leaves us with some challenges:

  1. Job titles can get mixed up especially if it’s important to have the title appear on the contact record
  2. You can quickly add the primary affiliation reference on a contact when someone changes roles, but you’ll still have to manually go back and manage start dates and end dates
  3. The status field on affiliations is not automated upon entering an end date.
  4. If you have a web form that creates or updates contacts, a “Company” text field could also create confusion of where to record employment.
  5. If tracking employment is critical to your mission, you don’t have a way to verify employment is up to date
  6. It’s not easy to report out overlapping affiliations

COOKBOOK CHAPTERS:

Part 1 Decide what affiliations are to be used for

Part 2 Automate the Status field

Part 3 Align Title fields between Affiliations and Contacts

Part 4 Manage conflict between an online web form using a “Company” field and actual affiliation records.

Part 5 Create a process for staff to verify affiliation data (Coming soon)

Part 6 Find potential duplicate affiliations (Coming soon?)

 

Resources:

Continue reading “Cookbook – Strengthen NPSP affiliations management”

Share:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • Click to print (Opens in new window)
  • Click to email this to a friend (Opens in new window)
  • Share on Skype (Opens in new window)
  • Click to share on Reddit (Opens in new window)
  • Click to share on Pocket (Opens in new window)
  • Click to share on Pinterest (Opens in new window)
  • Click to share on Tumblr (Opens in new window)
  • Click to share on Google+ (Opens in new window)
  • Click to share on Telegram (Opens in new window)
  • Click to share on WhatsApp (Opens in new window)
Author bflorioPosted on December 27, 2016December 27, 2016Categories Account Management, Contact ManagementLeave a comment on Cookbook – Strengthen NPSP affiliations management

Categories

Recent Posts

  • Allow external users to tell you where they work or where they went to college without destroying data quality
  • Recipe: Automate affiliation status field
  • Decide what affiliations should be used for and how to categorize
  • Recipe – Display primary affiliation role in contact title field
  • Cookbook – Strengthen NPSP affiliations management

Recent Comments

    Archives

    • December 2016
    • August 2016
    RSS Feedly

    RSS

    Newsletter

    Follow me on Twitter

    My Tweets
    • About setupkids
    • Tools
    • Cookbooks
    • About setupkids
    • Tools
    • Cookbooks
    setupkids Proudly powered by WordPress
    loading Cancel
    Post was not sent - check your email addresses!
    Email check failed, please try again
    Sorry, your blog cannot share posts by email.