"Winter 22 (WI22) Ending at 10th April 2022 And Spring 22 (SP22) Starts From 14th April 2022"

Wednesday, March 30, 2022

Salesforce Spring 22 (SP22) Release Date & Time for maintenance

"Spring 22 (SP22) Starts From 14th April 2022"


Currently, the Spring’22 release is available under the pre-release program. On the and 07th of January, Sandboxes will be upgraded, as a result, your organization will get the look and feel of the Spring’22 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, Field Service, Pardot, Quip, Tableau CRM, myTrailhead, and APIs.

For examplefeatures like Launch Einstein Bots Anywhere with the Einstein Bots API (Beta)Securely Connect Data Across Amazon DynamoDB and Salesforce (Pilot)Connect Salesforce Events with Amazon EventBridge in AWS (Pilot), Adjust Natural Language Search Results (Pilot)Pull Data from Hubspot (Beta), and Create Multilingual LWR Sites (Beta) is now available in Lightning Experience.

Also, check out these beta and pilot features:

  1. Work More Efficiently with Knowledge Search Filters (Pilot): – When a user applies Knowledge filters from the global search box or Knowledge sidebar, the filters persist as long as the user stays in the same browser tab and session. The filters are also synchronized between the search box and the sidebar. If the user refreshes the browser, opens a new browser tab, or ends the session, search resets the filters to the defaults.
    1. To try the Einstein Search for Knowledge pilot, from Setup, in the Quick Find box, enter Einstein Search, and then select Settings. In the pilot features box, select Einstein Search for Knowledge enhancements.
  2. Use DataWeave in Apex to Enable Data Transformation to Different Formats (Pilot): – DataWeave in Apex enhances native Apex data transformation support by integrating Mulesoft’s DataWeave library into the Apex runtime. It makes data transformation easier to code, more scalable, and efficient. With this feature, Apex developers can focus more on solving business problems and less on addressing the specifics of file formats. We expect less Apex serialization, deserialization, and format transformation code to be written and maintained. We also anticipate less use of transaction heap and CPU limits and compatibility with a wider range of data formats.
  3. Make Custom Screen Components React to Other Components on the Same Flow Screen (Pilot): – Design a flow screen with custom screen components that respond to updates on the same screen, and reduce the number of screens for a user to navigate through. Previously, you placed these components on separate screens.
    1. For example, you design a flow screen where a user searches for a knowledge article. As the user enters a string in a Text component, a custom Knowledge Article Search component searches using the text input value and returns the search results on the same screen. Another example is including a custom component that performs a calculation using numerical outputs from other components on the same screen.
  4. Manage Permission Sets and Permission Set Group Assignment Expiration Dates with an Enhanced User Experience (Beta): – Now it’s easier to search for and filter users to assign to permission sets and permission set groups. And with Lightning list views, you can better manage expiration dates for those permissions.
    1. From User Management Settings, enable Permission Set Group Assignments with Expiration Dates (beta). Then, from either the Permission Set Group or Permission Set page, click Manage Assignment Expiration. On the Current Assignments page, you can view permission set or permission set group, users. To create a user assignment, click Add Assignment. On the Add Assignment page, you can search for and filter users.
  5. Create Expanded Transaction Security Policies for Permission Set Events (Beta): – Monitor more changes to permission sets and permission set groups using transaction security policies in Event Monitoring. These new transaction security policies enable you to block permission changes in permission sets and permission set groups that don’t comply with internal usage, compliance, or security policies. You can also send notifications to admins when changes don’t comply with those same policies.
  6. Output Your Tableau CRM Data to Azure Data Lake (Beta): – Push your data from Tableau CRM into Microsoft’s Azure Data Lake when you use a Data Prep recipe. A recipe combines and updates data from multiple sources intelligently fills in missing values and transforms data into datasets tailored to your business needs. With the Azure Data Lake output connector, datasets are pushed and written as one or more .csv files for you to improve your overall business processes with better data. For example, you can output processed and transformed customer service data to help agents improve customer satisfaction.
    1. Enable the Azure Data Lake output connector from the Analytics page in Setup. On the Data Manager Connect tab, create the connection.
    2. On the Output Connections tab, click Add Connection. Select the Azure Data Lake (Beta) connection, enter the connector properties, and save.
  7. Improvements to the Pardot Slack Connector (Beta): – This beta feature includes some improvements since the last release. The completion action to send a Slack notification when prospects interact with your marketing assets is now available in the interactive Pardot Email Experience. Plus, there’s now a Usage tab on the Slack connector so you can see which assets your marketing team is using the completion action on.
  8. Enable Third-Party Integrations with Light DOM (Beta): – Lightning web components render in shadow DOM by default, providing strong encapsulation but posing challenges for global styling and many third-party integrations. With light DOM, your component markup is attached to the host element instead of its shadow tree. You can then access it like any other content in the document host.


Supported Browsers for Lightning Experience

Lightning Experience is supported by Apple® Safari®’s latest version on macOS. The most recent stable versions of Microsoft® Edge Chromium, Mozilla® Firefox®, and Google Chrome™ are also supported.

Use Apple Safari on iPadOS (iOS 13.x) or later. Portrait 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.

Supported Browsers for Salesforce Classic

Salesforce Classic is supported with Microsoft® Internet Explorer® 11 version, Apple® Safari® latest version on macOS. The most recent stable versions of Microsoft® Edge Chromium, Firefox®, and Google Chrome™ are also supported.

