Last Updated on May 13, 2025 by Rakesh Gupta
Currently, the Spring’25 release is available under the pre-release program. On the 03rd of January 2025, Sandboxes will be upgraded, and as a result, your organization will get the look and feel of the Spring’25 release.
In this release, there are numerous fresh features and improvements encompassing various areas. These include enhancements in Lightning Experience, enhancements in Salesforce Flow, updates to Mulesoft, Lightning Web Component and Apex, and new features in Experience Cloud. Agentforce and Data Cloud have also seen significant upgrades. Additional improvements can be found in Salesforce Scheduler, Field Service, and Marketing Cloud Account Engagement. CRM Analytics, Salesforce CMS, and Salesforce Payments are also included. Enhancements in Salesforce Connect, Salesforce Backup, and Subscription Management are noteworthy. There are new features in Enablement Sites, Financial Services Cloud, Salesforce Revenue Cloud, and various APIs.
For example, some exciting features like Improve Salesforce External Connector Sync Performance with Incremental Syncs (Beta), Salesforce’s Refreshed Visual Style with Themes for SLDS 2 (Beta), Choose Which Dashboard Widgets to Refresh (Beta), Empower Reps to Resolve Cases Faster with Einstein Article Recommendations for Messaging (Pilot), Build, Test, and Troubleshoot Agents More Easily with Agent Versions, and Try Out New Recipes for the LLM Open Connector are coming to Salesforce.
Additionally, take a look at these beta and pilot features:
- Customize Seller-Focused Mobile Experience (Beta): – Seller-Focused Mobile Experience shows you the records that you need in order to plan meetings, connect with decision makers, and close deals. And now, with Mobile Builder for Seller-Focused Experience (beta) you can add native pages for custom objects and customize the layout of record home pages in the app.
- This feature is available in Lightning Experience in all editions. The Seller-Focused Mobile Experience for Android and iOS is available on phones and tablets in all editions, except Database.com.
- To use Seller-Focused Mobile Experience, users must have the Salesforce Mobile App: Native Seller Experience permission.
- <<How>>
- To use the mobile builder, enable Mobile Builder for Seller-Focused Experience in Salesforce Mobile App Setup. From Setup, in the Quick Find box, enter Salesforce Mobile App and select it. Enable Mobile Builder for Seller-Focused Experience (beta).

- Drag the components on to the canvas. (1) Define component properties in the properties pane. (2) See your changes in the interactive canvas. (3)

- To use the mobile builder, enable Mobile Builder for Seller-Focused Experience in Salesforce Mobile App Setup. From Setup, in the Quick Find box, enter Salesforce Mobile App and select it. Enable Mobile Builder for Seller-Focused Experience (beta).
- Designate One Email Address to Send Report Subscription Notifications (Beta): – Create consistent email communications and reduce the risk of spoofing by using an organization-wide email address to send report subscriptions. Previously, emails were sent with the address of the user who created the report subscription.
- This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
- <<How>>
- From Setup, in the Quick Find box, enter Reports, and then select Reports and Dashboards Settings.
- Select Enable Org Wide Email Address for Report Subscription (Beta), and then select the email address to use from the dropdown.
- Create Agentforce Service Agents Easily from Your Einstein Bots (Beta): – Quickly build an Agentforce Service agent based on an Einstein bot. Agentforce generates agent topics and actions based on the bot’s intents and dialogs. And, to help you adopt AI agents at your own pace, your bot stays active after you create an agent.
- This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions with the Einstein for Sales, Einstein for Service, or Einstein Platform add-on.
- To use the Create Agent from Bot guided setup, contact Salesforce Customer Support.
- <<How>>
- Before you get started, set up Einstein generative AI and enable Agentforce (Default). Then, click Create Agent from Bot (Beta) from the bot’s dropdown on the Einstein Bot Setup page. After creating the AI agent, you’re taken to Agent Builder, where you can customize the agent’s topics, actions, and other settings.
- Apply Database Encryption to Sandboxes (Beta): – Sandboxes often contain the same sensitive data as your production environments. You can now encrypt all fields and custom metadata in sandboxes at the tenant level with Database Encryption. Database Encryption offers fully transparent encryption for sensitive data without affecting the business functionality, which means it doesn’t get in the way of testing or other development tasks.
- This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
- Database Encryption is available to customers with Shield or Shield Platform Encryption licenses in select Hyperforce environments. For access to Database Encryption, contact your Account Executive.
- <<How>>
- In your source org, on the Encryption Settings page in Setup, turn on Encrypt the Transactional Database. Then create a sandbox from that source org. To enable Database Encryption in an existing sandbox, make sure that you see the Encrypt the Transactional Database option in that sandbox’s source org. Refresh the sandbox, and then turn on Encrypt the Transactional Database in your sandbox.
- Improve LWR Site Performance with Experience Delivery (Beta): – Use Experience Delivery, a powerful new infrastructure for hosting LWR sites, to boost the scalability and performance of sites created with the Build Your Own (LWR) template. Along with subsecond page load times, this new infrastructure provides improved security and search engine optimization. Experience Delivery includes some changes since the previous pilot release.
- This change applies to LWR sites accessed through Lightning Experience and Salesforce Classic in Enterprise, Performance, and Unlimited editions. Developer Edition isn’t supported.
- <<How>>
- Experience Delivery is supported in new and existing LWR and enhanced LWR sites that use the Build Your Own (LWR) template. This beta is for developers who are familiar with:
- Building LWR or enhanced LWR sites with Experience Builder
- Developing custom Lightning web components that are server-side ready
- Working with Salesforce DX
- You can enable Experience Delivery at the site level in the Settings tab of the site’s Administration workspace.

- Experience Delivery is supported in new and existing LWR and enhanced LWR sites that use the Build Your Own (LWR) template. This beta is for developers who are familiar with:
- Route Voice Calls with Other Channels by Using Omni-Channel (Pilot): – Route voice calls alongside other Salesforce channel work items by using Omni-Channel Unified Routing. Turning on Unified Routing enables skill-based routing and direct-to-rep routing for voice calls in an Amazon Connect contact center. Improve your contact center to better handle use cases where reps work on different types of work items. Additionally, reps now have more than 20 seconds to accept a call.
- This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
- <<How>>
- Contact your Salesforce account executive to request access to the pilot. In Salesforce, associate all Salesforce queues with one contact center group, and then associate the contact center group with a Voice channel in an Amazon contact center. In Amazon Connect, update your Amazon flows for inbound, outbound, and transfer scenarios. Then enable Unified Routing in the Contact Center details in Salesforce.
- Explore Your Heroku Apps in Salesforce Setup (Pilot): – Trigger background processes or recommend the Next Best Action more accurately and intelligently by using generative AI to classify the sentiment and intent of conversations.
- This change applies to Messaging for In-App and Web, enhanced Facebook Messenger, and enhanced WhatsApp channels.
- Accelerate the Site Feasibility Assessment Process (Pilot): – Assign scores to the responses received from the sites and use the scores to generate a priority list that’s specific to the investigator or site. Study managers can add scoring rules such as base score and weightage, and then assign a score value to each option. The scoring feature uses the inbuilt formula question capabilities of the discovery framework.
- This change applies to Lightning Experience in Enterprise and Unlimited editions with the Site Management (Pilot) org permission enabled with Life Sciences Cloud or Health Cloud license.
Supported Browsers for Lightning Experience
Lightning Experience is supported by Apple® Safari®’s latest version on macOS. The most recent stable versions of Microsoft® Edge Chromium, Mozilla® Firefox®, and Google Chrome™ are also supported.
Use Apple Safari on iPadOS (iOS 13.x or later). Lightning Experience on iPad Safari doesn’t support portrait orientation and orientation switching. Use landscape orientation, and maximize your Safari browser to full width. To prevent your tablet from switching orientation, turn on the iPad rotation lock.
Salesforce treats touch-enabled laptops, including Microsoft Surface and Surface Pro devices, as laptops instead of tablets. You can’t access the Salesforce mobile app on these devices. Users are redirected to the full site experience that’s enabled for them—Lightning Experience or Salesforce Classic. Only standard keyboard and mouse inputs are supported on these types of devices.
Customers / Administrator’s Point of View
- Brand the Welcome Email for Internal Users: – For more control of branding and user experience, customize the welcome email that internal users, such as employees and contractors, receive when they first access your Salesforce org. For example, change the look of the email to suit your brand, or change the text of the email to include onboarding instructions that are specific to your company.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in all editions.
- <<How>>
- Create a custom classic email template. To make sure that users meet the email verification requirement, include the new {!NewUserWelcomeEmailLink} merge field. The field gets populated with a verification link. When users click the link, they start the email verification process.
- From the Session Settings page in Setup, add the email template in the Welcome Email Template field.

