Salesforce integration release notes: Base package and Nonprofit Success Pack (NPSP)
Before you start
On May 6, 2025, Classy became GoFundMe Pro. You may still find that name throughout these notes for releases before that date.
For notes on releases before 2024, check out our archive.
May 28, 2026
Salesforce Integration version 7.48: Brawley
GoFundMe Pro for Salesforce 7.48 improves transaction mapping precision and resolves several data integrity issues, including Fundraising Page team lookups, PayPal and Venmo payout tracking, contact creation for invalid transactions, and Campaign mapping for Recurring Donations in NPSP.
Improvements
Resource filtering for transaction mappings
- Improved field mapping logic for transaction-driven Opportunity sync. Mappings are now applied more precisely based on the relevant resource, which helps prevent unrelated mappings from affecting Opportunity sync.
What's fixed
- Fundraising Page team lookup: Fixed an issue where the GoFundMe Pro Fundraising Team lookup on a Fundraising Page was not being populated. The lookup is now set both when a team transfer occurs and when a Page and its Team are synced together.
- Fundraising page association for registration add-on donations: We have improved how registration add-on donations are recorded in Salesforce. The fundraising page information is now correctly linked to these donations, ensuring that your campaign reports and source tracking are accurate, even when specific campaign settings are turned off.
- Payout ID sync for PayPal and Venmo opportunities: We have fixed an issue with Payout ID tracking for PayPal and Venmo transactions, ensuring that your payment and refund data remains accurate and reliable.
- Attendee Contact creation for invalid transactions: We've improved how contact records are created for event attendees. Your system will now automatically prevent the creation of unnecessary contact records for attendees with canceled, failed, or incomplete transactions, including offline payments. This ensures your contact database remains clean and accurate.
- State code handling during Contact creation: Fixed an issue that could prevent Contacts from being created in orgs with State and Country Picklists enabled when the supporter’s State value was empty or contained a placeholder value, such as None or N/A. These values are now handled safely before Contact creation.
- Campaign mapping for Recurring Donations: Fixed an issue where Campaign mapping was not resolving correctly for Recurring Donation transactions in NPSP. Recurring Donations should now be assigned to the correct Campaign when Campaign mapping is configured.
- Refund synchronization failure: Fixed an issue preventing refunded transactions from updating in Salesforce when several updates (including metadata changes or fee adjustments) followed a refund in quick succession. Now, status updates for refunds propagate as expected.
- Recurring donation status updates blocked by semantic filtering: Fixed an issue where some recurring donation updates were missed after a second failed payment. The system now performs a more thorough check to ensure your donation records are always accurate and up to date.
NPSP version 1.66: Xyris
NPSP version 1.66 introduces a configurable automatic retry mechanism for failed processing operations — including Opportunities, Recurring Profiles, and Designations — and improves chargeback handling by creating negative refund Payments rather than overwriting existing Payment records.
Improvements
Automatic retry for failed processing operations
- Added a configurable retry mechanism that re-attempts failed GoFundMe Pro pre/post-process calls, including Opportunity, Recurring Profile, Designation, and similar operations.
- Retry behavior can be configured through Retry_Config__mdt by pattern, with a maximum number of attempts per pattern.
- Failures are logged to GoFundMe Pro Logs with the affected GoFundMe Pro IDs and detailed error information to help with troubleshooting.
- Action required after install/upgrade: The retry batch ClRetryBatch must be scheduled manually for retries to run. Schedule it at the cadence appropriate for the org, such as hourly.
Payment updates
Chargeback handling on Opportunity Payments
- Chargeback updates to transactions now create a negative refund Payment alongside the original positive Payment, instead of overwriting the existing Payment.
- Chargeback initiated and chargeback lost events are treated as refund-like events. A negative Payment is created, if the create/update payments setting is on within the Control Panel.
- Chargeback won events are ignored. The Opportunity and existing Payments are left untouched.
Apr 29, 2026
Salesforce Integration version 7.47: Calexico
Salesforce Integration 7.47 introduces enhanced flexibility in Custom Field Mapping with priority-based fallback logic, allowing multiple source fields to map to a single destination field in a defined order. This release improves data mapping resilience and reduces the need for custom fallback logic.
Highlights
Priority-based fallback support for Custom Field Mapping, enabling multiple source fields to map to a single destination field.
New Priority__c field added to Classy_Field_Map__c to control mapping order.
Control Panel V2 updated to support viewing and editing mapping priorities.
Improvements
Priority Support for Custom Field Mapping
Salesforce Integration now supports defining multiple source fields for a single destination field using a priority-based fallback mechanism.
Mappings are evaluated in ascending priority order, where lower numbers indicate higher priority. If a source field value is null, the system automatically evaluates the next mapping until a non-null value is found.
A validation rule ensures that all priority values are positive numbers, maintaining consistency in mapping configuration.
The Custom Field Mapping panel in Control Panel V2 has been updated to allow users to view and edit the new Priority field directly.
Impact: Provides greater flexibility in data mapping, reduces the need for custom fallback logic, and improves reliability when handling incomplete or variable data sources.
April 16, 2026
Pipeline Enhancements (no package version)
This release improves payout reconciliation and overall reliability for organizations using GoFundMe Pro with Salesforce NPSP.
What’s fixed
Recurring donation plan updates dropped during aggregation
Fixed a bug where recurring donation plan update events were silently dropped during event aggregation. Updates to recurring giving plans now sync reliably through to the Recurring Donation record.
API requests not processed in FIFO order
- Fixed an issue where some Salesforce API requests were not processed in first-in, first-out order, leading to occasional data discrepancies. Requests are now consistently processed in the correct order.
Payout retry events stuck in waiting
- Fixed an issue where transaction payout update retries became stuck in a Waiting state instead of completing. Payout updates now retry and complete as expected.
Compatibility
No package changes, version bumps, or permission updates are required.
Apr 6, 2026
Salesforce Integration version 7.461: El Centro Hotfix
GoFundMe Pro for Salesforce 7.461 (El Centro Hotfix) includes a fix for tribute and dedication type fields being incorrectly populated on transactions without a dedication.
What’s fixed
Tribute/Dedication Type field incorrectly populated on non-dedication transactions
- Resolved an issue where an upstream change to the transaction events schema introduced a top-level type field on transaction payloads. The dedication field mappings were inadvertently reading this new field and writing its value to stayclassy__dedication_type__c and npsp__Tribute_Type__c, causing those fields to appear populated as donation on Opportunities even when the source transaction had no dedication or tribute.
The mappings have been updated to only populate stayclassy__dedication_type__c and npsp__Tribute_Type__c when a dedication is actually present on the transaction.
Apr 2, 2026
Pipeline Enhancements (no package version)
This release resolves some issues affecting Salesforce integrations, recurring donation syncing, and data accuracy in connected systems.
What’s fixed
Incomplete data sent to connected integrations during multi-step events
- Resolved a bug where events spanning multiple actions could result in partial or incomplete data being delivered to downstream systems, leading to missing or inaccurate records.
Recurring donation plan updates not reflected in connected systems
- Fixed an issue where updates to recurring donation plans were being silently dropped during processing, meaning changes were not propagating to your Salesforce integration.
Mar 18, 2026
Salesforce Integration version 7.46: El Centro
GoFundMe Pro for Salesforce 7.46 (El Centro) includes fixes to improve reliability of payout processing and recurring donation creation, along with performance improvements to transaction event handling.
What’s fixed
Payout transaction retries stuck in “Waiting” status
- Resolved an issue where payout retry records could become permanently stuck in a “Waiting” status when batch sizes were exceeded. These records were not reprocessed and required manual intervention.
Opportunity data fetch not created in same-batch event processing
Fixed a race condition where transaction.completed and transaction.updated events for the same transaction, when processed together, could prevent the creation of an Opportunity data fetch request.
Opportunity data fetch requests are also now created consistently, restoring reliable creation of recurring profiles and recurring donation records. This resolves intermittent gaps in recurring data for affected organizations.
Improved transaction event processing performance
Optimized how transaction event payloads are processed by reducing unnecessary JSON deserialization during handling of custom attributes and contact data.
Compatibility
No package changes, version bumps, or permission updates are required.
NPSP Integration version 1.65: Waterlily
GoFundMe Pro for Salesforce NPSP Version 1.65 (Waterlily) introduces enhancements to recurring donation handling and improves performance for transaction processing.
What’s fixed
Closed Reason not set for non-canceled recurring donations
Fixed an issue where Closed Reason values were only applied when a Recurring Donation was canceled, but not when it transitioned to other closing states such as failed or ended.
Improved Closed Reason mapping flexibility
Enhanced Closed Reason mappings to support status-specific configurations using metadata. Admins can now define different Closed Reason values based on how a recurring plan ends.
Compatibility
No package changes, version bumps, or permission updates are required.
March 3, 2026
Salesforce Integration version 7.45: Ocotillo
Salesforce Integration 7.45 introduces payout refund support, resolves a significant performance bottleneck in Custom Field Mapping, and improves transaction event processing reliability. This release also delivers a security permissions overhaul, better payout status tracking, and several fixes to reduce errors and duplicate records during data sync.
|
Important pre-installation note Verify integration user permissions before upgrading to version 7.45 Version 7.45 introduced explicit CRUD and Field-Level Security (FLS) enforcement across the C4SF and C4NPSP packages. If your integration user does not have sufficient object and field access, you may experience processing failures such as missing GAU Allocations or FLS exceptions. This may affect organizations where the integration user:
Please verify that your integration user's permissions cover all required objects and fields before or immediately after upgrading. |
Highlights
- Payout Refund functionality now available, enabling refund data from GoFundMe Pro payouts to flow into Salesforce automatically.
- Custom Field Mapping performance dramatically improved, reducing mapping CPU time from ~20% of total job time to ~1% in controlled tests.
- Transaction events are no longer silently dropped when processed in the same batch job as payout_transaction.updated events.
- Security permissions added to all objects and fields used in the C4SF package.
Improvements
Payout Refund Functionality for NPSP Opportunities + Payments
Salesforce Integration now processes payout refund events and reflects them on the corresponding Opportunities and Payments.
- Impact: Organizations using NPSP can now see refund amounts and statuses directly on their Opportunity and Payment records without manual reconciliation.
Custom Field Mapping Performance Optimization
Optimized the Custom Field Mapping processing logic to improve overall performance by introducing caching to improve overall performance. This enhancement reduces processing time in scenarios where custom field mappings are heavily utilized.
- Expected impact for large orgs: Absolute time savings per transaction will likely be higher, since the previous logic is more expensive in metadata-heavy orgs with large schemas. Percentage reduction of total job runtime may be lower, due to the higher proportion of time spent in customer-specific automation (NPSP, flows, triggers, etc.).
Commerce Order ID / Confirmation ID in Data Sync Tool
The Data Sync Tool search results now display the Confirmation ID, making it easier to cross-reference transactions between GoFundMe Pro and Salesforce.
- Impact: Admins can quickly locate and verify specific transactions during reconciliation without needing to open individual records.
Permissions on All Package Objects and Fields
Added proper field-level and object-level permissions across both C4SF and C4NPSP packages.
- Impact: Ensures that permission sets correctly gate access to all custom objects and fields.
Connected User Display in Control Panel V2
The Control Panel V2 now correctly displays the connected user information instead of showing "NA."
- Impact: Admins can verify which Salesforce user is authenticated for the integration directly from the Control Panel.
Fixes
Transaction events ignored when processed alongside payout_transaction.updated
Fixed a bug where standard transaction events (e.g., transaction.created, transaction.updated) were silently skipped if they appeared in the same batch job as a payout_transaction.updated event.
- Impact: Ensures all transaction events are processed reliably regardless of event mix within a single job execution.
Null reference error causing entire job to fail (Line 2036)
Resolved an "Attempt to de-reference a null object" error that caused the entire processing job to abort when encountering specific data conditions.
- Impact: Prevents a single problematic record from blocking the processing of all other records in the same batch.
Duplicate NPSP Recurring Donation exception
Fixed an issue where the integration could throw an exception when attempting to create a Recurring Donation that already existed in Salesforce.
- Impact: Eliminates errors during recurring donation sync and prevents duplicate Recurring Donation records.
Payout API Request status showing 'Completed' for non-existent Opportunities
Corrected a scenario where a Payout API Request was marked as "Completed" even though the related Opportunity did not exist in Salesforce.
- Impact: Payout API Request statuses now accurately reflect processing outcomes, improving reliability of status-based reporting and retry logic.
NPSP Integration version 1.64: Violet
NPSP Integration 1.64 is a major release focused on security hardening, performance optimization, and new payout refund capabilities. This version introduces field-level security enforcement across all queries and DML operations, remediates findings from multiple static analysis engines, and delivers targeted performance improvements to Opportunity processing. It also adds support for payout refunds on Opportunities and Payments and resolves several data integrity bugs.
Highlights
Comprehensive security hardening across the entire package, including field-level security (FLS) enforcement on every query and DML operation, remediation of all source code scanner findings (Checkmarx, PMD, Graph Engine), and updated permissions on all objects and fields.
Performance improvements to Opportunity processing.
Payout Refund functionality now available for NPSP Opportunities and Payments, enabling refund data from GoFundMe Pro payouts to flow into Salesforce automatically.
Improvements
Payout Refund Functionality for Opportunities + Payments
The NPSP package now processes payout refund events and reflects them on the corresponding Opportunities and Payments.
- Impact: Organizations using NPSP will get the negative payment updated with the information of the refund payment event.
Security Hardening
This release includes a comprehensive set of security improvements across the C4NPSP package:
Field-Level Security (FLS) enforcement. All SOQL queries and DML operations now respect field-level security, ensuring that data access honors the running user's permissions.
Source code scanner remediation (Checkmarx) — All findings from the Checkmarx source code scanner have been remediated, addressing potential vulnerabilities identified through static analysis.
Permission set updates — All custom objects and fields in the package now have proper permissions defined, ensuring consistent and predictable access control.
- Impact: Strengthens the overall security posture of the package, ensures data access respects user permissions, and eliminates vulnerabilities identified by industry-standard static analysis tools.
Performance Optimization — Opportunity Processing
Several targeted performance improvements have been made to the Opportunity processor class and related processing logic.
- Impact: Reduces CPU time, SOQL query count, and DML statement usage during transaction processing — particularly beneficial for high-volume orgs running large batch jobs.
Fixes
Recurring Donation End Date set a day early when plan canceled before transaction syncs
Fixed a bug where the NPSP Recurring Donation End Date was set one day earlier than expected if the recurring giving plan was canceled in GoFundMe Pro before the associated transaction had synced to Salesforce.
- Impact: Recurring Donation End Dates now accurately reflect the actual cancellation date, ensuring reporting and automation that depend on this field behave correctly.
Case-insensitive matching for classy_npsp__Classy_Payment_Mapping__mdt
Updated the behavior of the Custom Metadata Type classy_npsp__Classy_Payment_Mapping__mdt so that record matching is now case insensitive.
Previously, during a package upgrade, duplicate mapping records could be created if an existing record and a new record differed only by letter casing in a text field value (for example, an Origin ID field value of abc123 vs ABC123). Because casing was treated as distinct, this could result in multiple records representing the same logical mapping.
With this update, field value comparisons are handled case insensitively, ensuring that values differing only by letter casing are treated as the same during upgrades.
- Impact: Prevents duplicate mapping records that could otherwise cause ambiguous lookups, inconsistent matching behavior, or data sync errors during or after package upgrades.
Missing field in queries
Added defensive query handling in C4NPSP to prevent “missing field in query” errors. The package now dynamically retrieves any missing fields when needed and logs the occurrence for traceability.
-
Impact: Ensures all necessary fields are consistently included in queries regardless of the execution context.
February 17, 2026
Pipeline Enhancements (no package version)
This release improves payout reconciliation and overall reliability for organizations using GoFundMe Pro with Salesforce NPSP.
What’s fixed
Payout records not created in Salesforce
Resolved an issue where payout create events were not generating records in Salesforce despite appearing successful. Payout transactions now sync correctly, ensuring accurate reconciliation and reporting within NPSP.
Incomplete payout syncing
Fixed an issue where only some transactions within a Stripe or PayPal payout were reflected in Salesforce. All transactions included in a payout are now consistently synced.
Aggregation improvements to prevent stale data
Updated event aggregation logic to ensure the most recent field values are sent to Salesforce when multiple updates occur close together. This prevents outdated data from appearing on Opportunities or related records.
Rate limiter stability improvements
Resolved an issue that could delay events for extended periods due to rate limiting conflicts. Sync timing and throughput are now consistent and predictable.
Compatibility
No package changes, version bumps, or permission updates are required.
December 11, 2025
Salesforce Integration version 7.44: Jacumba
Salesforce Integration 7.44 delivers several high-impact fixes to NPSP matching logic, GAU allocation reliability, and Supporter outbound retry handling, along with improvements to bidirectional sync behavior and new support for dedication update events. This release focuses on reducing duplicate contacts, improving reconciliation accuracy, and increasing transparency and consistency across API request processing.
Highlights
NPSP Email Matching is now case-insensitive, reducing unwanted duplicate contact creation.
Fixed missing GAU allocations for commerce orders with valid program designations.
Supporter outbound API Requests no longer get stuck in “waiting” after an error; proper retry handling is restored.
Improved bidirectional sync reliability
Added full dedication event processing so changes made in GoFundMe Pro related to dedications are reflected on Salesforce Opportunities!
Improvements
Case-insensitive NPSP Email Matching
NPSP Email Matching now normalizes email addresses and FirstName/LastName to lower-case during matching, ensuring that contacts are matched even when capitalization differs between Salesforce and incoming GoFundMe Pro data.
Impact: Prevents erroneous duplicate contacts when donors capitalize one or more characters in their billing email or name.
We now fully ingest dedication update events
Salesforce Integration now processes dedication update events sent separately from the transaction event.
Impact: If a donor or admin edits or adds a dedication to a transaction (honoree name, message, email, address), updates flow into the linked Opportunity.
Fixes
GAU allocations not created for valid commerce orders
Resolved an issue where Opportunities created from giving cart donations with valid program designations and matching GAU external IDs intermittently failed to receive GAU allocations.
Impact: Prevents missing GAU records, particularly visible for orgs with high-volume Giving Cart transaction flows.
Supporter bidirectional API Requests stuck in “waiting”
Supporter outbound sync API Requests that encountered callout failures (timeouts, 500/502 responses) were incorrectly transitioning to “waiting” instead of “awaiting retry” due to interference from the standard inbound retry job.
Fix: Supporter outbound API Requests are now excluded from the inbound retry job, ensuring their status correctly moves to “Awaiting Retry.”
Impact: Admins can use the Retry button in Control Panel V2 → Data Processing Settings as intended.
Errors addressed: Timeouts, gateway errors, internal server errors.
Data Sync Tool not returning records when using multi-day search ranges
Corrected an inconsistency where the Data Sync Tool returned fewer results for a multi-day date range than for a single-day search within that range.
Impact: Users can again rely on the tool to identify missing transactions within a search window up to one month.
November 13, 2025
Salesforce Integration 7.43: San Ysidro
What’s new
This release focuses on reliability and data quality across NPSP and the Integration for Salesforce (C4SF). It fixes broken links between Opportunities and NPSP Recurring Donations, resolves intermittent frequency mismatches on GoFundMe Pro Recurring Donor records, hardens bulk and duplicate-message handling, and reduces noisy logs. Admins also get a new option to skip GAU Allocations for default/unrestricted designations, plus quality-of-life updates like showing the correct connected OAuth user and populating Confirmation ID on Opportunities created by the Data Sync tool.
Enhancements
-
Skip GAU Allocations for default/unrestricted designations
New, configurable behavior to not create GAU Allocation records when gifts map to selected designations- API Field Name: Do_Not_Create_Allocation__c
- Field Label: Do Not Create Allocation
- sObject: GoFundMe Pro Designation
- Field Type: Boolean
-
Populate Confirmation ID on Data Sync–created Opportunities
Opportunities created by the Missing Data/Data Sync tool now capture Confirmation ID if the donation was made through Giving Cart, making reconciliation across giving cart orders and payouts easier (especially when multiple Opportunities share a single order).
-
Attendee-to-Contact job resilience
The Create Attendees as Contacts batch now skips failures at the record level and continues processing the rest. A summary log records successes and failures.
-
Lower log noise during custom field mapping
Eliminates per-field “non-queried field” GoFundMe Pro Logs when custom field mappings reference fields not included in a specific query.
What’s fixed
-
NPSP: Opportunities not linking to Recurring Donation
Resolved an exception caused by a missing queried field on Opportunity that prevented Opportunities from associating to their NPSP Recurring Donation.
-
C4SF: Intermittent frequency set to Monthly
Fixed an edge case where GoFundMe Pro Recurring Donor records could be stamped with Monthly despite the correct Quarterly/Yearly frequency in the source plan update.
-
Truncate long cancellation reasons
Recurring plan updates now truncate cancellation reason text to fit the 255-character field limit so updates don’t fail.
-
Ignore invalid state codes when a country has no states
When Salesforce State/Country Picklists are enabled and the selected country has no states, the state field is saved as null. Transactions no longer fail on “Invalid State Code.”
-
Process completed + updated messages in the same bulk batch
With Dynamic Bulkification enabled, the Integration now processes a transaction.completed and a related transaction.updated together.
- Removes/repurposes the previous “Duplicate API Request …” behavior so valid updates apply
- Removes/repurposes the previous “Duplicate API Request …” behavior so valid updates apply
-
Clearer error handling for “List has no rows …”
Addressed scenarios where a different underlying exception surfaced as a false “List has no rows for assignment to SObject” message during contact matching/field-setting logic. Errors no longer block unrelated syncs.
Deprecations/Removals
-
Removed “Queueable” Data Processing Mode
The Queueable option is deprecated and has been removed from Control Panel V2 to prevent misconfiguration.
Upgrade and post-install steps
Review GoFundMePro Designation Settings (optional):
For a given designation object, locate the Do Not Create Allocation boolean field and set to true, if you would prefer for an allocation to not be made for that designation on each donation.
NPSP Integration version 1.62: Tapiro
Release date: November 13, 2025
What’s new
This release includes a targeted cleanup to improve compatibility between the NPSP (C4NPSP) package and other Salesforce-managed packages. We’ve resolved a metadata labeling issue that caused external apps and custom flows to fail when referencing C4NPSP custom metadata types.
What’s fixed
-
Deprecated metadata labels corrected
Previously, two deprecated custom metadata fields in C4NPSP used a single underscore (_) as their label. This caused errors when Data Fetcher (by Salesforce Labs) and other installed packages or flows queried or rendered metadata lists among custom objects (for example, in the Select Object menu).
-
Fix: Labels have been renamed to valid, multi-character strings.
-
Impact: Prevents cross-package errors and improves interoperability with other Salesforce solutions, including third-party packages on AppExchange.
-
Fix: Labels have been renamed to valid, multi-character strings.
Applies to: All orgs with C4NPSP installed.
September 12, 2025
Salesforce Integration version 7.41: Ocean Beach
Salesforce Integration version 7.41 (Ocean Beach) delivers fixes to two issues introduced in the 7.4 release that impacted some syncing of donation data. These fixes restore expected behavior for syncing successful GoFundMe Pro transactions and ensure that new Contacts are created reliably during donation processing.
What’s fixed
Excluded “incomplete” transactions from Data Sync results
The Data Sync Tool was including donations with status=
incompleteand creating Opportunities in stage Incomplete if users clicked Create Data.Admins no longer need to manually filter out “incomplete” results.
Resolved sync failures caused by unexpected token error in v7.4
In version 7.4, transactions that required creating a new Contact could sometimes fail with an “unexpected token” error during sync.
Version 7.41 corrects the underlying Apex parsing issue. Donations now sync successfully, including cases where NPSP email matching identifies or creates new Contacts.
September 4, 2025
Salesforce Integration version 7.4: Ocean Beach
Salesforce Integration version 7.4 (Ocean Beach) delivers multiple stability fixes to donation and contact sync flows, ensures compatibility with the latest Salesforce platform requirements, and introduces a brand alignment update replacing “Classy” with GoFundMe Pro (GFM Pro) across the package.
Enhancements
Brand alignment: “Classy” → “GoFundMe Pro”
All visible references to “Classy” in the package have been renamed to GoFundMe Pro (GFM Pro).
This update unites the integration under the GoFundMe brand.
No API field names are changed.
Admins may wish to update documentation, list views, and internal training to reflect the updated labels.
Apex API version upgrade to v61+
All Apex classes, triggers, and Visualforce pages previously below API v45 have been upgraded to API v61+.
Ensures compliance with Salesforce’s ICU locale requirements.
Protects against issues from upcoming API retirements.
What’s fixed
SObject query errors: Resolved errors where missing fields in SOQL queries caused record update failures.
Outbound Opportunity sync loops: Fixed an issue where outbound Opportunity sync could enter an infinite loop.
Duplicate Contact IDs: Corrected duplicate “SF Contact ID” errors during contact sync.
Future method execution: Fixed “Future method cannot be called from a future or batch method” errors in Dynamic Bulkification.
Offline donation stage names: Fixed a bug where edited stage names reverted immediately on bi-directional offline donations.
Contact matching performance: Removed SOQL queries inside loops for contact matching, improving reliability and avoiding governor limit errors.
NPSP Integration version 1.60: Sumac
NPSP Integration version 1.60 (Sumac) introduces an automated process to resolve Opportunities missing associated Payments, eliminating the need for repeated manual resyncs and improving data accuracy for reconciliation.
What’s fixed
Automated recovery for missing Payments
-
Added a nightly job that identifies Opportunities missing associated Payments from a GoFundMe Pro Donation due to failures from row locks and automation errors.
The job retries stuck requests and triggers payment creation automatically, replacing the manual “empty put” process previously required.
This job is not scheduled automatically but can be scheduled via the Apex Job Scheduler UI in Salesforce Setup. Make sure to select the Apex Class
ClOpportunityPaymentCreationJob. The job name can be anything clear and helpful, such as "Payment Sync Job". For more information on how to schedule an apex job, please visit this Salesforce Help Article.
August 11, 2025
Salesforce Integration version 7.39: Hermosa
Salesforce Integration version 7.39 resolves an issue with the Data Sync Tool and brings enhancements, including support for GoFundMe payment sync and an Apex API version upgrade.
Enhancements:
-
Support for GoFundMe Payment Sync
-
Introduced new Opportunity fields to enable syncing GoFundMe payment data into CRM reports.
stayclassy__GFM_Transaction_Origination__cstayclassy__GFM_Fundraiser_URL__cstayclassy__Channel_Name__c(existing field will now show GoFundMe for relevant transactions).
-
What's fixed:
-
Data Sync Tool: Null Pointer Exception Resolved
Fixed an issue where the Salesforce Integration Data Sync Tool would fail with a
NullPointerExceptionwhen sending API requests to GoFundMe Pro using comparison operators (>=,<,<>). These operators are now correctly URL-encoded, preventing 400 errors and allowing sync jobs to complete reliably.
NPSP version 1.59: Rhododendron
NPSP version 1.59 resolves an issue where paused or failing recurring donor plans were incorrectly triggering an End Date on corresponding NPSP Recurring Donation records in Salesforce. This caused inaccurate donor lifecycle data and, in some cases, unintended status changes (e.g. setting status to "Closed").
What’s fixed:
End dates will now only be set if the plan is canceled, ended, or suspended.
Paused or failing plans will no longer populate end dates, preserving accurate recurring donation status and analytics.
This fix ensures improved accuracy in sustainer program reporting and avoids data loss due to unintended flow terminations.
May 22, 2025
Salesforce Integration version 7.38: Fallbrook
Version 7.38 includes a Logo update in the Control Panel V2 and several bug fixes.
Bug Fixes:
- Resolved an issue specific to Giving Cart transactions being created as $0 opportunities and no GAU Allocation (if NPSP extension package is installed)
- Resolved an issue where the Data Sync Tool was pulling in 'Failed' Transactions
- Resolved an issue where Opportunities & Recurring Donation Plans were being associated with the 'Classy Bucket' Account if they were made as a Company and the Account didn't exist in Salesforce
NPSP version 1.58: Quesnelia
Version 1.58 includes a new NPSP Recurring Donation object field, Cancellation Reason.
Important Changes:
- A new field is added to the NPSP Recurring Donation Plan record
- Cancellation Reason, (classy_npsp__Classy_Cancellation_Reason__c)
- This field will store the Cancellation Reason selected within GoFundMe Pro at the time of Recurring Plan cancellation.
April 10, 2025
Classy for Salesforce Version 7.37 is a version that includes new settings in the Control Panel V2 for Classy for NPSP users.
Important changes:
- New Control Panel V2 > Settings > NPSP
- Integrate with Payments:
- Ability to set a StageName that should be used on opportunities when a refund occurs for a transaction on the platform.
- Have the integration make the following updates to an Opportunity when a refund occurs:
- Update the StageName to the value set
- Create a second payment with the amount refunded as a negative number
- Update the Opportunity amount to $0
- Note: if you're using the NPSP automatic payment creation settings, be sure to exclude the opportunity record type used by Classy to ensure there aren't any automation collisions causing errors or unwanted behavior.
- Integrate with Payments:
- Added functionality to the Classy Offline Bidirectional Sync feature to reference either the Classy Campaign ID via the Primary Campaign Source lookup or by setting the Classy Campaign ID on the Opportunity record
Bug fixes:
- Resolved an issue where the Classy Payment Method field was being populated for all opportunities created in Salesforce
- Resolved an issue where the if field labels were the same on an object, the Classy Field Map would not execute as expected
- Resolved an issue where if a donor gave as a company for the first time, on subsequent donations, their gifts were also associated with the Company Account instead of the Contact's Account or Household
- Resolved an issue where text to text area mappings were not supported in the Custom Field Mapping tool
- Resolved an issue where an error was thrown for Giving Cart transactions related to the Classy Pay Recurring ID
- Resolved an issue where a 201 Error response was thrown when trying to sync over 50 supporters via data sync tool at a time
January 15, 2025
Classy for Salesforce version 7.36: Vista
Classy for Salesforce Version 7.36 is a bug fix version, that resolves a number of bugs, most related to the data sync tool, and giving cart data.
Bug fixes
- Resolved an issue where the Classy For Facebook Bucket Account was being nulled out on Opportunities during updates
- Resolved an issue where the Fees GAU Allocation was not being added for Giving Cart campaigns when the data sync tool created opportunity records (Applies to NPSP + GAU Allocation users)
- The campaign type "Studio" will now be capitalized on a campaign record
- Resolved an issue where Custom Answers weren't being mapped to attendee contacts when the Create Attendee Contact Records job is running. This is specific to the Prevent Attendee Contact Creation functionality feature
- Updated the Update Contact Address setting to respect blank fields and not set an address if the Prevent Address Update setting is on
- Resolved an issue where Custom Answers were being incorrectly associated to a contact based on a Classy ID instead of the matched Contact
- Made an update to the Classy Housekeeping job to correctly update the primary campaign source on opportunities to a fundraising page if "Enable Parent as Primary Campaign Source" is disabled, and a fundraising page is linked to the opportunity
- Resolved an issue where Payout transactions were not being reprocessed as expected based on settings in the Control Panel
- Resolved an issue with the Data Sync tool did not create the expected Recurring Plans when there was more than 1 Recurring Donation in a Giving Cart order
- Resolved an issue where GAU Allocation amounts were not correct when syncing Giving Cart transactions through the Data Sync Tool
Classy for NPSP version 1.56: Orchid
Classy for NPSP Version 1.56 is a bug-fix version that includes a fix to the payment object mapping.
Bug fixes
- Resolved a bug where the Payment Method mapping on the NPSP Payment Mapping record was not working due to a change in the field type
Previous releases
October 22, 2024
Classy for NPSP version 1.55: Nectarine
Classy for NPSP Version 1.55 includes an update to set an account on a recurring donation when a company card is used at checkout.
Important changes
- Updated functionality to populate an account on a recurring donation plan when a company card is used at checkout.
- This feature requires the "Donate with a company card" setting to be active in the Classy campaign builder.
- Note: no contact will be set on the recurring donation record, just account
Classy for Salesforce version 7.35: Carlsbad
Classy for Salesforce Version 7.35 introduces improvements to Company donation matching, improvements for Giving Cart data, and bug fixes.
Important changes
- Matching improvements for Company donations
- When the company card checkbox is used on a donation form, the integration will use the exact name entered into the company name field and the address used at checkout to identify an Account match. If no match is found, a new Account will be created
- Now, when a company card is used to create a Recurring Donation, the Recurring Donation record in Salesforce will be associated with an Account (using the above matching criteria)
- For Organizations using Giving Cart, custom questions and answers will now be created and associated with the corresponding opportunity
- Updated the Logo and Account + Contact setting descriptions in the Control Panel V2
Bug fixes:
- Comments made on Giving Cart donations will now sync to the Description field on the opportunity
- Resolved an issue where opportunities were not being updated to reflect the correct primary campaign source for Registration with Fundraising when the setting to attribute Opportunities to Teams and Pages is set to active
- Resolved an issue where a Custom Question record is not updated to 'deleted' after it's deleted from Classy
- Resolved an issue where Classy Live transaction types were incorrect when using the data sync tool
- Resolved an order of operations issue where ACH payments were not being correctly updated with payout data
- Resolved an issue where if the data sync tool ran and a commerce order API request had not been processed yet, duplicate opportunities could be created
August 15, 2024
Classy for NPSP version 1.54: Magnolia
Classy for NPSP Version 1.54 includes a bug fix to the start date being set on Recurring Donations.
Bug fixes:
- Resolved an issue where the Effective Date on a NPSP Recurring Plan was not showing the Classy Recurring Start Date.
August 14, 2024
Classy for Salesforce version 7.34: Oceanside
Classy for Salesforce Version 7.34 is a bug fix version and includes fixes for issues related to the Custom Field Mapping Tool, Payout Created Date, and contact address updates.
Bug fixes
- Resolved the following issues related to the Custom Field Mapping Tool:
- Text field type→ Picklist type field mapping not working as expected
- Checkbox field type→ checkbox field mapping not working as expected
- Date field type → Date field type not working as expected
- Number type field → Currency type field mapping not working as expected
- Number type field → Number type field mapping not working as expected
- Field Mapping not working if a custom field has the same API name as a field in the classy package (ex. stayclassy__shirt_size__c vs shirt_size__c)
- Resolved an issue where addresses from Classy Live purchases being sent to Salesforce as [ Not Provided ] [ Not Provided ] was overwriting addresses on Contacts
- Resolved an issue where the Payment Gateway field on opportunities was not being set for Giving Cart transactions
- Updated the character limit of the Postal Code field on the Classy Supporter object to prevent sync errors
- Resolved an issue where if a transaction was moved off of a fundraising or team page, the opportunity was not updated to reflect the change
- Resolved an issue where the team captain was not reliably populating on the Fundraising Team
- Resovled an issue where if the Company Name setting is active on a campaign, but the company card checkbox is not used during checkout a opportunity was associating with a Classy Bucket Account
- Resolved an issue where the Payout Created Date in Salesforce was not matching the Payout Created Date from Classy Manager
- Resolved an issue where if the same email was used for a donor + attendee during a registration, the supporter was associated with the attendee vs the donor contact. (This is a specific scenario that only occurs when the supporter setting is on)
- Resolved an issue where the Classy Member ID was being populated on attendee contacts created
- Resolved an issue where the campaign path field was being incorrectly populated with an outdated URL
- Resolved an issue where the campaign studio URL field was incorrectly populated
- Resolved an issue where the fundraising campaign URL fields were incorrectly populated
- Removed all deprecated APEX classes and API versions
July 25, 2024
Classy for Salesforce version 7.332: Balboa
Classy for Salesforce Version 7.332 is a version to resolve an intermittent issue where duplicate contacts were being created when the “Use Classy Supporter information for Contact matching and creation” setting is active.
Bug fixes
- Resolved an issue where duplicate contacts were being created when the Use Classy Supporter information for Contact matching and creation was active. The issue was across both one-time and recurring transactions.
June 17, 2024
Classy for Salesforce Version 7.33: Balboa
Classy for Salesforce Version 7.33 is a version that includes several bug fixes, new fields, and a new type of API Request to sync Stripe + Paypal Payout dates and IDs to Salesforce. To install this version, version 7.3100.3 is a pre-requisite and must be installed first.
Important changes
- New fields to sync Payout IDs into Salesforce from the point of upgrade moving forward. Payout data will sync once a payout is created by Stripe/Paypal (depending on an orgs individual settings) and will be updated on opportunity records in Salesforce.
- A new type of API Request:
- Name = payout_trasaction.updated{id}
- Type = payout_transaction
- New Opportunity fields to store Payout info:
- Payout Created Date (stayclassy__payout_created_date__c)
- Payout Deposit Date (stayclassy__payout_deposit_date__c)
- Payout ID (stayclassy__payout_id__c)
- Added Support to sync Giving Cart transactions through the Data Sync Tool (Beta customers only)
- Added support for populating Source Codes directly on an opportunity for Giving Cart transactions (Beta Customers only)
- Classy Source Code 1 (stayclassy__source_code_1__c)
- Classy Source Code 2 (stayclassy__source_code_2__c)
Bug fixes
- Resolved an issue where the primary campaign source on Opportunities was incorrect if a donation was made to a Fundraising Page or Team.
- Resolved an issue where an "Attempt to de-reference a null object" error was being thrown when Dynamic Bulkification is the active processing method.
- Resolved an issue where Supporter updates were failing to sync into Salesforce due to an integration pipeline issue
- Resolved an issue where the 'Hide Donation Amount' field was not being populated on Opportunity records as expected
- Resolved an issue where Classy Customer Answers were not associated with a Classy Related Entity if a 'duplicate_value' error was thrown
- Resolved an issue with Bidirectional Sync of offline donations where the stayclassy__Classy_Offline_Description__c was not syncing into the description field on a transaction in Classy
- Resolved an issue where if Giving Cart + Dynamic Bulkfication were used together, duplicate API Requests resulted in requests being skipped, causing incorrect + missing records
- Resolved an issue with Bidirectional Offline Donation functionality, where if a Designation was set in the Classy Designation field it was not reflected in Classy correctly
- Resolved an issue where the Classy Dedication ID field was set with the Classy Transaction ID field if no dedication was set on the transaction
Classy for NPSP Version 1.53: Lilac
Classy for NPSP Version 1.53 is a bug fix version that includes fixes for Recurring Donation record issues, and removes functionality that sets a GAU Allocation on Classy campaign create/update.
Important changes
After installation, the Classy for NPSP integration will no longer create a GAU Allocation at the Campaign level that corresponds to the Classy Designation set in Classy.
Bug fixes
- Resolved an issue where Daily Recurring Donation records were not created due to a ‘custom_filed_validation’ error on the Installment Period field.
- Resolved an issue where NPSP Recurring Donation records created by the nightly job were being created with an incorrect status.
April 11, 2024
Classy for Salesforce 7.31.2: Gaslamp
Classy for Salesforce Version 7.31.2 includes a fix to the Prevent Attendee to Contact Creation for Ticketed Events setting where the job would fail to run to create attendee contacts.
Important Changes:
- Fixed an issue where when a user tried to select a campaign and then run the "Create Contacts" job within the "Prevent Attendee to Contact Creation setting, an error was surfaced indicating a campaign was not selected
March 18, 2024
Classy for Salesforce 7.31: Gaslamp
Classy for Salesforce Version 7.31 includes a new permission set, an improvement to the Prevent Attendee to Contact Creation for Ticketed Events setting, and minor bug fixes.
Important changes:
- The "Prevent Attendee to Contact Creation for Ticketed Events" setting now has the ability for a user to select which Ticketed Event campaigns contacts should be created for and is required before the Create Contacts job can be run. Up to 5 Campaigns can be selected at once, and all other job criteria remains the same.
- A new field was added to Classy API Requests, stayclassy__object_id__c
- A new unlicensed permission set called "All Classy Fields and Objects" is now part of the managed package and can be used to give users or integration users access to all Classy objects + fields
- A new unlicensed permission set for Classy for NPSP called "C4NPSP All Fields and Objects" is now part of the managed package and can be used to give users or integration users access to all Classy objects + fields
- [Future Functionality] A new object called Classy Designation Allocation is a child object of Opportunities and Classy Designations. More to come on this object and its use in the future.
Bug fixes:
- Resolved an issue where the Data Sync tool wasn't creating the related product for registration type opportunities fetched
- Resolved an issue with the Custom Field Mapping Tool where a string value wasn't being mapped to picklist values as expected
- Resolved a specific issue where deprecated Jigsaw fields were referenced in the package and prevented install; all Jigsaw field references have been removed from the package
- Resolved an issue where if an organization has multiple Classy Accounts that settle in different currencies connected to their Salesforce org, the Data Sync tool was not respecting the charged currency when running. Now the tool will create transactions and recurring plans with the correct charged currency amount & code
- Resolved an issue where the ClassyApiSupporterContactMatching job would fail if one record threw an exception in the batch. Now, an error will be logged for the record and then continue to iterate through the batch
- Resolved an issue where the integration user's default Campaign/Opportunity/Contact record type was overwriting the selected record type in the Control Panel V2
- Resolved an issue where the Member ID is populated on attendee contacts causing downstream matching issues; the member ID will now be set in the related member ID field for attendees
- Resolved an issue when syncing and matching donations to contacts the Member ID was outweighing all contact matching logic
- Resolved an issue where the ClassyRecurringProfileRollupBatch Job was throwing a query limit error for organizations because of a query inside a for loop
Classy for NPSP 1.52: Kalmia
Classy for NPSP Version 1.52 contains a new mapping for Classy opportunity data to be copied to a payment record.
Important changes:
- Upon install, the Classy package will create a npe01__Payment_Field_Mapping_Settings__c record for NPSP to map values from the Opportunity to the Payment when created
- Mapping of Opportunity fields to the Payment:
- Amount = Opportunity Amount
- npe01__Payment_Method__c = stayclassy__Payment_Method__c
- npsp__Origin_Name__c = stayclassy__Channel_Name__c
- npsp__Card_Last_4__c = stayclassy__Credit_Card_Last_Four_Digits__c
- npsp__Total_Transaction_Fees__c = stayclassy__Charged_Fees_Amount__c