Customers/Administrators Point of View

  1. Add Images to a Prompt with a URL: – Now you have more options for adding images to your in-app guidance. Make your in-app guidance more engaging by linking to a .jpg, .jpeg, .png, or .gif file. Use animated .gifs to further articulate the guidance in a prompt. Link to images instead of uploading them to save time and storage space.
  2. Prevent Appointment Bookings on Holidays: – Create holidays to prevent bookings on hours or days when a service territory is non-operational due to state or regional holidays, or due to unforeseen circumstances. When you create a holiday, Salesforce Scheduler shows time slots for only the operational hours or days of the service territory. The available time slots apply to service resources working exclusively for the holiday-linked service territory. Appointments that are already booked for an unplanned holiday require rescheduling.
    1. First, create holidays and link them to a service territory.
    2. Then click New for upcoming holidays under operating hours, and then link a holiday to the service territory. To display the complete list of holidays (upcoming and elapsed), click View All.
  3. Save Time with Mass Shift Updates: – Now with just a few clicks, your shift managers can update shifts in bulk. They can create a background task that assigns agents, updates shift statuses, or does both on a batch of shifts. When updating shifts in bulk, all scheduling rules, objectives, and resource preferences are taken into account. 
    1. On the Shift tab, click Mass Shift Update and select an action. To determine which shifts to update, managers can specify dates, service territories, job profiles, and status settings.
  4. Convert Workflow Rules to Flows with the Migrate to Flow Tool (Beta): – Use the Migrate to Flow tool to convert your workflow rules into flows. Flow Builder can do everything that workflow rules can do—and more. You can migrate workflow rules that contain these items:
    1. Field-based criteria
    2. Field updates
    3. Email alerts
    4. Outbound messages
    5. Time-dependent workflow actions
    6. Rule criteria formula that’s set to true (unless evaluation criteria is also set to created, and any time it’s edited to subsequently meet criteria)
  5. Get Activity and Engagement Details in Pipeline Inspection: – Sales reps and managers can now dig in deep about how a deal is progressing. Insights related to activities help sales teams know what’s been done and what’s up next. And aggregate activity counts help sales managers understand the deal activity.
    1. Details about past and upcoming activities make it easier for sales reps and managers to track the progress of a deal and keep it moving forward.
  6. Edit Opportunity Fields Inline in Pipeline Inspection: – Sales teams can keep their opportunities accurate by editing fields inline while they’re reviewing their pipelines. If opportunities in the list are all of the same record types, multiple records can be edited at the same time.
    1. To edit an opportunity field, hover over the field. Similar to other list views, a pencil appears if the field is editable.
  7. Exclude Specific Accounts from Territory Assignment Rules: – Preserve territory assignments for selected accounts when you run assignment rules in Enterprise Territory Management. For example, within California, you have several accounts that must remain with their existing sales team and territory due to customer preference.
    1.  Using the Territory2ObjectExclusion object, add a list of records that include the account and territory IDs you want to exclude from territory assignment rules. The next time you run the territory assignment rules, these accounts aren’t assigned to identified territories even when the accounts meet the assignment rule criteria.
  8. Monitor Your Slowest Desktop Record Pages: – Discover which pages are taking too long to load. A new prompt in the Lightning App Builder takes you to the Lightning Usage App, which lists the desktop record pages with a median estimated performance time (EPT) of 4 seconds or longer. 
    1. If you’re working in Lightning App Builder and have slow desktop record pages, a one-time prompt directs you to the Lightning Usage App table.
  9. Archive Experience Cloud Sites (Generally Available): – It is now possible to archive a site in Salesforce after it has outlived its usefulness for your business needs. Now you can use the Archive button on your site’s detail page. When a site is archived, its URL is unavailable to all users, including admins. Instead, users see a site under the maintenance page. You can archive up to 100 sites, and archived sites don’t count against your Salesforce limit of 100 sites. And if you change your mind, you can always unarchive the site. 
    1. Contact Salesforce Customer Support to enable the Archive Site feature. After it’s enabled in your org, access your site’s detail page from App Launcher | Digital Experiences | All Sites after turning on CMS-related tabs for your profile.
  10. Use the Overlap, Card, Columns, and Language Selector Components in LWR Sites: – The Microsites and Build Your Own (LWR) templates include a whole slew of new components. The new layout components, Overlap, and Card provide your site designers with more options to create visually compelling sites. The Language Selector component gives your users the flexibility to change the site language. And in the Build Your Own template, the Columns component lets site designers use columns to showcase content.
  11. Control the Default Records Your Users See with Scoping Rules (Generally Available):– Based on the criteria that you select, you can set the scope of records that your users see. Use a scoping rule to help your users see only the records that are relevant to them. A scoping rule doesn’t restrict the record access that your users already have. They can still get to all the records that they have access to per your org’s sharing settings. 
    1. Scoping rules are available for custom objects and these standard objects.
      • Account
      • Case
      • Contact
      • Event
      • Lead
      • Opportunity
      • Task
  12. Easily Find the Right Report Type for New Reports (Beta): – Take the guesswork out of report type selection when creating a report. With the enhanced report type selector, quickly access recently used report types and view the fields and objects that are included. See at a glance which report types are standard or custom and keep the number of available report types manageable by hiding ones that you don’t need.
  13. Edit Multiple Fields Inline on the Report Run Page (Beta)– Now you can update statuses and clean up data without rerunning your reports. Save time while staying up to date by editing multiple records inline on the report run page. Make inline changes in multiple rows or columns, and then save all the changes with a single click. It’s a perfect way to update multiple statuses or clean up data without having to rerun your report.

    1. From Setup, in the Quick Find box, enter Reports and Dashboards, and then select Reports and Dashboards Settings. Select Enable Inline Editing in Reports (Lightning Experience only), and save your changes.
    2. Now open the report. You can edit any field that shows a pencil icon when you hover. When you apply an edit, the background color changes to indicate that a new value is stored. You can change additional fields in the same row or a different row.
  14. Experience a More Efficient Collaborative Forecasts Setup: – Now available in Lightning Experience only, Forecasts Settings has a whole new look and feel. We brought Forecast Types and Forecasts Settings together so that you get everything on one page. And we added a range of resources to help you get started. Setup’s never been easier.
    1. To launch a setup flow, from Forecast Settings, click Create a Forecast Type.
    2. Select the Object of the Forecast Type
    3. Specify a Measure
    4. Select a Date Type
    5. Select a Hierarchy
    6. Set Custom Filter Condition Logic
    7. Name the Forecast Type
    8. Save the Forecast Type
  15. Check Your Data at a Glance in Data Manager (Beta): – Data Manager has a brand new look. The streamlined Connections view in Data Manager now lets you see connections in a column list. Get details when you click on a connection. In the new Usage view, we’ve improved visibility into your usage and limits.
    1. To access Data Manager, select Data Manager (Beta) from the Analytics Studio home page.
  16. Build Better Microsites with the Marketing Cloud Form Component (Generally Available): – Send contact information gathered in Experience Cloud microsites directly to Marketing Cloud data extensions with the Marketing Cloud Form component. With one click, share data seamlessly between clouds.
  17. Improve Site Performance with the Updated Lead Form Component: – The Lead Form component is getting a remodel. Using micro-batching technology, your site can now handle up to 12,000 form requests per minute. Provide improved submission speed and a clean experience to your end-users without changing a thing.
  18. See Which Quip Users Are Connected to Salesforce: – Identify the users who haven’t connected Salesforce and Quip, and then send them an email reminder. After they complete the setup, your users can access all Quip features in Salesforce and add live Salesforce data to documents. Also, your Quip engagement metrics become more accurate.
    1. From Setup, in the Quick Find box, enter Quip, and then select Quip (Salesforce Anywhere). Under Remind Quip Users to Connect to Salesforce, click Get Users and Template. From the window, copy a list of user email addresses and the reminder email template. In your email client, paste the copied content into a new email.
  19. Specify Tracker Domains for Automated Emails in Lightning: – Now you get tracker domain support when you activate an email for use in automation in the interactive Pardot email experience. When automated emails are sent using your email content record, links are rewritten with your preferred domain. 