- Add Context Tags Automatically to Your Pricing Elements: – Leverage Einstein generative AI to map the appropriate context tags as inputs within your pricing elements. Automating this process minimizes the manual effort and improves the accuracy for pricing designers.
- This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions of Revenue Cloud where Salesforce Pricing is enabled, with the Einstein for Platform add-on license.
- <<How>>
- Simplify Mobile Forms with Data Capture Flow (Generally Available): – Create dynamic, responsive forms in Flow Builder with the Data Capture flow type. Data Capture is the Salesforce Field Service solution for forms for everything from pre-work tasks like safety protocol to environmental assessments. With Data Capture, build forms that use conditional logic to simplify the mobile experience, respond to mobile users’ input, and reduce task completion time. Previously, you had to integrate external apps to create forms that launch from the mobile app. With the Data Capture flow, forms are seamlessly integrated with the Salesforce platform and are tailored to the task.
- This feature is available in Lightning Experience in Enterprise, Unlimited, and Developer editions.
- <<How>>
- Select the new Data Capture flow type in Flow Builder.
- Gain Visibility into the Scheduling History of Service Appointments: – Track information on changes made to a service appointment and quickly resolve any related issues. Service Appointment Lifecycle captures changes to key service appointment properties related to scheduling, such as service resource, duration, and scheduled start and end times. This information shows on the service appointment record page, where dispatchers and Salesforce admins can easily spot and review issues. Each change is also saved to the new Field Service object change record page. From the object list view, Salesforce admins can identify and analyze patterns and trends and create reports to better manage the scheduling process. Previously, only the current scheduling information for service appointments was available.
- This feature is available in Lightning Experience in Enterprise, Unlimited, and Developer editions with the Field Service managed package installed.
- <<How>>
- From the object management settings for service appointments, use the Lightning App Builder to add the Service Appointment Lifecycle Lightning web component to the service appointment record page. If you customized the layout of the service appointment record page, you must add the Service Appointment Lifecycle component. If you didn’t customize the layout, the component is available by default.

- From the object management settings for service appointments, use the Lightning App Builder to add the Service Appointment Lifecycle Lightning web component to the service appointment record page. If you customized the layout of the service appointment record page, you must add the Service Appointment Lifecycle component. If you didn’t customize the layout, the component is available by default.
- Reduce Labor Costs and Increase Resource Productivity with Consecutive Appointment Scheduling: – Avoid financial penalties from failing to comply with labor laws and improve resource efficiency by preferring to schedule service appointments continuously to prevent schedule gaps. Use the Minimize Gaps service objective for schedule, bulk schedule, in-day, and global optimization operations to make sure service resources have a continuous block of appointments rather than multiple idle times throughout the day. This objective, which targets mainly healthcare companies that have part-time employees, lets customers better manage employee schedules with back-to-back appointments for improved productivity and profitability.
- This feature is available in Lightning Experience and Salesforce Classic in Enterprise, Unlimited, and Developer editions with the Field Service managed package installed.
- <<How>>
- In Setup, go to Field Service Settings and verify that Field Service Enhanced Scheduling and Optimization is enabled. Add the Minimize Gaps service objective to your scheduling policy from the Customize Scheduling Policies page in Guided Setup or the Scheduling Policy Objectives related list on a policy.

- In Setup, go to Field Service Settings and verify that Field Service Enhanced Scheduling and Optimization is enabled. Add the Minimize Gaps service objective to your scheduling policy from the Customize Scheduling Policies page in Guided Setup or the Scheduling Policy Objectives related list on a policy.
- Get Solutions Easily from Agentforce by Including Imagese: – Mobile workers can now add images to their conversation with their AI agent in the Field Service mobile app. Agentforce analyzes the images to assist the mobile worker. Workers can add images from their gallery or take a picture directly with their camera. For example, instead of workers explaining an error code on an oven, they can add an image that shows the information.
- This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions with the Einstein for Field Service add-on. This change also applies to Lightning Experience in Einstein 1 Field Service edition. The feature is available in the Field Service mobile app for Android and iOS. Setup for Agentforce is available on the desktop site.
- To purchase the Einstein for Field Service add-on, contact your Salesforce account executive.
- <<How>>
- Boost Productivity and Resource Utilization by Easily Filling Schedule Gaps with Agentforce: – Let dispatchers focus on strategic tasks by using Agentforce Field Service Actions to fill schedule gaps. Agentforce uses your business rules and objectives to recommend appointments for the gaps, and then schedules the appointment selected by the dispatcher.
- This feature is available in Lightning Experience in Enterprise, Performance, and Unlimited editions with the Einstein for Field Service add-on. This feature is also available in Lightning Experience in Einstein 1 Field Service edition. This feature requires the Field Service managed package. Setup for Agentforce is available on the desktop site.
- To purchase the Einstein for Field Service add-on, contact your Salesforce account executive.
- Monitor Your Usage of Sales and Service Cloud Agents with Digital Wallet: – Monitor more of your Agentforce usage for Sales and Service Cloud with Digital Wallet, an account management tool for consumption-based features. Now, on the Digital Wallet homepage, the Conversations consumption card summarizes your org’s combined usage of Agentforce Sales Coach and Agentforce SDR (Sales Development Rep) along with ASA Messaging (formerly Agentforce Service Agent – Inbound). Additionally, Digital Wallet’s Consumption Insights page offers a breakdown of your combined Agentforce usage by time period to help you detect trends over time.
- Digital Wallet is available in Lightning Experience in Enterprise and Unlimited editions. SDR is available in Lightning Experience in Enterprise, Performance, and Unlimited editions. Setup for agents is available on the desktop site. Sales Coach is available in Lightning Experience in Enterprise, Performance, and Unlimited editions. ASA Messaging is part of Service Cloud Usage Billing and is available in Lightning Experience in Enterprise and Unlimited editions.
- <<How>>
- To get started with Digital Wallet, see Access Digital Wallet. To get started with Agentforce SDR, see Set Up Agentforce SDR. To get started with Agentforce Sales Coach, see Setting Up Agentforce Sales Coach.

- To get started with Digital Wallet, see Access Digital Wallet. To get started with Agentforce SDR, see Set Up Agentforce SDR. To get started with Agentforce Sales Coach, see Setting Up Agentforce Sales Coach.
- Coach Sales Reps at Scale with Agentforce Sales Coach: – Provide personalized coaching at scale to enhance sales rep’s ability to handle challenging conversations, improve performance, and increase ROI. Sales Coach agent, an Agentforce agent, analyzes sales pitches and role play sessions. It then delivers tailored feedback by using AI and CRM data to help sales reps advance deals more effectively.
- This change applies to Lightning Expereince in Enterprise, Performance, and Unlimited editions with the Agentforce Sales Coach add-on.
- <<How>>
- Sales Coach agent is available on Opportunity pages via the new Agentforce Sales Coach Lightning page component.

- For opportunities in the Proposal/Pricing Quote or Negotiation/Review stages, sales reps engage in a role-play session with Sales Coach agent as the customer. After the role-play, Sales Coach agent provides personalized feedback and outlines next steps for improvement.

- Sales Coach agent is available on Opportunity pages via the new Agentforce Sales Coach Lightning page component.
- Scale Your Sales Funnel with Agentforce SDR: – Agentforce SDR (Sales Development Rep) helps sales teams expand their top-of-funnel efforts with an AI agent, qualifying more leads and giving sales reps more time to nurture relationships. The SDR agent sends initial emails, nudges, and responses to interested replies by answering questions, connecting leads to sales reps, and offering to book a meeting.
- This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions with the Agentforce SDR add-on. Setup for agents is available on the desktop site.
- <<How>>
- When you turn on Agentforce SDR, the guided setup takes you through enabling the required related features, creating a user record for the agent, and configuring agent settings in Agent Builder.

- To let your agent generate specific and accurate replies to prospect questions about your company’s products or services, you can upload text, HTML, or PDF files such as product descriptions, price sheets, white papers, etc.

- You can assign leads to the agent with rules set in the Agent Builder, automated actions, or manually.

