I need some help in determining the sequence of steps and best practices when migrating data from one field to another after retiring a Multi-Select picklist value.

Previously, my org used a multi-select picklist field called "Donor Type" to track which donors were recurring donors. This was a manual process and was a legacy field from our prior CRM. We built a new solution with our implementation consultants that uses Declarative Lookup Rollup Summary (DLRS) and a simple Flow to display if a donor has ever been a recurring donor by finding Recurring Donations (NPSP Object). It updates this field to (" "), if they have never been a recurring donor, to "Current Monthly Donor" if they are currently a monthly donor, and to "Former Monthly Donor" if they ever were a recurring donor. That field is a regular picklist and is appropriately called "Recurring Monthly Donor". We've already deployed this solution to production and run the necessary apex jobs to update information, so our information is accurate.

I'm trying to retire the old "EFT (Monthly Miracle)" value from the Donor Type multi-select picklist field. I'm fine deactivating that value so no new records will contain that value. I'd also like to remove that field from records that contain it to keep our data clean. If we decide to remove this value from the multi-select field, what's the best way to also remove the value from the records that contain it? My initial thought was to update the records using data loader with only the "EFT (Monthly Miracle)" value to "BLANK", but that only covers about 1/2 the records with that value; the other 1/2 have other (multiple) values selected. If I updated the second 1/2 of those records to BLANK it would also remove those other selected values, so I anticipate some manual data scrubbing will be necessary. Is this the best way to remove those values from those records where other values are also selected?

Finally, we may have other values that indicate that certain donors have been recurring donors in the past but is not accurately captured in the migration of our previous CRM to Salesforce, and is not covered by our DLRS/Flow solution. (Our solution checks if there are any outstanding or closed recurring donations, and recurring donations did not exist in our previous CRM.) If I were to manually change the Recurring Donor Status field (or use data loader) of these records to reflect that a donor was a recurring monthly donor, will our Flow change the Recurring Donor Status on those records back to " " (BLANK) if those records are again edited?

This ultimately helps our marketing team build out accurate mailing and suppression lists based on whether a donor was a recurring donor at any point.

Thank you for your input.

2 Answers 2


if you export the values of the MSP (multi-select picklist) vai Data Loader, the will look like:


That is, they are semi-colon-delimited. Use Excel/Sheets formulas to create remove the value you want to delete, then use Data Loader to reload the field to the affected records.

Take care when reloading that any automations on the MSP (triggers, workflows, etc) don't execute unintended side effects.


I recently discovered that, if you delete an MSPL value, you have the option to fill it with another existing value or simply remove it and "Replace value on records with blank value". This is much simpler than doing a data load, and definitely the way I'll go about removing this value from existing records.

Only changing the value of the new picklist field would be a weak and unreliable way to update the recurring donor status of a contact since the automation relies on Recurring Donations. If we only updated the field without any Recurring Donations, the field would likely get changed and we'd lose data integrity. Instead, we'll insert new "old" Recurring Donations and run an apex job to update the Recurring Donor Status fields of the affected records.

There is also an NPSP Recurring Donation setting called "Installment Opportunity Auto-Creation" which "Specifies when NPSP will create installment Opportunities for Recurring Donations". Since this is defaulted to "Always Create Next Installment", I'll probably deactivate this setting when inserting these Recurring Donations so that no new Opportunities are created and mess up our historical reporting. Of course I'll have to do this during a time when we have the least amount of user activity, like on a Friday afternoon, late at night, or over a weekend.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .