Salesforce Winter’24 Release Quick Summary

Salesforce Winter’24 Release Quick Summary

Last Updated on August 25, 2023 by Rakesh Gupta

Currently, the Winter’24 release is available under the pre-release program. On the 25th of August 2023, Sandboxes will be upgraded, and as a result, your organization will get the look and feel of the Winter’24 release.

In this release, you will find lots of new features, as well as new enhancements related to Lightning Experience, Salesforce Flow, Lightning Web Component, Apex, Experience Cloud, Einstein Automate, Customer Data Platform, Salesforce Scheduler, Field Service, Marketing Cloud Account Engagement (aka Pardot), Quip, CRM Analytics, Salesforce CMS, Salesforce Payments, Salesforce Connect, Salesforce Backup, Subscription Management, Enablement Sites(myTrailhead), Data Cloud, Financial Services Cloud, Salesforce Revenue Cloud, and APIs.

For example, some exciting features like Report on Custom Permission Set and Permission Set Group Assignments, Answer FAQs with Article Answers AI (Generally Available), Resolve Cases Faster with Einstein Search Answers (Pilot), Teach Your Bot New Languages More Easily with the Cross-Lingual Intent Model (Beta), Send Calls to the Most Qualified Agents with Skills-Routing (Pilot), and Create Richly Formatted Service Documents with Document Builder (Beta) are coming to Salesforce. 