- When you turn on Agentforce SDR, the guided setup takes you through enabling the required related features, creating a user record for the agent, and configuring agent settings in Agent Builder.
- Coordinate Your Sales Team’s Activities with More Transparency: – Provide accountability and alignment on your sales account team members’ activities. Create sales action plans that specify the tasks and events that you want users to achieve. Associate sales action plans with accounts, cases, campaigns, contacts, contracts, leads, and opportunities. If you use sales account plans, collaborate on the work needed to achieve your measurable goals for long-term account growth by adding sales action plans to each account plan objective’s Strategic Tracker.
- This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions and in Einstein 1 Sales Edition with Sales Cloud.
- <<How>>
- Sales action plans extend Industries action plans and use the same standard objects but include the unique Event item type. To get started, go to Sales Action Plans in Setup to assign permissions and create sales action plan templates.
- To access sales action plans from most supported objects, add the Action Plans related list to the object’s page layout.

- To access sales action plans from a sales account plan, click Action Plans from the objective’s Strategic Tracker. Or, when viewing a sales account plan objective, find sales action plans under the Strategic Tracker heading.
- Find Your Next Customer with Prospecting Center, a new Data Cloud App: – To build a healthy revenue pipeline, let Prospecting Center find your next customer by using trusted data and AI. Identify the accounts that are most likely to use the right buyer signals to engage. Use various external and internal signals to calculate Fit, Engagement, and Intent scores, all powered by Data Cloud. Sales reps get powerful insights on time with the Unified Prospecting Center view, so they can spend more time nurturing the prospect and less time navigating.
- This change applies to Lightning Experience and Salesforce Classic in Performance and Unlimited editions.
- <<How>>
- Sales reps can create rules that calculate account scores, which help identify the next best customer. Use Account scores to contact the right prospects (leads and contacts) and close deals faster. Sales reps can also use segments to filter prospects based on their business preferences. All the data can be brought in from third party data connectors like Zoominfo and Demandbase.

- Sales reps can create rules that calculate account scores, which help identify the next best customer. Use Account scores to contact the right prospects (leads and contacts) and close deals faster. Sales reps can also use segments to filter prospects based on their business preferences. All the data can be brought in from third party data connectors like Zoominfo and Demandbase.
- Forecast Your Consumption-Based Business: – With Consumption Forecasting, enable your sales team to accurately forecast consumption-based businesses monthly and quarterly. After you create forecast types, your sales team can forecast and view details such as actual and predicted revenue. This feature is an addition to Pipeline Forecasting, so now you can create consumption-based forecasts alongside opportunity-based forecasts.
- This change applies to Lightning Experience in Enterprise and Unlimited editions and in Einstein 1 Sales Edition with Sales Cloud.
- <<How>>
- Enable Salesforce Forecasting and set up Data Cloud prior to turning on Consumption Forecasting. On the Forecast Settings page, turn on Consumption Forecasting and create consumption-based forecast types.
- After you set up Consumption Forecasting, sales reps and managers can view their consumption-based business measures and adjust their own forecasts that are rolled up in the hierarchy.

- Publish Quota Plans to Pipeline Forecasting: – Provide a clear path for your sales reps to meet quotas when you publish plans from Quota Planning to territory-based forecasting types in Pipeline Forecasting.
- This change applies to Lightning Experience and Salesforce Classic in Enterprise, Unlimited, and Developer editions.
- <<How>>
- Publishing quotas to territory-based forecasts requires an active territory model with designated forecast managers in Sales Territories. In addition, publishing requires a forecast type that includes a territory-based hierarchy with the option to show quotas.
- In Sales Planning, open a sales plan, select a segment, and then open a quota plan within it. Click Publish, and then select Territory-based Forecast.

- Select a territory-based forecast type and a root territory. Then select a quota column from your plan. Identify any mismatched territories, and then publish the ones that match.

- Benefit from Better Lightning Console Performance with Deferred Inactive Workspace Page Loading: – Lightning Console now defers the loading of inactive workspace pages by default, which minimizes extra page loads and improves performance. An inactive workspace page doesn’t load until the user navigates to that page. Regardless of whether the Defer loading inactive console workspace pages setting is enabled or disabled, content in pinned regions is always considered active and loads immediately. Previously, if a workspace page opened via a navigation rule, then the page immediately began loading even if the user remained on a different workspace page.
- This change applies to Lightning console apps in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions. Lightning console apps are available for an extra cost to users with Salesforce Platform user licenses for certain products. Some restrictions apply. For pricing details, contact your Salesforce account executive.
- <<How>>
- This setting is on by default. To turn off this setting, from Setup, in the Quick Find box, enter Console Settings, and select Console Workspace Page Loading Preference. Then turn off Defer loading inactive console workspace pages.
- Do More with Custom Report Types: – Find your report types more easily, and create personalized list views of your custom report types using the improved Custom Report Type page in Setup. Edit report details and modify object relationships on the summary page, which now has a more compact layout. The redesigned report type layout editor provides more flexibility when managing custom fields and sections. And you can add up to 1,000 fields in the report type layout using lookup fields.
- This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
- <<How>>
- In Setup, in the Quick Find box, enter Reports and select Reports and Dashboards Settings. Select Enhanced Custom Report Type Setup Page. Then, in the Quick Find box, search for and select Report Types.
- On the redesigned summary page of your custom report type, click Edit Layout.

- Drag fields from the Fields panel (1) to the appropriate section on the right. You can search for fields, move them, view their details, and customize their display names (2). To find lookup fields and add them to the report type, click Lookup Fields (3).

- Designate One Email Address to Send Report Subscription Notifications (Beta): – Create consistent email communications and reduce the risk of spoofing by using an organization-wide email address to send report subscriptions. Previously, emails were sent with the address of the user who created the report subscription.
- This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
- <<How>>
- From Setup, in the Quick Find box, enter Reports, and then select Reports and Dashboards Settings. Select Enable Org Wide Email Address for Report Subscription (Beta), and then select the email address to use from the dropdown.
- Organize Your Data with Multi-Column Sorting for Related Lists: – To see your data in a more intuitive way and to make your list views more actionable, you can now sort list views on object home pages by up to five columns. Select the columns to sort by and whether to sort each column in ascending or descending order. To return to sorting by a single column, click a column header that isn’t included in your multiple column sort. Sorting by multiple columns affects only your user preferences, and you can’t save your multi-column sorting configuration as a default.
- This change applies to Lightning Experience in all editions, except Starter and Pro Suite.
- <<How>>
- To sort a list view by multiple columns, from a list view, click Sort by mulitple columns, and then select the columns to include in the sort. Click Apply.

- For example, create a Cases list view that’s sorted by Contact Name, then by Priority, and then by Date/Time Opened. Or you can create an Opportunities list view sorted by Close Date and then by Amount.

