Currently, the Spring’21 release is available under the pre-release program. On the and 08th & 09th of January, Sandboxes will be upgraded, as a result, your organization will get the look and feel of Spring’21 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, Pardot, Quip, Tableau CRM, and APIs.
For example, features like Salesforce Functions (Beta), Track Accounts as Campaign Members (Beta), Implement External Models in Your Salesforce Org (Pilot), Enable Chat Agents to Respond in One of 16 Languages (Pilot), and Briefcase Builder (Beta), Link Calls to the Right Contact Record (Beta) is now available in Lightning Experience.
Also, check out these beta and pilot features:
- Use SQL with Tableau CRM Direct Data (Beta): – To extend analysis on your Snowflake data and uncover more insights, you can now run SQL queries on live datasets. Write SQL queries to calculate common business cases such as Cost to Revenue Ratio, apply advanced sorting to your data, and work with windowing function formulas.
- Find Answers Fast with Article Answers (Pilot): – When your customer asks a question, Article Answers delivers a recommended answer from a knowledge article if it’s unable to match for intent. You can adjust Article Answers to fit your company’s voice, fields, and knowledge categories. Prebuilt feedback capturing with event logging collects article feedback from your customers in real-time.
- Bring the Trailhead Learning Experience Inside the App (Beta): – With In-App Learning with Trailhead, enhance your training program by making learning easily accessible to users right where they work. Admins or designated trainers customize a learning panel by selecting public or myTrailhead modules. Choose where the modules appear and assign them to specific users or public groups to match the learning to the context where users encounter it. Enable your Trailblazers to read modules, take quizzes, and earn badges in their flow of work.
- Supercharge the Template Bot with the Pre-Built Intent Model (Beta): – The Template Bot is even smarter with included intent data. Now, your bot can build a model in the background, allowing the bot to process customer inputs right away. Plus, a new behind-the-scenes guide gives a detailed view of each component so you can learn to build a great bot experience.
- Filter on User ID for User’s Report Activity (Beta): – In standard SOQL queries for ReportEvent, you can now filter event data by the UserID field. For example, you can get all reported activity by a specific user in the last 3 days. Previously, you could only filter on EventDate and EventIdentifier in standard SOQL queries for ReportEvent.
- Merge Prepared Tableau CRM Data into Salesforce with the Salesforce Output Connector (Beta): – Push your prepared dataset Account, Opportunity, and custom object data into any Salesforce org from Tableau CRM with the Tableau CRM Salesforce Output connector and Data Prep. With your prepared data back in Salesforce, you can integrate external data, apply the suite of Salesforce automation tools to act on the data, and allow non-Tableau CRM users access to the data through reports and dashboards.
- Lightning Message Service Now Supported in Experience Cloud (Beta): – Use Lightning message service to communicate across the Document Object Model (DOM) within an Experience Builder site page. Communicate between Aura and Lightning web components in Experience Builder site pages.
- Attach Actions to Asynchronous Apex Jobs Using Transaction Finalizers (Beta): – With Spring ’21, the Transaction Finalizers feature is in beta. A new limit establishes that a Queueable job that failed due to an unhandled exception can only be successively re-enqueued five times by a Transaction Finalizer. This limit applies to a series of consecutive Queueable job failures. The counter is reset when the Queueable job completes without an unhandled exception. Finalizers can be implemented as an inner class. Also, you can implement both Queueable and Finalizer interfaces with the same class.
Supported Browsers for Lightning Experience
Lightning Experience is supported by Apple® Safari® latest version on macOS. The most recent stable versions of Microsoft® Edge Chromium, Mozilla® Firefox®, and Google Chrome™ are also supported. You can continue to use Microsoft Internet Explorer and Microsoft Edge (non-chromium) to access Lightning Experience until December 31, 2020, If you opt in to Extended Support for IE11.
Supported Browsers for Salesforce Classic
Salesforce Classic is supported with Microsoft® Internet Explorer® latest version, Apple® Safari® latest version on macOS. The most recent stable versions of Microsoft® Edge (non-chromium), Firefox®, and Google Chrome™ are also supported.Customers/Administrators Point of View
- Power Up Recently Viewed Lists with Customizable Actions: – Want to add custom actions to your Recently Viewed lists? With customizable actions, now you can. Recently Viewed lists now show the actions added to an object’s list view search layout, making them consistent with other list views. Some actions, like Printable View, aren’t available on Recently Viewed lists.
- Add Images to In-App Guidance: – Make your in-app guidance more engaging by adding a .jpg, .jpeg, .png, or .gif file. Animated .gifs can further articulate the guidance in a prompt.
- Add images to your prompts in the In-App Guidance Builder. From Setup in Lightning Experience, in the Quick Find box, enter In-App Guidance, and then select In-App Guidance. As you create a prompt, click Upload Files or drag the file to the Or drop files area.
- In the Image Layout, select the image location relative to your prompt’s text.
- The image appears in one of the locations shown. For floating prompts, choose from above, below, to the right of, or to the left of your body text.
- Choose from More Positions for Your Floating Prompts: – Place your floating prompt front and center or closer to components you’re referencing with three new, center row layout options. With nine regions total, direct your user’s attention to a specific area on the screen.
- Add Walkthrough Steps That Go Beyond New, Edit, and Clone Pages (myTrailhead): – Now your walkthroughs can describe the entire process of creating, editing, and cloning records. Previously, if you added a walkthrough step to a dialog, you couldn’t add a step after it to a non-dialog page. You can now add steps after users finish interacting with the dialog. To show custom walkthroughs to users, subscribe to myTrailhead to get the Access Walkthroughs permission set license and the Walkthroughs permission set.
- Add a walkthrough to train users on how to complete tasks, including steps that use and go beyond new dialogs. For example, walk users through creating a new lead. From the Leads record page, instruct users to click the New button to open the New Lead dialog.
- Guide users through creating a new lead.
-
After they save the new lead’s information, the walkthrough continues to a non-dialog page, the new lead’s record page.
- Add a walkthrough to train users on how to complete tasks, including steps that use and go beyond new dialogs. For example, walk users through creating a new lead. From the Leads record page, instruct users to click the New button to open the New Lead dialog.
- Schedule Surveys and More with New Actions Defined in a Flow (Salesforce Survey): – Send surveys to gather participant feedback at various intervals using a flow. Target specific participants and send reminders to complete the survey. And verify which participants to invite again. Use the Action element in the Flow Builder to add an action for a survey. Send a survey to leads, contacts, and members of your Salesforce org. Invitations can be unique and unauthenticated for specific recipients, and they can record their responses anonymously.
- Target Specific Survey Participants Using Rules (Salesforce Survey): – Collect more focused data from your participants by sending rules-based surveys. Create rules to send surveys when a record is created or updated for a SurveySubject supported object. To get more insights, set up a customer engagement context to collect information about the groups that are targeted.
- In a survey’s Default Settings, select an email template (1), enable the engagement context configuration (2), save, and then in Survey Builder activate the survey.
- From Setup, in the Quick Find box, enter Survey Invitation Rules, and open the configuration page. Click New Rule. Provide a survey rule name (1). Define the type of record that’s created (2) or updated for a SurveySubject supported object. Select a survey that’s sent to participants (3). To collect feedback from specific participants, define the survey engagement parameters (4). Ensure that the rule is active.
- Set a Time Zone for the Review Appointment Page (Lightning Scheduler): – By default, the review page now shows the scheduled appointment time in the same time zone that was selected on the appointment time slot page. Previously, it showed the appointment time in the scheduler’s time zone. Now you can override the default behavior and set a different time zone for the review page using the Time Zone attribute.
- Use Sales Cadences to Advance Opportunities and Track Target Engagements: – Let your sales team use the efficiency of sales cadences to advance opportunities. Sales managers can create opportunity nurturing sales cadences. Sales managers and reps can see targets’ sales cadence status and recent engagement activity on opportunities and on target record pages when you add the Sales Engagements component.
- Now when managers or reps add targets to a sales cadence, they can relate opportunities to the targets.
- Opportunities associated with contact and person account targets appear in the Work Queue with the target. Clicking an item opens both the target and the opportunity.
- On opportunities, the Sales Engagements component shows engagement activity for each opportunity contact role. Engagement information is available for contacts whether they are in a sales cadence (1) or not (2). You can add the component in a wide or narrow orientation.
- The Sales Engagements component is also available on lead, contact, and person account records. The component includes the target’s sales cadence step progress, so it replaces the existing Sales Cadence Steps component in page layouts.
- Now when managers or reps add targets to a sales cadence, they can relate opportunities to the targets.
- Do More with Opportunity Products: – Give your sales team more flexibility to track information on opportunity product records. For example, a rep wants to track two delivery locations in a related list for an opportunity product record. Now you can create an object relationship and page layout to make it happen.
- Customize Field Mappings for Contact and Event Sync (Einstein Activity Capture): – Control how contacts and events sync between Microsoft Exchange and Salesforce. By managing how fields map between the two applications, sales teams stay up to date about the information that’s important to them.
- From the Einstein Activity Capture settings page, select an existing configuration. Click the Field Mappings tab. From there you can delete or change a mapping.
- You can’t customize mappings for standard fields that are used to match contacts and events during the sync process. For example, contacts are synced based on the email address, so the email field mappings can’t be changed.
- Custom Salesforce fields aren’t used in mappings.
- Deliver Information from Records with Object Search (Einstein Bots): – Activating Object Search empowers bots to read objects inside Salesforce, creating endless opportunities to delight your customers. Logic helps define the search and admins can use merge field syntax to deliver up to three records in the conversation. With object search, bots can deliver data directly to your customers: show their last three orders, update an upcoming appointment in a custom object, or create feedback records.
- Share Records with Manual Sharing: – With manual sharing in Lightning Experience, you now can share records and manage record shares in a new streamlined interface. Previously, you switched to Salesforce Classic to give specific users and user groups access to records.
- Create Partial Periods When Using a Bill Through Date Override (Salesforce CPQ): – Control how your invoice lines reflect your billing periods after using Bill Through Date Override. Salesfforce added the billing rule field Period Treatment for BTDO, which controls how Salesforce creates invoice lines when a Bill Through Date Override value creates a partial billing period. Previously, Salesforce Billing created only one invoice line covering the partial period and any remaining full periods.
- Add Shift Management to Your Experience Cloud Sites (Field Service):– Give your Experience Cloud sites the gift of shift management. Add Shifts to your Experience Cloud sites or portals to let your users view and manage shifts.
- Retain Attached Files When Inserting an Article into an Email: – No more lost or overwritten articles in email. Now when you insert articles and related files in an email via Insert Article, any previous files that you added stay put. Previously, the new attached files replaced the original files.
- Save Dashboard Results with Filter URL Parameters: – There’s no need to set up the same filters each time you view your dashboard in Lightning Experience. Create a custom URL that includes the filter parameters. Then when you access the URL, your dashboard opens with the filters already set. For example, you can customize your Opportunity Stages dashboard with a different URL for each account or create a custom URL for an account owner or lead source.
- In the dashboard builder, set up the dashboard filters you want to use (1). Locate the URL for the dashboard page (2).
- Now add the filter parameters to the end of the URL. For example, this URL sets Stage (the first filter, or fv0) to “Closed Won” and Account Name (the second filter, or fv1) to “Acme.”
https://company.salesforce.com/lightning/r/Dashboard/01ZRM0000005jrv2AA/view?queryScope=userFolders&fv0=Closed%20Won&fv1=Acme
- To add filters to the URL, use this structure:
- &—Denotes a new parameter in the URL. If no other parameters are present in the URL, then substitute? in place of &.
- fv0—The fv stands for filter value, and is the name of the parameter. The number that follows represents the order in which the filter appears in the dashboard. The first filter is 0, the second filter is 1, and the third is 2.
- =Closed%20Won—Specifies the filter value. The parameter value must be URI encoded, which means certain characters (such as spaces) must be written in a format that URLs can understand. In the example, the space (‘ ‘) between Closed and Won becomes %20 when URI encoded.
- To open the dashboard with the filters selected, go to the URL you created. The URL is also available to share with your team or to modify and reuse.
- In the dashboard builder, set up the dashboard filters you want to use (1). Locate the URL for the dashboard page (2).
- Streamline Report Creation with Multi-Field Selection: – Spend less time creating reports and more on translating results into next steps. Multi-select allows you to drag multiple fields to your reports with a single action. Plus, you can now add or remove fields and columns and preview the results without delay.
- Quickly Clone Campaigns with Related Assets(Pardot): – When you want to create a campaign with the same related records as an existing one, you now have quick access to more types of records. You get an enhanced Clone with Related tool for campaign records that includes Marketing Link, Marketing Form, and Landing Pages.
- Analyze Email Content Performance with Custom Reports(Pardot): – Now you can select email content as the primary object for custom report types. And you can select the list email object as a related object. Marketers can then create reports that show email content performance and engagement. For example, a report can show engagement statistics by email content record.
- Specify a Link for Completion Actions in Pardot Emails (Pardot): – Marketers can now set a specific link to trigger a completion action on emails, giving them more control over their email sends. Previously, any link clicked in the email triggered the defined automated action.
Additional enhancements worth noting!
- Get More Characters for Field-Level Help Text: – Customers can view the field-level help text by hovering over the Info icon. And with the character limit expanded from 255 to 510, you can now provide more detailed help information. This increase applies to standard and custom fields on detail and edit pages.
- Create More Roles: – In Salesforce orgs created in Spring ’21 or later, you can create up to 5,000 roles. In existing orgs, the default limit hasn’t changed. You can create up to 500 roles and can contact Salesforce Customer Support to increase this limit. Keep in mind that to improve performance, it’s best to set up roles based on data access and eliminate any roles that aren’t needed.
- Embed a Survey in a Web Page: – To gather feedback from your website visitors that can influence your decision-making, you can now embed a survey in a web page.
- In the HTML code of the web page, add the iframe tag, and embed the unauthorized survey invitation link. Add the iframe tag in this format: <iframe src=”embed_the_survey_invitation_url”></iframe>
- Email-To-Case Update Enforcement Extended to Winter ’22 Release: – A new enforcement deadline for the Winter ’21 Email-To-Case updates gives admins until the Winter ’22 release to adopt the changes through the Release Update feature.
- Enable Einstein Opportunity Scoring with Less Data: – Even if you have a smaller data set, you can now enable Einstein Opportunity Scoring. Einstein takes advantage of a global scoring model that uses anonymous aggregated data to allow everyone to score their opportunities. When you have enough of your own data, Einstein switches to a scoring model built only with that data.
- Get Report Details Emailed in .XLSX Format: – Get report exports in the format you want. When exporting a report, you can select .xlsx, .xls, or .csv as the format. Previously only .xls and .csv were supported.
- On the Reports page, select the Export row-level action for the report. Click Details Only and then select .xlsx as the Format option.
- If security is a concern, you can hide the .xls option by selecting Hide the option to export a report in XLS format in Lightning Experience in Reports and Dashboards Settings.
- On the Reports page, select the Export row-level action for the report. Click Details Only and then select .xlsx as the Format option.
- Customize Your Default No-Reply Address for Email Notifications: – Before the Spring ’21 release, email notifications were automatically sent from noreply@salesforce.com. Now, you can choose which email address your org uses as the default FROM address for certain Case-related notifications, so your customers know that the email comes from your company.
- From Setup, enter Support Settings in the Quick Find box and turn on Send Case Notifications from System Address. Configure and verify a default No-Reply address for your org in Organization-Wide Addresses. Then, click Enable Test Run in the Release Update to send email notifications from your selected email address for Case Comment, Case Escalation, Case Assignment, and when an existing case receives emails.
- Add Profiles to Einstein Activity Capture Configurations: – Manage your user assignments more effectively. When assigning users to a configuration, you can now add users based on their user profile. Previously, you could add only individual users, which was time-consuming.
- Use Send Later with Threaded Emails: – Reps can now schedule emails to send at the most optimal time when replying to an email, not just when composing a new email. Previously, reps could schedule only new, unthreaded emails.
- Salesforce for Outlook Is Being Retired Between June 2021 and 2023: – The Salesforce for Outlook side panel action menu isn’t available starting in June 2021. Salesforce for Outlook full product retirement is scheduled for June 2023. But don’t worry, you can continue integrating Microsoft Outlook with Salesforce using our next-generation products, Outlook integration, and Einstein Activity Capture. Not only do those products offer the latest features, but they’re also compatible with the latest versions of Outlook.
- Get a More Accurate View of Emails Sent from Gmail Integration with Inbox: – Sales managers now have a more accurate picture of the sales team’s performance through the emails they send from the Gmail integration. All emails sent from the Gmail integration with Inbox are now included in engagement history, even if email tracking isn’t turned on. Engagement events include replies to emails sent, out-of-office replies, and email bounces. Previously, only emails set to be tracked were included in engagement history.
- Add Zoom Meeting Links to Events Created Using Insert Availability: – Sales reps can now connect their Zoom accounts and automatically add Zoom meeting links to invitations created using the Insert Availability feature in Lightning Experience email. Automated Zoom meeting link additions mean reps no longer add links manually after attendees select an event time. This change applies to Lightning Experience orgs with Salesforce Inbox and Enhanced Email enabled in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer editions.
- Let External Users Schedule Appointments Across Time Zones: – Now your authenticated external users and guest users can view and select appointment time slots in the time zone they prefer. When you set the Show Time Zone Pick List attribute to True, the appointment time slot pages show a list of all-time zones supported in Salesforce. Previously, the Time Zone dropdown list was available only in outbound flows.
- Create and Share Call Collections: – Organize your calls in categories such as effective initial calls or how to handle pricing questions. Make calls more available to access and review. Managers and reps can easily create and access groups of useful voice calls.
- Access call collections from the Call Coaching dashboard menu. You can also search for Record Collections in the App Launcher or surface a link to the records in the Navigation Menu.
- Reps can add call records that they own, and managers can add calls they have access to. To add a voice call to a collection, click Add to Collection from the voice call record. Managers and reps can also create a collection directly from the Add to Collection modal.
- Access call collections from the Call Coaching dashboard menu. You can also search for Record Collections in the App Launcher or surface a link to the records in the Navigation Menu.
- Plan Ahead with Advanced Maintenance Recurrence (Field Service): –Service managers can now create maintenance work rules to cover elaborate daily, weekly, monthly, or yearly recurring maintenance activities. Set rules that apply to a maintenance plan and control maintenance more precisely with rules on individual assets.
- View the Number of Mailable Prospects in When Defining Email Send Settings (Pardot): –Marketers can now determine how many prospects they’re sending an email to based on the selected recipient and suppression lists. The send modal for the Pardot email shows the number of mailable prospects for the email.
- Sync Custom Fields in Pardot Object Sync – Beta (Pardot): – Pardot Object Sync remains in beta, but with improved infrastructure. Now your standard and custom fields are available as a single Prospect dataset, and you can choose which custom fields to bring into Tableau CRM. In this dataset, Salesforce removed and renamed some fields and made sure that the remaining fields get the latest values.
- Sync Prospects Safely With Cross-Business Unit Leads or Contacts (Pardot): – A new setting on the Salesforce-Pardot connector stops Pardot package fields from syncing to lead and contact records in Salesforce. Use this setting as part of a custom setup to sync prospects from different Pardot business units to a single lead or contact in Salesforce. There’s no need to maintain duplicate lead or contact records. Salesforce recommends working with a partner to implement this for your org.
Developers Point of View
- More Support for Dynamic Actions: – Dynamic actions let you add flexibility and control to actions on your record pages. Dynamic actions for custom objects are now GA for mobile and have been GA for desktop since Winter ‘21. Dynamic actions for Account, Case, Contact, Lead, and Opportunity are now GA for desktop. Dynamic actions for all other standard objects are Beta for desktop. Assign actions in the Lightning App Builder instead of the page layout, and apply filters to control when and where actions appear for users.
- Ability to Select All Fields in SOQL Query: – Salesforce Object Query Language (SOQL) now makes it easy to include pre-defined groupings of fields within a query statement using the new FIELDS() function.
- Access Custom Metadata Type Records Using Static Methods: – Now you can use the Apex getAll(), getInstance(recordId), getInstance(qualifiedApiName), and getInstance(developerName) methods to retrieve information from custom metadata type records faster. These methods don’t rely on the SOQL engine and return the sObject details directly from the call.
- The following example uses the getAll() method. The custom metadata type named Games has a field called GameType. This example determines if the field value of the first record is equal to the string PC.
List<Games__mdt> mcs = Games__mdt.getall().values(); boolean textField = null; if (mcs[0].GameType__c == 'PC') { textField = true; } system.assertEquals(textField, true);
- The following example uses the getAll() method. The custom metadata type named Games has a field called GameType. This example determines if the field value of the first record is equal to the string PC.
- Define Localized Component Labels and Attribute Values on Lightning Pages Using Custom Labels: – With Localization Support in App Builder, when you specify a custom label in the Lightning App Builder, you can use {!$Label.customLabelName} to help define the label’s value.
- Analyze Performance For Lightning Pages Viewed on a Phone and Desktop: – Performance Analysis in App Builder now assesses record page performance for the phone and desktop form factor. New tabs in the Page Analysis window give you separate results for a Lightning record page when it loads on a desktop and on a phone so you can design your page for optimal performance on both.
- Salesforce Functions: Extend Salesforce with Functions (Beta): – Salesforce Functions lets developers extend Salesforce with custom, elastically scalable business logic built with high-productivity programming languages and open-source components. Salesforce Functions reduces your infrastructure responsibilities, enabling you to build and integrate Functions-as-a-Service (FaaS) apps using the languages and tools of your choice.
- Add Salesforce CMS Content to Custom Lightning Web Components: – Now you can add Salesforce CMS content to Experience Builder sites using custom Lightning web components. After you publish content in a CMS workspace, you can enhance any custom component with your content repositories at the click of a button.
- Configure CMS content for a custom Lightning web component by specifying type=”ContentReference” for the component property type in the .js-meta.xml file. You can also configure your component to filter for a specific content type. For example, to display only published images from your CMS workspace, specify filter=”cms_image”, as shown:
- In Experience Builder, add the component to the page and click Add Content in the component’s properties. Add images, documents, news articles, and more directly to your site from your CMS workspace.
- Configure CMS content for a custom Lightning web component by specifying type=”ContentReference” for the component property type in the .js-meta.xml file. You can also configure your component to filter for a specific content type. For example, to display only published images from your CMS workspace, specify filter=”cms_image”, as shown:
- Use Lightning Email Templates in Salesforce Automations: – Now use Lightning email templates—including Email Template Builder email templates—in Salesforce automation, including email alerts, Flow, Workflow, Process Builder, Approval Processes, and more. For example, you can set up an email alert that sends an email to users about something that’s happened and includes a Lightning email template with the email alert. Previously, when you set up an email alert you used Salesforce Classic email templates only.
- Salesforce Flow Enhancements: – There are several enhancements in Salesforce Flow as follows:
- Lightning Flow Is Now Salesforce Flow: – The Lightning Flow suite of features is now called Salesforce Flow, and it still includes all your processes and flows. Lightning Flow Builder and Lightning Process Builder are now called Flow Builder and Process Builder.
- Refer to the Prior Values of the Record That Triggered Your Flow: – Now when a record is updated, you can access that record’s prior values in Salesforce Flow. The $Record__Prior global variable contains the record’s values immediately before the flow was run. Use these prior values to check for changes and calculate differences in your flow. Refer to this article for step-by-step instructions on how to use it.
- Run Part of a Record-Triggered Flow After the Triggering Event: – Add a scheduled path to your record-triggered flow if you want part of the flow to run at a dynamically scheduled time after the triggering event occurs. You can base the scheduled time on when the record is created or updated or on a field value in the record. Scheduled paths run in the system context, so they have permission to access and modify all data. But the running user associated with the flow’s actions is the user who triggered the flow to run. Refer to this article for step-by-step instructions on how to use it.
- Send Rich Text Emails from Your Flow Using a Send Email Action: – Send an email in rich text format by using a Send an Email action. Previously, only plain text was available for Send Email actions, and you used an email alert to send a rich text email. Salesforce also added new run-time error improvements for Send Email actions to catch invalid email addresses and sender types. Refer to this article for step-by-step instructions on how to use it.
- Build Multicolumn Screens in Flow Builder (Beta): -You can divide each flow screen into multiple sections and columns to create a visually appealing and effective layout—without touching a single line of code. The multicolumn screen layout is responsive, so columns stack vertically to fit on mobile phones. This feature, which is now beta, includes changes since the pilot release. The Section component now supports conditional visibility. Multicolumn screens also benefit from improved styling for screen components, which is a separate, generally available feature.
- Control Revisited Screen Component Values in Flows: – One size doesn’t fit all when it comes to revisited screen component values, so now you can choose to refresh the values. When a user navigates to a previous screen, then proceeds forward to a screen that they visited already, the flow can refresh screen component values. Changes elsewhere in the flow are incorporated in the refreshed values. Previously, a screen component always used the same values that the user entered. The options for revisited screen component values are available only for Lightning components.
- Access Complex Merge Fields from Loops: – Now you can loop through a collection via merge fields on complex objects such as an Apex-defined variable or output from a custom action or screen component. Previously, you weren’t able to access merge fields on complex objects.
- See Accurate Flow Information in Debug Logs: – Debug logs now record the total amount of CPU time consumed by a particular flow or process in the FLOW_INTERVIEW_FINISHED_LIMIT_USAGE log lines. Also, the FLOW_INTERVIEW_LIMIT_USAGE log lines now accurately record the CPU time consumed by flows and processes that are configured to run in API version 51.0 or later.
- Debug Flows More Easily with Consistent Terms and Direct Debugging for Schedule-Triggered Flows: – In addition to non-triggered autolaunched flows, debugging directly on the canvas now supports schedule-triggered flows. Also, Salesforce updated the text in flow debug details and error emails to match Flow Builder’s element names: Create Records, Update Records, Get Records, and Delete Records.
- Include Top-Level Named Array Definition for List Types in Your External Services Schemas: – You can create a top-level named array and nest named and anonymous arrays underneath it. This new support impacts response and request body definitions in your schema.
- For example, this top-level array definition is now supported. Previously, it was unsupported.
{
"swagger": "2.0", ... "schema": { "$ref": "#definitions/MyObjectList" } ... "definitions": { "MyObjectList": { "type": "array", "items": { "type": "object", "properties": {...} } } } }
- For example, this top-level array definition is now supported. Previously, it was unsupported.
- Customize Markers and Control Map Behavior in lightning-map Base Component: – You can now make your map look and behave the way you want. Customize map locations to use your SVG image instead of the standard Google Maps markers, or define a shaded circle, rectangle, or polygon around a location. Modify or disable the zoom and dragging behavior, or disable the map controls altogether to create a static map.
- For example, say you want to create a simple locator map to show customers where to find your business. You can remove the zoom and Map | Satellite buttons, disable dragging, and add your own SVG to use a star for the marker.
- In your component, use the new options attribute to specify properties that enable or disable user interface controls. This example uses a mapOptions object in the component’s JavaScript to set the property values.
- In mapOptions, set the disableDefaultUI property, which disables zooming and removes the Map | Satellite buttons. To disable panning the map, set the draggable property.
<template> <lightning-map map-markers={mapMarkers} options={mapOptions} ></lightning-map> </template>
- In mapMarkers, add the map icon property to the marker definition, and specify the SVG path property for a star. Add fillColorand and fillOpacity properties to set the color and opacity of the image fill. Add the strokeWeight property to set the line weight of the stroke drawn around the SVG image. Optionally, to determine the size of the image, set the scale property.
import { LightningElement } from 'lwc'; export default class LightningExampleMapCustomMarker extends LightningElement { mapOptions = { 'disableDefaultUI': true // when true disables Map|Satellite, +|- zoom buttons 'draggable': false, // when false prevents panning by dragging on the map }; mapMarkers = [ { location: { City: 'San Francisco', Country: 'USA', PostalCode: '94105', State: 'CA', Street: '425 Mission St', }, mapIcon : { path: 'M 125,5 155,90 245,90 175,145 200,230 125,180 50,230 75,145 5,90 95,90 z', fillColor: '#CF3476', fillOpacity: .5, strokeWeight: 1, scale: .10, } } ]; }
- For example, say you want to create a simple locator map to show customers where to find your business. You can remove the zoom and Map | Satellite buttons, disable dragging, and add your own SVG to use a star for the marker.
- Target a Specific Release for Your Packages During Salesforce Release Transitions: – During major Salesforce release transitions, you can specify preview or previous when creating a package version. Specifying the release version for a package allows you to test upcoming features, run regression tests, and support customers regardless of which Salesforce release their org is on. Previously, you could only create package versions that matched the Salesforce release your Dev Hub org was on.
- To create a package version based on the previous Salesforce release version, create a scratch definition file that contains:
{ "release": "previous" }
- Next, specify the definition file when you create your package version.
sfdx force:package:version:create -f config/project-scratch-def.json
- To create a package version based on the previous Salesforce release version, create a scratch definition file that contains:
- Use BatchApexErrorEvent Triggers to Monitor ISV Applications: – Include BatchApexErrorEvent triggers in your managed package to monitor the health of batch jobs and take necessary corrective action without any post-installation steps.
- The BatchApexErrorEvent object represents a platform event associated with a failing batch Apex execution. To fire this platform event, a batch Apex class declaration must implement the Database.RaisesPlatformEvents interface. A BatchApexErrorEvent platform event is fired when a batch Apex job encounters an unhandled exception
- Attach Actions to Asynchronous Apex Jobs Using Transaction Finalizers (Beta) – With Spring ’21, the Transaction Finalizers feature is in beta. A new limit establishes that a Queueable job that failed due to an unhandled exception can only be successively re-enqueued five times by a Transaction Finalizer. This limit applies to a series of consecutive Queueable job failures. The counter is reset when the Queueable job completes without an unhandled exception. Finalizers can be implemented as an inner class. Also, you can implement both Queueable and Finalizer interfaces with the same class. You can read more about it here.
Additional enhancements worth noting!
- Embed Lightning Scheduler Flows into Other Flows: – Lightning Scheduler flow type now supports subflows. You can call a Lightning Scheduler flow from within another flow that is of the Lightning Scheduler flow type. For example, you can create and add a simple Lightning Scheduler flow to the account page that asks users whether they want to create or modify an appointment, and then it launches the related flow.
- Convert Leads to a Person Account and a Business Account at the Same Time with the API: – If your customers include individuals and groups, your sales teams can associate converted leads with a person account and a business account simultaneously. For example, a bank can create person accounts for each member of a family and group the family into a business account. To enable these lead conversions, build a custom flow with the API.
- For Salesforce orgs that use APEX Lead Convert, Person Accounts, and Contacts to Multiple Accounts, new arguments are available on the LeadConvert() class. Use the new relatedPersonAccountId argument to convert the lead to an existing person account instead of a contact. Use the relatedPersonAccountRecord argument to convert the lead to a new person account instead of a contact.
-
Collapse and Expand Field Sections on Dynamic Forms-Enabled Pages: – To make designing and viewing Dynamic Forms-enabled pages more efficient, you can now expand and collapse field sections in the Lightning App Builder and when you view the pages in runtime.
- Expanding or collapsing a field section while designing the page has no effect on whether a section is expanded or collapsed for users during runtime. Users can expand or collapse field sections only while in view or inline edit mode, not in the full edit, create, or clone windows.
- Query cursors Optimized for improved Performance: – Apex optimized the way it uses query cursors. In cases such as SOQL queries that use a for loop, Apex no longer generates or uses query cursors internally. Instead, records are buffered in memory for improved performance and reduced query cursor contention. This optimization doesn’t apply to Batch Apex queries.
- View All, Modify All, Edit, and Delete Object Permissions Removed for Guest Users: – Salesforce is removing the View All, Modify All, edit, and delete object permissions on all objects for guest users in new and existing orgs. These permissions are removed for custom objects and standard objects. Guest users can only have read and create object permissions.
- Take Advantage of the Build Your Own (LWR) Template for Experience Cloud: – With the new Build Your Own (LWR) template for Experience Cloud, you can add CMS images directly to your site via the Rich Content Editor component.
- Enable Hybrid Apps to Directly Manage Web Sessions: – Use the OAuth 2.0 hybrid app flows to avoid the complexity of managing web sessions for hybrid apps. With a typical user-agent or refresh token flow, a hybrid app sets requested domain cookies and bridges an access token into a web session. But the access token and web session aren’t connected in these flows. Instead, you must track when the access and refresh tokens expire and when the web session expires, and then manually rebridge the session to avoid interrupted service. The OAuth 2.0 hybrid app flows connect the access and refresh tokens with the web session to give hybrid apps direct web session management.
- Configure the User and Batch Size for Your Platform Event Trigger: – You can override the default running user and batch size of a platform event Apex trigger. By default, the trigger runs as the Automated Process system user with a batch size of 2,000 event messages. Configuring the user and batch size enables you to bypass some limitations that sometimes arise from using the defaults. For example, record system and OwnerId fields are populated as the specified user. And setting a batch size smaller than 2,000 can help avoid hitting Apex governor limits.
- Configure a platform event trigger using PlatformEventSubscriberConfig in Metadata API or Tooling API.
- This example shows the configuration of OrderEventTrigger using the Metadata API. The user is set to user@example.com and the batch size is 200.
<?xml version="1.0" encoding="UTF-8"?> <PlatformEventSubscriberConfig xmlns="http://soap.sforce.com/2006/04/metadata"> <platformEventConsumer>OrderEventTrigger</platformEventConsumer> <batchSize>200</batchSize> <masterLabel>OrderEventTriggerConfig</masterLabel> <user>user@example.com</user> <isProtected>false</isProtected> </PlatformEventSubscriberConfig>
- Test Custom Domains in a Sandbox (Generally Available): – Custom domains allow you to use a domain that you own, such as https://www.example.com, to host your Salesforce org’s externally-facing content through Salesforce Sites and Experience Cloud sites. To make sure that it’s ready for prime time, use Custom Domains in Sandbox to develop and test your custom domain before deploying it to production.
- The Read-Only Profile Is No Longer Available in New Salesforce Orgs – Salesforce orgs created in Spring ’21 and later don’t have the Read-Only standard profile. If you want to assign users read-only permissions, Salesforce recommends that you start with the Minimum Access standard profile as a least-privilege profile base. Then you can assign custom permission sets to grant users the read access required for your business needs.
- Debug Failed Flows More Easily: – No more scrolling through a long flow error email to figure out what went wrong during the run. Now you can simply click a link in the error email to open Flow Builder and see the failed flow interview’s path on the canvas.
- Distribute Lightning Email Templates with Packaging and Change Sets:– Create managed packages containing Lightning email templates using the first-generation packaging tool. Packages let users download email templates that you can control and update. Change sets let you test Lightning email templates and automation in a sandbox environment and then move what’s successful to a production environment. Previously, these features were available only for Salesforce Classic email templates.
- Create a Lightning Web Component Action (Pilot):– Create a Lightning web component (LWC) and use it as a quick action. Lightning web component actions work side by side on your pages along with Lightning component and Visualforce actions. LWC actions offer advantages such as the ability to easily customize headers and footers and to create actions that have no UI representation.
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 ’21.
Platform |
Phones |
Tablets |
Android
|
|
|
iOS
|
|
|
- Use Dynamic Actions with Custom Objects on Mobile: – Dynamic actions for custom objects are now generally available on mobile devices. Assign actions in the Lightning App Builder instead of the page layout, and apply filters to control when and where actions appear for users.
- Get Comfortable in Mobile Home (Beta): – Welcome to your new home! When you use Mobile Home, you’re greeted by a set of customizable, dynamic cards that show personalized information. View your reports, upcoming events, recent records, and more. Your cards display information that’s based on how you use the app, and you can easily rearrange, add, and remove cards right in the app. When Mobile Home is turned on, it’s the landing page and first tab for all iOS users.
- Filter Records Using Natural Language Search on Mobile (Beta): – Natural language search lets you combine common words and phrases with objects to get the lists of records you’re looking for. Want to see the cases you closed in a month? Enter “my closed cases this month” in the global search box and get a list of the cases you closed in the current month. Natural language search is supported for accounts, cases, contacts, leads, and opportunities on Salesforce for iOS.
- New Enhanced Mobile Security Setup UI (Beta): – Before the Spring ‘21 release, you had to configure a connected app attribute for each mobile security policy that you wanted to enable. With the new Mobile Security Setup UI, salessforce want to make it as easy as toggling a switch to enable mobile security policies for your org.
- Turn on the New Salesforce Mobile App Tablet Experience: – Choose whether your tablet users see the new or the previous tablet experience. This single-column layout matches what users see on their desktop and phone. It supports Lightning apps, Lightning navigation, and Lightning record pages. Previously, you had access only if you were in the pilot or logged a case.
- Adjust Your Forecasts on the Go: – The Salesforce mobile app now supports forecast adjustments. In the mobile app, you can adjust your own forecasts but not your subordinates’ forecasts. Previously, all mobile forecasts were read-only.
- Keep Track of Your Activities with Activity Timeline on Android: – One of your favorite features for iOS is now available on Android. The activity timeline is available in the Salesforce mobile app for leads, opportunities, accounts, and contacts. On these record types, users can view all the tasks, events, logged calls, and emails associated with a record in one convenient feed. Previously, admins created a related list with the activity history view to track activities in the mobile app.
Formative Assessment:
I want to hear from you!
What are your favorite Spring’21 release note gems? You can download release notes in HTML format!, for PDF files.
Let me know by Tweeting me at @automationchamp, or find me on LinkedIn.
Very informative, Thank you.