Additionally, take a look at these beta and pilot features:

  1. Explore Tableau Views in CRM Analytics Dashboards With Custom Filters (Beta): – You can now add custom filters to explore Tableau views within dashboard components and unlock additional insights. Instead of generating multiple component views to support different data scenarios, add a filter parameter to interact with static values or a filter in a CRM Analytics dashboard. Maintain a single Tableau view without creating and switching between different views.
    1. This change applies 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.
    2. <<Steps to Implement>>
      1. Click the Tableau view in the dashboard component widget. Click Add Parameter (1).
      2. Select a Tableau dimension field to be the filter (2). Give the parameter a name (3). Select how to retrieve values for the filter (4). For example, to get values based on CRM Analytics dashboard filter selections, select Dynamic, then choose the filter query, value field, and query interaction.
  2. Automate and Migrate User Access with Improved User Access Policy Filters (Beta): – You can reference a total of three permission sets, permission set groups, or managed package licenses in your user access policy filters, making it easier to target your intended users. Previously, you were able to reference only one permission set, permission set group, or managed package license each. With user access policies, you can automate your users’ assignments to managed package licenses, permission sets, and other access mechanisms based on criteria that you set. Create policies that run automatically when users are created or updated, or policies for migrating users to new access setups in a single operation. This feature continues to be available in beta in Winter ’24.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise and Unlimited editions.
    2. <<Steps to Implement>>
      1. To enable user access policies perform the steps below:
        1. From Setup, in the Quick Find box, enter User Management Settings.
        2. Select User Management Settings.
        3. Enable User Access Policies (Beta).
      2. To create or manage your user access policies,
        1. From Setup, in the Quick Find box, enter User Access Policies.
        2. Select User Access Policies.
  3. Control Workspace Tabs and Subtabs (Beta): – The LWC Workspace API provides methods to manage your workspace tabs and subtabs in a Lightning console app.
    1. This change applies to Lightning console apps in Enterprise, Performance, Unlimited, and Developer editions.
  4. Create Component Variations in Enhanced LWR Sites (Beta): – Component Variations are now available in enhanced LWR sites. Create several versions of the same component and then use visibility rules to determine who sees what. Variations inherit properties from the default component and remain in a draft state until you add visibility rules. After you add a visibility rule, the variation leaves the draft state and can be prioritized.
    1. This change applies to LWR sites accessed through Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. To create variations, go to your component. Select the Component Variations dropdown, and then select New Component Variation. Add a visibility rule to make it public. When a component has variations, you can identify them by finding the variations icon on the purple component header.
  5. Respect Agent Capacity for Voice Calls Is Turned on by Default for New Salesforce Orgs (Beta): – Enable agents to work across multiple channels with voice call routing that respects the current agent capacity set in Omni-Channel. Existing Salesforce orgs with Service Cloud Voice can turn on this feature, while new Salesforce orgs with Service Cloud Voice have the feature turned on by default. This change applies to Lightning Experience in Enterprise and Unlimited editions. Available in Salesforce orgs with these telephony models:
    1. Service Cloud Voice with Amazon Connect
    2. Service Cloud Voice with Partner Telephony
    3. Service Cloud Voice with Partner Telephony from Amazon Connect
  6. Include Express Payments on Your Pay Now Page (Pilot): Your Pay Now page can provide customers a quick and easy way to make purchases without reentering contact information and payment details. You can also add Google Pay and Apple Pay buttons to your Pay Now page to accelerate the checkout experience.
    1. This change applies to Pay Now in Enterprise, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. In the Pay Now Experience Builder component, select Enable express payments. Customers see a Pay Now page with an Express Payments button.
  7. Process Platform Events at Scale with Parallel Subscriptions for Apex Triggers (Pilot): – Speed up processing of platform events in an Apex trigger by processing multiple subscriptions simultaneously instead of a single subscription. Which events each subscription processes depends on the partition key that you specify—a platform event custom field or the standard EventUuid field. Also, you can specify up to 10 partitions, which are parallel subscriptions that are created internally for the trigger. Parallel subscriptions are available for custom platform events but not standard events or change events.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. To configure parallel subscriptions for an Apex trigger, specify the event field used for partitioning (PartitionKey) and the number of partitions (NumPartitions) in PlatformEventSubscriberConfig using Tooling API or Metadata API.
      2. To monitor your parallel subscriptions
        1. From Setup, in the Quick Find box, enter Platform Events, select Platform Events.
        2. Click your platform event. The parallel subscriptions are displayed on the platform event detail page, in the Parallel Subscriptions related list.
  8. Get Accurate Site Check-Ins and Check-Outs (Pilot): – Keep track of the actual times that mobile workers arrived and left job sites with automated timestamps for location-based actions. You can then create reports that give insights on the time that mobile workers spend at each location. Timestamps are captured even when the mobile app is offline and are more reliable than the manual input given by mobile workers.
    1. This change applies to the Field Service mobile app for Android and iOS.

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 laterPortrait orientation and orientation switching aren’t supported on Lightning Experience on iPad Safari. Use landscape orientation and maximize your Safari browser to full width. To avoid orientation switching, 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

  1. Migrate to Hyperforce with Hyperforce Assistant (Generally Available): – You can migrate to Hyperforce with help from Hyperforce Assistant. The assistant is now generally available for production and sandbox orgs. View the updated Hyperforce region availability map on the Learn page. Additionally, the hard-coded references and connectivity checks in the Prepare phase have been updated to provide you with a better overall experience.
    1. Hyperforce Assistant is available in Lightning Experience in all editions.
  2. Manage In-Person Appointments More Efficiently Using Lobby Management: – Use the enhanced lobby management dashboard to manage customers who prefer to visit the branch location—with or without a scheduled appointment. Greeters can use lobby management to check in customers, monitor their wait time, or mark them as a no show. Greeters can also reschedule or reassign an appointment if the assigned service resource is unavailable. Service resources are also notified when customers are waiting to be attended. For waitlists, appointment information, such as participants per day and average wait time, is captured to help improve branch performance.
    1. This change applies to Lightning Experience in Enterprise and Unlimited editions with Salesforce Scheduler enabled.
    2. View and manage in-location appointments on the Lobby Management tab.
  3. Share Availability Details with Potential Customers: – Make it easy and convenient for potential customers to book appointments with service resources by emailing them an appointment invitation URL with the availability options. Use an actionable list to create and share the appointment invitation URL and track the appointments booked using that invitation URL.
    1. This change applies to Lightning Experience in Enterprise and Unlimited editions where Salesforce Scheduler is enabled with the Industry Sales Excellence Add On license.
  4. Configure Searchable Objects for Profiles More Easily (Beta): – The Search Manager configuration window now guides you through configuring searchable objects for a user profile. Get information when you need it directly in the application.
    1. ​​This change applies to Lightning Experience in Professional, Enterprise, Performance, Unlimited, and Developer editions.
  5. Run Sequential Recipes Faster with Staged Data (Generally Available): – Reduce processing time when your data strategy involves multiple recipes by using staged data instead of datasets. An initial recipe outputs results as staged data, and subsequent recipes can use the staged data in input nodes. For example, rather than merge account and opportunity data in each region-specific forecasting recipe, merge just one time, output the results as staged data, and use this data in the other recipes.
    1. This change applies 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. This feature isn’t available with Shield Platform.
    2. <<Steps to Implement>>
      1. From Setup, in the Quick Find box, enter Analytics, and select Settings. Select Allow recipes to create staged data and save.
      2. In the recipe editor, build your first recipe for the sequence of recipes, add an output node, and write it to staged data.
      3. Build your second recipe, and when adding the input data, select the staged data from your first recipe.
      4. Continue to build and save your recipe as usual. When the recipe sequence runs, the staged data is used as an input source.
  6. Refine Your Search Results with Sort: – Find what you need faster by sorting the column headers in your search results. You no longer have to scroll through pages of reports, dashboards, and CRM Analytics assets to find what you want. 

    1. This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions. Access to CRM Analytics assets is available for an extra cost.
    2. <<Steps to Implement>>
      1. From the App Launcher, select Analytics and browse or search for an asset. Click the column headers to toggle search results in ascending or descending order.
  7. Experience the Improved Home Tab in CRM Analytics for Slack: – Get reduced clutter and boosted Home tab performance with the new way to access subscriptions and notifications in Slack. In the reorganized Home tab, your lists of subscriptions and notifications are now available in separate windows. Previously, these lists filled the app’s Home tab.
    1. The CRM Analytics for Slack app works with 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. CRM Analytics for Slack is available for use where approved by a workspace admin and installed in Slack.
    2. <<Steps to Implement>>
      1. To open a subscriptions or notifications window, click View & Manage Subscriptions or View & Manage Notifications on the Home tab in CRM Analytics for Slack. The buttons are available when you have the applicable permissions, even if you haven’t created subscriptions or notifications.
      2. If you have items, the window lists each with a menu of available actions.
      3. If you don’t have items, the window helps you to get started.
  8. Transfer Ownership of Lightning Dashboards (Beta): – Enable ongoing updates to Lightning dashboards by transferring dashboard ownership when responsibilities change or the dashboard creator leaves your organization. The new owner has full control over the dashboard contents. Previously you had to clone or recreate the dashboard when the creator moved on to other responsibilities.
    1. This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
    2. Check out this article for step-by-step instructions.
  9. Visualize Lightning Reports with Summary Formulas as You Create Them: – See at a glance how a summary formula that includes the PARENTGROUPVAL or PREVGROUPVAL function will be used in your Lightning report. When you select grouping options in the enhanced summary formula builder, the preview image updates instantly to show how the formula applies to the report. This feature was previously available only in Salesforce Classic and is now available in Lightning Experience.
    1. This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. Edit a report that has the groupings that you want to compare. In the summary formula builder, select the PARENTGROUPVAL or PREVGROUPVAL function.
      2. In the Display area (1), configure how to apply the formula, using the preview image as a reference.
      3. Then in the Function panel (2), select the group parameter values to include. When you insert the function into the formula (3), the selected parameters are included.
  10. Create Inventory Reservations During Order on Behalf Of Checkout:– Reduce out-of-stock errors by creating reservations during the Order on Behalf Of checkout process. This update applies to both OOBO, which requires an Order Management license, and Order Entry, which doesn’t require an Order Management license. To enable reservations, configure a webstore inventory source.
    1. This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions. OOBO for D2C Commerce requires an OMS Growth License. Order Entry requires the Connected Commerce Bundle.
  11. Accept PayPal and Venmo with Salesforce Payments: – PayPal and Venmo are now available natively with Salesforce Payments. Account setup guides you through creating a merchant account and a payment method set. To offer PayPal, each merchant account requires a separate PayPal business account with a unique email address. You can’t use the PayPal account with any other accounts in your org.
    1. This change applies to Salesforce Payments in Enterprise, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. Complete the required merchant account setup with Stripe, and then set up your PayPal account.
  12. See How Many Permission Set Groups a Permission Set Is Added To: You can now see a count of how many permission set groups a specific permission set is included in. Use this count to estimate the potential impact on your users before making a change to a permission set.
    1.  This change applies to Lightning Experience and Salesforce Classic in Essentials, Contact Manager, Professional, Group, Enterprise, Performance, Unlimited, Developer, and Database.com editions.
    2. <<Steps to Implement>>
      1. From Setup, in the Quick Find box, enter Permission Sets, and then select Permission Sets.
      2. Select a permission set, and view the Permission Set Groups Added To field.
      3. To see a list of the permission set groups, click View Summary (Beta).
  13. Dynamic Forms on LWC-Enabled Standard Objects: – Dynamic Forms is now supported on hundreds of LWC-enabled standard objects. Dynamic Forms gives you a streamlined admin experience, enhanced page performance, and the option of visibility rules so your users see only what they need when they need it. But until now, you could use Dynamic Forms only on custom objects and a limited number of standard objects. 
    1. This change applies to Lightning Experience in Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.
    2. Note object doesn’t support Dynamic Forms because it has a fixed layout.
    3. Dynamic Forms isn’t supported on objects that aren’t LWC-enabled. For example, Campaigns, Products, and Tasks still use information from page layout.
  14. View Public Group Members with Reports: – Manage public group membership more easily. Now you can see which users, roles, and other groups have been added to public groups by creating a custom report type. Previously, you clicked in each public group or ran queries to see its members.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. From Setup, in the Quick Find box, enter Report Types, and then select Report Types.
      2. Select Group Member as the primary object. After you deploy the custom report type, users can select it when building reports.
  15. Share CMS Content from Any Workspace with an Enhanced LWR Site: – You can now share CMS content from enhanced and non-enhanced CMS workspaces with any enhanced LWR site. Previously, you could only share content from an enhanced CMS workspace with an enhanced LWR site.
    1. This change applies to LWR sites accessed through Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
  16. Efficiently Optimize Multiday Work When Using Enhanced Scheduling and Optimization: – Improve your organizational KPIs and reduce the need for manual intervention by optimizing service appointments that span multiple days. Multiday work optimization is now supported by Enhanced Scheduling and Optimization.

    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Unlimited, and Developer editions with the Field Service managed package installed.
    2. <<Steps to Implement>>
      1. In Setup, go to Field Service Settings and verify that Field Service Enhanced Scheduling and Optimization is enabled.
      2. Then, in the Field Service Admin app, click the Field Service Settings tab and select Scheduling | General Logic.
      3. In the Multi-day service appointment field, select Is MultiDay.
  17. Define Resource Absences Easily on the Gantt: Add absence duration with more flexibility using the updated interface. You can now specify hours and minutes when creating resource absences on the Gantt. Previously, you could specify the duration only in minutes.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Unlimited, and Developer editions with the Field Service managed package installed.
    2. <<Steps to Implement>>
      1. On the Gantt, click the absence creator icon, enter the absence details, and then drag it to one of the service resources.
  18. Create Richly Formatted Service Documents with Document Builder (Beta): – Create service documents that reflect your business goals and branding, make your mobile workers’ jobs more effective and efficient, and serve your customers’ needs. Upgraded service documents now include document preview, signature capture, embedded images, and PDF generation features. Document Builder provides standard components that you can drag onto the Template Builder to create beautiful, functional service documents. Create custom Lightning web components (LWCs) to meet your needs. And you can now use spanning fields to target polymorphic lookups – drag polymorphic spanning fields from the component panel onto the canvas so your service document reflects relevant data from related records.
    1. This change applies to Lightning Experience, Salesforce Classic, and all versions of the mobile app in Enterprise, Unlimited, and Developer editions.
  19. Personalize Sales Emails with Einstein GPT for Sales:Sales Emails empowers busy sales reps to move quickly and expand deals through personalized and informed email content that buyers love. Einstein GPT uses your sales data to generate personalized emails for contacts and leads, a method known as grounding. Sales reps can draft common emails, like a follow-up or a meeting invite, by choosing from the preset email prompt types.
    1. This feature is available in Lightning Experience in Performance and Unlimited editions.
    2. <<Steps to Implement>>
      1. In Lightning Experience, Einstein GPT Sales Emails is built directly into the email composer. In Salesforce Outlook or Gmail integrations, users see Einstein GPT in the email application pane.
      2. Choose a prompt from the list (1). Review and edit the email, and then send it (2).
  20. Create Call Summaries Powered by Einstein GPT: – Want to harness the power of generative AI to create a snapshot of everything your teams need to know about a customer call? Einstein Conversation Insights users can create generative call summaries on voice and video calls. Powered by Einstein GPT, the new Summary tab on call records allows users to create editable summaries that include next steps and customer feedback, and share summaries for easier team collaborations in the flow of work.
    1. This change applies to Einstein Conversation Insights in Lightning Experience. Einstein Conversation Insights is available in Performance and Unlimited editions and as an add-on in Enterprise Edition. Einstein GPT is available in Lightning Experience.
    2. <<Steps to Implement>>
      1. Turn on the feature from the Einstein GPT for Sales page in Setup.
      2. Use the new Summary tab to create and access call summaries.
      3. A standard call summary includes the summary itself, customer feedback, and any next steps. Click Create Call Summary to create a summary for a voice or video call.
      4. Click the edit button to update the content in a call summary.
      5. Users can see the calls and summaries related to a record with the Call Summaries Related List lightning component. This component shows summaries for voice and video calls related to that specific record, using the same matching logic as activity timeline.
  21. Restore a Paused Prospect by Deleting Their Visitor Records: – Prospects are paused when their activity levels are high enough to impact Account Engagement’s performance. If you have a paused prospect who is important to your business, you can restore the prospect by deleting their visitor activity records. Choose a date in the past and Account Engagement removes the prospect’s activity records before that date. When you remove enough activity records, Account Engagement restores tracking for that prospect. If the prospect exceeds the activity threshold in the future, they’re paused again.
    1. This change applies to all Account Engagement editions.
  22. Ensure Accurate Sales Compensation with Audit History for Splits and Opportunity Teams:Track changes to opportunity teams and splits to ensure that sales team members are correctly compensated for their contribution to closing deals. When a sales team shares access to opportunities, you need to see who made changes and when. With Audit History, you get the details of all changes to opportunity splits, opportunity product splits, and opportunity team members.
    1. This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
    2. Audit History shows each change to team members or splits, and details such as who made the change, the field that was changed, current and previous values. You can monitor changes and catch issues before compensation is processed.
  23. See Which Leads Need Attention and Take Action Directly from Lead Home: – Users can view lead activities, take action, and update records, all in one place in the Lead Intelligence View. Previously, Lead Home provided only simple list views and required users to navigate to individual records to take action.
    1. This change applies to Lightning Experience in All Editions. 
    2. In the Lead Intelligence View, users can quickly filter their leads, see aggregate activity statistics for the resulting records, and take action to reach out, right from the lead home page. To see detailed activity for individual records, users can click the side panel icon next to the record name.
    3. Lead activity metrics include:
      1. Total Leads: The total number of leads that meet your filter criteria.
      2. No Activity: Leads with no completed activities.
      3. Idle: Leads with past activity, but no completed activities in the last 30 days.
      4. No Upcoming: Leads with recently completed activity but no future activities scheduled.
      5. Overdue: Leads with activities that are overdue.
      6. Due Today: Leads with activities due today.
      7. Upcoming: Leads with activities due in the next 30 days.
    4. <<Steps to Implement>>
      1. Turn on Lead Intelligence View in Lead Intelligence View Setup.
      2. To see the Intelligence View, users go to the Lead home page and click Intelligence View. To return to the original list view, users can click List View.
  24. Improve Sales Forecast Accuracy with Manager Judgments: – As part of forecast reviews and assessments, forecast managers can now apply their judgment to the opportunities in their forecasts to help them make more accurate and informed forecast adjustments. By applying judgment at the opportunity level, managers increase their visibility into which deals they have the highest confidence of closing. Previously, managers could adjust the committed forecast number only, and could see how their judgment influenced the adjusted forecast.
    1. This change applies to Lightning Experience in Professional, Performance, and Developer Editions and in Enterprise and Unlimited Editions with the Sales Cloud.
    2. <<Steps to Implement>>
      1. In Setup, ensure that the Manager Judgments option is enabled in Forecast Settings. Set the picklist values to indicate what is considered part of the forecast and what isn’t. Then add the Manager Judgment column to the opportunity list in your forecast types that are based on the Opportunity, Opportunity Product, or Line Item Schedule objects. To see the column in the Salesforce mobile app, make sure it’s one of the first four columns in the opportunity list.
      2. When forecast managers are reviewing the opportunities that their direct reports own, they can indicate whether they’re confident that an opportunity is part of the forecast. Forecast managers can’t apply judgment to opportunities that they own.
      3. Then, forecast managers can see the total of the opportunities indicated as part of the forecast in the Committed forecast’s comments.
  25. See Your Data Your Way in Workspace: – Users can create and manage up to 10 personal workspace tabs to see data in a list layout. In the list, users can sort, filter, and query the data, as well as update it. They have a choice of what type of data to show and how to show it in their workspace. After creating a tab, they can modify the workspace to show related data.
    1. This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. Click New Workspace to create your own workspace.
      2. Click the Manage Workspace icon to update or delete your workspace.
  26. See Activities Captured by Einstein in Standard Reports: – Emails captured by Einstein Activity Capture are now available in standard reports. Use the new Activity 360 Reporting objects to get the panoramic view of your team’s activities across every channel. Previously, automatically captured records weren’t available in standard reports.
    1. This change applies to Lightning Experience in Unlimited Edition. Available in Professional and Enterprise editions with one of these add-on licenses: Sales Cloud Einstein, Sales Engagement, or Revenue Intelligence.
    2. <<Steps to Implement>>
      1. From the Einstein Activity Capture page in Setup, turn on Activity 360 Reporting on the Settings tab. After you turn on Activity 360, a report folder and a new dashboard are available. You can report on activities created after this feature is turned on.
  27. Sync Recurring Events from Google to Salesforce: – You can now include recurring events from Google in event sync configurations. Only events created after you select the Sync event series checkbox in the sync configuration are synced from Google to Salesforce.
    1. This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, and Unlimited editions.
  28. Find Export and Import Content and Translation Details on the New Status Tab: – Export and import statuses are visible to multiple users of your enhanced CMS workspace in the new Export & Import Status tab. Now, multiple content admins and content managers can see who initiated an export and import, and when. They can also download files for exported content, details about export and import status, and success and error output. This new UI captures content and translation export and import statuses. Previously, error, success, and detail logs were provided only to a single user through a link in an email.
    1. This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. From the enhanced CMS workspace settings menu, click Setup (1) and then click Export & Import Status (2).
      2. To sort the Export & Import status information by type, select Content Export & Import or Translation Export & Import from the menu. To see all Export & Import statuses at once, select All Export & Import. To access the detail files, click an Export & Import ID and download the available files.
  29. Assign Workflows by Content Type and Automatically Publish or Unpublish Content: Now CMS Workflows and Approvals, available in enhanced CMS workspaces, up a notch with more features and better usability. Each workflow can be assigned to specific content types, making your process flexible and extensible. And with new step types you can automatically publish or unpublish content variants from a workflow.
    1. This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
  30. Capture Feedback as Records with Survey Invitation Field Data: – Create or update records with survey invitation field values by using data maps. Define the target object field values by passing the survey invitation field values on submission of a response.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Unlimited, and Developer editions where Feedback Management – Starter or Feedback Management – Growth is enabled.
    2. Now you can use a data map to create a follow-up Case record every time a customer provides a particular score. You can use the invitation field record to map the Participant record ID to the case Contact record ID. You can also map the survey invitation link to the case description field.