- To sort a list view by multiple columns, from a list view, click Sort by mulitple columns, and then select the columns to include in the sort. Click Apply.
- Allow Users to View All Fields for a Specified Object: – It’s easier to manage permissions for users who require broad data access. Assign the object-level View All Fields permission, which grants assignees access to all fields and field data for a specific object. This permission is available for all standard and custom objects that support field permissions. Users are automatically granted access for any new fields created for the object.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in all editions.
- <<How>>
- Manage Permissions Sets with the Enhanced List View: – This revamped user experience provides streamlined navigation, improved filtering options, search capabilities, and a more intuitive layout. This enhancement makes it easier to manage and navigate through permission sets. Key improvements include advanced filtering options, a more organized layout, and quicker access to critical actions.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in Professional, Enterprise, Performance, Unlimited, and Developer editions.
- <<How>>
Additional Enhancements Worth Noting!
- Prepare for Upcoming Restrictions on Salesforce Cookie Use: – To support users that block third-party cookies, test custom functionality and code that uses a Salesforce session cookie. To test, enable the My Domain setting, “Require first-party use of Salesforce cookies.” Salesforce plans to enforce that setting in a future release.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
- Cloudfront Is Replacing Akamai as the Lightning CDN Partner: – All new and existing orgs automatically migrate from the content delivery network (CDN) partner Akamai to the partner Cloudfront. If your company’s firewall only lets through specific domains, add *.static.lightning.force.com to the allowlist.
- This change applies to Lightning Experience in all editions.
- Track Salesforce Platform Login License Overages in Your Org: – You can keep track of Salesforce Platform Login users who exceed the number of custom objects that they’re allowed on the System Overview page. Click the number next to Salesforce Platform Login Users Over Custom Object Limit to download a CSV file of the user names and the custom objects that they created.
- This change applies to Enterprise, Performance, Unlimited, and Developer editions.
- Customize Explicit Filters in Search Manager: – Tailor the explicit search filters to address specific objects and profiles. For example, customize the search filters that appear for the Contacts object specifically for the Contract Manager profile.
- This change applies to Lightning Experience in all editions
- Monitor Dataflow and Recipe Deletions in the Audit Trail: – You can now view who deleted a dataflow or recipe and when in the Salesforce setup audit trail. For example, you can follow up to find out why a dataflow or recipe was deleted.
- Run More CRM Analytics Dashboard Subscriptions Per Hour in Slack: – With the new upper limit of 500 subscriptions per hour per org, you have more opportunity to view and share the latest data in Slack on the schedule you want. Previously, the limit was 100 per hour per org.
- This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions and to CRM Analytics in Lightning Experience and Salesforce Classic. CRM Analytics is available in Developer Edition and for an extra cost in Enterprise, Performance, and Unlimited editions. The CRM Analytics for Slack app is available for use where approved by a workspace admin and installed in Slack.
- Get Improved Performance with the Enhanced Role List View: – With a new user experience, you can view, sort, and filter user roles in a list format and edit roles inline. This enhancement makes it easier to manage role-based access control so that users see the data that they need.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in Professional, Enterprise, Performance, Unlimited, and Developer editions.
- <<How>>
- Capture More Data with the Increased Limit of Custom Fields for Activities: – If your Salesforce org has fewer than 400 million activities, you can now capture more information about your sales process than ever before with 300 custom fields. The previous limit was 100. Track more data and create more powerful reports, with no complex workarounds required. You can also implement more features and integrations.
- This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions.
- Access Data Without Limits with Salesforce Connect: – Access data outside of your Salesforce org without worrying about how many new rows your adapter creates or retrieves each hour. Limits for new rows are removed for the OData 4.01 adapter, GraphQL adapter, and the SQL adapters for Amazon Athena and Snowflake. Previously, these Salesforce Connect adapters could retrieve or create up to 100,000 new rows per hour. This feature doesn’t impact callout limits.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in Enterprise, Performance, Unlimited, and Developer editions hosted on Hyperforce.
- This functionality is available to orgs hosted on Hyperforce on a rolling basis starting in Spring ’25.
- Get Notified When Your Sharing Rule Targets External Users: – To better protect your data, you now get an alert when your sharing rule opens up record access to external users. This pop-up message appears when you save a sharing rule after selecting the Portal Roles, Portal Roles and Subordinates, or Roles, Internal and Portal Subordinates sharing rule category.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in Enterprise, Performance, Unlimited, and Developer editions.
- Add AI-Powered Quick Actions to Record Pages: – Harness the power of AI with agent quick actions. Create the actions in Setup and add them to record pages, helping users to quickly see how AI can assist in their daily tasks.
- This change applies to Lightning Experience and the Salesforce mobile app for iOS and Android in Enterprise, Performance, and Unlimited editions.
- Chat with Agentforce in Your Preferred Language (Beta): – In addition to English, Agentforce (Default) now supports French, German, Italian, Japanese, Portuguese, and Spanish in certain locales.
- This change applies to Lightning Experience, the Salesforce mobile app, Salesforce Everywhere, Slack, the Field Service mobile app for iOS and Android, and Sales Cloud Everywhere in Enterprise, Performance, Unlimited, and Developer editions with the Einstein for Sales, Einstein for Service, or Einstein Platform add-on. Setup for AI Agents is available on the desktop site.
- Use Trusted Sites and Disable Lightning Locker When CSP Is in Strict Mode: – Site security is now more flexible with the ability to decouple Lightning Locker from your content security policy (CSP) settings and allow trusted sites. You can add trusted sites regardless of mode, and choose whether you want to use Lightning Locker. Previously, you could only add trusted sites when the (CSP) was in relaxed mode. In strict mode, you were required to have Lightning Locker turned on.
- This change applies to Aura and LWR sites accessed through Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
- <<How>>
- To change your CSP settings, go to Experience Builder and open . Then select Strict CSP: Block Access to Inline Scripts and Permit Access to Allowed Hosts and individually allow any trusted sites.
- Password Reset Link Stays Valid After Multiple Clicks: – Spend less time helping users reset their passwords. Users can now click the link in the password reset email multiple times. Previously, if a user accidentally clicked the link but didn’t complete password reset, the link became invalidated. If a user wanted to finish resetting their password, they had to start from square one. Some email security tools also invalidated the link while scanning it for spam. Now, the link remains valid for 24 hours even when clicked or scanned.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in all editions.
- <<How>>
- This behavior is controlled by a new setting on the Identity Verification page in Setup, which is enabled by default. When the setting is enabled, there’s an extra step to the password reset process. After users click the password reset link, Salesforce displays a page where the user confirms that they want to reset their password before moving on to the next step.
- Control Access to the setPassword() API More Easily: – To control whether apps can change a user’s password, you can now edit the Allow use of setPassword() API for self-resets setting in Password Policies regardless of whether you previously disabled it. Previously, if you deselected this setting, there was no way to re-enable it. Now you can freely enable and disable it as necessary.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in all editions.
- <<How>>
- Collaborative Forecasts Is Now Pipeline Forecasting: – Manage your opportunity-based forecast models the same way you have, but now under the name Pipeline Forecasting, which is part of the Salesforce Forecasting product umbrella. The new name better positions forecasts that use the standard opportunity and closely related objects such as opportunity product, opportunity split, and line item schedules. It also accommodates forecast models that use Data Cloud data, including Consumption Forecasting. With this change, you continue to view all your forecasts on the forecasts page.
- Flag Supervisors to Help with Agentforce Service Agent Conversations: – While hundreds of Service Agent conversations can happen simultaneously, help supervisors focus on the ones that need their assistance. Use the Raise Flag action to alert a supervisor if a conversation between the AI agent and a customer needs their attention. For example, alert the supervisor if a customer is upset or requests a refund.
- This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer Editions with the Einstein for Service, Einstein Platform, or Agentforce Service Agent add-on.
- <<How>>
- To define when a Service Agent raises a flag, modify the AI agent’s topic instructions. To respond to a raised flag in Omni Supervisor, the supervisor can reassign the conversation to a service rep or lower the flag.
- Improve Data Gathering with Partial Survey Responses: – Capture responses from partially completed surveys. Participants can resume the survey from where they left off even if they don’t manually pause the survey when they abandon it.
- This change applies to Lightning Experience and Salesforce Classic in Enterprise, Unlimited, and Developer editions where Feedback Management – Growth is enabled.
- <<How>>
- Renamed:
- Einstein Copilot for Salesforce is Now Agentforce.
- Einstein Personalization Is Now Called Personalization.
- Collaborative Forecasts Is Now Pipeline Forecasting.
- Agentforce Service Agent is Now ASA Messaging in Digital Wallet.
- The Enhanced User Experience Is Now Standard.
- Salesforce has updated the Field Service Agent permission set name and changed the persona name to Field Service Call Center Rep.
- View All object permission is now named View All Records, and the Modify All object permission is now named Modify All Records.
- Employee Portal is the new name for Employee Hub, and HR Service Console is the new name for the HR Service Workspace feature.
- Retired:
- Salesforce Functions Is Being Retired
- Standard-Volume Platform Events Are Being Retired
- foundationConnect is Being Retired
- Legacy Chat is Being Retired
- Document Generation 1.0 is Being Retired
- Lightning Adoption Apps Are Being Retired
- Close Date Predictions Has Been Retired
- Visualforce-Based Document Generation Omniscripts Are Being Retired
- Input Recommender (Beta) Is Being Retired
- Salesforce for Outlook Is Being Retired in December 2027
- Enhanced Email Experience Is Being Retired
- Einstein Automated Contacts Is Being Retired in February 2025
- Share Visits Is Retired
- Reassign Work Items from Service Channels: – Reps can already transfer Voice calls and Messaging sessions using Omni-Channel. To transfer other types of work with Omni-Channel, instead of changing the Owner field of the work record, reps can now reassign the work to different queues, service reps, AI agents, skills, and Omni-Channel flows. After the work is reassigned, Omni-Channel routes the work to the new destination. To improve resolution time and improve SLA attainment, Omni-Channel places the reassigned work item higher in the queue, as if it had originally started there. This feature is available in Enhanced Omni-Channel only.
Developer’s Point of View
- Custom Components Must Specify an API Version: – The apiVersion key is a required element for all custom components. Custom components that were previously saved without an apiVersion key in the component .js-meta.xml configuration file have an apiVersion key added to the configuration file automatically when the component is retrieved from Salesforce.
- This change applies to custom Lightning web components in Lightning Experience, Experience Builder sites, and all versions of the Salesforce mobile app.
- <<How>>
- To view or change the added
apiVersionkey for your component, view it in the.js-meta.xmlfile for the component.<?xml version="1.0" encoding="UTF-8"?> <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata"> ... <apiVersion>63.0</apiVersion> ... </LightningComponentBundle>
- To view or change the added
- Lightning Web Security Applies Stricter Restrictions on iframes: – Previously, LWS allowed access to content in iframe elements that have the same origin as the parent page. Now, all iframes that have an explicit src attribute are subject to cross-origin restrictions regardless of whether their source is same-origin or cross-origin.
- This change applies to Lightning Experience and all versions of the mobile app in Enterprise, Performance, Unlimited, and Developer editions if LWS is enabled. The change also applies to LWR, Aura, and Visualforce sites accessed through Lightning Experience if LWS is enabled.
- <<How>>
- For an example of how this new restriction works, consider a Lightning component that loads a static HTML file in an iframe element. If the HTML file contains a script that relies on direct access to the window.parent or window.top properties, the script fails. The failure occurs because the iframe is subject to cross-origin restrictions, which include blocking access to these properties. Instead, to communicate between the host page and iframe content, use the window.postMessage() method from the MessageEvent interface.
- Pause and Resume Scheduled Jobs by Using Apex: – With new methods in the System class, you can programmatically pause and resume Apex scheduled jobs. This feature complements the ability to monitor scheduled jobs from the Setup UI, which was introduced in Summer ’24. To pause or resume a scheduled job, you specify the job’s name or cronTriggerId. Calling the pause and resume methods counts towards the DML statement limit.
- This change applies to all editions.
- <<How>>
- Use the new pauseJobByName(), pauseJobById(), resumeJobByName(), and resumeJobById() System methods. This example code pauses all Apex scheduled jobs for a specific class.
// Scheduled class to be paused Id apexClassIdToPause = '01p4u000000dVf7AAE'; List<AsyncApexJob> jobsToPause = [SELECT CronTriggerId FROM AsyncApexJob WHERE ApexClassId = :apexClassIdToPause]; for(AsyncApexJob jobToPause : jobsToPause) { System.pauseJobById(jobToPause.CronTriggerId); }
- Use the new pauseJobByName(), pauseJobById(), resumeJobByName(), and resumeJobById() System methods. This example code pauses all Apex scheduled jobs for a specific class.
- Scale Your Concurrent Long-Running Apex Requests Limit Based on Number of Org Licenses: – The default limit for the number of synchronous concurrent transactions for long-running Apex requests now depends on the type and number of licenses in your org. Scaled license-based limits can avoid service disruptions caused by the limit, increase system stability with minimal risk to performance, and improve resource allocation. To ensure fair usage, the limit is capped at a maximum of 50 Apex requests. The minimum number of long-running concurrent Apex requests remains at 10.
- The license types that count toward this limit include full Salesforce and Salesforce Platform user licenses, App Subscription user licenses, Chatter Only users, Identity users, and Company Communities users.
- <<How>>
- For orgs with 1,000 to 5,000 licenses, the limit is calculated based on the ratio of 100 licenses to one concurrent long-running Apex request. For example, if your org has 4,000 licenses, the concurrent long-running Apex requests limit is set at 40. If your org has 5,000 or more licenses, the concurrent long-running Apex requests limit is set at 50, which is the maximum capped limit. If your org has 1,000 or fewer licenses, the concurrent long-running Apex requests limit is set at 10 due to the minimum floor limit.
- Base Lightning Components Support for SLDS 2 (Beta): – The base Lightning components support Salesforce Lightning Design System 2 (Beta), which enables advanced theming and branding capabilities. To achieve these advanced capabilities, SLDS 2 (Beta) doesn’t yet support some customization features of the previous-generation SLDS architecture, such as component-specific styling hooks.
- <<How>>
- When you switch an org to the SLDS 2 standard Salesforce Cosmos theme (Beta), base components used in your custom components exhibit the new theme if they use the default styling.
- <<How>>
- Introducing Salesforce Lightning Design System (SLDS) 2 (Beta): – Now available in Spring ’25, SLDS 2 is the latest design system for Salesforce products on the Lightning Platform. Use SLDS 2 to build scalable and flexible user interfaces with themes that adapt to future changes, ensuring your code remains efficient and modern. The new design of SLDS 2 is achieved through CSS updates and the implementation of styling hooks, without changing the markup or structure of components. This approach allows for seamless UI changes while preserving the Lightning Experience.
- <<How>>
- As a developer, transition your org to SLDS 2 using SLDS Validator to audit your code. SLDS Validator analyzes your code, validates it against SLDS 2 guidelines, and identifies custom components that need updates. SLDS Validator also provides automated fixes and suggests improvements to ensure compliance with SLDS 2 standards. To learn how to support your custom components in SLDS 2, use Figma Kit: Components for Web | Lightning Design System v2 and Figma Kit: Style Guide – SLDS Web Components v2.
- As an admin, use Themes and Branding to create a custom theme or use Salesforce Cosmos, a new SLDS 2 theme. To turn on the Cosmos theme, follow the directions in Explore Salesforce’s Refreshed Visual Style with Themes for SLDS 2 (Beta).