Additional enhancements are worth noting!

  1. Choose Where Your Prompts Appear: – Now you can choose the page and app that you want your prompt or walkthrough to show up on. Previously, when you created in-app guidance, your only option was for a specified page and app.

    1. As you create a prompt or walkthrough, select an option from the Prompt Location dropdown.
  2. Clear Workspace Tabs for New Console Sessions: – Start new console sessions without loading workspace tabs from previous sessions. Only admins with the View Setup and Configuration and Customize Application permissions can enable this feature.
    1. To enable this feature, navigate to App Settings, select App Manager. Under Setup and Personalization, select App Personalization Settings. Select Clear workspace tabs for each new console session.
  3. Manage Service Resource Availability by Using Shifts: – Service territory managers can use shifts to easily create, edit, and view the ever-changing working hours of service resources. Service territory managers can also create one or more tentative shifts and assign a service resource to a shift. The assigned service resource can acknowledge and confirm the tentative shift. Service resources can set up and update their own working hours. Service resources can also set up shifts beyond their service territory’s operating hours and even set up shifts for more than one service territory. Both service territory managers and service resources can directly create confirmed shifts. A shift is applicable only when confirmed. You can also access the Shift entity via Experience cloud or APIs.
  4. Use Natural Language Search with Tasks: – Natural Language Search (NLS) just got better. Your users can now enter NLS queries for task objects. In the search box, enter phrases like my tasks this week or tasks with status in progress. Einstein Search evaluates the query and finds matching records. 
  5. Set a Redirect for Unpublished Pardot Landing Pages: – You can now configure redirect settings that activate when an enhanced landing page is unpublished. Previously, when a Pardot landing page is removed from the web, a default redirect sends visitors to the website listed in your Pardot Settings. The new Redirect Target field on a landing page record can support the default website or a custom URL that you provide.
  6. Add Scripts to Pardot Landing Pages: – Enhanced landing pages now support script code, such as the JavaScript used to support Google Analytics tracking. You can add code to the header or footer of an individual landing page, using <link><script>, and <style> tags.
  7. JWT Bearer Flow Supports High Assurance Sessions: – The OAuth 2.0 JWT bearer flow for server-to-server integration now supports high assurance settings. Previously, high assurance settings in user profiles weren’t passed to access tokens retrieved during the JWT bearer flow. 
  8. Let Users Access Salesforce with Slack Credentials: – Simplify your users’ login experience by enabling single sign-on (SSO) with a Slack authentication provider. With this SSO solution, your users can log in to your Salesforce org or Experience Cloud site with their Slack credentials, saving them time and clicks. They can also access their protected Slack data in Salesforce.
  9. Say Hello to the Digital Experiences App in Lightning Experience: – After we started adding new Digital Experiences settings to the Salesforce CMS app in Lightning Experience, it didn’t make sense to keep on calling it CMS anymore. So to keep in line with the Setup menu, we changed the name of the Salesforce CMS app to Digital Experiences. Now, in addition to managing your content, you can use this app to see your site’s details and the underlying framework that it’s using and to archive or unarchive your site.
    1. Use the app launcher to access the Digital Experiences app (1).
    2. For consistency, Salesforce renamed CMS Home to Digital Experiences Home (2), and
    3. the All Experiences and CMS Experiences tabs are now called All Sites (3).
  10. Support More Site Members with Experience Cloud Licenses: – Customer Community licenses now support six times as many site members. Customer Community Plus and Partner Community licenses with account role optimization can now support four times as many site members.
  11. Keep Your Quip Users Working in Lightning Experience with Admin Control Enhancements: – Ensure that your users work on embedded Quip documents and spreadsheets in Lightning Experience instead of Quip.com. Remove the Open in Quip button from Lightning Experience so that your users always collaborate within the context of your Salesforce records.
  12. Share Knowledge Article Links that Don’t Expire: – Copy a knowledge article link and share it without worrying about the article version number. With the new Copy Article Link button in Knowledge layouts, you generate a link that points to the latest published version, even if you update the knowledge article after creating the link.
  13. Fine-Tune Operating Hours with Holidays: – Help your team enjoy their holidays. Create holidays and apply them to a service resource or a territory. Holidays mark operating hours and shifts as an unavailable times to give the team members time off.

    1. To associate operating hours with a holiday, click the plus icon, set the territory that the holiday is applied to, and then from search enter the holiday that you want and select it.
  14. Create Account-Specific Work Plans: – Now you can associate flows and procedures to account Work Plans. For example, a company has safety and security protocols for its mobile workers. With account-specific work plans, you can attach these requirements to the work order that’s assigned to the company’s account.
  15. Use Colors to Find Shifts Fast– When your team creates shifts, they can assign background colors to represent different shift types, such as for certain job profiles. Shift managers can also add background colors to shift templates so that they can create color-coded shifts in a snap. Background colors appear in the shift calendar and the dispatcher console Gantt.
  16. See Pipeline Changes from the Flow Tab Pipeline Inspection users can see the changes to their pipeline from the Flow tab. This chart shows the changes to opportunities in different forecast categories over time. Users can filter results to see the data that’s most useful to them.
  17. Get Insights from Core Forecasting KPIs Quickly: – Now you can include columns in your forecasting grid that calculate Gap to Quota and Pipeline Coverage metrics automatically. We simplified the process by providing two ready-to-use calculated columns. Calculating forecasting metrics manually can be time-consuming and subject to user error.
    1. Through the setup process, an admin can configure Forecasting to provide Gap To Quota and Pipeline Coverage calculations.
    2. When enabled, the Gap To Quota and Pipeline Coverage columns show on the Forecasts page.
      1. The Gap To Quota column lets your sales team know at a glance how close they’re to achieving their quota, without them calculating the gap manually. The column calculates the Gap To Quota metric automatically by subtracting the closed sales amount from your sales quota.
      2. The Pipeline Coverage column lets your sales team know the ratio of opportunities in the sales pipeline over your sales team’s Gap to Quota. The ratio shows the sales team how much pipeline remains, compared to how much quota they must close.
  18. Pause Sales Cadence Targets for a Specific Length of Time: – Now when a prospect is out of the office or asks to be contacted later, sales reps can pause the target in its sales cadence and choose when to resume the target.
  19. Reduce Email Fatigue with Einstein Engagement Frequency: – Einstein Engagement Frequency scans individual customer engagement behaviors to predict the optimal send frequency for marketing emails. The frequency category is stored in a prospect field, and can be used to filter prospect lists or as criteria in Engagement Studio.

    1. Enable Einstein Engagement Frequency in Marketing Setup. When adequate data is detected, the model is typically trained within 72 hours. After frequency categories appear on prospect records, users can select the field as criteria to create dynamic lists or Engagement Studio rules.
  20. Enable Stronger Protection for Your Users’ Personal Information (Release Update): – Enable Enhanced Personal Information Management to prevent external users, such as a portal or community users from accessing other users’ personal information. This feature, which replaces the Hide Personal Information setting, secures more personally identifiable information (PII) user record fields. You can also decide which custom and standard user fields are considered PII. 
    1. When you enable the permission, Salesforce blocks 30 personal information fields using a field-set called PersonalInfo_EPIM. Customize the user fields that are concealed by adding or removing them from this field-set.
  21. Access External Services Actions in Flow as a Guest User: – Community guest users now can run flows that contain External Services actions if they have access to the flow in Experience Builder. Previously, Community guest users couldn’t get that access, and you opened a support case to request it for them.

