Recurring record match flow
Note
This flow is self-documenting and should be viewed within Salesforce (Setup > Process Automations > Flows). This document is to support working through a visual flow. The flow commentary in this document was generated with AI assistance.
Overview#
Flow name: MoveData_Donation_Recurring_Duplicate Label: [MoveData] Donation: Recurring - Record Match Type: Auto-Launched Flow Template API version: 60.0 Status: Active
This flow performs duplicate detection for recurring donation records by using platform keys to identify existing recurring donations in Salesforce. It enables proper record matching and prevents duplicate creation during data imports.
Purpose#
The flow provides duplicate detection capabilities that:
- Uses generated platform keys to look up existing recurring donation records
- Checks the
Platform_Key__cfield onnpe03__Recurring_Donation__crecords for matches - Returns Salesforce Record IDs when duplicates are found
Salesforce fields#
| Field API name | Field type | Purpose in flow |
|---|---|---|
| md_npsp_pack__Platform_Key__c | Text (100) | Stores external platform identifier for matching |
Input variables#
| Variable | Type | Required | Description |
|---|---|---|---|
PlatformKey |
String | Yes | Generated platform key for lookup matching |
Output variables#
| Variable | Type | Description |
|---|---|---|
Result |
String | Salesforce Record ID of matching recurring donation (if found) |
Flow logic#
1. Platform key lookup#
The flow performs platform key matching:
- Direct lookup: Queries
npe03__Recurring_Donation__crecords byPlatform_Key__cfield - Single operation: No conditional logic or validation steps
- ID return: Returns matching Salesforce Record ID if found
2. Lookup strategy#
The duplicate detection follows a simplified approach:
| Step | Strategy | Description |
|---|---|---|
| 1 | Platform key lookup | Search existing records using platform key |
| 2 | No match | Returns null if no duplicate found |
Error handling#
Missing data scenarios#
- No platform key: Flow terminates without performing lookup
- No match found: Result remains null, indicating new record should be created
Data quality validation#
- Null values: Graceful handling of missing platform key parameter
- Query failures: Uses
assignNullValuesIfNoRecordsFoundfor robust error handling
Dependencies#
None