- <<How>>
- Compress and Extract Zip Files in Apex (Generally Available): – Use the Compression namespace and take advantage of a native Apex Zip library to compress and extract files. Easily compress files into a Zip file from blobs and directly decompress files stored in a Zip file to blobs. Optimize compression by specifying the compression method and level. You can compress multiple attachments or documents as an Apex blob in a Zip archive. You can also specify the data to extract from the Zip archive without uncompressing the entire Zip archive.
- <<How>>
- To add zip entry details, such as an entry name, comment, and compression method, use the addEntry(String name, Blob data), addEntry(compression.ZipEntry prototype), and setMethod(compression.Method method) methods in the ZipWriter class. To generate a zipped archive and return the result as an Apex blob, use the getArchive() method. This code sample compresses email attachments into a single file.
Compression.ZipWriter writer = new Compression.ZipWriter(); List<id> contentDocumentIds = new List<id>(); // Add IDs of documents to be compressed to contentDocumentIds for ( ContentVersion cv : [SELECT PathOnClient, Versiondata FROM ContentVersion WHERE ContentDocumentId IN :contentDocumentIds]) { writer.addEntry(cv.PathOnClient, cv.versiondata); } blob zipAttachment = writer.getArchive(); Messaging.EmailFileAttachment efa = new Messaging.EmailFileAttachment(); efa.setFileName('attachments.zip'); efa.setBody(zipAttachment); List<Messaging.EmailFileAttachment> fileAttachments = new List<Messaging.EmailFileAttachment>(); fileAttachments.add(efa); Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage(); // Set all the other email fields, such as addresses, subject, and body email.setFileAttachments(fileAttachments); Messaging.sendEmail(new Messaging.SingleEmailMessage[] { email }); - Get zip entry details and extract the Zip file’s contents by using the getEntries(), getEntry(String name), extract(ZipEntry entry), and other methods in the ZipReader class. This code sample extracts the translation from a callout response.
HttpRequest request = new HttpRequest(); request.setEndpoint('callout:My_Named_Credential/translationService'); request.setMethod('POST'); // Set translation service request payload for input to translate // The translation endpoint will return translations to the requested languages as JSON in a Zip archive HttpResponse response = new Http().send(request); Blob translationZip = response.getBodyAsBlob(); Compression.ZipReader reader = new Compression.ZipReader(translationZip); ZipEntry frTranslation = reader.getEntry('translations/fr.json'); Blob frTranslationData = reader.extractEntry(frTranslation);
- To add zip entry details, such as an entry name, comment, and compression method, use the addEntry(String name, Blob data), addEntry(compression.ZipEntry prototype), and setMethod(compression.Method method) methods in the ZipWriter class. To generate a zipped archive and return the result as an Apex blob, use the getArchive() method. This code sample compresses email attachments into a single file.
- <<How>>
- Enhance Flow Performance by Controlling the Number of Records Retrieved with Get Records: – When you work with large datasets, you can hit performance issues or governor limits if you use the Get Records element to retrieve all records. If you set an upper limit to control data retrieval, you improve flow performance and reduce the risk of timeouts or errors. Use the All records, up to a specified limit option to set an upper limit on the number of records to retrieve.
- <<How>>
- To set a limit on the number of records that the Get Records element retrieves, first add a Get Records element to your flow. Then, under How Many Records to Store, select All Records, up to a specified limit (1). Enter the maximum number of records to store (2). The Get Records element retrieves all the records that meet the criteria up to the specified limit.