Developers Point of View

  1. Create Custom Components for Email Template Builder: – With custom components, you can help marketers and managers create more engaging email content for their customers.
    1. To configure a custom component to use in the Email Template Builder, define the metadata in <component>.js-meta.xml. Define a lightning__StaticEmail target, and set <isExposed> to true.
  2. Test and Plan Your System for Scale Using Performance Assistant: – Performance Assistant is your central hub of information and resources about scalability and performance testing with Salesforce. Use the step-by-step instructions, articles, and tools to help you architect your system, conduct performance testing, and interpret your results.
    1. To access Performance Assistant, from Setup, in the Quick Find box, enter Performance Assistant, and then select Performance Assistant. Performance Assistant guides you through the three phases of performance testing: Prepare, Execute, and Analyze and Optimize.
    2. In each phase, the Performance Assistant provides guidance and resources to help you test your system with confidence. You can revisit any stage of Performance Assistant during your round of testing. We recommend that you integrate performance testing into your release cycle.
  3. Capture and Add New Prospects to Sales Cadences with a Bot Template: – The new Sales Prospecting Bot template comes prebuilt with conversational text and Salesforce flows that capture prospects, connect prospects with sales reps, and add prospects to sales cadences automatically. You can create dialogs for common sales use cases such as answering frequently asked questions and directing website visitors to appropriate resources. Process customer input right away with the bot template’s preloaded intent data, and add new intent data for your unique business needs. 
    1. On the Einstein Bots page in Setup, create your first bot by clicking Create a New Bot. If you have existing bots, click New. Then choose the Sales Prospecting Bot template.
  4. Build Your Bot with Confidence in Conversation Canvas: – Goodbye searching through menus, hello streamlined conversation design. Conversation Canvas reimagines the Bot Builder to make it easier to build and edit bots, visualize the flow of the bot conversation, and discover new and useful features.
    1. When you add a dialog step to the canvas, you see only the core conversational elements in the center of your screen. We’ve moved the configuration details to a separate Step Properties panel.
    2. The dialog steps dynamically update with important information from the Step Properties panel, such as required conditions for an action or the destination of a transfer. So you can visualize what your bot does and says without previewing the bot live.
  5. Build Localized Component Labels on LWR Sites with Custom Labels: – Use the expression {!Label.namespace.name} to define a label’s value when you specify labels in Experience Builder. Use the expression in any component that has a text input field: Button, HTML Editor, Rich Content Editor, or Text Block.
  6. Build Einstein Next Best Action Strategies in Flow Builder (Generally Available): – Display a personalized list of recommendations to users while taking advantage of Flow Builder’s features and structure.
    1. To create a strategy in Flow Builder, go to the Flows page in Setup and click New Flow.
    2. Select the All + Templates tab (1), and then select the Recommendation Strategy category (2). Select the Recommendation Strategy flow type (3), and click Create (4).
  7. Filter Your Stream of Platform Events with Channels (Beta): – Optimize event processing by receiving only the event messages that match a predefined filter on a custom channel. Create a channel, and configure it with a complex filter that CometD clients can subscribe to. With fewer events delivered to subscribers, subscribers can make more efficient use of the event delivery allocation. This feature, offered the last release as a pilot, has some enhancements and is now a publicly available beta.
    1. With the Customize Application permission, you can configure stream filtering using Tooling API or Metadata API. For the beta release, only one filter and one custom platform event are supported per channel. To create a channel, use PlatformEventChannel. To add a filter expression for a custom platform event, use PlatformEventChannelMember.
    2. This example shows a filter expression value in the PlatformEventChannelMember.FilterExpression field.
      (City__c LIKE 'S%' OR City__c='New York') AND Has_Shipped__c=true 
        AND Delivery_Date__c>2021-10-21T09:30:11-08:00
  8. Find Which Apex Classes Implement an Interface: – Use the ApexTypeImplementor object to find Apex classes that directly or indirectly implement an interface. Using a SOQL query, you can get information about public or global Apex classes. In installed managed packages, you get information only about global Apex classes.
    1. This example demonstrates how an interface allows flexibility in a configuration, record, or user-driven selection of the rounding strategy to apply. The multiple implementations of the interface can be discovered using ApexTypeImplementor and the specific implementation is chosen based on user requirements.
      // Common interface that all rounding strategies will implement
      public interface RoundingStratergy {
          Decimal round(Decimal toRound);
      }
      
      public abstract class RoundingStrategies {
          public class Ceiling implements RoundingStratergy {
              public Decimal round(Decimal toRound) {
                  return toRound.round(System.RoundingMode.CEILING);
              }
          }
          
          public class HalfDown implements RoundingStratergy {
              public Decimal round(Decimal toRound) {
                  return toRound.round(System.RoundingMode.HALF_DOWN);
              }
          }
          
          public class TwoDecimalPlaces implements RoundingStratergy {
              public Decimal round(Decimal toRound) {
                  return toRound.setScale(2, System.RoundingMode.HALF_UP);
              }
          }
      }
      
      List<ApexTypeImplementor> interfaceImpls = [
                  SELECT ClassName, ClassNamespacePrefix
                  FROM ApexTypeImplementor 
                  WHERE InterfaceName = 'RoundingStratergy' and IsConcrete=true];
              
      // For example, an Admin could be presented with a list of Apex classes 
      // that could be applied. Simulated selection of 2 decimal places
      ApexTypeImplementor selectedRoundingStratergy = interfaceImpls[2];
      System.assertEquals('RoundingStrategies.TwoDecimalPlaces',
          selectedRoundingStratergy.ClassName);
              
      // Create an instance of the class that implements the interface
      RoundingStratergy rs = (RoundingStratergy)   Type.forName(selectedRoundingStratergy.ClassNamespacePrefix,
          selectedRoundingStratergy.ClassName).newInstance();
              
      Decimal rounded = rs.round(7.1459);
      System.assertEquals(7.15, rounded);
  9. Salesforce Flow Enhancements: – There are several enhancements in Salesforce Flow as follows:
    1. Visualize All Your Record-Triggered Flows in One Place with Flow Trigger Explorer: – See and manage your record-triggered flows with Flow Trigger Explorer, a new tool that’s more visual and interactive than the Flows list view. Flow Trigger Explorer shows all of the flows that are associated with a specified object and that run when a record is created, updated, or deleted. For example, quickly see all flows that are triggered to run when a case record is created.
      1. In Flow Builder at the bottom of the Start element for a record-triggered flow, click Open Flow Trigger Explorer for [object name, for example, Opportunity].
      2. Or from Setup, on the Flows page, click Flow Trigger Explorer.
    2. Translate and Customize Button Labels in the Flow Screen Footer (Generally Available): – Sometimes a flow screen’s navigation button doesn’t clearly state what happens when a user clicks it. For example, you’re designing a screen flow and using a Create Records element that creates a contact record. On the flow screen, you change the Finish button to Create Contact and change the Previous button to Go Back. The custom label makes it clear that a contact record is created as a result of the flow. 
      1. To relabel a button, select Use a custom label, and enter the text that you want to use.
      2. To provide translated labels, use Translation Workbench.
    3. Generate Choice Options from Record Collections: – Use existing record collections to generate collection-based choices in a flow. Collection choice sets prevent the need to duplicate the results of a Get Records element, a component, or an action. Instead of querying for a set of records multiple times throughout the flow, you can create a collection once and then use the record collection anywhere that you need it.
    4. Filter Items into a Collection in Flow Builder: – Now you can filter unwanted data from your collections in Flow Builder. Use the Collection Filter element to select a collection and define conditions. When the flow runs, the element outputs a collection with only the items that meet those conditions, leaving your original collection intact.
      1. When defining conditions, you can set the requirements using a formula or logic, such as All Conditions Are Met, Any Condition Is Met, or your own custom condition logic.
    5. Define the Run Order of Record-Triggered Flows for an Object: – Specify a trigger order value to determine the run order of before-save or after-save flows for the same object. Declaratively configure a flow to run before or after another flow. Order your flows to help ensure consistent results without creating overly complex flows, letting you divide automation by teams or logical owners.
    6. Place Flow Elements Automatically with Auto-Layout (Generally Available): – Building flows and aligning elements is easier with auto-layout. Elements on the canvas are spaced, connected, and aligned automatically, saving you time and keeping your canvas neatly organized. Auto-layout is now the default canvas layout for flows. User templates are also now open in auto-layout.
    7. Place More Fields Directly on Flow Screens (Beta): – You can now use record fields to directly add phone, email, and picklist fields to your flow screens. For dependent picklist fields, both the controlling field and the dependent field must be on the same screen.
  10. Flow Orchestrator: – There are several enhancements in Flow Orchestrator as follows:
    1. Orchestrate Multiuser Processes with Orchestrator: – Combine your automated processes in a single interface with Orchestrator. Use Orchestrator’s no-code approach to create orchestrations and transform flows into steps organized by stages. Benefits of Orchestrator include more flexibility to create approval processes, better ability to assign work to any Salesforce user and more control over record lifecycles. Use Orchestrator to automate complex processes, and use Flow Trigger Explorer to order record-triggered flows.
      1.  From the Flows page in Setup, click New Flow. In New Flow, click All + Templates and select Orchestrator. Select either Autolaunched Orchestration (No Trigger) or Record-Triggered Orchestrations, and click Next.
      2. Add stages to your orchestration, and then add steps to your stages. Use Decision elements, stage exit conditions, and step entry and exit conditions to determine how your orchestration runs.
    2. Assign Interactive Steps to Groups or Queues: – Avoid process bottlenecks by assigning an interactive step to a queue or public group rather than a specific user. All queue or public group members receive an email when the associated work item is created. When more than one person starts the work item, the step is completed by the first user who completes the associated flow. All other users who were in the process of completing the associated flow, receive an error when they finish the flow. After the first user completes the flow, other users no longer see the work item on the associated context record. Public groups are groups with a type of Regular. Queues are groups with a type of Queue.
    3. Process Background Steps Asynchronously: – You can now mark background steps to be processed asynchronously to prevent orchestration errors. Use this option when the autolaunched flow associated with a background step makes external callouts or contains a Pause element. The in-progress orchestration pauses when an asynchronous background step runs. When the associated flow completes, the orchestration resumes and sets the status for the asynchronous background step to Completed. The orchestration then continues.
      1. In the Details pane of an orchestration background step, select an autolaunched flow, and then select Contains external callouts or pause elements.
    4. Orchestration Deployment (Generally Available): – Use packaging or changesets to move your orchestration and its associated flows from one org to another.
      1. Package – Create a package with your orchestration, and move it from one org to another. We recommend that you create and debug your orchestration in a sandbox environment. When it’s ready, create a package to deploy it to your production environment. 
      2. Change Sets – Use separate change sets for orchestration and its associated flows to send changes from one org to another. An orchestration references screen flows, autolaunched flows, and evaluation flows. Referenced flows must be activated before the orchestration is created or deployed, or the orchestration can’t use them. Flows distributed through a change set are always deployed as inactive in the target org, even if they were active in the source org. This flow limitation means that you must first create a changeset with your orchestration’s flows. Deploy it, and activate all referenced flows in the target org before you deploy your orchestration.
    5. View Orchestration Runs: – Use the All Orchestration Runs list view to see all in-progress, cancelled, and completed orchestrations in your org. You can also access the status for each stage and step associated with an orchestration run and view the orchestration run history.
  11. Write More Robust UI Tests with UTAM (Generally Available): – UI Test Automation Model (UTAM) is based on the popular Page Object design pattern commonly used in UI tests. When a web application, such as Salesforce, changes, the DOM of the pages and components in the app also change. Using JSON page objects makes your tests more robust and reduces test maintenance time every time an application UI changes. Because UTAM moves test logic into JSON page objects, you can handle many changes by updating your page objects rather than test code. It’s much less effort to update the JSON page object for a changed component than it is to rewrite complicated UI automation tests.
  12. Create Web Apps with Lightning Web Runtime on Node.js (Developer Preview): – From static websites to single-page applications, Lightning Web Runtime (LWR) makes web development fast, secure, and standards-based. With LWR you can create standalone Lightning Web Components (LWC) applications while using your preferred tooling and code. And you get the high performance that comes from page generation at build time, not runtime.
  13. Secure Your Components Better, Stronger, Faster with Lightning Web Security (Generally Available): – Lightning Web Security (LWS) is a new client-side security architecture for your custom Lightning web components. The architecture is defined by fewer restrictions and more functionality while providing strong sandboxing and a security posture to enforce namespace isolation. The result is strong, flexible, usable security for your Lightning web components. This feature, now generally available, includes some changes since the beta release.
    1. From Setup, in the Quick Find box, enter Session, and then select Session Settings. On the Session Settings page, select Use Lightning Web Security for Lightning web components.
  14. Ensure That Your Code Works in Lightning Web Security with New Tools – Try our new developer tools to ensure that your Lightning web component’s JavaScript code works with Lightning Web Security (LWS).
    1. Lightning Web Security Console – Evaluate your code in Lightning Web Security Console as it runs with LWS enabled and disabled. This tool can help you determine if a problem with your JavaScript code is related to its interaction with LWS.
    2. LWS Distortion Viewer – View information about the security modifications, known as distortions, in LWS Distortion Viewer. LWS applies distortions to code running in a sandbox to help prevent behavior that’s not secure. This tool can help you learn how to modify your JavaScript code to avoid distortions that affect your components.
  15. Quickly Bind Data to Components in ExperienceBundle – LWR sites have components that support binding data from Salesforce CMS. ExperienceBundle now supports component-level data providers, making it easier to bind data to components in your LWR sites. Because the metadata is exposed in ExperienceBundle, you can move the component-level data providers between different orgs, such as from a sandbox to production or two different Salesforce orgs. Previously, the metadata wasn’t enabled in ExperienceBundle. 
    1. You can have only one dxp:dataProvidersin the array. The contentKey is a string that you can change to any content key in CMS that is shared with the site. The other parameters are locked.