Additional Enhancements Worth Noting!

  1. Prepare for the New Setup Domain: – Salesforce plans to host Setup pages on a new domain in a future release. To prepare for this change, add *.salesforce-setup.com to your allowlists.
    1. This change applies to Lightning Experience and Salesforce Classic in all editions.
  2. Set a Password or Expiration Date on a Public Link to a Salesforce File: -In Lightning Experience, when you create a public link to share a file, you can choose to set a date when the link expires. You can also protect access to the file with a password. By default, link expiration is enabled and set for 30 days. Use the password default settings to determine if protection is on or off by default. When password protection is toggled on, an auto-generated password shows in the dialog. Public links to folders don’t have password protection or link expiration.
    1. This change applies to Lightning Experience in all editions. 
    2. <<Steps to Implement>>
      1. To set password defaults for Salesforce Files, edit the content deliveries settings. From Setup, in the Quick Find box, enter Salesforce Files, and then select Content Deliveries and Public Links. Select a password default
  3. Connect to Google Analytics 4 (Generally Available): – Migrate to Google Analytics 4 to continue loading your Google Analytics data and take advantage of Google’s new event-based GA4 property framework. Google Analytics 4 uses first-party and Google data to understand and analyze multiple sites and apps together. Google Analytics 4 has replaced Universal Analytics. On July 1, 2023, all standard Universal Analytics properties stopped processing data.
    1. This change applies 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.
    2. <<Steps to Implement>>
      1. Create a Google Analytics 4 connection using the Data Manager. Add your Google Analytics property ID to the advanced properties for each connected object.
  4. View Slack Channel Recipients in Subscription Reports: – Quickly see the Slack channels where subscriptions and notifications are sent. In addition to monitoring schedules, conditions, recipients, and actions, a custom subscription report can now include a recipient column containing Slack channel names. Previously, this column showed ID numbers.
    1. This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions. The CRM Analytics for Slack app is available for use where approved by a workspace admin and installed in Slack.
    2. <<Steps to Implement>>
      1. Add the Recipient Collaboration Room column to the Action block in your custom subscription report. For channels created in Winter ’24 and later, the column is populated with the Slack channel names where subscriptions and notifications are sent. For channels created before Winter ’24, the channel ID appears in the column.
      2. Channel names are saved when added to a subscription or notification. If the name of a channel is changed, the name isn’t automatically updated in the report.
  5. Open Reports and Dashboards in Multiple Tabs from the Analytics Tab: – You can now open multiple reports and dashboards in individual tabs. Previously, you could open only one report at a time in the Analytics tab. You get better organization of your work and the ability to work on different analytics at the same time.
    1. This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions. Access to CRM Analytics assets is available for an extra cost.
    2. <<Steps to Implement>>
      1. From the App Launcher, find and select Analytics, then click multiple reports and dashboards to view them in separate tabs.
  6. Explore Multiple Data Model Objects in Direct Data Using Joins (Generally Available): – It’s now easier to analyze data model object (DMO) records where the data is normalized and related information resides in separate DMOs. To explore and draw insights from multiple DMOs simultaneously, join these objects in a single dashboard query. You can also filter the joined data and highlight the records that matter with conditional formatting. Previously, you wrote custom SQL queries to analyze data in multiple DMOs.  
    1. This change applies 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.
    2. <<Steps to Implement>>
      1. For example, to compare sales order data with product and customer’s annual income, in the dashboard designer, create a query on the Sales Order DMO (1).
      2. Then, in the lens mode, click Manage Data Sources (2). Add the related Individual and Product DMOs that you want to use (3), and apply your changes (4).
      3. Build your query on the joined DMOs.
  7. Show Salesblazer Content in the Guidance Center: – Inform and inspire your company’s sales professionals with the latest insights, expertise, and pro tips from their peers, delivered in the flow of work in Salesforce. The Guidance Center now includes a Salesblazer section that shows content authored by sales leaders, sellers, and sales operations professionals. Clicking an item in the Salesblazer section opens the content in a new browser tab. Items remain in the Salesblazer section until the source content is refreshed, which occurs weekly on average.
    1. This change applies to Lightning Experience in Starter, Professional, Enterprise, Performance, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1.  If the Salesforce Suggestions for End Users option in the Guidance Center page in Setup is on, the Salesblazer section in the Guidance Center is available for all users.
  8. Use Custom Logic in Your Expression-Based Visibility Rules: – Visibility rules, available for enhanced LWR sites, are now more flexible. You can now use two operators in the same rule. Previously, you could only add conditions with an AND or an OR operator in a single rule.
    1. This change applies to LWR sites accessed through Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
  9. Chart Historical Prospect Changes by Feature: – Review prospect changes at a glance using the new Prospect Change Monitor histogram in the Account Engagement Optimizer. Easily focus on specific feature areas or view all changes across your business unit.
    1. This change applies to all Account Engagement editions.
  10. Design Engagement Programs with More Precise Wait Times: – Prospects can now wait in Engagement Studio Program steps from 2 to 8 hours. Previously, wait times were limited to increments of days.
    1. This change applies to all Account Engagement editions.
  11. Remove Unconverted Visitor Activity Records: – Free up system bandwidth by removing old visitor records that didn’t convert to prospects. Use the new Stale Unconverted Visitors option in your Business Unit Settings to automatically remove unconverted records older than 365 days.
    1. This change applies to all Account Engagement editions.
  12. Capture More Details of Email Deliverability: – Stay informed, troubleshoot, or evaluate the performance of your email easily with enhanced deliverability information in email log reference files. Use the 11 new field values R through AB to learn more about the health of emails that originate from external senders and emails that are sent from Salesforce servers.
    1. This change applies to Lightning Experience and Salesforce Classic in all editions.
  13. Prevent Users from Unpublishing Content with Dependencies in Enhanced CMS Workspaces: – When one prominent piece of content, such as a news article, incorporates CMS content, a user can’t unpublish that CMS content because of this dependency. Similarly, CRM content can have dependencies to CMS content that prevent unpublish. Now, the unpublish window shows which records reference the content, and a link icon identifies those records with prominent dependencies. The Content Usage card on the content detail page also provides this information.This change prevents users from unpublishing content that could appear as an error or a broken page in other content.
    1. This change applies to Lightning Experience in Enterprise, Performance, Unlimited, Developer, and Starter editions.
  14. View Standard Bot Reports in the Winter ’24 Folder: – Each release, Einstein Bots adds a folder that contains the latest versions of all standard bot reports. In Winter ’24, no changes affect standard bot metric types or individual reports from Summer ’23, but you can access fresh versions of all reports in the Einstein Bot Reports Winter ’24 folder.
    1. 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.
  15. Assign Enablement Programs to More Users with Fewer Clicks: – Expand the scope of your company’s Enablement rollout to more users, more quickly. In the program assignment window, you can now filter the users that you want to assign to a program by their profile, role, and public group. With one click, you can select all users that match your applied filters, within your org’s assignment limit. Previously, you could filter users in the assignment window only by public group. And you could assign all matching users only by scrolling enough times to load all users in the window and then selecting the header row checkbox.
    1. This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions with Sales Cloud, Service Cloud, Financial Services Cloud, Health Cloud, or Salesforce Platform. An Enablement add-on license is required.
    2. The Filters panel includes new fields for selecting a specific profile and role to filter the available users shown in the assignment window.
  16. Create Dependencies Between Service Appointments with More Flexibility: – Implement complex work chains easily by selecting a wider variety of lookup fields to create dependencies between service appointments. Previously, you could select only service appointments with the same account or work order.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Unlimited, and Developer editions with the Field Service managed package installed.
  17. Save Time with Mass Quick Actions on Related Lists (Generally Available): – Use the power of quick actions on related lists, now generally available, to help your users create and update related records with ease. Streamline data entry by configuring quick actions with predefined field values and action layouts that include only the most important fields. And add quick actions directly on the related lists, right where users need them. Your users can create related records for items in the list without leaving the page. Or they can perform mass updates on up to 100 related records at once.
    1. This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. You can add quick actions on a related list in one of two ways. In this release, only Create a Record and Update a Record quick actions are supported.
        1. To add quick actions from the Lightning App Builder, add or select the Dynamic Related List – Single component on the record page. In the properties pane, select Show list view action bar, and then click Add Action.
        2. To add quick actions using the page layout editor, from the object management settings for the parent object, open the page layout. Double-click to open the related list properties, expand the Buttons section, and select the quick actions that you want to add. Then, from the parent record page in the Lightning App Builder, set the related list type to Enhanced List.
        3. Now the related list includes the quick actions that you added (1), and users can apply the actions to the records that they select (2).
  18. Salesforce Object ID Is Refined to Use Three Characters for Server IDs (Release Update): – Previously, a valid Salesforce Object ID had a two-character Server ID or Instance ID as the 4th and 5th characters in the overall 15-18 characters. With this change, Salesforce now generates three-character Server IDs, which are the 4th, 5th, and 6th characters in the Object ID. Existing Object IDs don’t change and neither does the length of an Object ID, which is still 15-18 characters. This update can cause test cases to fail if the test code doesn’t account for the new ID structure. This release update was first available in Summer ’23 is enforced in Winter ’24. This change applies to Lightning Experience and Salesforce Classic in all editions.
    1. This change impacts customers who have custom code or tests that assume the Server ID can be only the 4th and 5th characters of a Salesforce ID rather than the 4th, 5th, and 6th. After the change is enforced, valid test cases can fail and invalid ones can pass.
  19. Close Cases Faster with Einstein GPT Work Summaries (Generally Available): – Save agents time with AI-generated case summaries, now generally available. Based on a Chat conversation between an agent and customer, Einstein GPT predicts and fills a summary, issue, and resolution. Agents can then review, edit, and save these summaries.
    1. This change applies to Unlimited editions with Service Cloud Einstein and the Einstein GPT for Service add-on. Einstein GPT is available in Lightning Experience.
    2. <<Steps to Implement>>
      1. Work Summaries requires the Chat channel and the Service Console app.
      2. To get started with Work Summaries, from the Einstein GPT for Service: Work Summaries Setup page, enable Work Summaries. In the Map Outputs to Record Fields section, select the case fields where you want to map Einstein GPT outputs.
      3. To show agents summaries, add the Wrap Up component to the chat transcript page. When agents click Get Einstein Recommendations, Einstein predicts and fills values for the Summary, Issue, and Resolution fields.
  20. Stay on Top of Survey Responses by Receiving Custom Notifications: – Get custom notifications based on invitation and merge field data for timely actions. Specify notification recipients using invitation data, participant data, or other data in a data map.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Unlimited, and Developer editions where Feedback Management – Starter or Feedback Management – Growth is enabled.
    2. <<Steps to Implement>>
      1.  To create custom notifications in data maps, users need the Salesforce Advanced Features Starter permission or the Salesforce Surveys Advanced Features permission.
      2. For example, you can create notifications to alert the case owner every time a customer responds to a survey and the response meets certain defined criteria.
  21. Renamed
    1. Backup and Restore Is Now Salesforce Backup
    2. MuleSoft Composer for Salesforce is now Flow Integration
  22. Retired:
    1. Meeting Studio Is Being Retired
    2. Salesforce for Outlook Is Retiring in June 2024
    3. News, Automated Account Fields, and Account Logos Are Being Retired
    4. Salesforce Platform API Versions 21.0 Through 30.0 Retirement (Release Update)
    5. Cadence Wait Steps Are Being Retired
    6. Einstein Account Insights and Opportunity Insights Are Being Retired
    7. Meeting Studio Is Being Retired