- To set a limit on the number of records that the Get Records element retrieves, first add a Get Records element to your flow. Then, under How Many Records to Store, select All Records, up to a specified limit (1). Enter the maximum number of records to store (2). The Get Records element retrieves all the records that meet the criteria up to the specified limit.
- <<How>>
- Join Collections with the Transform Element: –Combine source collections from related flow resources into one target collection. For example, you can combine order records from an external system with Salesforce orders to get a combined data structure that is displayed in a data table in a flow screen. The flow screen shows each order along with the amount and the quantities.
- <<How>>
- Salesforce Flow Enhancements: – There are several enhancements in Salesforce Flow as follows:
- Create Responsive Screens with Automatically Triggered Screen Actions (Beta): – You can now run autolaunched flows automatically in the background when the input values associated with screen actions change. Previously, the only way to trigger a screen action was with the click of a button by using the Action Button component. The output can be displayed on the same screen, so your users can see the results of their actions on the same screen without clicking any buttons.
- <<How>>
- In Flow Builder, create an autolaunched flow that retrieves data and saves that data in output variables. Activate the autolaunched flow. Then, create a screen flow and add a Screen element. Next, add a screen action and select the autolaunched flow that you created. Configure the screen action, and set input values. After that, add another component to the screen element that uses the output of the autolaunched flow. To use the output from the autolaunched flow, in the screen component’s input, select the autolaunched flow, then Results, and finally the output variable from the autolaunched flow. You can see only the variables that were marked as Available for output. Then, save and run the flow.
- For example, suppose you want to automatically show all contacts for a selected account record. Create an autolaunched flow that retrieves all contacts for an account. Activate the autolaunched flow. Then, create a Screen flow and add a screen element to it. Add a Lookup component so that users can select an account record. Add the activated autolaunched flow as a screen action and set the input values. This way, the autolaunched flow runs when the input values for the Lookup component change. Lastly, add a Data Table component, and add the Full Name, Email, and Business Phone columns. The output of the autolaunched flow automatically populates the Data Table when the lookup value changes.

- At run time, when your user selects an account, they automatically see all the contacts for that account on the same screen—no button clicks required.

- <<How>>
- Navigate Collection Filter Flow Child Resources Efficiently: – You can now search for and select child resources of the Collection Filter element in the updated resource menu within a flow. Previously, you selected the element of the child resource first, and then you selected the child resource.
- Create or open a flow. Then add or edit a Collection Filter element. Click in the Apply Filter Conditions field and value. The clickable breadcrumb path (1) helps you identify where you are and navigate resource groups. Recognize resource types quickly with more intuitive icons. To get helpful information (2) about a resource, hover over the resource’s info icon. To create a resource quickly, click New Resource (3).

- Create or open a flow. Then add or edit a Collection Filter element. Click in the Apply Filter Conditions field and value. The clickable breadcrumb path (1) helps you identify where you are and navigate resource groups. Recognize resource types quickly with more intuitive icons. To get helpful information (2) about a resource, hover over the resource’s info icon. To create a resource quickly, click New Resource (3).
- Generate a Detailed Description of a Flow with Einstein: – Maintaining a flow can be challenging, especially if you didn’t create it. Without a detailed flow description, it can be tough to figure out what the flow does. Now you can use Einstein to summarize an existing flow or a new one as you create it. The summary describes all the flow steps and includes the input and output variables, the objects that the flow changes, and the subflows that the flow refers to. You can then add the generated summary to the flow description to keep everyone informed.

- Get Help Building Flows Faster and More Accurately with Einstein (Generally Available): – Get Einstein to use the power of generative AI and automatically build flows for you based on your instructions. Describe what you want to automate, and Einstein takes care of the rest. This feature, which is now generally available, includes some changes since the beta release. Einstein now generates more accurate flows, and it does so faster than before. You can help Einstein get even better by using the prominent feedback buttons to provide feedback on your flows.
- <<How>>
- Turn on Einstein generative AI in Setup. Next, from Setup, in the Quick Find Box, enter Flow Creation with Einstein, and activate it. Create a flow by using the Automation Lightning app. In the Let Einstein Build your Automation section, click Get Started.
- Write instructions from scratch (1), or get started with sample instructions (2).

- <<How>>
- Send Emails with Attachments in Flow Builder: – Enhance your Flow Builder emails by sharing documents or files with your recipients by using Send Email action. To attach a file, provide the ID of a file to the Send Email action. The maximum size of the email created, including attachments, is 35 MB.
- <<How>>
- In Flow Builder, in the element menu, search for and select Send Email. When you set input values, turn on the Attachment ID field, and then add the ID of the attachment. The ID can be of a Document, Content Version, or Attachment items. If you want to add more attachment IDs, enter them as a comma-delimited list.

- In Flow Builder, in the element menu, search for and select Send Email. When you set input values, turn on the Attachment ID field, and then add the ID of the attachment. The ID can be of a Document, Content Version, or Attachment items. If you want to add more attachment IDs, enter them as a comma-delimited list.
- <<How>>
- Guide Users Through Screen Flows with Built-In Visual Progress Indicators: – Visually guide your users through the stages of your screen flows by using the built-in progress indicator—no more writing custom code to create your own. Your users see which stage they’re on and how many stages remain. Configure whether you want to show the progress indicator at the top of the screen or in the footer. Pick from a simple-style or a path-style progress indicator. Path-style progress indicators are supported only at the top of the screen.
- <<How>>
- Progress indicators use stage variables to determine what stage the user is on. When a screen loads, $Flow.CurrentStage is automatically updated to the stage that’s associated with the screen, and the stage is added to the end of $Flow.ActiveStages if it isn’t an active stage already. Create stage resources and define the stage label, order, and whether the stage is active by default or not. Then, select the stage resource under the Stage field of the Screen element, or assign the stage resources manually by using assignment elements.

- Finally, to show a visual progress indicator, open the flow version properties. Then, select Show a progress indicator on screen elements and then select the progress indicator type.

- The user sees their progress on the page at run time.

