Posts

Why Coding Isn’t Scary: Simplifying Flows with Apex in Salesforce

For many Salesforce administrators, the idea of writing code might seem intimidating. However, with a little guidance, it can unlock powerful solutions that simplify complex use cases. Today, let’s explore an example challenge in event registration and how combining declarative tools with a bit of Apex code can make life easier. The Use Case: Event Registration with Speaker Verification Imagine you’re tasked with building a screen flow for event registration. Your flow needs to check if a user (represented by a Contact) is listed as a speaker for an event. In the client's custom data model, events can have multiple layers of speakers: Speakers directly linked to the event. Moderators assigned to tracks within the event. Speakers assigned to sessions, which may have up to three per session. You could handle this entirely with declarative tools like loops, decisions, and subflows, but things get messy fast - especially if the requirements expand to include other ticket types like ...

Navigating Lightning Web Security (LWS) Restrictions with Iframes (CORS)

With the Salesforce Spring ‘25 release , new Lightning Web Security (LWS) restrictions are causing headaches for developers who use iframes in their applications. If you’ve encountered the dreaded error: Access to XMLHttpRequest at 'https://m.stripe.com/6' from origin 'null' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'https://m.stripe.network' that is not equal to the supplied origin. POST https: //m.stripe.com/6 net::ERR_FAILED 200 (OK) You’re not alone. This issue isn’t just Stripe-specific -  it can occur with any iframe-based integration under the new LWS rules. Let’s break down what’s happening and how to adapt. What Changed in Spring ‘25? According to the Salesforce release notes : Previously, LWS allowed access to iframe elements if they shared the same origin as the parent page. Now , all iframes with an explicit src attribute are subject to cross-origin restrictions, even if their source ma...

Building Stronger Relationships with Stakeholder Management in Nonprofit Cloud

Salesforce Nonprofit Cloud provides a robust and flexible platform for managing your programs, fundraising efforts, and crucial relationships, which drive your mission forward.  Stakeholder Management is a key aspect of this ecosystem, which allows nonprofits to better identify, engage, and nurture the diverse group of individuals and organizations that shape their mission. In this post, we’ll explore Stakeholder Management within the Nonprofit Cloud, drawing on insights from the Trailhead Module  and providing practical guidance on migrating from NPSP (Nonprofit Success Pack) to the new Nonprofit Cloud. What Is Stakeholder Management in Nonprofit Cloud? In the nonprofit sector, stakeholders can encompass a broad range of individuals and entities - funders, community partners, volunteers, beneficiaries, staff members, and even the broader public. Effective Stakeholder Management involves systematically identifying these groups, understanding their interests and influence, and...

Should I Migrate from NPSP to Nonprofit Cloud? A Strategic Decision for Your Mission

Image
For years, the  Nonprofit Success Pack (NPSP)  has been the go-to starting point for nonprofits embracing Salesforce. It provides a comprehensive, open-source framework for managing donors, volunteers, and programs - all using familiar Salesforce objects like Contacts, Accounts, and Opportunities. However, with the introduction of  Nonprofit Cloud , Salesforce now offers a more purpose-built, scalable solution that directly addresses nonprofits’ evolving fundraising and donor management needs. If you’re wondering whether to migrate from NPSP to Nonprofit Cloud, this post will help clarify the differences, highlight potential benefits, and outline key considerations to guide your decision. NPSP vs. Nonprofit Cloud: Key Differences NPSP (Nonprofit Success Pack) : Legacy Foundation: Built on standard Salesforce architecture (Accounts, Contacts, Opportunities). Flexible but Customization-Heavy: Great starting point, but often requires customizations, additional code, or com...

Understanding the Fundraising Data Model in Nonprofit Cloud: How It Compares to NPSP

Image
In the nonprofit sector, effective donor management and streamlined fundraising processes are critical to sustaining your organization’s mission.  Salesforce’s Nonprofit Cloud provides a powerful, purpose-built ecosystem to help manage donations, donor engagement, and campaigns at scale. One key differentiator between Nonprofit Cloud and the Nonprofit Success Pack ( NPSP ) is the underlying fundraising data model , built exclusively for Nonprofit Cloud. In this post, we’ll explore the dedicated fundraising data model within Nonprofit Cloud, highlight its key objects, and contrast it with the more general-purpose data model found in the NPSP. We’ll also provide insights into how Nonprofit Cloud’s approach can give your organization greater flexibility, efficiency, and long-term scalability. Nonprofit Cloud vs. NPSP: A Data Model Comparison The NPSP data model is well-known for its customizable, out-of-the-box approach to nonprofit data management. It leverages standard Salesforce...

From JDK to ICU Locale Formats: Adapting Salesforce Applications for the Next Generation of Formatting

Salesforce is significantly changing its underlying date, time, and number formatting engines. With the Summer ’25 release , Salesforce will move from JDK (Java Development Kit) formatting to ICU (International Components for Unicode) formatting. While this might seem like a minor internal tweak, it can have wide-reaching implications on how your org’s custom logic, UI components, and integrations display and interpret locale-sensitive information. In this post, we’ll explore: The key differences between JDK and ICU formatting The potential impact on ISV (Independent Software Vendor) applications Concrete examples of how to adapt and migrate your code—ranging from Apex and Lightning Web Components (LWC) to triggers and Flows Why the Change? ICU is an industry-standard library for internationalization. It provides more accurate, consistent, and up-to-date locale data and formatting patterns across languages, countries, and regions. By standardizing on ICU, Salesforce ensures that: You h...

Displaying Multi-Currency Data in Salesforce: A Custom Approach

Managing multi-currency data in Salesforce can be challenging, especially when displaying currency fields in a specific format or currency that differs from a user’s personal currency settings.  While Salesforce handles currency conversions automatically, there is no out-of-the-box way to override this behavior. This blog post explores a custom solution that uses a custom  Lightning Web Component  to control how currency data is displayed. The Challenge By default, Salesforce displays currency fields in the user’s personal currency , as defined in their user settings. This behavior persists in standard layouts and components, which can be limiting in scenarios like: Displaying the record’s original currency instead of the user’s currency. Showing amounts in a specific target currency with manual conversions. For instance, on an Experience Cloud site , external users will see currency fields in their user’s currency unless explicitly overridden. The Solution: A Custom LW...