Developer’s Point of View

  1. Dynamically Import and Instantiate Lightning Web Components:Dynamic component creation can help you avoid loading large modules that you don’t need for all use cases. Also, you can create a component instance when the underlying component constructor isn’t known until run time. Dynamic import is a convenient solution to make a component more customizable. However, it isn’t always the best solution because of the run-time performance overhead it introduces, so don’t overuse it.
    1. This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. To dynamically import and instantiate Lightning web components, enable Lightning Web Security.
      2. LWR Sites for Experience Cloud supports only statically analyzable dynamic imports. For this use case, import(“c/analyzable”) works, but import(“c/” + “analyzable”) doesn’t work because it isn’t statically analyzable.
  2. Get the Latest LWC Features with Component-Level API Versioning: – Add an API version on a custom component to inform the LWC framework to behave as it did for the Salesforce release corresponding to the API version for that component. Versioning your custom components allows us to ship new features, bug fixes, or performance improvements and to deprecate legacy features.
    1. This change applies to custom Lightning web components in Lightning Experience, Experience Builder sites, and all versions of the Salesforce mobile app.
    2. <<Steps to Implement>>
      1. Every HTML, CSS, and JS file of a component corresponds to one API version. To specify an API version, use the apiVersion configuration element in the .js-meta.xml file for the component.
        
        
        <?xml version="1.0" encoding="UTF-8"?>
        <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
            <apiVersion>58.0</apiVersion>
        </LightningComponentBundle>
        

  3. Create Custom Elements with Lightning Web Security Enabled (Beta): – With Lightning Web Security (LWS) enabled, you can create custom elements in your Lightning web components. Custom elements are a key feature of the Web Components standard and another advantage of LWS over Lightning Locker.
    1.  This change applies to Lightning Experience in all editions, LWR-based Experience Cloud sites, and Lightning web components in Aura sites when LWS is enabled in the Salesforce org.
    2. <<Steps to Implement>>
      1. Create custom elements in the standard way using customElements.define() when LWS is enabled. LWS handles the virtual isolation for you.
  4. Scan Documents with a Mobile Device using Lightning Web Components: – Use the DocumentScanner API to access native device functionality to scan documents and parse their text content.
    1. This feature is available in the Salesforce Mobile app and the Salesforce Field Service app.
    2. <<Steps to Implement>>
      1. Import DocumentScanner into your component definition.
      2. Run tests to ensure DocumentScanner is available before calling document-scanning functions.
      3. Use the scan() function to scan a document and interact with the extracted text.Using DocumentScanner in your LWC-enabled mobile app is easy:
  5. Specify Custom Access Using Permission Sets for User Mode Database Operations (Developer Preview): – The new AccessLevel.withPermissionSetId() method supports database and search operations that are run with permissions specified in a permission set. Apex enforces field-level security (FLS) and object permissions as per the specified permission set.
    1. This feature is available in scratch orgs where the ApexUserModeWithPermset feature is enabled. If the feature isn’t enabled, Apex code with this feature can be compiled but not executed.
    2. <<Steps to Implement>>
      1. For the Developer Preview, you can run the AccessLevel.withPermissionSetId() method with a specified permission set ID. Specific user mode DML operations that are performed with that AccessLevel, respect the permissions in the specified permission set. Previously, you could choose to run DML operations in user mode, enforcing the FLS and object permissions of the running user.
      2. This example runs the AccessLevel.withPermissionSetId() method with the specified permission set and inserts a custom object.
        
        
        @isTest
        public with sharing class ElevateUserModeOperations_Test {
            @isTest
            static void objectCreatePermViaPermissionSet() {
                Profile p = [SELECT Id FROM Profile WHERE Name='Minimum Access - Salesforce'];
                User u = new User(Alias = 'standt', Email='standarduser@testorg.com',
                    EmailEncodingKey='UTF-8', LastName='Testing', LanguageLocaleKey='en_US',
                    LocaleSidKey='en_US', ProfileId = p.Id,
                    TimeZoneSidKey='America/Los_Angeles',
                    UserName='standarduser' + DateTime.now().getTime() + '@testorg.com');
        
                System.runAs(u) {
                    try { 
                        Database.insert(new Account(name='foo'), AccessLevel.User_mode); 
                        Assert.fail(); 
                    } catch (SecurityException ex) { 
                        Assert.isTrue(ex.getMessage().contains('Account'));
                    }
                    //Get ID of previously created permission set named 'AllowCreateToAccount'
                    Id permissionSetId = [Select Id from PermissionSet 
                        where Name = 'AllowCreateToAccount' limit 1].Id;
        
                    Database.insert(new Account(name='foo'), AccessLevel.User_mode.withPermissionSetId(permissionSetId)); 
        
                    // The elevated access level in not persisted to subsequent operations
                    try { 
                        Database.insert(new Account(name='foo2'), AccessLevel.User_mode); 
                        Assert.fail('permset leaked'); 
                    } catch (SecurityException ex) { 
                        Assert.isTrue(ex.getMessage().contains('Account')); 
                    } 
                    
                } 
            } 
        }

  6. Iterate Within For Loops More Easily with Iterable: – You can now easily iterate through lists or sets using an Iterable variable in a for loop.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
    2.  This example iterates through a list of strings.
      
      
      Iterable<String> stringIterator = new List<String>{'Hello', 'World!'};
         for (String str : stringIterator) {
            System.debug(str);
      }

    3. This example implements an Iterable interface and then iterates through the strings in the returned set of strings.
      
      
      public class MyIterable implements Iterable<String> {
         public Iterator<String> iterator() {
            return new Set<String>{'Hello', 'World!'}.iterator();
         }
      }

      for (String str : new MyIterable()) {
         System.debug(str);
      }

  7. Set the Maximum Depth of Chained Queueable Jobs (Generally Available): – The Configure Stack Depth of Chained Queueable Jobs feature is now generally available. You can set a maximum stack depth of Queueable jobs, overriding the default limit of five in Developer and Trial Edition orgs. This feature provides a larger safety mechanism to prevent runaway recursive jobs from consuming the daily async Apex limit.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions. 
    2. <<Steps to Implement>>
      1. Enqueue jobs by using the new System.enqueueJob() overload. The method overload has an optional AsyncObjects parameter where you can specify the maximum stack depth and the minimum queue delay.
      2. Use these methods in the new System.AsyncInfo class to determine the current and maximum stack depths and to get the minimum queueable delay.
        1. getCurrentQueueableStackDepth()
        2. getMaximumQueueableStackDepth()
        3. getMinimumQueueableDelayInMinutes()
        4. hasMaxStackDepth()
      3. This example uses stack depth to terminate a chained job and prevent it from reaching the daily maximum number of asynchronous Apex method executions.
        
        
        // Fibonacci
        public class FibonacciDepthQueueable implements Queueable {
           
            private integer nMinus1, nMinus2;
               
            public static void calculateFibonacciTo(integer depth) {
                AsyncOptions asyncOptions = new AsyncOptions();
                asyncOptions.MaximumQueueableStackDepth = depth;
                System.enqueueJob(new FibonacciDepthQueueable(null, null), asyncOptions);
            }
               
            private FibonacciDepthQueueable(integer nMinus1param, integer nMinus2param) {
                nMinus1 = nMinus1param;
                nMinus2 = nMinus2param;
            }
           
            public void execute(QueueableContext context) {
               
                integer depth = AsyncInfo.getCurrentQueueableStackDepth();
               
                // Calculate step
                integer fibonacciSequenceStep;
                switch on (depth) {
                    when 1, 2 {
                        fibonacciSequenceStep = 1;
                    }
                    when else {
                        fibonacciSequenceStep = nMinus1 + nMinus2;
                    }
                }
               
                System.debug('depth: ' + depth + ' fibonacciSequenceStep: ' + fibonacciSequenceStep);
               
                if(System.AsyncInfo.hasMaxStackDepth() &&
                   AsyncInfo.getCurrentQueueableStackDepth() >= 
                   AsyncInfo.getMaximumQueueableStackDepth()) {
                    // Reached maximum stack depth
                    Fibonacci__c result = new Fibonacci__c(
                        Depth__c = depth,
                        Result = fibonacciSequenceStep
                        );
                    insert result;
                } else {
                    System.enqueueJob(new FibonacciDepthQueueable(fibonacciSequenceStep, nMinus1));
                }
            }
        }

  8. Connect to Third-Party Key Stores with External Key ManagementEncrypt data with keys stored outside of Salesforce and exercise more direct control over keys. With the new External Key Management (EKM) service, use easy on-screen guidance to create a secure connection to AWS Key Management Service (KMS). Salesforce then uses your key stored in AWS KMS to encrypt and decrypt Salesforce data. Key material is only stored as long as is necessary to complete encrypt and decrypt operations.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. Before you start, make sure that you have a key in AWS KMS. Salesforce uses your external key as a root key. In Salesforce Setup, on the Advanced Settings page, turn on External Key Management. On the Key Management page, click Manage Root Keys.
      2. A guided wizard opens to walk you through the process of connecting Salesforce to AWS. Add information about your AWS key, including your identifier, region, and a unique description. EKM generates a code snippet, or statement, that you can easily copy into your key policy in AWS.
      3. Save your updated key policy in AWS, return to Salesforce, and save your work. You can now generate a data encryption key (DEK) in Salesforce and apply it to fields, files and attachments, and any other data you can encrypt with Shield Platform Encryption.
      4. Salesforce uses your root key in AWS to generate a DEK and wrap it for temporary storage in the encrypted key cache. You can review and audit historical key information on the root key Detail view. And as with the Cache-Only Key Service, you can check your connection to AWS for easy troubleshooting and connection maintenance.
  9. Access a Mobile Device’s Biometrics Capabilities with Lightning Web Components: – Use the BiometricsService API to access native device functionality to prompt device users to confirm their identity with biometrics.
    1. This feature is available in Mobile Publisher for Experience Cloud applications.
    2. <<Steps to Implement>>
      1. Import BiometricsService into your component definition.
      2. Run tests to ensure BiometricsService is available before calling biometrics-related functions.
      3. Use the feature functions to prompt biometric identity confirmation.
  10. Monitor Component Events with the Custom Component Instrumentation API (Beta): – Add observability to your Lightning web components with the Custom Component Instrumentation API (beta). Now you can directly monitor and track events or interactions with custom Lightning web components in your org’s Event Monitoring. Previously, Event Monitoring tools only tracked insights about your application as a whole, like records loaded and page performance. The Custom Component Instrumentation API is designed for Lightning web components and isn’t supported for Aura components.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions where Event Monitoring is enabled.
    2. <<Steps to Implement>>
      1. Import log from the lightning/logger module in your component and log data messages to Event Monitoring. The log() function publishes data to a new EventLogFile event type called Lightning Logger Event that structures the event data for use in Event Monitoring.
        
        
        <!-- myComponent.html -->
        <template>
          <lightning-button label="Approve" 
                            onclick={handleClick}>
          </lightning-button>
        </template>

        // myComponent.js
        import { LightningElement } from 'lwc';
        import { log } from 'lightning/logger';
        
        export default class HelloWorld extends LightningElement {
          constructor() {
          super();
          }
        
          let msg = {
              type: "click",
              action: "Approve"
          }
        
          handleClick() {
            log(msg);
          }
        }

  11. Use JWT-Based Access Tokens to Authenticate for REST API Calls: – You can now use JSON Web Token (JWT)-based access tokens for granting access to REST APIs. Enable connected apps to issue JWT-based access tokens and use these tokens to authenticate REST calls. Make sure you understand the functionality and limitations before you implement JWT tokens.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
  12. Select Who Has Access To a Sandbox: – Selective Sandbox Access helps you limit access to a sandbox to only required users when refreshing or creating a sandbox. By default, all active users in the source org have access to the sandbox, but only the user who creates the sandbox has their email address in the original format (without .invalid appended to it). With selective access, a Salesforce admin grants access to specific users through a public group. The email addresses for the users included in the group remain in their original format and don’t need to be modified. Users who aren’t part of the public group have to be unfrozen in the sandbox in order to access it.
    1. This change applies to sandboxes of Professional, Enterprise, Performance, Unlimited, and Database.com editions.
  13. Salesforce Flow Enhancements: – There are several enhancements in Salesforce Flow as follows:
    1. Build Screen Flows with Reactive Components (Generally Available): – Reduce the number of screens that your users click through, and build screens that feel like single-page applications with reactive flow screen components. Configure supported standard components or custom Lightning web components to react to changes in other components on the same screen in real time. For example, create a Data Table component that lists Opportunity records. On the same screen, add a Radio Buttons component, and set the default value of the component to the stage of the first Opportunity that the user selects. Previously, if you needed a component to react to changes in another component, you placed the components on separate screens.
      1. This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
      2. Check this release notes for detailed information. 
    2. Create Custom Error Messages in Record-Triggered Flows: – Use the new Custom Error Message element to create targeted error messages for your end users to explain what went wrong or how to correct it. The error messages display in a window on the overall record page or as an inline error on a specific field. The associated record change is rolled back. Error messages can be created for before-save and after-save flows. 
      1. This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
      2. <<Steps to Implement>>
        1. Read the below articles for step-by-step instructions  
          1. Custom Validations Using Record-Triggered Flows
          2. Display Custom Error Messages for Record-Triggered Flows
    3. Transform Your Data in Flows (Beta): – Transform collections of data between flow resources with the new Transform element in Flow Builder. Combined with the Action element that makes an HTTP callout, you can build a flow that fully integrates data outside Salesforce with no code. Previously, you built a flow that included the Loop element and the Assignment element. Now you can do it all with the Transform element when transforming data in screen flows, autolaunched flows with no triggers, and record-triggered flows.
      1. This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
      2. Read this article for step-by-step instructions. 
    4. Create Autolaunched Flows Based on Data Changes in Data Cloud: – You can now start a Data Cloud-Triggered Flow based on changes in a data model object or calculated insight object. For example, you can update a Unified Individual’s loyalty status based on changes to their loyalty balance.
      1. This change applies to Lightning Experience and Salesforce Classic in all editions.
    5. Screen Flow Components Retain Values After State Changes:Screen flows now retain values when a user resumes a paused flow, experiences an input validation error, or returns to an earlier screen. Previously, if you didn’t provide a default value when you configured the Name, Address, Data Table, Email, or other components, the flow removed user-specified values when these events occurred. This change applies only to flows that are running on API version 59.0 or later.
      1. This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
    6. Refresh Values Between Screens for More Components: – You can now refresh the values of choice, Date, Date & Time, Number, Currency, Text, and Long Text Area components when a user navigates to a previous screen and then forward again. For example, a user enters the cost of three services on the first screen. When the user navigates to the next screen, the screen flow displays the total cost. If the user returns to the first screen and changes a value, you can refresh the total cost on the next screen or leave it unchanged. However, if a user navigates to a previous or later screen and then returns to the current screen a second time, the flow doesn’t update the reactive components again.
      1. This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
      2. <<Steps to Implement>>
        1.  Drag a component to a screen. In the component’s properties pane, under Advanced, select an option for Revisited Screen Values.
    7. Use Wait Elements in More Types of Flows: – The Wait for Amount of Time element and the Wait Until Date element are now available in schedule-triggered flows, autolaunched flows, and orchestrations. Previously, these wait elements were available only for journeys.
      1. This change applies to Lightning Experience and Salesforce Classic in all editions.
  14. Flow Orchestrator: – There are several enhancements in Flow Orchestrator as follows:
    1. Control Execution of Orchestration Stages and Steps with Requirements: – Each orchestration step uses a selected condition that determines when it can start. And each orchestration stage and interactive orchestration step uses a condition to determine its completion. Previously, when you had complex criteria, you created an evaluation flow to determine when a step can start or a stage or an interactive step can end. Now you can define up to 3 requirements in the Properties panel to control stage and step execution.

      1. This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
    2. Extend Flow Orchestration Objects: – Flow Orchestration objects are now available in Object Manager in Setup. Customize Flow Orchestration Run, Flow Orchestration Stage Run, Flow Orchestration Step Run, and Flow Orchestration Work Item objects for your needs by adding custom fields and custom relationships.
      1. This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
  15. Update U2F Security Keys to Support WebAuthn Authentication: – To work with Salesforce, U2F security keys must be updated to use WebAuthn authentication. The update process works seamlessly behind the scenes. For new security keys, the update occurs automatically when a user registers it for their Salesforce account. For U2F security keys that were registered prior to Summer ’22, users simply need to log in with their key before Winter ’24. Doing so automatically updates the key. If a user misses this window, they can still update their key after Winter ’24 by re-registering it for their Salesforce account.
    1. If any of your users miss the window to update their U2F key before Winter ’24, use these access recovery tips. In both cases, the process of re-registering a U2F key completes the WebAuthn update.
      1. Instruct the user to disconnect and re-register their key from the Advanced User Details page. If the user hasn’t registered an additional verification method that they can use to log in, give them a temporary verification code for access to their account.
      2. Alternatively, remove the security key from the user’s account. Then the user can log in and re-register their key. If the user doesn’t have another verification method, Salesforce automatically prompts them to add one before they can finish logging in. If they log in with a different verification method or a temporary verification code, they can re-register their key from the Advanced User Details page.
  16. Authenticate Named Credential Callouts with Client Credentials Flow: – You can now configure named credentials to use OAuth 2.0 client credentials flow for server-to-server integration. If you want to directly share information between two applications and eliminate the need for explicit user interaction, use the OAuth 2.0 client credentials flow. In this flow, the client app exchanges its client credentials defined in a client secret or JWT assertion.
    1. This change applies to Lightning Experience and Salesforce Classic in all editions.
    2. <<Steps to Implement>>
      1. When you create an external credential from the Salesforce UI, select OAuth 2.0 as the authentication protocol, and then select Client Credentials with Client Secret Flow or Client Credentials with JWT Assertion Flow. You can also use the Metadata, Tooling, and Apex ConnectApi APIs to create and edit external credentials.
  17. Get Information About Insufficient Access Errors: – Use the new Insufficient Access event type in the EventLogFile object to analyze and troubleshoot account, case, contact, and opportunity record access errors for your users. These events contain information about the record the user attempted to access or transfer, the access level required for this action, and the related error message. 
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions. This event is available in the API but not in the Event Monitoring Analytics app.
  18. Add Permission Sets to Your Custom Templates and Blocks (Beta): – Bot templates and blocks make it easy to share complex bot functions with powerful actions, such as Apex, external service, and flow. But what good is a custom-built flow if your bot can’t run it? Now when you create a template or block, you can add a permission set that grants access to the required resources. When someone creates a bot from your template or imports your block, they add the permission set to their bot user profile so they can go live with their bot’s new functionality quickly and easily.
    1. 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.
    2. <<Steps to Implement>>
      1. To get started, create a permission set that grants access to the resources required to use your template or block. When you create a template or block, in the Permission Set field, search for and select the permission set you want to add.
      2. When someone creates a bot from your template or imports your block, they’re prompted to add the permission set to their bot user profile.
  19. Reach More Customers with Multi-Language Support for Custom Templates and Blocks (Beta): – Now you can create and share bot templates and blocks with full multi-language support, so anyone who uses your templates or blocks can reach more customers in less time. When you create a template or block, you can include support for some or all of the primary and secondary languages supported in the original bot. Previously, custom templates and blocks supported only one language.
    1. 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.
    2. <<Steps to Implement>>
      1. In the Bot Builder, when you create a template or block, you’re prompted to select a primary language and any secondary languages you want to support, based on the languages supported by the original bot.
      2. When someone creates a bot from your template, they can specify any language supported by your template as a primary or secondary language for their bot.
      3. When someone imports your block, the block is automatically supported in all languages supported by the block and the destination bot.
  20. Transition to the Lightning Editor for Email Composers in Email-to-Case (Beta) (Release Update): – When enabled, this release update replaces the email editor in the docked and case feed email composers. The new email editor is available in Lightning Experience as a beta feature.
    1. This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
    2. Salesforce is replacing the email editor in the docked and case feed email composers and switching to an editor that’s based on the open-source TinyMCE editor. The new editor provides similar functionality in Lightning Experience. New features include:
      1. Full-screen mode
      2. Printing
      3. Undo and Redo buttons
      4. Format painting
      5. Emoji picker
      6. Resizability
      7. A more responsive toolbar
      8. Smart copy-paste functionality
    3. You can drag, as well as copy and paste, file attachments and inline images into the editor.
  21. Send Automated Notifications with the Send Conversation Messages Action: – Send important updates to customers with messaging components and a new invocable action. This feature is now available in enhanced WhatsApp channels and Messaging for In-App and Web. Previously, you could send automated notifications only in standard Messaging channels.
    1. This change applies to enhanced WhatsApp and Messaging for In-App and Web channels. View required editions.
    2. <<Steps to Implement>>
      1. To set up automated notifications in enhanced WhatsApp channels, get the WhatsApp Outbound Messages add-on license. Then, create a message template in WhatsApp Business Manager. Templates must fall into one of the three WhatsApp categories: Marketing, One-Time Passwords, and Transactional. After creating a template, create a Notification messaging component in Setup, link it to the template, and create a flow that uses the Send Conversation Messages action to send the messaging component. Sending a notification to a customer consumes one outbound message.
      2. To set up automated notifications in Messaging for In-App and Web, create a Notification messaging component in Setup. Then, create a flow that uses the Send Conversation Messages action to send the messaging component.
  22. Improve Customer Service and Agent Training with Conversation Sentiment Analysis: – To evaluate agent performance and identify coaching opportunities, supervisors can view the sentiments of a phone conversation between an agent and a customer inside the recording player. The supervisor can easily spot moments when the customer or agent is not happy, listen to the corresponding recorded call segments, and then provide training. In addition to Sentiment Journey, we added Agent Sentiment Score and Supervisor Sentiment Score fields to the VoiceCall entity for easy reporting. Post-call Sentiment Journey is available for contact centers in North America only.
    1. This change applies to Lightning Experience in Enterprise and Unlimited editions. Available in Salesforce orgs with these telephony models: 
      1. Service Cloud Voice with Amazon Connect
      2. Service Cloud Voice with Partner Telephony from Amazon Connect
    2. <<Steps to Implement>>
      1. In the Call Audio Player component of a Voice Call record, view the overall sentiments of the agent and customer alongside the call recording after the conversation. To view the sentiment scores for the agent and customer, add the fields to the Voice Call page layout or include them in a report.
  23. Listen In to an Amazon Connect Voice Call through Salesforce: – To support an agent, supervisors can listen in to a call directly from Salesforce through Omni Supervisor. Previously, supervisors had to listen in from Amazon Connect.
    1. This change applies to Lightning Experience in Enterprise and Unlimited editions. Available in Salesforce orgs with these telephony models: 
      1. Service Cloud Voice with Amazon Connect
      2. Service Cloud Voice with Partner Telephony from Amazon Connect
    2. <<Steps to Implement>>
      1. In Amazon Connect, turn on Enable Multi-Party Calls and Enhanced Monitoring.