- Progress indicators use stage variables to determine what stage the user is on. When a screen loads, $Flow.CurrentStage is automatically updated to the stage that’s associated with the screen, and the stage is added to the end of $Flow.ActiveStages if it isn’t an active stage already. Create stage resources and define the stage label, order, and whether the stage is active by default or not. Then, select the stage resource under the Stage field of the Screen element, or assign the stage resources manually by using assignment elements.
- <<How>>
- Create Responsive Screens with Automatically Triggered Screen Actions (Beta): – You can now run autolaunched flows automatically in the background when the input values associated with screen actions change. Previously, the only way to trigger a screen action was with the click of a button by using the Action Button component. The output can be displayed on the same screen, so your users can see the results of their actions on the same screen without clicking any buttons.
- Flow Orchestrator: – There are several enhancements in Flow Orchestrator as follows:
- Customize Email Notifications for Interactive Steps: – You no longer have to create a background step to send custom notification emails to assignees. Now you can configure each interactive step to send a unique custom email notification to assignees when a work item is created. To configure a custom email notification, in the Properties panel, select Customize notification email and provide a subject and body. If a work item is reassigned, however, the orchestration still sends the default email notification.
- This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
- <<How>>
- To configure a custom email, in the Interactive Step Properties panel, select Customize notification email. To personalize the subject and body of the email, use text templates.
- View Improved Orchestration Run Details: – The new layout for orchestration run details in the Automation Lightning app gives you instant insights into the execution of an orchestration. The Run Details tab shows information about all the stages and steps in the orchestration run, including completion times and assignees. The Work Items tab shows details about all the work items generated by the orchestration run so you can identify work items that you want to reassign. Use the quick menu to cancel, debug, or suspend a running orchestration. You can also resume an orchestration that was suspended or that failed because of a recoverable error from the detail page.
- This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
- Customize Email Notifications for Interactive Steps: – You no longer have to create a background step to send custom notification emails to assignees. Now you can configure each interactive step to send a unique custom email notification to assignees when a work item is created. To configure a custom email notification, in the Properties panel, select Customize notification email and provide a subject and body. If a work item is reassigned, however, the orchestration still sends the default email notification.
- Save Costs and Time with Built-In Translations for Omniscripts and Flexcards: – Use autotranslated system labels to localize your single-language Omniscripts and Flexcards based on the user’s locale. Note that these autotranslated labels won’t affect your multi-language Omniscripts, which use the translations that are defined using custom labels.
- This change applies to Lightning Experience, Experience Cloud sites, and all versions of Enterprise, Performance, and Unlimited editions where Omnistudio is enabled.
- This feature is available to Omnistudio customers who use the standard runtime.
- Book Sandbox Slots for Peak Load Testing with Scale Test: – Book a slot on your sandbox instance calendar and test at production peak load by using Scale Test. Business metrics, use cases, and flows now have more input options. Use Trial Accuracy Checker to create a sandbox trial run by using the same code from production. The Test Execution page now includes a link to Scale Center on the Compare Tests tab.
- This change applies to Lightning Experience in all editions. Scale Test is available for customers with a Full sandbox in all Hyperforce regions, except Singapore. To get access, contact your customer success representative or account executive.
- <<How>>
- From Setup, in the Quick Find box, enter Scale, and then click Scale Test.
- Evaluate Dynamic Formulas in Apex (Generally Available): – Dynamic formulas in Apex support SObjects and Apex objects as context objects. Use the class methods in the FormulaEval namespace to build and evaluate dynamic formulas. This feature, now generally available, supports accessing polymorphic relationship fields. You can also reference standard lookups and custom lookups in formula fields.
- This change applies to all editions.
- This example uses the build() and evaluate() methods to validate a formula instance, calculate the formula expression, and return the result.
Account myAcc = new Account(Name='123'); FormulaEval.FormulaInstance ff = Formula.builder() .withType(Schema.Account.class) .withReturnType(FormulaEval.FormulaReturnType.STRING) .withFormula('name & " (" & website & ")"') .build(); //Use the list of field names returned by the getReferenced method to generate dynamic soql String fieldNameList = String.join(ff.getReferencedFields(),','); String queryStr = 'select ' + fieldNameList + ' from Account LIMIT 1'; //select name, website from Account Account s = Database.query(queryStr); system.debug(ff.evaluate(s));
- This change applies to all editions.
- Classify CMS Content with Content Taxonomy: – Improve content organization and enhance discoverability when you create a content taxonomy and apply it to CMS content. In the Digital Experiences app, content taxonomists can create one overarching content taxonomy for an org and establish a hierarchical relationship between terms. Then, in the CMS content Tags tab, a CMS content admin or content manager applies those terms as tags to enhanced CMS content.
- This change applies to enhanced CMS workspaces in Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
- Simplify OAuth Configurations with External Auth Identity Providers: – To streamline OAuth configurations for outbound callouts to external systems, create an external auth identity provider and link it to an external credential. Easily connect with external systems that require the Proof Key for Code Exchange (PKCE) extension to obtain an OAuth token. Define custom request parameters, such as key-value pairs, to interact with the identity provider’s token endpoint without writing custom Apex code. Add an external auth identity provider component to second-generation managed packages (managed 2GP) and unlocked packages for distribution across many orgs or across development, test, and production environments.
- This change applies to Lightning Experience and Salesforce Classic in all editions.
- Monitor Content Security Policy (CSP) Violations: – Identify and address content security policy violations that originate from Lightning pages with the CSP Violation event type. CSP directives control the types of resources that Lightning components, third-party APIs, and WebSocket connections can load from a trusted URL.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in Enterprise, Unlimited, and Developer editions. The CSP Violation event type is available in the API but not in the Event Monitoring Analytics app.
- <<How>>
- To collect CSP violation details over multiple days, schedule a daily query of the CSP Violation event type via REST API.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in Enterprise, Unlimited, and Developer editions. The CSP Violation event type is available in the API but not in the Event Monitoring Analytics app.
- Integrate Knowledge with Data Cloud: – Use Unified Knowledge to easily integrate your knowledge articles from both internal and third-party sources into Data Cloud. You can use Data Cloud connectors to consolidate your knowledge articles into a single, comprehensive knowledge base. This integration helps generate accurate and relevant AI answers, so service reps can solve customer cases more quickly, and provide faster, more personalized customer experiences.
- This change applies to Lightning Experience in Unlimited Edition and all other editions with the Knowledge add-on license.
- <<How>>
- Unify Knowledge with MindTouch Connector: – Enhance your Unified Knowledge integration with MindTouch connector. This integration unifies your company’s knowledge across all service rep and customer search experiences and improves generative AI features for Einstein for Service.
- This change applies to Lightning Experience in Unlimited Edition and other editions with the Knowledge add-on license. Zoomin from Salesforce offers you Unified Knowledge and is available as a free trial for 90 days, including three connector instances to third-party knowledge sources. After the trial, you can extend your free trial through your Salesforce account executive.
- <<How>>
Additional Enhancements Worth Noting!
- Internal DOM Structure Is Changing for Base Lightning Components: – To enhance performance and comply with web components standards, Salesforce is preparing the base Lightning components to adopt native shadow DOM. These updates change the internal DOM structure. Ensure that your tests don’t rely on the previous internal structure of these components.
- This change applies to Lightning Experience, Experience Builder sites, and all versions of the mobile app in all editions.
- Since the Spring ’23 release, 79 components have been adapted to prepare for native shadow DOM.
- In Spring ’25, these additional components have been adapted to prepare for native shadow DOM.
lightning-carousel lightning-carousel-image lightning-click-to-dial lightning-datatable lightning-file-upload lightning-input-field lightning-output-field lightning-record-form lightning-record-edit-form lightning-record-view-form lightning-tree
- These modules have been adapted to prepare for native shadow DOM.
lightning/logger lightning/pageReferenceUtils lightning/platformShowToastEvent
- Develop Lightning Web Components Faster in a Real-Time Preview of Your Lightning App (Generally Available): – Local Dev is now generally available for Lightning apps. We made some changes since the beta release. By using Local Dev, you can develop your Lightning web components in a real-time preview of your Lightning app without deploying code or manually refreshing your browser. Local Dev is in beta for Lightning Web Runtime sites.
- This change applies to Lightning Experience and to all versions of the Salesforce mobile app in all editions.
- Validate Your SLDS and SLDS 2 Code and Get Improvement Recommendations: – Use SLDS Validator to scan your UI code, validate it against a set of Salesforce Lightning Design System (SLDS) rules, and receive recommendations to improve your SLDS and SLDS 2 code. SLDS Validator now provides SLDS and SLDS 2 linting support, validation with recommended SLDS tokens, SLDS 2 styling hooks, and utility classes. These changes apply to SLDS Validator version 2.0 and later.
- Enforce Reparenting Restrictions for Master-Detail Relationships in Apex: – In API version 63.0 and later, an attempt to reparent a child record in Apex throws a System.DmlException exception if the option to allow reparenting isn’t selected in the master-detail definition. This behavior is versioned. In API 62.0 and earlier, reparenting such child records could succeed and not result in an exception, depending on the sequence in which the fields were set.
- Accept Header Default Value for Apex Callouts Has Changed: – If you don’t set the Accept header in an HTTP request of an Apex callout, the default value for the Accept header is now */*. Previously, it was text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2.
- This change applies to Enterprise, Performance, Unlimited, and Developer editions.
- Use Einstein to Generate Data Mask Custom Libraries: – Ask Einstein to generate values for a custom Data Mask library in a sandbox. Describe the type of values that you want for masking sensitive data, and let Einstein do the rest.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in Enterprise, Unlimited, and Developer editions where Data Mask is installed.
- <<How>>
- In Data Mask, from the Custom Libraries tab, create and save a new custom library. Then click Create with Einstein.
- Discover the Grace Allocation for Daily Delivered Events for Salesforce Orgs with an Add-On License: – The Event Allocations section now displays the grace allocation for daily event delivery on the Platform Events page in Setup. Also, to flag overages, usage is now marked in red. The grace allocation isn’t new but you can now more easily discover it in Setup. Salesforce reserves the right to adjust grace allocations at any time. The grace allocation for daily event delivery, which is higher than the allocation that you get through the add-on, helps prevent disruption to your subscribers due to usage spikes. As long as the daily event delivery usage is within the grace allocation, your subscribers aren’t stopped and continue to receive events.
- This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
- Salesforce provides the grace allocation for orgs that have the add-on license for additional platform events or change events. This image shows the Event Allocations table with the new Grace Allocation column.

- Package and Distribute Event Relays: – Event relays are now available in second-generation managed packages, unlocked packages, and first-generation managed packages. Previously, event relays were available only in unmanaged packages. To use an event relay from a managed package, customers can install the managed package from AppExchange.
- This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions.
- Control Session Timeout for Bot Conversations (Beta): – You can now specify the number of minutes that a bot waits for a customer response before ending a messaging session on an enhanced Messaging channel.
- This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions. Setup for Einstein Bots is available only in Lightning Experience.
- <<How>>
- To turn on this feature, contact Salesforce Customer Support.
- Integrate Guest User Data on Experience Cloud with OmniAnalytics: – Get clear insights about how guest users interact with your Omniscripts and Flexcards, and also see the visualization on the OmniAnalytics dashboard.
- This change applies to Lightning Experience, Experience Cloud sites, and all versions of Enterprise, Performance, and Unlimited editions where Omnistudio is enabled.
- <<How>>
- OmniAnalytics is now turned on for guest users on Experience Cloud by default. When OmniAnalytics is turned on in your org, guest user interactions are automatically tracked for Omniscripts and Flexcards.
- Use Omniscript Saved Sessions in Emails and Email Templates: – Access customers’ saved session information to create context-driven communications tailored to customer interactions on your sites. Populate email templates and email messages with relevant Omniscript saved session information. This helps reengage customers with personalized and timely email-based communication.
- This change applies to Lightning Experience, Experience Cloud sites, and all versions of Enterprise, Performance, and Unlimited editions where Omnistudio is enabled.
- <<How>>
- In App Launcher, find and select Email Template. Create an email template, and select Omniscript Saved Session from the Related Entity Type list.
- To use Omniscript Saved Session in an email:
- Create a new email message record and map the OmniScriptSavedSession object to the RelatedTo field.
- Save Time with Content Record Cloning in Your Shared Enhanced CMS Workspaces: – After workspaces are shared, you can make copies of a shared content record and save it to a folder in a target enhanced CMS workspace. Previously, you could make and save copies of content only in the workspace where it was created.
- This change applies to enhanced CMS workspaces in Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
- <<How>>
- There are two ways to clone content.
- From the content detail page in your enhanced CMS workspace, click Clone.
- From the row-level actions in the workspace’s content list, select Clone. You can clone variants of the content record, too.
- Assign Stages to Screen Elements More Efficiently: – Now you can assign stages to screen elements right from the screen properties editor instead of using assignment elements to set the $Flow.CurrentStage and $Flow.ActiveStages global variables. When a screen loads, $Flow.CurrentStage is automatically updated to the stage that’s associated with the screen, and the stage is added to the end of $Flow.ActiveStages if it isn’t an active stage already. To show users where they are in the flow and how many stages remain, use the built-in progress indicator or a custom progress indicator.
- This change applies to both Salesforce Classic (not available in all orgs) and Lightning Experience in Professional, Enterprise, Performance, Unlimited, and Developer editions.
- <<How>>
- Create your stage resources. For every stage resource, specify the stage label and order, and select whether the stage is active by default or not. Then, when you’re ready to assign a stage to a screen element, from the Screen properties editor, find and select the stage resource under the Stage field.

- When used together with the progress indicator, the user sees the stage that they’re in at run time.

- Create your stage resources. For every stage resource, specify the stage label and order, and select whether the stage is active by default or not. Then, when you’re ready to assign a stage to a screen element, from the Screen properties editor, find and select the stage resource under the Stage field.
- Access Flow Versions in Flow Builder: – Quickly manage different versions of a flow and view the status of each version in Flow Builder. To see a flow’s versions, click the flow’s name in the Flow Builder navigation header. Clicking on a different version opens that version in Flow Builder in a new browser tab.
- Additional Session Is Established When a User Logs In to the UI: – When a user logs in to your Salesforce org and accesses Lightning Experience, Salesforce now establishes an additional session. Previously, Salesforce established multiple sessions, including sessions of these types: Aura, Content, TempAuraExchange, TempContentExchange, TempUiFrontdoor, and UI, all with Application as the login type. With this change, this list now includes a session where the session type is API and the login type is Unknown.
- This change applies to Lightning Experience in all editions.
- <<How>>
- To get session information, go to the Session Management page in Setup or use the AuthSession object.
- This change applies to Lightning Experience in all editions.
- Access All Event Monitoring Data with One Permission Set: – Simplify manual permission set assignments with the new Event Monitoring User permission. You can access all your Event Monitoring data, including Event Log Files, Objects, Real-Time Events, and Threat Detection.
- This change applies to Lightning Experience and Salesforce Classic (not available in all orgs) in Enterprise, Performance, and Unlimited editions where Event Monitoring is enabled.
- <<How>>
- From Setup, in the Quick Find Box, enter Permission, and select Permission Sets. Then enable the Event Monitoring User permission.
Salesforce Mobile App Enhancements
User Opt-In Biometric Login is now generally available in Mobile Publisher. Customize your Experience Cloud app’s security alerts with new fields and use newly supported download methods. There are also upgrades to the Salesforce mobile app and Briefcase Builder.
The new Salesforce mobile app is available for all editions, except Database.com, without an additional license. Your org’s Salesforce edition and licenses, as well as a user’s assigned profile and permission sets, determines the Salesforce data and features that are available to each user.
- Malware Detection Security Policy for Android is Being Retired: – Salesforce is retiring the Malware Detection security policy for Android on January 31, 2025. Salesforce rely on Android SafetyNet API from Google to offer this policy. Google is retiring this API and any call to it fails after January 31, 2025. To maintain security, consider enabling alternative policies such as Block Jailbroken Device and Minimum Security Patch Version.
- This change applies to Salesforce Mobile App Plus and Mobile Publisher for Android in all editions.
- Send Attachments in Messaging on the Salesforce Mobile App:- Service reps can now send attachments while messaging from the Salesforce mobile app. This change improves parity between the mobile app’s messaging experience and the desktop site’s messaging experience. Previously, service reps messaging from the Salesforce app could only send messages; transfer messages to other reps, bots, or queues; send messaging components; and send voice notes.
- This feature applies to Enhanced messaging channels and Messaging for In-App and Web.
- Set Up Opt-In Biometric Login for Fast and Secure Experience Cloud App Logins (Generally Available): – Now generally available, User Opt-In Biometric Login for your Experience Cloud app lets users opt in to using biometric credentials (face or fingerprint recognition) to log in. After a user first logs in to the app with their username and password, they can opt in to using their biometric credentials for future logins.
- This change applies to Mobile Publisher for Experience Cloud app versions 14.000 and later.
- Assign Briefcases to Users by Profile: – You can now assign a briefcase to your mobile workforce by their profile. For example, to enable a mobile sales department to access records in low-connectivity settings, you can assign a briefcase to a profile that represents the sales department. Previously, briefcases were assigned only to users or user groups.
- This change applies to Lightning Experience desktop and in Salesforce with Field Service (SFS) enabled. Briefcase Builder supports the Salesforce Field Service mobile app for iOS and Android and Salesforce Mobile App Plus.
- Accept On-Site Payments with Tap-to-Pay: – Use the PaymentsService API to create a Lightning web component that lets your customers use the Tap-to-Pay capability of the Payments plug-in to pay mobile workers directly. The Field Service mobile app then integrates with Pay Now to connect the LWC to a secure payment system that processes the interaction.
- This feature is available in the Field Service mobile app for Android and iOS with the Salesforce Payments and Pay Now licenses.
Additional Resources:
Check out the resources below to learn about some of the most exciting innovations before officially GA on February 07th!
- Keep Track of Upcoming Release Dates: Mark your calendar for when you can preview and roll out Summer’24 Release updates.
- Salesforce Website: Your one-stop-shop to learn all about the latest release
- Release In a Box: A summary deck you can share with your organization, leadership team, and/or community
- Demo Videos By Salesforce: 2-3 minute overviews of our top innovations
- Release Readiness Trailblazers: Access resources and experts for all things release readiness.
- Release Trail: Earn that badge and march towards Ranger Status
Formative Assessment:
I want to hear from you!
What are your favorite Spring’25 release note gems? You can download release notes in HTML format!, for PDF files.
Feel free to share in the comments below.



















As usual nice summary Rakesh. Happy New Year 2025!