Contact post-upsert 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. Please note: the flow commentary is produced using AI.
Overview#
Flow name: MoveData_Donation_Contact_Post Label: [MoveData] Donation: Contact - Post Upsert Type: Auto-Launched Flow Template API version: 60.0 Status: Active
This flow handles post-processing operations after contact records are created or updated, including platform key association and NPSP affiliation creation between contacts and their parent accounts.
Purpose#
The flow performs post-upsert operations that:
- Creates platform key associations linking contacts to external platform identifiers
- Establishes NPSP affiliations between contacts and their parent accounts
- Provides configurable platform key processing with disable options
- Supports nonprofit relationship management through NPSP integration
Salesforce fields#
This flow interacts with the Salesforce Contact object and its related fields. Below is a mapping of all fields utilised:
| Field API name | Field type | Purpose in flow |
|---|---|---|
| Id | ID | Unique record identifier |
| AccountId | Lookup to Account | Links contact to associated account |
Input variables#
Core contact data#
| Variable | Type | Required | Description |
|---|---|---|---|
Record |
Contact SObject | Yes | The Contact record that was created/updated |
ParentAccount |
Account SObject | No | Parent account for affiliation creation |
Platform |
String | Yes | External platform identifier |
PlatformKey |
String | Yes | External platform's contact identifier |
Configuration variables#
| Variable | Type | Default | Description |
|---|---|---|---|
Config_ContactDisablePlatformKey |
Boolean | - | Completely disable platform key processing |
Config_ContactSetPlatformKey |
Boolean | true | Enable platform key creation |
Config_MoveDataEngine |
Number | - | Engine version identifier |
Output variables#
| Variable | Type | Description |
|---|---|---|
Record |
Contact SObject | Updated contact record |
Errors |
String Collection | Updated error collection from processing |
Flow logic#
1. Platform key association#
When platform key processing is enabled:
- Subflow call: Invokes
MoveData_Donation_Helper_Set_Contact_Platform_Key - Error collection: Captures any errors from platform key creation
2. NPSP affiliation creation#
When no errors are present and parent account exists:
- Component: Uses
CreateAffiliationComponentApex action - Relationship: Creates affiliation between contact and parent account
- Status: Sets affiliation status to "Current"
- NPSP integration: Establishes nonprofit-specific account-contact relationships
Error handling#
- Error detection: Checks for platform key creation failures
- Data integrity: Ensures complete record processing or graceful failure
- Duplicate platform keys: When platform key already exists for different contact, the flow captures the error
Dependencies#
- MoveData_Donation_Helper_Set_Contact_Platform_Key (Subflow)
CreateAffiliationComponent(Apex action)