Migrate Recurring Donations from External System
Context
Organisations may migrate recurring donations from an external system into Raisely. In this scenario MoveData will receive information from Raisely and create recurring donation records inside Salesforce. Importantly, MoveData has no context of your existing recurring donations inside Salesforce, and thus there is a process to follow if you require your Raisely recurring donations to match your existing recurring donations inside Salesforce.
Process
1. Identify Recurring Donations being migrated to Raisely
- Save a list of these records as you will need to modify them in a future step
- We recommend building this as a report in Salesforce for easy access and review throughout the process
2. Understand how MoveData matches Recurring Donation records
- Raisely recurring donations contain a Subscription UUID like
977c3600-50c6-11ed-8a6f-53e6db3905ae - You can export a list of Subscription UUIDs from Raisely via
Reports → Create a Report → Regular Donation Schedules - MoveData prefixes the Subscription ID with
raisely:to create a value likeraisely:977c3600-50c6-11ed-8a6f-53e6db3905ae - MoveData stores this value on the
Platform Keyfieldnpe03__Recurring_Donation__c.md_npsp_pack__Platform_Key__c - If a match on
Platform Keyis determined, MoveData will use the matched record - Otherwise, MoveData will create a new record (saving the platform key value against that record) to represent the recurring donation and use this new record ongoing
- Thus, you will need to set the
Platform Keyvalue for all recurring donation records identified in (1)
3. Understand how MoveData matches Contact records
- When processing Raisely information into Salesforce, MoveData will attempt to match against an existing contact record inside Salesforce
- If no match is determined, a new contact record will be created to represent the information supplied by Raisely
- As such, you must ensure that contact information in the import file supplied to Raisely is aligned with the contact information associated with each recurring donation record inside Salesforce
- Failure to do so can result in duplicate contact records being created, and/or Salesforce validation errors such as You can't change the Household Account or Contact on a Recurring Donation that has Closed Opportunities in NPSP
4. Simulate testing and implement necessary changes
- The standard integration business logic will apply when processing Raisely recurring donations into Salesforce and in the case of your migration you may or may not want to customise this logic
- For example, if your Salesforce recurring donation record is 12mo old, and Raisely issues a created date of
TODAY, then the integration will set theDate Establishedfield toTODAY - As such your migration needs to be reviewed ahead of time, and any necessary changes identified and implemented
- To conduct your review we recommend simulating the following:
- Create a recurring donation in your sandbox (this should be a direct copy from Production, and if you have various permutations you should replicate each)
- Create a new recurring donation in Raisely
- Copy the value for
md_npsp_pack__Platform_Key__cfrom the Raisely-created recurring donation record and delete this record out of Salesforce - Apply the copied value to the recurring donation record manually created
- Open the donation in Raisely and click
Edit → Save- This will cause Raisely to re-issue the recurring donation which will now match against the manually created record
- Identify any additional or unwanted changes the integration has made to the manually created record
- Introduce changes to support your desired behaviour and repeat the above steps until behaviour is as expected
- The fields which most commonly need supporting are
Date Established,Effective DateandCampaign
5. Disable Raisely webhooks and import with a status of Paused
- Remove all
subscriptionwebhook events from the campaign(s) Raisely is importing into - Instruct Raisely to import recurring donations with a status of
Paused
6. Export Subscription UUIDs and set Platform Key
- Export Subscription UUIDs from Raisely and set values on
npe03__Recurring_Donation__c.md_npsp_pack__Platform_Key__cper (2)
7. Enable Raisely webhooks and update status to Active
- Enable
subscriptionwebhooks and instruct Raisely to update subscription statuses toActive - Monitor resultant records in Salesforce to ensure the desired behaviour is as expected
Other Considerations
- Raisely requires you to supply an email address for the person record associated with each imported recurring donation.
- If contact records associated with existing recurring donations do not contain email addresses, and you have supplied one to Raisely or Raisely has assigned one for you, you must ensure that same email address is present on the contact record per (3) above
- If you have “obscure” recurring donation schedules then we recommend testing these permutations too. This is per (4) above.