Additional enhancements are worth noting!

  1. Test Permission Set Groups with the calculatePermissionSetGroup() Method: – Modify and recalculate permission set groups in Apex tests using the calculatePermissionSetGroup() method in the System.Test class. With this method, you can force a calculation of aggregate permissions on a permission set group (PermissionSetGroup object) during a deployment.
  2. Monitor Your Background Operations: – Use the new Background Operations app to track your background operations or cancel long-running operations that are stuck in an asynchronous job queue. You can view the operations to which you have Read access. You can only cancel those operations to which you have Update access.
    1. From the App Launcher, find and select Background Operations. Create a custom list to see background operations that you have access to. To review the operation details, find and click the background operation name. To stop a stuck operation, click Cancel.
  3. Enablement of Lightning Web Security Begins: – Salesforce plans to enable the Lightning Web Security (LWS) org setting on a rolling basis in production orgs that have only custom Lightning web components. If your org also has custom Aura components or has no custom components, Lightning Web Security won’t be enabled in Spring’22.
  4. Visualforce Expression Language Apex Method Access Modifier Enforcement (Release Update): – When accessing Apex methods defined by custom controllers, the Visualforce Expression Language doesn’t correctly validate the access modifiers of the method. Developers can sometimes access unauthorized data on managed and system classes. To improve security, this update validates the Apex method access modifier and throws an error if the Visualforce Expression Language can’t access it. This update was first made available in Winter’22 and is enforced in Spring’22.
  5. Legacy API Versions 7.0 Through 20.0 will be retired in Summer ’22: – Versions 7.0 through 20.0 of the Salesforce Platform API are deprecated and are no longer supported by Salesforce. They will be retired in Summer ’22. If you’re using versions 7 through 20 of the SOAP, REST, or BULK APIs, you’re using an unsupported product.
  6. Deploy Faster When Updating Metadata with Source Tracking Enabled: – To update existing metadata faster with Source Tracking enabled, the source member cache is now persisted between metadata deploys. This improvement can lead to faster metadata deployment, depending on the state of the cache. We made this change because we detected that some database operations that are executed in a deployment can be cached, which improves response times and makes better use of resources when Source Tracking is enabled.
  7. Receive Change Event Notifications for More Objects: – With Change Data Capture, you can now receive notifications of record changes for the Territory2AlignmentLog object.
  8. Approval and Time-Based Workflow Field Updates Now Execute Before-Save and After-Save Record-Triggered Flows – Field update actions associated with approval processes and time-dependent actions in workflow rules now execute before-save and after-save record-triggered flows so that these update actions can incorporate flow automation. In API version 53.0 and earlier, these field update actions don’t execute flows, so certain record updates don’t trigger corresponding flows. Workflow rules and processes created via Process Builder are unaffected.
    1. As a result of this change, flows now run slightly more often and whenever Apex runs. This difference is most apparent in the execution of time-based workflow and approvals. For other types of save operations, there’s no impact.
    2. Flow triggers are executed only one time per entity per transaction. Even a record update doesn’t execute a flow trigger a second time on the same entity. Also, flow triggers are executed when you use the Data Import Wizard and specify to trigger workflow rules and processes when the imported records meet the criteria.
  9. A Flow Error Email Is Now Sent for an Update Record Element That References an Invalid Record Variable: – An error email is sent if a flow executes an Update Record element that references an invalid record ID on a record variable. Previously, no flow error email was sent.
  10. Trigger Your Orchestration from Custom Code:– You can now call your autolaunched orchestration from custom code, such as Apex or a third-party system. Trigger an orchestration with an API call the same way that you call a flow.
  11. Get Information About the Current Site in Lightning Web Components:– Use the @salesforce/site scoped module when developing custom Lightning web components to import information about the current site, including the site ID and active languages.
  12. Put Your Site in Maintenance Mode While Making Updates – When making updates to your site, you can display a branded Service Not Available page on your site to non-admin and customer users. Admins can still access the site, make updates, and see the changes in real-time. When you’re done making updates, activate your site to display the changes.
    1. Deactivate to put your site in maintenance mode.
  13. Set Up Single Sign-On with Slack Credentials:– Improve your customers’ login experience by configuring a Slack authentication provider. You can let your customers log in to Salesforce with Slack credentials and access Slack data in Salesforce.
  14. Track Changes to Territory Assignments: – Use the ObjectTerritory2Association object to find out whether territory assignments were updated or deleted. This change is helpful if you want to trigger subsequent processes, such as account owner reevaluation, based on territory assignment changes in Enterprise Territory Management.
  15. Get Status of Territory Assignment Rule Jobs Programmatically:– Get notified of assignment rule job status in downstream applications by using the Territory2AlignmentLog object and the Salesforce enterprise messaging platform. Previously, Enterprise Territory Management job status was available only in Background Jobs in Setup.
  16. Unlock Automated Responses to Detected Threat Events with Flows:– You can now create Platform Event-triggered flows that are triggered by ApiAnomalyEvent, CredentialStuffingEvent, ReportAnomalyEvent, and SessionHijackingEvent. Use flows to take proactive measures such as sending email notifications to security teams, deactivating affected users, or resetting passwords. And you can generate cases for follow-up investigations that help you understand the nature of the detected event and build resiliency into your implementation.
  17. Analyze Screen Flow Usage (Release Update): – With this update, you can use reports to examine run-time details about your screen flows. Use these metrics to discover usage patterns and in turn to optimize your screen flows for users. This update is available for Salesforce orgs that don’t already capture run-time metrics for screen flows. This update was first made available in Spring’21 and is enforced in Spring’22.
  18. Analyze List Email Performance with Custom Reports:– Your sales managers want to keep tabs on how effective a list email strategy is and which reps send the most impactful emails. To help them find this information and more, use the new list emails custom report.
    1. On the Report Types page in Setup, create a custom report type using List Emails as the primary object.
  19. Get the Service Not Available Page by Default with Salesforce’s CDN for Digital Experiences:– The Service Not Available (SNA) page is automatically enabled for sites using enhanced domains and Salesforce’s CDN for Digital Experiences. You can customize the page to fit your brand or use it as is. Integrate the SNA page with Email-to-Case or email-to-object AppExchange packages to ensure business continuity when your site is down.
    1. The Service Not Available page is enabled for all sites that use Salesforce’s CDN for Digital Experiences.
  20. Craft Custom Transaction Security Notification Emails:– Transaction Security policies are flexible by design. New custom email notifications for triggered policies offer the same flexibility. You can now create custom email content that sends event-specific information. You can write your own notification text to direct your teams to take specific actions, and include hand-selected event data that gives teams a head-start on their follow-up tasks.
    1. Create your custom email content when you create notifications for a policy.