Additional Enhancements Worth Noting!

  1. Audit Public Group Membership Changes with Event Monitoring: – Monitor when members are added to or removed from public groups using the new Group Membership event type. Public groups can contain individual users, other groups, or users in a specified role or territory.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions. This event is available in the API but not in the Event Monitoring Analytics app.
  2. Use RefreshView API with Lightning Locker:The lightning/refresh module and RefreshView API provide a standard way to refresh component data in Lightning web components (LWC). Now the RefreshView API also works with Lightning Locker, the security architecture in effect when Lightning Web Service (LWS) isn’t enabled. Previously, the RefreshView API required LWS to be enabled in the Salesforce org.
    1. This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions.
  3. Get Names of Corresponding Invocable Actions in Custom Property Editors: – Use the new actionName property on the existing elementInfo interface for custom property editors in flows. Previously, you couldn’t get the invocable action name directly through a property in the custom property editor, which is a custom Lightning web component.
    1. This change applies to custom Lightning web components in Lightning Experience.
  4. Ensure that Duplicate Queueable Jobs Aren’t Enqueued: – Reduce resource contention and race conditions by enqueuing only a single instance of your async Queueable job based on the signature. Attempting to add more than one Queueable job to the processing queue with the same signature results in an exception on enqueue for the subsequent jobs.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions
    2. <<Steps to Implement>>
      1. Use the QueueableDuplicateSignature class methods addId(), addInteger(), and addString() to build a unique signature for your queueable job. Use the DuplicateSignature property in the AsyncOptions class to store the queueable job signature. Enqueue your job by using the System.enqueueJob() with the AsyncOptions parameter.
      2. This example builds the async job signature with UserId and the string MyQueueable.
        
        
        AsyncOptions options = new AsyncOptions();
        options.DuplicateSignature = new System.QueueableDuplicateSignature.Builder()
                                        .addId(UserInfo.getUserId())
                                        .addString('MyQueueable')
                                        .build();
        try {
            System.enqueueJob(new MyQueueable(), options);
        } catch (DuplicateMessageException ex) {
            //Exception is thrown if there is already an enqueued job with the same signature
            Assert.areEqual('Attempt to enqueue job with duplicate queueable signature',
                ex.getMessage());
        }

      3. This example builds the async job signature using ApexClass Id and the hash value of an sObject.
        
        
        AsyncOptions options = new AsyncOptions();
        options.DuplicateSignature = new QueueableDuplicateSignature.Builder()
                                        .addInteger(System.hashCode(someAccount))
                                        .addId([SELECT Id FROM ApexClass 
                                             WHERE Name='MyQueueable'].Id)
                                        .build();
        System.enqueueJob(new MyQueueable(), options);

  5. View DataWeave Scripts in Setup UI: – You can now create a listview for DataWeave resources in your org and view deployed DataWeave scripts within your namespace. Select the fields that you want to monitor, such as the DataWeave Resource ID, Name, Namespace Prefix, and API Version.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
    2. From Setup, in the Quick Find box, enter DataWeave, and then select DataWeave Resources.
  6. Monitor Async Apex Job Limit Usage: – Monitor your org’s async Apex usage on the Apex Jobs Setup page to mitigate potential limit problems before they happen. You see the percentage of async Apex used and how many Apex operations have been used out of the allowed 24-hour org limit.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
    2. From Setup, in the Quick Find box, enter Apex, and then select Apex Jobs.
  7. Send Salesforce Data to an External Server Without Code via HTTP Callout (Generally Available):If you can’t GET enough with HTTP Callout, now you can use the POST method to send Salesforce data to an external server in Flow Builder. This feature, now generally available, includes some changes since the Summer ’23 release. More easily integrate external data with the new PUT, PATCH, and DELETE methods. Give more context about HTTP callout parameters, validate JSON samples faster, and get more information about the external service registration with more organized sections of parameters.
    1. This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
    2. Now you can integrate data in other ways, like using the PATCH method to update records in an external system. Previously, you used the POST method to create data in a system that’s outside Salesforce.
  8. Slack Invocable Actions Can No Longer Be Invoked from Apex: – In Summer ’23 it was possible to invoke Slack actions from Apex. This functionality is no longer available. Invoking Slack actions can only be done through Flow using action elements.
    1. This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
  9. Disable Access to Session IDs in Flows (Release Update): – To improve security, this update prevents flow interviews from resolving the $Api.Session_ID variable at run time. Previously, when a flow screen included the $Api.Session_ID variable, the browser session ID of the user that ran the flow appeared on the page. A user was able to employ the session ID to bypass security controls. This update was first made available in Winter ’23 and was scheduled to be enforced in Summer ’23, but we postponed the enforcement date to Winter ’24.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
  10. Make Paused Flow Interviews Resume in the Same Context (Release Update): – With this update enabled, paused autolaunched flows resume in the same context as when they were paused. Also, for each flow that runs in API version 57.0 or later, user permission to run the flow is verified before an interview resumes. If your Process Builder processes launch flows that contain Pause elements, we recommend configuring those flows to run in API version 57.0 or later. Otherwise, this update can change the context of resumed interviews. Instead of resuming in system context without sharing, the process-launched flows resume in the context specified in the flow version properties. This update was first available in Winter ’21 and enforcement was scheduled for Winter ’22. We then postponed the enforcement date to Spring ’23 and postponed again to Winter ’24.
    1. This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
    2. With this update enabled, autolaunched flow interviews can fail if they’re paused and then resumed after a time-based resume event. To avoid failed flow interviews, ensure that running users have the permissions required to execute all flow elements after each Pause element. Alternatively, you can configure autolaunched flows to always run in system context. For flows that run in API version 57.0 or later, avoid removing a user’s access to the flows until the user’s interviews finish.
  11. Use Partitioned Domains in More Orgs: – To maximize the availability of your orgs, My Domain uses partitioned domains for new sandboxes, Developer Edition orgs, patch orgs, scratch orgs, and Trailhead Playgrounds. Partitioned domains include a word related to the org type, which allows Salesforce to gradually roll out service delivery changes. This feature is newly available in most Hyperforce orgs, and the patch partition is newly available. Previously, qualifying patch orgs used the develop partition. To ensure continued access to all your orgs, update your allowlists for the new domains. To include your existing org in the Salesforce deployment schedule for that org type, enable and deploy partitioned domains.
    1. This change applies to non-production orgs with enhanced domains in Lightning Experience, Salesforce Classic, and all versions of the Salesforce mobile app in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions. This feature is newly available in Developer Edition orgs, scratch orgs, and Trailhead Playgrounds on Hyperforce without Salesforce Edge Network, excluding the GIA Hyperforce instance. The patch partition is newly available in patch orgs on Hyperforce instances except GIA and in all patch orgs on Salesforce Edge Network. Existing patch orgs that use the develop partition are unaffected by this change. Only the sandbox partition is available in Hyperforce orgs on the GIA instance and in Public Cloud.
  12. Verify Email Addresses to Send Email Through Salesforce: – Salesforce requires that users have a verified email address to continue sending emails through Salesforce, such as sends to contacts or leads. Most users verify their email address as part of the sign-up process. However, some users continue to use email addresses that were added to Salesforce before the current verification process was established. If a user sends an email from an unverified email address, Salesforce rejects this email message and doesn’t complete the send. Unverified email addresses can’t be used for sends until the user verifies their email address or resets their password.
    1.  Currently, this requirement only affects production orgs that don’t include single sign-on (SSO) users. In Spring ’24, this requirement will also affect production orgs with SSO users. The requirement applies on an org-wide basis, not a user-by-user basis. For example, if some of your users log in with SSO, all users in your org are exempt until Spring ’24.
  13. Use JWT Authentication Protocol with Named Credentials: – Configure external credentials to use JWT authentication protocol for server-to-server integration. JWT supports authenticating a wide range of integration use cases and offers lower costs by making fewer trips across the network. You can choose from RS256 and RS512 JWT signing algorithms, define custom claims, and specify an expiration time for the JWT-based access tokens.
    1. This change applies to Lightning Experience and Salesforce Classic in all editions. 
  14. AView Tenant Instance Names in Security Center: – View what instance your tenants are running on. You can use this information to check the status of an instance or triage a service incident, as clicking the instance directs you to the status page on Salesforce Trust.
    1. This change applies to Enterprise, Performance, Unlimited, and Developer editions.
  15. Secure Access to Your Users’ Camera and Microphone: – Protect your users’ privacy by limiting microphone and camera access to the external URLs that you trust. You manage these options along with your trusted URLs’ Content Security Policy (CSP) settings on the Trusted URLs Setup page. Previously, that Setup page was named CSP Trusted Sites.
    1. This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. On the Session Settings Setup page, in the Browser Feature Permissions section, select Include Permissions-Policy HTTP header.
      2. For Camera and Microphone, select Trusted URLs Only. Then specify the URLs that you trust and the browser features that each URL can access from the Trusted URLs Setup page.
  16. Run Flows in Bot User Context (Release Update): – With this update enabled, a flow initiated by a bot uses the user profile and permission sets associated with the bot to determine the object permissions and field-level access of the flow. This update was first made available in Summer ’23.
    1. 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. 
  17. Enable Record Types on Voice Calls to Support Different Business Processes: – Offer separate business processes, picklist values, and page layouts to different agents answering calls. For example, create unique voice call record types for agents who answer calls for Gold Support versus Platinum Support.
    1. This change applies to Lightning Experience in Enterprise and Unlimited editions. Available in Salesforce orgs with these telephony models: 
      1. Service Cloud Voice with Amazon Connect
      2. Service Cloud Voice with Partner Telephony
      3. Service Cloud Voice with Partner Telephony from Amazon Connect
  18. Add More AWS Services to Service Cloud Voice with Amazon Connect: – Easily add more AWS services to your contact center. The Service Cloud Voice Additional AWS Services add-on license offers more services, such as Amazon Pinpoint, Amazon Connect Voice ID, and Amazon Kinesis Data Firehose. The license also provides full capabilities and access to some of the services you already have, such as Amazon CloudWatch, Amazon Dynamo DB, and Amazon EventBridge. Similar to how Salesforce handles telephony charges, the cost of additional services is passed through a monthly invoice. You can review monthly charges on the Service Cloud Voice Usage and Cost Report. 
    1. This change applies to Lightning Experience in Enterprise and Unlimited editions. Available in Salesforce orgs with these telephony models: 
      1. Service Cloud Voice with Amazon Connect
  19. Build Trust with Customers by Presenting Terms and Conditions in Pre-Chat: – Ask your customers to accept your Terms and Conditions before joining a chat conversation. Use Terms and Conditions to inform them that you track or record conversation data, or share other important information.
    1. This feature is available in all versions of Chat in Performance, Developer, Enterprise, Unlimited, and Essentials.
    2. <<Steps to Implement>>
      1. In the Embedded Service Deployment Settings page, click Settings, and then select the boxes under Terms and Conditions. Save those changes.
      2. In the Additional Branding page, customize your message to customers with a placeholder and your Terms and Conditions URL. Save your changes.
  20. Show Knowledge Articles on Your Enhanced LWR Site: – Help your customers discover knowledge articles so they can self-serve with the Knowledge Article List component. This component lists knowledge articles that belong to the same data category. You can also control how knowledge articles are sorted on the page for more customization opportunities. Previously, knowledge articles were available on LWR only through search.
    1. This change applies to LWR sites accessed through Lightning Experience and Salesforce Classic in Enterprise, Professional, Unlimited, and Developer editions.
    2. <<Steps to Implement>>
      1. Add the Knowledge Article List component to your LWR site.

