Loading

Salesforce NPSP: External Platform Record Changes Do Not Sync Into Salesforce Contacts and Households

Date de publication: Jul 16, 2026
Description

When utilizing third-party tools to create or update data within Salesforce NPSP, administrators may observe that a subset of records fails to sync while the remaining integration pipeline processes successfully.

Common administrator and user reports include:

  • "Changes made to accounts in GoFundMe Pro are not syncing to Salesforce, but other records update fine."

  • "We are seeing sync failures on specific transactions, yet this API connection has worked perfectly for over a year."

  • "Salesforce is refusing to sync from our platform because of an obscure record error."

Environment & Scope

  • Product: Salesforce Nonprofit Success Pack (NPSP) version 262 with active address verification, nightly rollup processing, or data automation.

  • Integrations: Bidirectional, timestamp-based integration engines, such as the GoFundMe Pro (formerly Classy) offline sync engine.

  • Scope: This article covers partial or record-specific synchronization failures for Contact and Household Account (npsp__Household__c) architectures. It does not cover payment gateway processing failures from Salesforce Elevate.

Résolution

Because the global integration is operational, the root cause is isolated to individual records or specific database constraints.

Work through the following causes in order.

Cause 1: The GoFundMe Pro integration sync queue requires a manual timestamp update

Root Cause: GoFundMe Pro and similar platforms rely on incremental timestamp-based triggers (evaluating LastModifiedDate or SystemModStamp) to flag records for synchronization. If a field updates without advancing this system marker, or if a sync queue gets stuck, the integration engine will bypass the record.

How to Fix:

  1. Navigate to the affected Contact or Account record directly inside Salesforce.

  2. Click Edit, make no alterations to the fields, and click Save. This "empty edit" (system touch) forces an update to the record's LastModifiedDate and SystemModStamp.

  3. This system touch automatically fires the integration triggers, prompting GoFundMe Pro's sync engine to re-evaluate, pick up the record, and resolve the stuck queue on its next polling cycle.

Cause 2: An NPSP nightly batch job failed on the target records

Root Cause: If a nightly NPSP rollup or automatic address verification batch throws an error on a specific record, the row may lock or get flagged with an invalid status, causing the integration user to be rejected during incoming API writes.

How to Fix:

  1. Go to Setup > Apex Jobs and analyze recent NPSP batch class executions. Review any rows displaying a status of Failed or showing a value greater than 0 in the Failures column.

  1. Note the failing record IDs in the error details.

  2. If the failure stems from a calculated rollup field, force a manual recalculation:

    • To recalculate globally: Go to App Launcher > NPSP Settings > Bulk Data Processes > Rollup Donors and execute Batch.

    • To recalculate specific outlier records: Go to NPSP Settings > Bulk Data Processes > Recalculate Donor Statistics and click the manual recalculation button for the affected records.

  3. If address synchronization is blocking the record:

    • Go to the related Address (npsp__Address__c) record and inspect the Verification Status (npsp__Verification_Status__c) field.

    • If it is stuck, go to App Launcher > NPSP Settings > People > Addresses. Verify that Automatic Address Verification is checked, then re-save the address record to manually re-trigger the verification microservice.

Cause 3: A local trigger or custom Flow error is blocking the integration user

Root Cause: Custom automations or configuration rules running in the background can cause row locks or processing errors exclusively for data coming in via the integration profile.

How to Fix:

  1. Go to Setup > Apex Jobs and Setup > Flow Technical Degrees (Paused and Failed Flow Interviews) to look for execution faults explicitly linked to your integration user profile.

  2. Before-Save Flow Exceptions : If a record-triggered Flow set to run Fast Field Updates (Before-Save) attempts to assign permission structures and errors out, adjust the architecture. Convert the automation into an Apex trigger or modify the configuration to execute in Actions and Related Records (After-Save) mode.

  3. Missing Lookup Fields : If a lookup filter on the layout targets or references a field that is completely missing from the physical page layout assigned to the integration user, the API transaction will fail. Go to Setup > Object Manager > [Affected Object] > Page Layouts and ensure all fields referenced in lookup filter criteria are visible on the integration layout.

  4. Locking Contentions: If the sync fails due to an Unable to lock row error - common when an external tool creates contacts and executes a duplicate merge simultaneously - resubmit the sync request during off-peak hours when the live transactional intake is idle.

Validation

Verify the synchronization channel is operating normally by performing these steps:

  1. Locate an external platform record that previously failed to update.

  2. Perform a nominal change inside the external platform to refresh its payload data.

  3. Re-run or allow the platform synchronization tool to cycle.

  4. Confirm the changed attributes populate in Salesforce on the matching Contact or Household record.

  5. Check Setup > Apex Jobs to confirm that the related integration transactions and subsequent NPSP background jobs completed with zero (0) failures.

Numéro d’article de la base de connaissances

005389145

 
Chargement
Salesforce Help | Article