Salesforce Mobile App Enhancements

Salesforce performs automated and manual testing of the Salesforce mobile app for iOS and Android on a select set of mobile devices. This is the list of devices for Spring’22.

Platform

Phones

Tablets

Android
  • Samsung Galaxy S7
  • Samsung Galaxy S8
  • Samsung Galaxy S9 / S9+
  • Samsung Galaxy Note 9
  • Samsung Galaxy S10 / S10+ / S10e
  • Samsung Galaxy S20 / S20+
  • Samsung Galaxy S21
  • Samsung Galaxy Tab S6
  • Samsung Galaxy Tab S7
  • Samsung Tab A (8 inch)

 

iOS

page97image7420160

  • iPhone 8 / 8 Plus
  • iPhone 11
  • iPhone 11 Pro / Pro Max
  • iPhone 12
  • iPhone 12 Pro / Pro Max / mini
  • iPhone XR
  • iPhone XS / XS Max
  • iPad Pro (10.5-inch, 11-inch)
  • iPad Pro (9.7-inch, 6th generation and later)
  • iPad Air 2
  • iPad Mini 4
  1. Quickly Reference Lists with the Mobile Home Pinned Lists Card: – Have tons of lists and can’t find the ones you use the most? Now users can add the Pinned List card in Mobile Home to easily find commonly used lists of records and objects. Users can personalize which lists they want to see and can have multiple list cards.
    1. This change applies to the Salesforce mobile app for iOS and Android in all editions, except Database.com.
  2. Easily See and Monitor Mobile Security Policies Across Orgs:- Mobile App Security now integrates with the Security Center. This enables you to log in only once and easily confirm settings, track changes, and configure Mobile Security Policies for all your orgs in a centralized location.
    1. Available at extra cost for the Salesforce mobile app in all editions, except Essentials and Database.com.
  3. Run Your Business on Tablets (Generally Available): – Lightning on tablet, the new full-width tablet app experience, is now generally available in the Salesforce mobile app on iPad and Android. This new tablet app experience is performance-tuned for tablet users. It supports Lightning apps, navigation, record pages, rotation between portrait and landscape modes, and design time previews in Lightning App Builder. The new tablet experience runs on all currently supported iPad models and many Android tablet models. All other tablet experiences are scheduled for retirement in all Salesforce org as of Spring ’23.
    1. To turn on the full-width Lightning on tablet experience, from Setup, search for Quickstart and select New Salesforce Mobile App Quickstart. Under Tablet Preferences, select Lightning on tablet: full-width (Beta).
    2. The full-width tablet experience is offered as a part of an opt-in beta and has some known limitations.
  4. Get Relevant Data in Briefcase Builder with Related Record Priming (Beta): – The Briefcase Builder tool helps you select and share records offline with mobile workers. With Related Record Priming (beta), admins can configure briefcases with the most relevant data for their mobile workforce. Configuration rules can be defined for objects based on their relationship with other objects, which makes record filtering more accurate and efficient.
    1. The Briefcase Builder tool applies to Lightning Experience desktop and all Salesforce orgs that have Field Service (FS) enabled. This tool supports the Salesforce Field Service mobile app for iOS and Android.
  5. Plan for Retirement of Two Tablet Experiences:- Lightning on tablet: single-column and Legacy Salesforce1 are scheduled for full retirement in Spring‘23. The new Lightning on tablet experience becomes the default tablet app experience for new organizations after Winter‘22 and for all organizations in Spring‘23.
Original Source  https://automationchampion.com/2022/01/03/salesforce-spring22-release-quick-summary/