Salesforce Mobile App Enhancements

Salesforce Mobile App Plus combines mobile offline access, enhanced app security, and branding capabilities. Enable Dynamic Forms on Mobile (beta) to give your mobile users the same customized record-page experience as your desktop users. View your analytics collections on Salesforce Mobile Home.

  1. Get Better Widget Navigation with Single-Click Interactions:Widget interactions, previously confined to desktops, now extend to your mobile devices. On mobile devices, you get the same single-click experience that transforms a static overview widget into an interactive navigation experience. This change applies to Lightning Experience and the Salesforce mobile app for iOS and Android in Professional, Developer, Enterprise, and Unlimited editions.
    1. Tap All Items, and select Analytics in the Salesforce mobile app. Open a CRM Analytics dashboard, and tap a metric in a chart (1). Tap Interact (2) in the menu bar.
    2. Tap the view (3) you want to open.
  2. Share Reports Anytime, Anywhere:- You can now share your reports in Salesforce mobile. With this update, you can conveniently share your reports from anywhere with your mobile device, without waiting until you have access to your desktop. This change applies to Lightning Experience and the Salesforce mobile app for iOS and Android in Professional, Developer, Enterprise, and Unlimited editions.
  3. Scan Documents with a Mobile Device From the Salesforce Mobile App: – Use the DocumentScanner API to create document-scanning functionality using native mobile device features. A document scanning feature lets users scan documents such as receipts, contracts, and notes, and extract the text content for use in a wide variety of practical implementations. This feature is available in the Salesforce mobile app for iOS and Android on phone and tablets in all editions, except Database.com.
    1. Building document-scanning functionality using the DocumentScanner API only works in the mobile application, not the web version on mobile or desktop.
  4. Search Your Briefcase for Offline Records: – Users can now search their Briefcase for records, whether their devices are online or offline. This change applies to the Salesforce Mobile App Plus for iOS and Android on phone and tablets in all editions, except Database.com.
    1. Users can access the Briefcase search bar from the Briefcase Home and Briefcase Records List page.
  5. Offline App Onboarding Wizard Is Generally Available: – The Offline App Onboarding Wizard guides you with easy-to-follow prompts to configure the Offline Starter Kit project for the Salesforce Mobile App Plus offline experience.  This change applies to the Salesforce Mobile App Plus for iOS and Android on phone and tablets in all editions, except Database.com.
  6. Enable Dynamic Forms on Mobile (Generally Available): – With Dynamic Forms, you have greater customization options on your record pages. Now, when you enable Dynamic Forms on Mobile, your mobile users have the same customized experience your desktop users have. Dynamic Forms on Mobile was in beta in Spring ’23 and is now generally available. This change applies to Lightning Experience in Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.
  7. Customize the Offline Record Experience with Custom Metadata Types: – Now that Briefcase Builder supports custom metadata types, you can add a custom metadata type rule to your briefcase to bring your organization’s customized metadata to your offline mobile workforce. For example, add a custom metadata rule to your briefcase to support a custom flow in the Salesforce Field Service mobile app.
    1. 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.
  8. Attach Images to Records While Offline: – Mobile users can now attach images to records when their devices are in areas of no or low network connectivity. This change applies to the Salesforce Mobile App Plus for iOS and Android on phone and tablets in all editions, except Database.com.
    1. Offline Images is available in orgs with the Salesforce Mobile App Plus license and to users within that org who have the OfflineForMobilePlus user permission.
    2. Users can attach an image or file (PDF) to a record in multiple ways.
      1. Choose an image from their device’s photo library.
      2. Take a photo from their device’s camera.
      3. Choose a file from their device.

Key Resources:

Check out the resources below to learn about some of the most exciting innovations before officially GA on October 14th!

Formative Assessment:

I want to hear from you!

What are your favorite Winter’24 release note gems? You can download release notes in HTML format!, for PDF files.

Feel free to share in the comments below.

Have feedback, suggestions for posts, or need more information about Salesforce online training offered by me? Say hello, and leave a message!

3 thoughts on “Salesforce Winter’24 Release Quick Summary

  1. Rakesh, yours is my go-to release readiness post every time! I’d love it if you could more clearly spell out what licenses are needed for each in the list. For example, we don’t have Field Service, so I could clearly see in the title that I need Field Service license. That way I know which ones affect our org. Thank you!

  2. Wow, that was long! Thanks for the thorough write-up. I can’t find anything else about Lead Intelligence views, and I haven’t found any related settings in Setup. Could you elaborate on this feature? Thanks.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.