0% found this document useful (0 votes)
12 views618 pages

Salesforce Spring '20 Release Overview

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views618 pages

Salesforce Spring '20 Release Overview

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Salesforce Spring ’20 Release

Notes
Connect to your customers in a whole new way
Salesforce, Spring ’20

@salesforcedocs
Last updated: June 9, 2020
© Copyright 2000–2020 [Link], inc. All rights reserved. Salesforce is a registered trademark of [Link], inc.,

as are other names and marks. Other marks appearing herein may be trademarks of their respective owners.
CONTENTS

Salesforce Spring ’20 Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


How to Use the Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Get Ready for the Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
How and When Do Features Become Available? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Supported Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Salesforce Overall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Salesforce CMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Essentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Salesforce Einstein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Sales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Commerce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Communities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Chatter Feeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Sustainability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Industries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
myTrailhead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Security, Privacy, and Identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Quip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
Marketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Critical Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Spotlight on Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
Other Salesforce Products and Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
SALESFORCE SPRING ’20 RELEASE NOTES

The Spring ’20 release delivers expanded innovations across the entire Customer 360 platform, empowering you to get a single shared
view of your customer and deliver more moments that matter.

IN THIS SECTION:
How to Use the Release Notes
Our release notes offer brief, high-level descriptions of enhancements and new features. We include setup information, tips to help
you get started, and best practices to ensure your continued success.
Get Ready for the Release
Reading the release notes is a great step in preparing for the release. These other resources help get you, your org, and your users
ready for what’s coming your way. We add resources throughout the release when they become available, so check back often.
How and When Do Features Become Available?
Some features in Spring ’20 affect all users immediately after the release goes live. Consider communicating these changes to your
users beforehand so that they’re prepared. Other features require direct action by an administrator before users can benefit from
the new functionality.
Supported Browsers
We’ve made some changes to our supported browsers documentation, making it easier to find what you need. Supported browsers
for Salesforce vary depending on whether you use Salesforce Classic or Lightning Experience.
Salesforce Overall: Tools to Help You Transition to Lightning Experience, Guide Your Users, and Boost Productivity
Get ready for Lightning Experience with an enhanced Lightning Experience Configuration Converter, and guide your users with
customizable in-app prompts. Empty your Recycle Bin in Lightning Experience with a single click and manage your deleted reports
and dashboards. Work faster with App Launcher enhancements, use the latest Lightning Experience features with the Lightning
Extension, and literally say “Hello!” to Einstein with Einstein Voice Assistant.
Salesforce CMS: B2C Commerce Page Designer Integration, Multiple Varied Channels, CMS Home, and Flexible Layouts
Reuse your Salesforce CMS content across varied channels, both inside and outside Salesforce, including B2C Commerce Page
Designer, Marketing Cloud, and Heroku. CMS Home makes it easy to jump into CMS Workspaces and Experience Builder from the
Salesforce CMS app. And with flexible layouts, you can achieve the optimal layout for your custom content pages.
Salesforce Essentials: Email-to-Case Enhancements, New Service Features, Improved Mobile App and In-App Subscription Management
Get your support emails into Salesforce faster by directly connecting your Google account to Email-to-Case. Tidy your case list with
Case Merge. If you use Chat & Messaging, offer customers a menu of ways to contact you with a channel menu in your embedded
chat window. The Salesforce mobile app reflects your personalized navigation in Essentials and prioritizes the information you use
the most.
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters
Einstein Voice Assistant lets your users add and update Salesforce data conversationally, using their voice. Your agents can resolve
cases faster using Einstein’s knowledge article recommendations. Build custom predictions based on filter logic without needing to
create fields to predict.

1
Salesforce Spring ’20 Release Notes

Sales: High Velocity Sales Email Branching and Email Scheduling, Task-Queue Assignment, and Revenue Recognition Reports for
Salesforce Billing
High Velocity Sales managers can branch sales cadences based on email engagement, and sales reps can schedule when emails are
sent. Let reps share their workload by assigning tasks to queues. Use Salesforce Billing Revenue Recognition API to report on revenue
recognition at any stage of the sales and finance process. Einstein Opportunity Scoring is available without a Sales Cloud Einstein
license. Collaborative Forecasts now supports inline editing in the opportunity list. Sales reps can specify email arrival times to increase
the chances of an email being read. And Pardot adds new analytics tools, including a dashboard for Einstein Behavior Scoring and
an Account-Based Marketing analytics app template.
Service: Channel Menu, Einstein Article Recommendations, Case Merge, WhatsApp Messaging Channels, and Shifts for Field Service
Connect with customers using the channels they prefer by adding an Embedded Service Channel Menu to your website. Help your
agents resolve cases faster with Einstein Article Recommendations. Combine duplicate cases with Case Merge. Message with
customers internationally using WhatsApp. Set up shifts for Field Service to schedule work that’s outside of the usual schedule, such
as holiday hours or occasional overtime (beta).
Commerce: Introducing Salesforce Order Management
Salesforce Order Management brings the power of the Salesforce Platform to the world of ecommerce with tools to help you manage
every step of the order lifecycle.
Analytics: Faster Report Editing, Dashboard Builder Enhancements, Direct Data Querying, Einstein Discovery What-If Analysis
Analytics includes Reports & Dashboards, Einstein Analytics, and Einstein Discovery. The Spring ’20 Analytics improvements focus
on increasing connections and productivity alongside a simplified experience. Build reports faster with a new feature that lets you
switch live updates to the report preview on or off. Dashboard builder’s collaborative version management, targeted faceting, and
interaction building, can all be completed with clicks not code. Query live Salesforce data directly in Einstein Analytics with Direct
Data. Build a predictive model in Einstein Discovery and use what-if analysis to determine possible future outcomes.
Communities: Report Builder for Communities, ExperienceBundle, Enhanced Security, and Channel Menu
Your partners and customers can now create and run reports on communities and portals. With the ExperienceBundle metadata
type, quickly update and deploy Lightning communities programmatically using your preferred development tools. Various security
enhancements help keep your data safe. And help service agents contact customers on a variety of channels using the Service
Cloud’s Channel Menu. Create and modify Lightning community audiences programmatically.
Chatter Feeds: Absolute or Relative Time Stamps in Case Feeds
Choose how to display time stamps for case feed posts and comments.
Files: Retiring Support for Adobe Flash Rendition
Prepare to switch your file rendition in the Chatter REST API from Adobe Flash to SVG.
Mobile: An Upgraded Experience for All
In Spring ’20, all active Salesforce mobile app users get upgraded to the new Salesforce mobile app. Admins and users alike can take
advantage of expanded customization options, powerful Lightning functionality, and improved performance. Mobile Publisher for
Communities gets even better with Apple Wallet access and a new app specifically for testing.
Salesforce Sustainability Cloud: Trusted Platform to Achieve Carbon Neutrality
Gain critical insights about your carbon footprint. Using global emission factors to calculate greenhouse gas emissions, Sustainability
Cloud helps you collect, categorize, and analyze energy usage and greenhouse gas emissions data throughout your organization’s
business activities. And because it’s built on top of the Salesforce Lightning Platform, you have access to tools that facilitate
collaboration, project management, and reporting.

2
Salesforce Spring ’20 Release Notes

Industries: Easier Setup, More Flexibility, Bigger Impact


Our vertical solutions now include Salesforce Emergency Response Management, which helps you deliver resources and services
faster when people need it most. In Health Cloud, you get contact tracing and monitoring, plus easier setup for care plans and more
options for finding the right care provider. Financial Services Cloud brings you more visibility into distributors and a new API for
creating mortgages. Consumer Goods Cloud helps field reps maximize their impact and track stock levels, and Manufacturing Cloud
offers account managers greater control and improved visibility into sales agreements and account forecasts.
myTrailhead: A Fresh New Look for Trailmaker Content, and Customer-Created Subdomains
Trailmaker Content gets a makeover. Customers can set up their own myTrailhead subdomain. Support for Internet Explorer 11 (IE
11) is ending.
Customization: Lightning Flow Enhancements, Globalization Improvements, and Einstein Updates
Build flows and processes more efficiently with enhancements to Flow Builder, flow management, and Process Builder. More easily
manage your translations, currency, and international dates and times. Build, configure, and manage predictions and recommendations
with updates to Einstein Prediction Builder and Einstein Next Best Action.
Security, Privacy, and Identity: More Identity Verification Options, My Domain Changes, Real-Time Event Monitoring Threat Detection
(Beta), and Encryption for Platform Events
Give your users more authentication options by allowing them to authenticate with their Apple ID, Face ID, or Touch ID. Or set stricter
requirements by only allowing authentication by SMS. Restrict external user access to Salesforce APIs through connected apps. My
Domain certificates and URL formats are changing. Use Real-Time Event Monitoring platform events to detect common threats to
your org (Beta). And Encrypt all your platform events including Salesforce Event Monitoring streamed events.
Deployment: Faster Availability of Uploaded Change Sets and New Change Set Components
Uploaded change sets are available for deployment sooner. New change set components are available.
Development: Create Your Own Salesforce App
Whether you’re using Lightning components, Visualforce, Apex, or our APIs with your favorite programming language, these
enhancements help you develop amazing applications, integrations, and packages for resale to other organizations.
Quip: Related Lists, Admin Insights, Filtered Salesforce Reports, New Quip Process Builder and Flow Builder Actions, Simplified Setup,
and More
Connect your Salesforce orgs to Quip faster than ever. Bring your filtered reports to Quip and embed them on Salesforce records to
have them filter dynamically. Automate your business workflows with new Quip actions in Process Builder and Flow Builder. View
and edit your related Salesforce lists views with the updated Salesforce List Live App.
Marketing: Interactive Email, Data Mapping Visualizer, and Distributed Marketing Quick Send for SMS
Marketing Cloud is the premier platform for delighting customers with 1:1 customer journeys. It enables you to build a single view
of your customer, leveraging data from any source. Plan and optimize unique customer journeys based on your business objectives.
Deliver personalized content across every channel and device at precisely the right time. Measure the impact of each interaction on
your business so that you can optimize your approach in real time and deliver better results.
Critical Updates and Security Alerts
Salesforce periodically releases updates that improve the performance, logic, and usability of Salesforce, but which can affect your
existing customizations. These are the updates available in the Critical Update Console in Spring ’20. Also review updates on the
Security Alerts page, and previously released and newly enforced critical updates.
Spotlight on Content
Learn about Salesforce in-app content, tips for transitioning to Lightning Experience, our new technical requirements and performance
best practices hub, and the Sustainability Cloud. We added Trailhead modules and projects, and updated instructional videos. We
also updated our Trust and Compliance documentation.
Other Salesforce Products and Services

3
Salesforce Spring ’20 Release Notes How to Use the Release Notes

How to Use the Release Notes


Our release notes offer brief, high-level descriptions of enhancements and new features. We include setup information, tips to help you
get started, and best practices to ensure your continued success.
• We offer PDF and HTML versions.
• For the HTML version, your browser’s settings determine the language you see. To change the language, scroll to the bottom, click
Change Language, and select a language.
• The release notes include details about new and modified features. For information on known issues, visit the Salesforce Known
Issues site.

Note: Until the new release is available to you, links from release notes to Salesforce Help, implementation guides, developer
guides, and other documentation don’t work. And sometimes the links point to material from the previous release.
Some of our documentation has preview versions available several weeks before the release. To access a preview version on
Salesforce Developers, select Preview from the Documentation Version dropdown list.

IN THIS SECTION:
Use Filters to Zero In on the News That Matters Most
The filters narrow down the list of release notes on the right side of your screen, not the content on the left.
Know What’s in Salesforce Lightning Experience and What’s in Salesforce Classic
Everybody’s excited about Lightning Experience and everything it offers. But we also understand that lots of orgs continue to use
Salesforce Classic—either exclusively or in tandem with Lightning Experience as it evolves.
You Asked for It!
We delivered the features you asked for on IdeaExchange.
Release Note Changes
Read about changes to the release notes, with the most recent changes first.
Your Feedback Matters
We know how important our documentation is to your company’s success. We want to know what works for you and what doesn’t.

Use Filters to Zero In on the News That Matters Most


The filters narrow down the list of release notes on the right side of your screen, not the content on the left.
Experience
See which features are available in Lightning Experience, the Salesforce app (Mobile), and Salesforce Classic.
Edition
Which feature enhancements are available to you depends on your edition. Filter the release notes to show only the enhancements
that are available in your edition.
Feature Impact
Some features require you to enable or configure them before users can get the benefits. As an admin, filter the release notes to
focus on or hide just those features. Or maybe you want to see only the features that are automatically enabled for your users.
Product Area
See only the products that your org uses. If your org does sales but not support, set up your release notes so that only the sales-related
news appears.
To narrow down the list of release notes, click Show Filters on the right side.

4
Salesforce Spring ’20 Release Notes Know What’s in Salesforce Lightning Experience and What’s
in Salesforce Classic

You can share your filtered list of release notes with anyone. Select filters, copy the URL, and then distribute that URL however you want.

Know What’s in Salesforce Lightning Experience and What’s in Salesforce


Classic
Everybody’s excited about Lightning Experience and everything it offers. But we also understand that lots of orgs continue to use
Salesforce Classic—either exclusively or in tandem with Lightning Experience as it evolves.
One key to success during this time of transition is understanding what’s available in one, both, or all the Salesforce experiences. To
guide you, we added experience information to the applicable release notes at the highest level: for entire clouds or for individual features
within clouds. Let’s look at a couple of examples.
• A new Service Cloud feature is available in both desktop experiences, so the Where section of the release note says, “This change
applies to Lightning Experience and Salesforce Classic.”
• A new Sales Cloud feature is available in Lightning Experience only, so the Where section of the release note says, “This change
applies to Lightning Experience only.”
If a key feature is also available in the Salesforce app, we mention that in the Where section of the release note. But you can also check
the Mobile section for a complete list of what’s new.

You Asked for It!


We delivered the features you asked for on IdeaExchange.

IdeaExchange Idea delivered


Salesforce Overall

5
Salesforce Spring ’20 Release Notes You Asked for It!

IdeaExchange Idea delivered


More Than 4 Fields on Related List in Lightning Experience Power Up Your Related Lists with Enhanced Related Lists (Generally
Available)

Sales

Email Deliverability Changes Not Tracked in Audit Log Track Changes to Send Email Access Level
Monitor More Changes in the Setup Audit Trail

Allow Task(s) to be assigned to a Queue Activities: Assign Tasks to a Queue to Share Work Efficiently

Inline Edit of Opportunities from the Forecast Tab Update Multiple Deals from the Forecasts Page in Lightning
Experience

Configure Opportunity Team Related List in Lightning Experience Account and Opportunity Team Related List Customization Is
Supported

Product Filter in Lightning Experience - When Adding to Use Filters to Narrow Opportunity Product Searches in Lightning
Opportunity or Quote Experience (partially delivered)

Opportunity Cloning Should Clone the Contact Roles Too Clone Opportunities or Campaigns Along with Their Related Records
Lightning - Include Clone with Products Action on Opportunities
Cloning a Campaign Should Clone Campaign Member Status
Options in Lightning

Log an email set for Send Later in SalesforceIQ Inbox Schedule and Manage Scheduled Emails in Lightning Experience
Schedule and Manage Scheduled Emails in High Velocity Sales

Allow Prospects to Opt Back In Enjoy More Control Over Prospect Resubscribe Messaging on Forms

Allow Users to Disable Email Message Threading in the Inbox App View Emails Without Conversation Threading in Inbox for Android
for Android

Chatter

Show exact date time of Chatter post or activity in Lightning Case Set the Date and Time Stamp Format for Case Feed Items
Console feed

Mobile

Path on Salesforce1 Not Showing Dependent Fields Update Paths with Dependent Picklists on Mobile Devices

Industries

Add Edit and Clone functions to Action Plan Templates Create Copies of Action Plan Templates with Deep Cloning

Customization

Save While Inside Screen Element of Flow Builder Reference a Newly Created Screen Field Without Leaving the Screen
Editor

Support for sObject Collection Variables in Invocable Methods for Build Invocable Actions That Work for Multiple Objects
Flows

Save-All-Fields Option in Fast Lookup in Flow Configure Get Records Elements Without Selecting Fields

6
Salesforce Spring ’20 Release Notes Release Note Changes

IdeaExchange Idea delivered


Read into sObject Variable Directly in the Flow
Flow Editor—Limit Selection of Object Fields to Those Actually
Available
Include a "Select All" Option for sObject Fields in Flow

Development

Ability to Create 301 Redirects via API Apex: New and Changed Items

Ability to Create a 301 Redirect from One URL to Another (partially Apex: New and Changed Items
delivered)

Release Note Changes


Read about changes to the release notes, with the most recent changes first.

May 27, 2020


Open Hyperlinks in Formula Fields Correctly (Previously Released Critical Update)
Updated activation date for the critical update.
Enforce Sharing Controlled by Parent for Google Docs Related to Salesforce Records (Critical Update)
Updated title for clarity.
Metadata API
Added information about the new activeViewId and preferredDomain properties on the ExperienceBundle type.
Event Monitoring: New Threat Detection Real-Time Events (Beta), Legacy Transaction Security Retiring, Event Monitoring
Analytics App Improvements
Deleted the “Event Monitoring Analytics App Performance Improvements” release note. The note included changes to the Event
Monitoring Analytics App that were gated last-minute and pushed to the Summer ’20 release instead. The note was moved to the
Security, Identity, and Privacy section of the Summer ’20 Release Notes.

May 20, 2020


Introducing Salesforce Emergency Response Management on page 354
Added release notes introducing Emergency Response Management for Public Sector and Emergency Response Management for
Public Health.
Restrict Reflective Access to Non-Global Constructors in Packages (Critical Update)
Added activation date for the critical update.
New and Changed Objects
Added information about the new FirstCallDateTime and FirstEmailDateTime fields on the Contact object.

May 13, 2020


New and Changed Objects
Added information about the new Queued value for the State field on the ActionCadenceStepTracker object.

7
Salesforce Spring ’20 Release Notes Release Note Changes

Create Smart Transfers over SMS with Agent Availability


Added clarification around the behavior of a bot when no agents are available.

May 6, 2020
Required Setting Change for Microsoft Office 365 Customers
Microsoft moved the Basic Authentication retirement from October 2020 to the second half of 2021. This change updates our release
note and our See Also link to a resource that reflects the new date.
Enforce Sharing Controlled by Parent for Google Docs Related to Salesforce Records (Critical Update)
This update enables admins to set sharing permissions to “Controlled by Parent” for Google Docs. Only users with access to a record
can see any Google documents related to the record.
Streamline Your Flows with the Review Inbound or Outbound Service Appointment Component
Added this new release notes topic to announce the new Review Inbound or Outbound Service Appointment flow screen component
for Lightning Scheduler flows.

April 22, 2020


Use an Updated API Version for Social Sign-On on page 466
Added information on a Facebook API upgrade.
Restore Access If Service Is Interrupted Before December 2020
Corrected a reference to the Salesforce for Outlook retirement date, which is December 2020.
Enhance Your Account Reports with Territory Details
Added the Accounts report to the list of standard reports that now include territory details.

April 15, 2020


Opt Out of Guest User Security Policies Before Summer ’20 (Critical Update) on page 324
Clarified that this Critical Update also affects the activation of the Assign new records created by Salesforce Sites guest users
setting. The Critical Update name was also updated.
Prepare for Google Chrome’s Changes in SameSite Cookie Behavior That Can Break Salesforce Integrations on page 76
Google has temporarily rolled back the SameSite changes until the summer of 2020.
Salesforce for Outlook Is Being Retired in December 2020
To help admins prepare for migration, added a See Also link from this release note to the new Compare Salesforce for Outlook to
the Next-Generation Products documentation.
Find Version-Specific Salesforce for Outlook Release Notes
Adding a reminder that admins can find version-specific Salesforce for Outlook release notes in the Outlook/Gmail integrations, and
Inbox Trailblazer Community.

April 8, 2020
Use the Readiness Check to Guide Your Lightning Experience Transition
Added an announcement that the Readiness Check has been updated for Spring '20.
Removed: Prepare for the Certificate Change for My Domains
Removed the release note because we canceled the scheduled certificate change. See the Certificate Changes Trailblazer Community
for updates.

8
Salesforce Spring ’20 Release Notes Release Note Changes

Install Linting in Salesforce DX Projects with Ease


Added a release note explaining that now it’s easier to install linting for Lightning Web Components in a Salesforce DX project.
Salesforce for Outlook Is Being Retired in December 2020
Added the Salesforce for Outlook retirement announcement and resources available to date.
Opt Out of Turning Off Community-Specific Setting for Guest Users to See Other Members (Critical Update) on page 324
Added a release note about a new critical update for opting out of turning off the Let guest users see other members of this
community setting in the Winter ’21 release.

April 1, 2020
Help Your Agents Resolve Cases Faster with Einstein Article Recommendations (Generally Available)
Updated the minimum article requirement from 400 to 100 English articles.
Get Your Colleagues on the Same Page with Link Sharing
In addition to record pages, users can now share list view pages, object home pages, and Lightning app pages from the Salesforce
mobile app.
Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile (Critical Update, Postponed)
on page 500
The enforcement of this critical update has been postponed until Winter ’21.
New and Changed Objects on page 556
Documented three new Einstein Voice Assistant objects.
Metadata API on page 583
Documented five new Einstein Voice Assistant metadata types.
Tooling API on page 582
Documented five new Einstein Voice Assistant objects.

March 25, 2020


Metadata API
Added information for the new object and sortField fields on the StrategyNodeRecommendationLoad subtype of the
RecommendationStrategy type.
Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile (Critical Update, Postponed)
Clarified that this critical update also applies to flows.
Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile (Critical Update, Postponed)
Clarified that this critical update also applies to flows.
Opt Out of Guest User Security Policies Before Summer ’20 (Critical Update)
This critical update allows orgs to opt out of the automatic enabling of two settings aimed at increasing data security for guest users.
Ensure Guest User Access to Emails Created with Visualforce Email Templates
The security upgrades for guest users require changes to Classic Visualforce email templates.
Go On a Better Round-Trip Between Full Feed and Feed Item Detail
Added information about Back button behavior with Compact Feed.

9
Salesforce Spring ’20 Release Notes Release Note Changes

March 18, 2020


Schedule and Manage Scheduled Emails in Lightning Experience
Clarified that enhanced email must be enabled for orgs that want to use Send Later.
Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile (Critical Update, Postponed)
on page 500
The enforcement of this critical update has been postponed from April 5 until May 7.
Enable Dependency Access Checks In Lightning Components (Critical Update, Postponed) on page 502
The enforcement of this critical update has been postponed until Winter ’21.
Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile (Critical Update, Postponed)
on page 503
The enforcement of this critical update has been postponed until Winter ’21.
Use with sharing for @AuraEnabled Apex Controllers with Implicit Sharing (Critical Update, Postponed) on page 501
The enforcement of this critical update has been postponed until Spring ’21.
Enforce Access Modifiers on Apex Properties in Lightning Component Markup (Critical Update, Postponed) on page 504
The enforcement of this critical update has been postponed until Summer ’21.
Disable Access to Non-global Apex Controller Methods in Managed Packages (Critical Update, Postponed) on page 502
The enforcement of this critical update has been postponed until Summer ’21.
Add Field Recalculations and Mass Updates to Your Processes and Flows
Process Builder and Flow Builder now include standard Manufacturing Cloud actions to perform recalculations and mass updates
to account forecast and sales agreement fields.
Manufacturing Cloud Has New Invocable Actions
Use invocable actions to perform recalculations and mass updates to account forecast and sales agreement fields instantly.
Edit Data Classification for Custom Fields in Managed Packages
Added information on a new component for managed packages.

March 11, 2020


Gain Insight on Einstein Search by Viewing Search Result Filters (Beta)
Explained that Einstein Search result filters are displayed for conversational searches.
Get Search Suggestions Tailored to Your Work to Find Records Faster (Beta)
Added information about personalized search suggestions.
Enable Einstein Search Personalization for an Org of Any Size and Try It in a Sandbox Org (Beta)
Updated Einstein Search personalization org requirements and the availability of personalization in sandbox orgs.
Show What Matters Most with Profile-Specific Search Results Layouts
Noted that profile-specific search layouts are now generally available.
Require Secure HTTPS Connections (Critical Update)
Clarified that the critical update doesn't remove the Require secure connections (HTTPS) setting.
Get Personalized Search Results for Cases and Leads (Beta)
Added information that personalized search results are available for cases and leads.
WhatsApp: Now Available for Einstein Bots
Removed a reference to Facebook Messenger.
Require Permission to View Record Names in Lookup Fields (Critical Update)
Updated the critical update's enforcement date to the Winter ’21 release.

10
Salesforce Spring ’20 Release Notes Release Note Changes

Help Your Agents Resolve Cases Faster with Einstein Article Recommendations (Generally Available)
Indicated that Einstein Article Recommendations is also available in Performance edition.

March 6, 2020
Ensure That Your Guest User Sharing Rules Provide Intended Access
Added a release note about the reminder about user access that is displayed when you create guest user sharing rules.

March 4, 2020
Help Your Chat Agents Respond Faster with Einstein Reply Recommendations (Pilot)
Corrected the number of required English chat transcripts from 1,000 to 10,000, and added a note that Reply Recommendations
also offer limited support for other languages.
Try Einstein Case Classification At No Additional Cost
Added information about what’s included in the paid version of Einstein Case Classification.
Analytics Mobile Apps: Upgrade to the Spring ’20 Versions of Einstein Analytics for iOS and Android
Added information about enhancements to Einstein Analytics for iOS and Android.
Manufacturing Cloud Has New and Changed Metadata Types
Added information on the IndustriesManufacturingSettings metadata settings type.
Validate Salesforce Merge Field Syntax When Saving Email Templates
Clarified when Salesforce Merge Language merge fields are verified.
Prepare for the Updated Email Bounce Warning
Added information about changes to the email bounce warning.
New, Changed, and Deprecated Calls
Updated to show that the default setting for the collateSubrequests field is now false.
Metadata API
Corrected a field name on the FlowActionCall subtype of Flow for mapping generic sObject inputs or outputs to a specific object.
New and Changed Objects on page 556
Listed the five new fields of the AIInsightReason object.
Enforce Data Access in Flow Formulas (Critical Update)
Clarified that this critical update enforces data access when a flow uses a formula resource or a formula field on a record variable to
access a field on a record.
Test Configuration Changes with Pardot Sandboxes (Beta)
Added a release note announcing the Pardot Sandboxes beta release.
App Store and Google Play Updates
Added a release note for Salesforce mobile app App Store and Google Play updates, including notes for the 224.010 update.

February 26, 2020


Create Content with Efficiency and Ease Using the Redesigned Trailmaker Content
Updated the month when design changes to Trailmaker Content are available.
Support for Internet Explorer (IE11) on myTrailhead Is Ending
Added a release note about the end of support for IE11 on myTrailhead.

11
Salesforce Spring ’20 Release Notes Release Note Changes

Freeze JavaScript Prototypes Session Setting Removed


Added a release note about the removal of the Freeze JavaScript Prototypes setting.
Get Improved Code Coverage Results for Your Apex Tests
Added information about how code coverage results are calculated for Apex tests.
New and Changed Aura Components
Added a change to the lightning:input component stating that date and time inputs now use the Salesforce locale, and
clarified how Salesforce locale is used for number inputs.
Changes to Action Plans License
Added a release note about the objects no longer available with the Action Plan license.
Changes to Action Plans License
Added a release note about the objects available with the Consumer Goods permission set.
REMOVED: Permission Changes for Queues
We removed this feature from the Spring ’20 release as we make improvements.
Gain Insights on Data Directly in Snowflake (Beta)
Added a release note about the availability of Einstein Analytics Direct Data for Snowflake (Beta).

February 19, 2020


Lightning Sync: Connect Microsoft Exchange with Salesforce Using NTLM Authentication Protocol
Customers are no longer required to contact Salesforce Customer Support to connect Exchange and Salesforce using NTLM. Also,
starting on February 19, 2020, if basic and NTLM are enabled, Lightning Sync gives connection preference to basic. Earlier in Spring
’20, Lightning Sync gave preference to NTLM.
New and Changed Aura Components
Added a change to the lightning:input component to clarify that the buttons for changing the number value are removed.
New and Changed Lightning Web Components
Added a change to the lightning-input component to clarify that the buttons for changing the number value are removed.
Get Familiar with JSON Changes for Dashboard Designer
Added information about JSON changes that give you more ways to manage query faceting.
Legacy Folder Sharing Is Retiring in Winter ’21 on page 254
Added a release note announcing the retirement of legacy folder sharing for reports and dashboards.
Try Einstein Prediction Builder At No Additional Cost
Corrected edition information.
Support Has Changed for the New Salesforce Mobile App Tablet Experience
Clarified that the new, narrow view tablet experience is available only to customers who opted in to the new Salesforce mobile app
during the pilot or Winter ’20.
React to Asset Loaded with Analytics Web SDK
Added wave:assetLoaded event for users to listen for Analytics assets to finish loading on the first load and on subsequent
resets and then react as needed.
Get Things Right with Right-to-Left Layout and Languages (Generally Available)
Clarified limitations. Updated the linked help page on right-to-left language support, summarizing limitations for Lightning Experience
and Salesforce Classic. Added a link to a new help page detailing right-to-left language search limitations.
Review Trust and Compliance Documentation
Added trust and compliance documentation.

12
Salesforce Spring ’20 Release Notes Release Note Changes

Tooling API
Added a release note for a field that was added in API version 38.0 to the FieldDefinition and EntityParticle objects.
New and Changed Objects
Added the CspTrustedSite object.

February 12, 2020


Create Scratch Orgs With More Features
We’ve added many new features for scratch orgs.
Run Macros Faster on Record Home Pages on page 238
Clarified that a single notification toast is displayed after a macro is competed regardless of the number of submit actions contained
the macro.
Build Your Own Beautiful Analytics Apps Fast with the Design Analytics Template
Announcing new Analytics prebuilt app template that customers can use as starting point for app design.
Packaging and Changesets Include User Extended Metadata (XMD)
Added clarification that packaged User Extended Metadata (XMD) cannot be edited via the UI in the destination organization.
Manage How Records Open from an Embedded Dashboard
Added information about a setting that controls how records open from a dashboard widget.
Simplified Configuration for the Outlook Integration
Removed this release note. The simplified configuration for Outlook is available as a closed pilot at this time.
Einstein Bots: Changed Behavior to Dropdown fields on Bot Overview Page
Clarified that the behavior of the Custom Chatbot User field and the Deployment field on the Bot Overview page have been changed
from displaying all by default to type ahead search.
Add Templates to Existing Care Plans Faster with a New Button
Updated the screenshot and How section to document Lightning Experience instead of Salesforce Classic.
Deployment: Uploaded change sets are available for deployment sooner
Added information about improved time to availability for uploaded change sets.
Salesforce CLI: New and Changed Commands
Added new and changed CLI commands for v48.
Prepare for Google Chrome’s Changes in SameSite Cookie Behavior That Can Break Salesforce Integrations on page 76
Added the Outlook and Gmail integrations to the list of places that cookies don’t work for non-secure (HTTP) browser access.
Added instructions for checking that your Salesforce Classic Canvas connected app works with HTTPS and for updating the URLs to
use HTTPS.
Files: Retiring Support for Adobe Flash Rendition
Added the plan to retire Adobe Flash support file renditions in the Winter ‘21 release.
Accelerate Business Performance with Einstein Analytics for Consumer Goods on page 387
Updated the screenshot and revised the add-on license details in the How section.

February 5, 2020
Use Filters to Narrow Opportunity Product Searches in Lightning Experience on page 136
Corrected the note indicating which fields the quick filter shows. The filter shows Product object fields that are included in the price
book entry search layout rather than the multiline editor layout.

13
Salesforce Spring ’20 Release Notes Release Note Changes

Change the Case Owner on the Case Related Record Component Via Inline Edit on page 236
Added release note describing behavior changes when agents update the Case Owner field on the Case related record component.
Strengthen Forecasting and Get Deeper Insight Into Product Demand with Einstein Analytics for Manufacturing
Announced new dashboards to improve forecasting and help Manufacturing Cloud customers anticipate demand.
Spotlight on Content
Added information about our latest content enhancements, including in-app content, transition tips for Lightning Experience, our
new technical requirements and performance best practices hub, and Sustainability Cloud. We also added Trailhead modules and
projects and updated videos.
Hire Confidently with Enhanced Salesforce Consultant Reviews on AppExchange
Added a release note announcing the new Salesforce consultant review experience on AppExchange.
REMOVED: Share Code Between Visualforce Pages in the Same Namespace with @namespaceAccessible
This feature isn’t ready for showtime yet, so we’re removing it for now while we make improvements.
New Permissions for Previewing Quote Documents
Added a release note about new permissions required for using the quote’s Preview Documents button.
Legacy Inbox: Supplemental Contact Information Scheduled for Retirement
Added a release note about the retirement of Supplements Contact Information in the Legacy Inbox application.
Use More API Calls
Clarified that this change does not apply to the Developer Edition.
Metadata API
Added information about the new sortIndex field on the WaveXmdRecordDisplayLookup metadata type.
Export up to 5 Reports at Once Per User
Added a release note announcing a limit of 5 concurrent report exports per user. Formatted report exports from Lightning Experience
don’t count against the limit.
Changes to Managing User Preferences
Removed information about access changes to user roles because this change was removed from the Spring ’20 release.
Get Your Colleagues on the Same Page with Link Sharing
Clarified that the shared links are Lightning URLs.
Update Attribute Values for Snapshots Created by Jest Tests
Added a release note about snapshot attribute value behavior and how to fix test failures.
Prepare for Google Chrome’s Changes in SameSite Cookie Behavior That Can Break Salesforce Integrations
Added information about communities, portals, and sites.
Boost Productivity for Your Mobile Users with Einstein Voice Assistant (Beta)
Updated beta disclaimer language.
Einstein Voice Assistant: Get More Done on the Run (Beta)
Updated beta disclaimer language.
Customize Number Formatting in Lenses and Dashboards
Added clarification that specified custom delimiters are not honored in CSV downloads.
Generate Valid HTML Output from Formulas in Processes and Flows (Critical Update, Retired)
Retired this critical update.
Mobile Cards Are Not Available in the New Salesforce Mobile App
Added a release note announcing that mobile cards have been replaced by Lightning components.

14
Salesforce Spring ’20 Release Notes Release Note Changes

Create Care Plans with a Single Flow


Added a caution statement about potential conflicts with existing custom triggers. Also added a See Also link to a knowledge article
with a solution for this conflict.

January 29, 2020


Apex Mobile User (Salesforce Internal Use Only) Field Was Removed
Added API name (UserPermissionsMobileUser) of Apex Mobile User (Salesforce Internal Use Only) field.
FullContact Connector Is Scheduled for Retirement on January 31, 2020
Announcing the FullContact connector retirement.
Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile (Critical Update, Postponed)
The enforcement of this critical update has been postponed to Summer ’20.
Turn Customer Survey Data into Actionable Intelligence with Customer Lifecycle Analytics
Announcing the new Customer Lifecycle Analytics app.
Removed ID Fields from Topics Components
Removed dynamically generated ID fields from topics components.
Boost Productivity for Your Mobile Users with Einstein Voice Assistant (Beta)
Added information about navigating to Einstein Voice Assistant in the new Salesforce mobile app.
Secure Guest Users’ Org-Wide Defaults and Sharing Model (Security Alert, Enforced)
Clarified the enforcement date of the security alert.
Untangle Your Dependencies with MetadataComponentDependency Queries in Production and Sandbox Orgs (Beta) on
page 518
Announcing the availability of Tooling API MetadataComponentDependency (Dependency API) in production (Prod) orgs.

January 22, 2020


You Asked for It!
Added Ideas that we delivered.
Sales Cloud Einstein: Enjoy Simplified Data Requirements
Updated the Einstein Opportunity Scoring example with the correct two-year time frame.
Get Search Results for More Objects
Added information about objects that are now searchable.
Permission Changes for Collaborative Forecasts and Fiscal Year Settings
Added information about Metadata API types.
Prevent Using Standard External Profiles for Self-Registration and User Creation (Security Alert and Critical Update, Enforced)
Added information about enabling pref for [Link] and legacy portal users.
Health Cloud Has New and Changed Objects
Added information about new validation rules in Health Cloud objects CarePlanTemplateGoal__c and
CarePlanTemplateTask__c.
Use with sharing for @AuraEnabled Apex Controllers with Implicit Sharing (Critical Update, Postponed) on page 501
Clarified behavior for orgs created before Spring ’18.
Keep Track of Customer Consent Preferences
Added a release note about the Party Consent object.

15
Salesforce Spring ’20 Release Notes Release Note Changes

Secure Guest Users’ Org-Wide Defaults and Sharing Model (Security Alert, Enforced)
Added information about Apex managed sharing.
Welcome to the New Salesforce Mobile App
Added in-line links to more detailed related release notes for features, where available.
Encrypt Recommendation Description Information
Added a release note announcing that you can encrypt Next Best Action recommendation descriptions.
Do More in the Mobile App with Global Actions
Changed “Salesforce Mobile and Lightning Experience Actions” to “Quick Actions in the Salesforce Classic Publisher”.
Help Your Agents Resolve Cases Faster with Einstein Article Recommendations (Generally Available)
Clarified that Einstein Article Recommendations are available only for articles written in English, and that a knowledge base of 400
or more articles is needed.

January 15, 2020


New and Changed Objects
Added a new release note entry for the LegalEntity object.
Metadata API
Added a description of the new EmbeddedServiceMenuSettings type.
Get Things Right with Right-to-Left Layout and Languages (Generally Available)
Added details from help on Right-to-Left Support for Communities.
Enable Dependency Access Checks In Lightning Components (Critical Update, Postponed) on page 502
Added a new critical update.
Use with sharing for @AuraEnabled Apex Controllers with Implicit Sharing (Critical Update, Postponed) on page 501
This critical update has been postponed.
Fine-Tune Your Pipeline with Einstein Referral Scoring (Generally Available)
Added information about the permission set required to use the Einstein Top Referrals component.
DOM API Changes May Require UI Test Updates
Alerting customers that automated UI tests may fail and where to find help to fix failed tests.
Try Einstein Case Classification At No Additional Cost
Added a new release note about Einstein Case Classification.
See a Preview of Related List Records (Beta)
Added a release note to describe the related lists preview behavior.
Require Secure HTTPS Connections (Critical Update)
Added a release note about HTTPS connections being required.
Use the Readiness Check to Guide Your Lightning Experience Transition
Added an announcement that the Readiness Check has been updated for Spring '20.

January 8, 2020
Financial Services Cloud Has New and Changed Objects
Updated two release note entries to clarify that the RenewalChannel field on the Claim object and the FnolChannel field on the
InsurancePolicy object have been deprecated and not removed.

16
Salesforce Spring ’20 Release Notes Release Note Changes

Permission Set Groups: Greater Flexibility in Granting Permissions (Generally Available) on page 446
Updated Permission Set Group entries to include that the change and feature applies to Salesforce Classic.

January 1, 2020
Get Things Right with Right-to-Left Layout and Languages (Generally Available)
Clarified Lightning Right-to-Left (RTL) Language Support is now available for Financial Service Cloud, with support for Hebrew still
in beta.
Combine Duplicate Cases with Case Merge (Generally Available)
Changed soft-delete time frame to 15 days and clarified what happens when you delete merged cases vs when you save merged
cases. [Help doc]: Changed the limitation about "Cases that are in an Omni-Channel queue can't be merged." to “Duplicate cases
that are pending in an Omni-Channel queue or that are assigned to an agent, where the status is either Assigned or Opened, can
be merged."
Build Smart Schedules with Enhanced Optimization (Generally Available)
Added shift availability (beta), consecutive work (beta), and extended match work rules to the list of features that Enhanced
Optimization supports.
Schedule an Appointment That Immediately Follows Another (Beta)
Updated the dependency name to Immediately Follow.
Build Invocable Actions That Work for Multiple Objects
Deleted all references to the enforceSingleMember attribute from the code.
Hit Limits Less Often with More Efficient Record Update Processing
This RN now emphasizes that this applies to both Process Builder and Flow (not just Flow).
Metadata API
Added descriptions of six new fields on the CaseSettings Metadata API type.
Use Event Monitoring Logs to Track CPU Time Consumed by Apex Triggers
Added a release note announcing that the CPU_TIME field in Apex Trigger Events is now populated.
Attach Actions to Asynchronous Apex Jobs Using Transaction Finalizers (Pilot)
Added information that the feature is available only in scratch orgs that have enabled it at org creation time.
Prevent Identity Verification by Email for Users With Other Verification Methods on page 591
Added a description of the canConfirmIdentityBySmsOnly setting on the SessionSettings subtype of the SecuritySettings
metadata type.
Allow Users to Connect Orgs as a Data Source to Cross-Cloud Applications
Added a description of the Connect Org to Customer 360 Data Manager permission.
Route Chats Directly to Agents Who Aren't in the Queue
Added a release note announcing that an Omni-Channel routing limitation no longer exists.
Power Up Your Related Lists with Enhanced Related Lists (Generally Available)
Added a release note announcing that Enhanced Related Lists are generally available.
Automate Fulfillment and Payment Capture with Flows
Clarified that all three managed flows and the process provided with Salesforce Order Management are templates that you clone
and customize to meet your business requirements.
Tooling API
Added the RunInMode field on the Flow object.
Metadata API
Added information about a new enum value for the standardLabel field on the QuickAction Metadata API type.

17
Salesforce Spring ’20 Release Notes Your Feedback Matters

New Salesforce Mobile App: A Major Upgrade, Plus Navigation and Search Improvements
Updated availability statements throughout the Mobile section to more accurately reflect availability of new Salesforce mobile app
features. Lightning-powered customization options will be available when Spring ’20 rolls out to your org. If your users are running
the most recent version of the Salesforce mobile app available in the App Store or Google Play, they see improved navigation and
Lightning features. All other changes, including Einstein Voice Assistant (Beta), search Recommended Result, and the Einstein Analytics
navigation item, will be available in a mobile app update the week of February 17, 2020.
Work Capacity Data Model No Longer Available
Added a release note announcing the removal of the Work Capacity data model.
New and Changed Objects
Added list of object no longer available because of the Work Capacity data model removal.

December 16, 2019


Salesforce Spring ’20 Release Notes
Published preview release notes.

Your Feedback Matters


We know how important our documentation is to your company’s success. We want to know what works for you and what doesn’t.
• Trailblazer Community—Post your feedback in the Release Readiness Trailblazers group. To help us track and respond to your
feedback, use a hashtag that indicates the release, such as #Winter20Feedback.
• Feedback forms—As you work with our documentation in Salesforce Help, release notes, or developer guides, look for the feedback
form and vote up or down. Add comments if you have them.
• Twitter—When you follow @salesforcedocs on Twitter, you receive notices whenever we publish new documentation or make
significant updates to existing documentation. Tweet us at @salesforcedocs.

Get Ready for the Release


Reading the release notes is a great step in preparing for the release. These other resources help get you, your org, and your users ready
for what’s coming your way. We add resources throughout the release when they become available, so check back often.

What’s New This Release


• Release Overview Deck (ROD). Create internal training for your users, review setup screens, and learn how to use features.
• Release Matrix. Quickly see which features immediately affect your users.
• Spring ’20 Pre-release Signup. Sign up for a pre-release org to get early access to the new features.
• Release Readiness Live. Register and make the most of the new features.
• Release Demos. Get quick video overviews of what’s coming this release.
• Spring ’20 Release Website. Check out the new features.
• Spring ’20 Release Highlights Module. Get the Spring ’20 Trailhead badge.
• Release in a Box. Use this kit to prepare and present the new release to your org and users.

18
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Release Readiness Essentials


• Release Readiness Trailblazers. Access resources and experts for all things release readiness.
• Release Milestones. See key dates for the release.
• Trust Status Maintenances. See sandbox and other release dates and times. Click Instances and your instance to see your maintenance
dates.
• Sandbox Refresh Calculator. Plan if and when you need to refresh your existing sandbox orgs.
• Sandbox Preview Video. Learn how to navigate the sandbox preview process.
• Sandbox Preview Instructions. Get early access to new features in your sandbox.
• Customer Success Event Calendar. Register for release overview webinars and access recordings.
• Certification Release Maintenance Schedule. Keep your certification updated in Trailhead.
• Prepare for Salesforce Releases. Use Trailhead to create your release strategy.
• Releases Email Journey. Prepare for releases by subscribing to emails.

How and When Do Features Become Available?


Some features in Spring ’20 affect all users immediately after the release goes live. Consider communicating these changes to your users
beforehand so that they’re prepared. Other features require direct action by an administrator before users can benefit from the new
functionality.

Supported Browsers
We’ve made some changes to our supported browsers documentation, making it easier to find what you need. Supported browsers for
Salesforce vary depending on whether you use Salesforce Classic or Lightning Experience.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Supported Browsers for Lightning
Experience

Supported Browsers for Salesforce


Classic

Supported Browsers for Einstein


Analytics

Salesforce Overall
Get ready for Lightning Experience with an enhanced Lightning Experience Configuration Converter, and guide your users with
customizable in-app prompts. Empty your Recycle Bin in Lightning Experience with a single click and manage your deleted reports and
dashboards. Work faster with App Launcher enhancements, use the latest Lightning Experience features with the Lightning Extension,
and literally say “Hello!” to Einstein with Einstein Voice Assistant.

19
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Lightning Experience Transition: Critical Update, Configuration Converter, Readiness Check

Turn On Lightning Experience Critical Update Activates Starting January 7, 2020

Lightning Experience is Permanent After It’s


Enabled

Default User Experience After Lightning


Experience Is Turned On

Lightning Experience Configuration Converter: New Home Tab, Convert JavaScript Alerts

Manage All Lightning Experience


Configuration Converter Tabs from One
Place (Beta)

Convert JavaScript Alerts to Lightning


Components

Convert JavaScript Buttons on Contract and


Task Objects

Use the Readiness Check to Guide Your


Lightning Experience Transition

Lightning Experience Engagement: In-App Guidance Prompts

In-App Guidance: Profile Filtering, Videos, and Translation Support

Specify Profiles When Creating Prompts

Add Videos to Docked Prompts

Use Translation Workbench to Maintain


Prompt Labels

Customize When Prompts Appear to Users

Other User Interface Changes: Prompts

Delayed Availability: Give Feedback to


Salesforce (not immediately available)

Prepare for Google Chrome’s Changes


in SameSite Cookie Behavior That Can
Break Salesforce Integrations

Empty the Recycle Bin in One Step

Access Reports and Dashboards in the


Recycle Bin

Get a Boost with App Launcher


Enhancements

20
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Try New Lightning Experience Features
with the Lightning Extension for
Chrome (Generally Available)

Einstein Voice Assistant: Get More Done


on the Run (Beta)

Simplify Logins and Profiles on


Salesforce-Related Sites with
[Link]

Search

Enable Einstein Search Personalization


for an Org of Any Size and Try It in a
Sandbox Org (Beta)

Get Personalized Search Results for


Cases and Leads (Beta)

Gain Insight on Einstein Search by


Viewing Search Result Filters (Beta)

Get Search Suggestions Tailored to Your


Work to Find Records Faster (Beta)

Create a Filtered List of Records Using


New Time-Related Conditions (Beta)

See a Preview of Related List Records


(Beta)

Show What Matters Most with


Profile-Specific Search Results Layouts

See the Related Account When You


Search for Contacts or Opportunities

Get Search Results for More Objects

Salesforce Surveys: Customizable Participant Journey

Insert Responses from a Previous


Question

Jazz Up Your Surveys with Images

Improve Your Net Promoter Score® with


a Color-Coded Scale

Display Questions Based on Participant


Responses

21
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Let Participant Responses Determine
Their Path

Move to the Next Page with One Less


Click

Enjoy an Enhanced User Experience

Question Type Names Changed

Turn Customer Survey Data into


Actionable Intelligence with Customer
Lifecycle Analytics

Permission Change for Survey Email


Branding

Lightning Scheduler: Guest User Scheduling, Chronos for Lightning Scheduler, and Simplified Setup

Let Guest Users Schedule Inbound


Appointments

Simplify Setup with Lightning Scheduler


Setup Assistant

Pair Lightning Scheduler with Einstein


Bots

Enforce Skill Matching

Access a Service Appointment from an


Assigned Resource

Streamline Your Flows with the Review


Inbound or Outbound Service
Appointment Component

Do More with Lightning Scheduler API


Calls

Navigate to a Record’s Create Page with


Default Field Values

Power Up Your Related Lists with


Enhanced Related Lists (Generally
Available)

Require Secure HTTPS Connections


(Critical Update)

Open Hyperlinks in Formula Fields


Correctly (Previously Released Critical
Update)

22
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Keep Working with Tab-Focused Dialogs
(Previously Released Critical Update)

Salesforce CMS
Reuse your Salesforce CMS content across varied channels, both inside and outside Salesforce, including B2C Commerce Page Designer,
Marketing Cloud, and Heroku. CMS Home makes it easy to jump into CMS Workspaces and Experience Builder from the Salesforce CMS
app. And with flexible layouts, you can achieve the optimal layout for your custom content pages.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Use Your Salesforce CMS Content with
B2C Commerce Page Designer

Deliver Engaging Content Across


Multiple Channels and Sites

Access All Things CMS from CMS Home

Channel Content to Other Internal and


External Endpoints

Manage CMS Workspaces and Channels

Enhance CMS Content with Flexible


Layouts

Delete Content from Your Salesforce


CMS Workspaces

Enhance Your Custom Content Types


with Date, Datetime, and URL Nodes

Help Your Users Find the CMS Content


They Need

Add More Videos to Your Salesforce CMS


Workspace

Essentials
Get your support emails into Salesforce faster by directly connecting your Google account to Email-to-Case. Tidy your case list with Case
Merge. If you use Chat & Messaging, offer customers a menu of ways to contact you with a channel menu in your embedded chat
window. The Salesforce mobile app reflects your personalized navigation in Essentials and prioritizes the information you use the most.

23
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Get Connected Faster with
Enhancements to Email-to-Case

Merge Duplicate Cases to Clear Up Your


Support To-Dos (Generally Available)

Run Your Small Business from Anywhere


with the New Salesforce Mobile App

Give Customers a Menu of Conversation


Channels (Generally Available)

Sales
High Velocity Sales managers can branch sales cadences based on email engagement, and sales reps can schedule when emails are
sent. Let reps share their workload by assigning tasks to queues. Use Salesforce Billing Revenue Recognition API to report on revenue
recognition at any stage of the sales and finance process. Einstein Opportunity Scoring is available without a Sales Cloud Einstein license.
Collaborative Forecasts now supports inline editing in the opportunity list. Sales reps can specify email arrival times to increase the
chances of an email being read. And Pardot adds new analytics tools, including a dashboard for Einstein Behavior Scoring and an
Account-Based Marketing analytics app template.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
High Velocity Sales

Sales Cadences

Customize Outreach Based on Email


Engagement

Send Emails Automatically from Sales


Cadences

Preview Linked Sales Cadences

View Call Result Groupings When Building


Sales Cadences

Schedule and Manage Scheduled Emails


in High Velocity Sales

High Velocity Sales Reporting: Lead Performance Dashboard and Operational Report Improvements

See How Fast Your Team Is Working Their


Leads (Beta)

See More Information in Sales Cadence


Reports

24
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Give Reps the Weekend off from Sales
Cadences

Use the API to Inspect Sales Cadences

See More Details in the Work Queue

Enable Inbox Features for High Velocity


Sales in a New Location

Sales Users Can Filter Sales Cadence


Steps in the Activity Timeline

Keep Sales Cadences Moving Without a


Built-In Calling Solution

Sales Cloud Einstein

Core Sales Features

Opportunities

Focus on the Right Deals with Opportunity


Scores (not immediately available)

Use Filters to Narrow Opportunity Product


Searches in Lightning Experience

Collaborative Forecasts

Update Multiple Deals from the Forecasts


Page in Lightning Experience

Get More Options for Territory Forecasts

Enterprise Territory Management

Enhance Your Account Reports with


Territory Details

Get More Territory Forecast Types

Contacts

Automate Processes for Opportunity


Contact Roles

Use Account Criteria to Search Contacts for


List Emails in Lightning Experience

Leads

Price Book Entries

Path

25
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Other Changes in Core Sales Features

Clone Opportunities or Campaigns Along


with Their Related Records

Account and Opportunity Team Related List


Customization Is Supported

Enable Manual Account Sharing in


Enterprise Territory Management (Critical
Update, Enforced)

Customizable Forecasting Is Being Retired

Original Territory Management Is Being


Retired

Permission Changes for Collaborative


Forecasts and Fiscal Year Settings

Permission Changes to Original Territory


Management

Enforce Sharing Controlled by Parent for


Google Docs Related to Salesforce Records
(Critical Update)

Productivity Features

Email Experience

Schedule and Manage Scheduled Emails in


Lightning Experience

Use Drafts to Perfect Your List Emails

Quickly Identify Contacts for List Emails with


Account Criteria in Lightning Experience

Enable Compliance BCC Emails in


Professional Edition

Set Up Enhanced Email Relays (not


immediately available)

Prepare for the Updated Email Bounce


Warning

Get Ready for Email Address


Internationalization in Summer ’20

Track Changes to Send Email Access Level

26
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Email Certificate Authority List Was
Standardized

Email Templates

Validate Salesforce Merge Field Syntax When


Saving Email Templates

Manage Email Templates from the Template


Home Page

Update Visualforce Email Templates for


Guest Users

Activities

Einstein Activity Capture

See the Whole Conversation with Email


Threading

Find Einstein Activity Capture User Settings


in New Location

Connect Salesforce to Your Microsoft


Exchange Endpoint

Inbox Mobile App

Legacy Inbox App

Notes

Calendar

View Event Details Faster Than Ever

Create Object Calendars from the API

Lightning News

Gmail™ Integration

Know Which Recipients Have Email


Restrictions in the Gmail Integration

Classify the Events Logged to Salesforce


from the Gmail Integration

Work More Efficiently with Email


Templates in the Gmail Integration

Schedule High Velocity Sales Emails to


Send Later

27
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Enable Inbox Features for the Gmail
Integration in New Location

Integration with Microsoft®

Outlook® Integration

Know Which Recipients Have Email


Restrictions in the Outlook Integration

Classify the Events Logged to Salesforce


from the Outlook Integration

Work More Efficiently with Email Templates


in the Outlook Integration

Schedule High Velocity Sales Emails to Send


Later

Enable Salesforce Inbox Features in New


Location

Lightning Sync for Microsoft® Exchange®

Connect Microsoft Exchange with Salesforce


Using NTLM Authentication Protocol

Required Setting Change for Microsoft Office


365 Customers

Salesforce for Outlook

Salesforce for Outlook Is Being Retired in


December 2020

Restore Access If Service Is Interrupted


Before December 2020

Find Version-Specific Salesforce for Outlook


Release Notes

Salesforce CPQ and Billing

Salesforce CPQ

Order Usage-Based Products with Evergreen


Subscriptions

Do More with Improved Price Rules in the


Configurator

Apply Edit Rules Efficiently in the


Configurator

28
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Logic Updated for Percent Values in Price
Action Formulas

Expand or Collapse Bundles by Default

Enable Manual Edits for Quote Line


Consumption Rates

Transition from Managed Package Licenses


to Permission Set Licenses

Prevent Creation of Backdated Amendments

New Permissions for Previewing Quote


Documents

Salesforce Billing

Recognize Revenue Anywhere

Create Finance Periods for Custom Date


Ranges

Automate Conversion of Negative Invoice


Lines

Fixed Bug Preventing Users from Accessing


Billing Visualforce Pages

Pardot

Explore Factors That Determine


Behavior Scoring

Use Einstein Discovery Predictions to


Enhance Account-Based Marketing
Strategy (Pilot)

Explore Engagement History Data on


Leads and Contacts

See Most Engaged Accounts on


Campaign Records

See Engagement Activities on List Email


Records

Reveal Relationships Between Accounts


and Campaigns

Dataset Changes in B2B Marketing


Analytics Apps

29
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Retiring B2B Marketing Analytics Legacy
Apps

FullContact Connector Is Scheduled for


Retirement on January 31, 2020

Test Configuration Changes with Pardot


Sandboxes (Beta)

Other Changes in the Sales Cloud

[Link]

Service
Connect with customers using the channels they prefer by adding an Embedded Service Channel Menu to your website. Help your
agents resolve cases faster with Einstein Article Recommendations. Combine duplicate cases with Case Merge. Message with customers
internationally using WhatsApp. Set up shifts for Field Service to schedule work that’s outside of the usual schedule, such as holiday
hours or occasional overtime (beta).

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Einstein for Service

Einstein Article Recommendations


(Generally Available)

Einstein Reply Recommendations (Pilot)

Einstein Bots

Create Tailored Chatbot Experiences with


Conditional Messaging

Handle Errors Gracefully Using Conversation


Repair

Train Your Bot Faster with the Upgraded


Model Management Dashboard

Improve Your Bot with Granular


Conversation Logs

Create Smart Transfers over SMS with Agent


Availability

Increase Customer Engagement with the


Chatbot Typing Indicator

30
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
WhatsApp: Now Available for Einstein Bots

Einstein Bots: Other Bot Updates

Einstein Case Classification

Improve Einstein Field Value Predictions


with Segments and Example Data

Manage Multiple Models with a New Setup


Page Experience

Improve Predictions with More Data

Try Einstein Case Classification At No


Additional Cost

Field Service

Flex Your Field Service Scheduling with


Ad Hoc Shifts (Beta)

Schedule an Appointment That


Immediately Follows Another (Beta)

Build Smart Schedules with Enhanced


Optimization (Generally Available)

Assign Work to the Minimally Qualified


or Most Skilled Resource

Improve Field Service Wellness with


Health Check (Generally Available)

Get the Lowdown on Work Orders


Generated from Maintenance Plans

Work Capacity Data Model No Longer


Available

Field Service Mobile App

Stay Informed with an Improved Offline


Priming UI

Protect Sensitive Data with Security


Attributes

Do More in the Mobile App with Global


Actions

Run Service Report Flows in Android

Channels

31
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Messaging

Reach More Customers More Quickly with


Short Codes in the US

Support Your Customers with WhatsApp


(Generally Available)

Stay in the Clear with Consent Management

Strike Up Conversations from More Record


Types

Create Unique Sensitive Data Rules for


Messaging

Say Arrivederci to Messaging Support for


SMS in Italy

Embedded Service for Mobile Apps

Embedded Service for Web

Hello! Meet the Channel Menu (Generally


Available)

Set Language for Labels in the Code Snippet

Load Embedded Chat Quicker

Improve Mobile Accessibility for Web Chat

Customize Chat with Lightning Web


Components

Knowledge

Compare Versions of an Article to See


What Changed (Beta)

Spread Knowledge by Linking to Articles


in Chat and Messaging

Show or Hide Field Labels and Skip


Related Files from Inserted Articles

Resize Images in Rich Text Fields in


Google Chrome

Control File Attachments for Drafts and


Draft Translations

Set the Default Access for Files Attached


to Articles

32
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Find and Organize Articles with More
Data Categories

Routing

Keep Your Omni-Channel Supervisor


Filters

Make More Room to Work—Minimize


the Omni-Channel Widget When Work
Is Accepted

Route Chats Directly to Agents Who


Aren't in the Queue

Case Management

Cases

Combine Duplicate Cases with Case Merge


(Generally Available)

Customize How Timestamps Display in the


Case Feed

View and Edit Case Details from the List


View with Case Hover in Lightning
Experience

Choose Whether to Show or Hide Closed


Statuses in the Case Status Field

Save Time with Case Escalation Marker

View Followers from the Case Record Home


Page in Lightning Experience

Insert Code Samples into Case Feed Emails

Change the Case Owner on the Case Related


Record Component Via Inline Edit

Productivity

Automate Repetitive Tasks with Bulk Macros


in Lightning Experience

Run Macros Faster on Record Home Pages

Filter Actions by Status in the Actions &


Recommendations History Tab

33
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Make Actions & Recommendations
Deployments Mandatory (Critical Update,
Enforced)

Commerce
Salesforce Order Management brings the power of the Salesforce Platform to the world of ecommerce with tools to help you manage
every step of the order lifecycle.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Salesforce Order Management: Manage, Fulfill, and Service Orders at Scale (Generally Available)

Improve Efficiency with the Order


Management Console

Simplify Order Management with a


Single View of Order History

Automate Fulfillment and Payment


Capture with Flows

Connect Commerce with Service

Integrate with Supply Chain Partners


for End-to-End Automation

Analytics
Analytics includes Reports & Dashboards, Einstein Analytics, and Einstein Discovery. The Spring ’20 Analytics improvements focus on
increasing connections and productivity alongside a simplified experience. Build reports faster with a new feature that lets you switch
live updates to the report preview on or off. Dashboard builder’s collaborative version management, targeted faceting, and interaction
building, can all be completed with clicks not code. Query live Salesforce data directly in Einstein Analytics with Direct Data. Build a
predictive model in Einstein Discovery and use what-if analysis to determine possible future outcomes.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Reports and Dashboards

Turn Off Automatic Updates to the


Report Preview to Edit Reports Faster
(Generally Available)

34
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Attach Formatted Spreadsheets to
Report Subscriptions (Beta)

Filter Reports by Field Comparisons with


Field-To-Field Filters (Generally
Available)

Count Unique Values in Report Results


(Generally Available)

Exclude the Confidential Information


Disclaimer from Formatted Report
Exports

Work with Reports and Dashboards in


a Right-to-Left Language (Generally
Available)

Export up to 5 Reports at Once Per User

Legacy Folder Sharing Is Retiring in


Winter ’21

Einstein Analytics

Data Integration

Visualize Where Dataset, Lens, Dashboard,


and Story Data Originates

Analyze 10X More Data Using the Einstein


Analytics Plus License

Sync from Mulesoft-Connected Data


Sources

Sync Data from Mulesoft-Connected SAP


SuccessFactors

Bring Your Customer 360 Global Profile Data


into Analytics (Beta)

Connect to Your Data in SugarCRM,


Zendesk, Teradata, Google Cloud Storage,
SAP SuccessFactors, and Zuora AQuA[Pilot]

Connect to External Salesforce Object Data


with Specialized Connectors [Pilot]

Sync Your Google BigQuery Standard SQL


Data

35
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Sync Marketing Cloud Data with OAuth 2.0
Authentication

Schedule Data Sync for Your Local Objects


with More Granularity

Filter Data Synced from External


Connections

New Limits for Microsoft Azure SQL


Database and Netsuite Connectors

New Connector Sync Limits for FIPS 140-2


Validated Encryption Orgs

Provide Dataset Row-Level Access to More


Users Automatically

Save More Dataflows

Prepare for Automated Schedule Removals


in Sandbox and Developer Edition Orgs

With Pre-Flight Check, Stay Updated as You


Enable Einstein Analytics

Use Current or New Amazon SSL/TLS


Certificates from Connected RDS and Aurora
Systems

Prebuilt Templates and Apps

Build Your Own Beautiful Analytics Apps


Fast with the Design Analytics Template

Accelerate Retail Business Results with


Einstein Analytics for Consumer Goods

Get Instant Insights into Survey Data with


Einstein Analytics for Salesforce Surveys

Create the Latest Version of the Einstein


Adoption Analytics App Without Installing
a Managed Package

Improve the Reliability of Einstein Discovery


Predictions with the Accuracy Analytics
Template

App Building

With Direct Data, Explore Salesforce Data


Without Datasets

36
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Explore Multiple Datasets with a Single
Query (Beta)

Easily Identify Fields in Measure and Group


Selectors

Bindings Are Now Called Interactions

Creating Interactions Just Got Easier with


the Advanced Interaction Editor

Create Dynamic Reference Lines in Charts


Without Code

Specify Targeted Faceting Without Code

Manage How Records Open from an


Embedded Dashboard

Add Any URL to Widget Custom


Onboarding

Check Out the Refreshed Einstein Analytics


Record Actions

Display Grand Totals and Subtotals in Tables

Customize Number Formatting in Lenses


and Dashboards

Streamlined Number Behavior in Charts and


Widgets

Packaging and Changesets Include User


Extended Metadata (XMD)

Meet Compact Form 2.0 (Beta)

Gain Insights on Data Directly in Snowflake


(Beta)

Collaborate on a New Version of a


Dashboard Behind the Scenes with
Publisher Feature (Generally Available)

Fine-Tune Control Over Data Integration


with Multiple Dataflows in an Analytics
Template

Import Data from Multiple Sources to Apps


by Adding Connectors to Analytics
Templates

37
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Transform Your JSON Content Anywhere in
Lightning Experience

React to Asset Loaded with Analytics Web


SDK

Get Familiar with JSON Changes for


Dashboard Designer

Einstein Discovery

Amplify Live Prediction Scoring with


External Data

Simulate Future Outcomes with What Could


Happen Insights

Keep Track of Story Changes

Get the Best Predictions of Three Different


Models (Pilot)

Smart Feature Selection for Logistic Models

Identify Key Drivers Before Creating a Story

Crunch More Data with Einstein Discovery


(Pilot)

Deploy Models Without Salesforce Objects

Quickly Drill Down Into Insights

Retiring Einstein Discovery Classic

Analytics for Everyone

Stay on Track with the Einstein Analytics


Watchlist (Beta)

Email Notifications to Multiple Recipients

Preview and Customize Subscriptions (Beta)

Earn Trailhead Badges for Learning in the


Analytics Studio

Mobile Apps

38
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Communities
Your partners and customers can now create and run reports on communities and portals. With the ExperienceBundle metadata type,
quickly update and deploy Lightning communities programmatically using your preferred development tools. Various security
enhancements help keep your data safe. And help service agents contact customers on a variety of channels using the Service Cloud’s
Channel Menu. Create and modify Lightning community audiences programmatically.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Lightning Communities

Report Builder for Lightning


Communities (Generally Available)

View Reports in Lightning Communities


(Generally Available)

Stretch Your Flexible Layouts Further

Use the New Page Name Attribute for


Community Navigation

Account and Opportunity Team Related


List Customization Supported in
Communities

Updated Search Route Parameter on


Community Search Pages

Go On a Better Round-Trip Between Full


Feed and Feed Item Detail

Create More Audiences, Search Using


Wildcards, and Sort

Add the Record Related List Component


to Your Help Center

Create Dazzling Experiences Across


Channels with Salesforce CMS

Removed ID Fields from Topics


Components

Developer Productivity

Update and Deploy Lightning Communities with ExperienceBundle (Generally Available)

Programmatically Create and Publish


Communities in Scratch Orgs

Do More with ExperienceBundle

Personalize Your Community Via the API


(Generally Available)

39
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Build Fast, Efficient Experiences with a
New LWC-Based Template (Developer
Preview)

Use Relaxed CSP in Lightning


Components for Communities

Guest User Sharing

Secure Guest Users’ Org-Wide Defaults


and Sharing Model (Security Alert,
Enforced)

Secure Object Permissions for Guest


Users (Security Alert)

Removed View All Users and Other


Permissions from Guest User Profiles in
Sandbox Environments

View All Users and Other Permissions


Disabled in Guest User Profiles (Security
Alert, Enforced)

Automatically Assign Records Created


by Guest Users to a Default Owner
(Previously Released Security Alert)

Retiring Some User Permissions on the


Guest User Profile

Opt Out of Guest User Security Policies


Before Summer ’20 (Critical Update)

Opt Out of Turning Off


Community-Specific Setting for Guest
Users to See Other Members (Critical
Update)

Ensure That Your Guest User Sharing


Rules Provide Intended Access

Ensure Guest User Access to Emails


Created with Visualforce Email
Templates

Sharing and Security

Let Community Users Log In with Their


Apple ID

40
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Verify Your Community Domain for
External Services

Verify Identity by Text Message Instead


of Email

Switch Lightning Locker On and Off in


the UI

Limit API Access to Installed Connected


Apps

Block Certain Fields in the User Record


for Orgs with Communities and Portals
(Security Alert and Critical Update,
Enforced)

Set External Access Levels for More


Standard Objects (Generally Available)

Prevent Using Standard External Profiles


for Self-Registration and User Creation
(Security Alert and Critical Update,
Enforced)

Other Changes in Communities

Talk to Customers Where They Want


with the Channel Menu

Display Warning When a Community Is


Accessed with an Unsupported Browser

External Account Hierarchy (Beta)

Use a Permission Set to Assign the


Delegated External User Administrator
Permission

Name Change for Community


Workspaces and Builder

Experience Workspaces Is No Longer


Supported in Microsoft Internet Explorer
11

Chatter Feeds
Choose how to display time stamps for case feed posts and comments.

41
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Set the Date and Time Stamp Format
for Case Feed Items

Files
Prepare to switch your file rendition in the Chatter REST API from Adobe Flash to SVG.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Switch Your File Rendition Resource
with the Chatter REST API

Mobile
In Spring ’20, all active Salesforce mobile app users get upgraded to the new Salesforce mobile app. Admins and users alike can take
advantage of expanded customization options, powerful Lightning functionality, and improved performance. Mobile Publisher for
Communities gets even better with Apple Wallet access and a new app specifically for testing.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
New Salesforce Mobile App

Welcome to the New Salesforce Mobile


App

Everything That’s New in the New


Salesforce App

App Store and Google Play Updates

Salesforce Mobile App Requirements

Support Has Changed for the New


Salesforce Mobile App Tablet
Experience

Plan for Salesforce Mobile Web Browser


Experience’s Retirement

Access Einstein Analytics on the Go With


the New Mobile Navigation Item

Mobile Cards Are Not Available in the


New Salesforce Mobile App

42
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Customize More of the Navigation Bar

See More Details When You Search

Find the Right Record Fast with


Recommended Result on Mobile (Beta)

Account and Opportunity Team Related


List Customization Supported on Mobile
Devices

Update Paths with Dependent Picklists


on Mobile Devices

Get Your Colleagues on the Same Page


with Link Sharing

Boost Productivity for Your Mobile Users


with Einstein Voice Assistant (Beta)

Shield Your Data with Enhanced Mobile


Security Updates

Enable the New Salesforce Mobile App


(Critical Update)

Mobile Publisher

Test Your Mobile Communities with the


Playground App (Beta)

Add a Pass to Apple Wallet (iOS Only)

Other Mobile Enhancements

MobileSession Object Was Removed

Apex Mobile User (Salesforce Internal


Use Only) Field Was Removed

Track Changes to Connected App and


Notification Delivery Settings

Sustainability
Gain critical insights about your carbon footprint. Using global emission factors to calculate greenhouse gas emissions, Sustainability
Cloud helps you collect, categorize, and analyze energy usage and greenhouse gas emissions data throughout your organization’s
business activities. And because it’s built on top of the Salesforce Lightning Platform, you have access to tools that facilitate collaboration,
project management, and reporting.

43
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Report and Reduce Your Carbon
Footprint

Industries
Our vertical solutions now include Salesforce Emergency Response Management, which helps you deliver resources and services faster
when people need it most. In Health Cloud, you get contact tracing and monitoring, plus easier setup for care plans and more options
for finding the right care provider. Financial Services Cloud brings you more visibility into distributors and a new API for creating mortgages.
Consumer Goods Cloud helps field reps maximize their impact and track stock levels, and Manufacturing Cloud offers account managers
greater control and improved visibility into sales agreements and account forecasts.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Introducing Salesforce Emergency Response Management

Introducing Contact Tracing for


Employees

Introducing Emergency Response


Management for Public Health

Introducing Emergency Response


Management for Public Sector

Emergency Response Management Has


New and Changed Objects

Financial Services Cloud

Mortgage for Financial Services Cloud: New Mortgage Lending API, Create Loan Applications from Accounts

Enhance Mortgage Lending with API Calls

Create Loan Applications from Accounts or


Opportunities

Document Tracking and Approvals: Track Documents with Action Plans, Set Item Deletion Rules

Streamline Document Tracking with Action


Plans

Clean up Document Checklists While


Keeping Attachments

Insurance for Financial Services Cloud: Distributor Performance Management, Producer Life Event Management, Producer
Relationship Cards, and Enhanced Metrics and Charts

44
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Monitor Distributor Performance with the
Distributor Performance Dashboard and
Metrics

Develop Deeper Bonds with Producers with


the Life Events or Business Milestones
Component

Keep Key Producer Information Handy with


Producer Relationship Cards

Include Multi-Producer Policies When


Calculating Policy-Related Metrics and
Charts

Action Plans: Action Plan Template Cloning and Packaging

Create Copies of Action Plan Templates with


Deep Cloning

Share Action Plan Templates Using


Packaging

Associate Document Checklist Items with


Action Plan Templates

Changes to Action Plans License

Enhanced Usability for Financial


Services Cloud

Fine-Tune Your Pipeline with Einstein


Referral Scoring (Generally Available)

Financial Services Cloud Has New and


Changed Objects

REST API

Health Cloud

Protect Your Community with


Emergency Response Management

Templates and Improved Usability for Care Plans

Create Care Plans with a Single Flow

Create Care Plan Templates That Fit Your


Use Case

Categorize Templates, Problems, and Goals

45
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Add Templates to Existing Care Plans Faster
with a New Button

Customize Task Names and Dates During


Care Plan Creation

Change Task Status with Fewer Clicks

Create Care Plans Faster with Fewer Clicks

Customize Provider Relationship Cards

More Options for Helping Users Find


Care Providers

Create and Customize Care Programs More Efficiently

Copy Existing Consent Forms for a New Care


Program

Customize the Disclaimer Message for


Capturing Electronic Signatures

Include Care Plans in the Program


Enrollment Flow

Keep Track of Your Patients’ Communication


Preferences

Access Control Changes

Magnify Patient Care Delivery Expertise


With Einstein Analytics for Healthcare
Enhancements

Health Cloud Has New and Changed


Objects

Consumer Goods Cloud: Optimized Visit Sequences, Stock Level Monitoring, and Improved Business Performance

Accelerate Business Performance with


Einstein Analytics for Consumer Goods

Simplify Retail Execution with Sales


Agreements for Consumer Goods Cloud

Get Optimized Visit Sequences with


Salesforce Maps

Find Product Details on Mobile Devices


Using the Barcode Scanner

Track Key Performance Indicators for


Product Categories

46
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Save Reusable Tasks and Use Them
Across Templates

Changes to Action Plans License

More Control of Object Detection Data

Store Your Einstein Object Detection Data


Locally

Control Access to Einstein Object Detection

Disable Einstein Object Detection Models

Increase Productivity with New Key


Performance Indicator Type

Consumer Goods Cloud Has New and


Changed Objects

Manufacturing Cloud: Enrich Your Experience with Sales Agreement and Account Forecast Enhancements

Use Your Metrics to Customize Account


Forecasts

View Forecast Revenue Metrics in Your


Account’s Currency

Add New Products to Account Forecast


with One Click

Find Agreement Terms and Account


Forecasts by Product

Update Multiple Values in Agreement


Terms and Account Forecasts

Monitor Revenue Realization and


Account Performance with Dashboards
(Beta)

Strengthen Forecasting and Get Deeper


Insight Into Product Demand with
Einstein Analytics for Manufacturing

Use the Manufacturing Partner


Community Template with a New
License

Add Field Recalculations and Mass


Updates to Your Processes and Flows

47
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Manufacturing Cloud Has New and
Changed Metadata Types

Manufacturing Cloud Has New Tooling


APIs

Manufacturing Cloud Has New


Invocable Actions

Shared Industries Metadata API

myTrailhead
Trailmaker Content gets a makeover. Customers can set up their own myTrailhead subdomain. Support for Internet Explorer 11 (IE 11)
is ending.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Create Content with Efficiency and Ease
Using the Redesigned Trailmaker
Content

Create Your Own myTrailhead


Subdomain in a Flash

Support for Internet Explorer (IE11) on


myTrailhead Is Ending

Customization
Build flows and processes more efficiently with enhancements to Flow Builder, flow management, and Process Builder. More easily
manage your translations, currency, and international dates and times. Build, configure, and manage predictions and recommendations
with updates to Einstein Prediction Builder and Einstein Next Best Action.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Lightning Flow

Flow Builder

Update New and Changed Records 10 Times


Faster by Using Before-Save Updates in
Flows

48
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Configure Action and Create Records
Elements Without Creating Variables

Configure Get Records Elements Without


Selecting Fields

Deactivate Your Flow Without Leaving Flow


Builder

Build Invocable Actions That Work for


Multiple Objects

Run Flows Without Worrying About User


Permissions with System Mode

Select Related Record Values from Record


Variables with One Click

Reference a Newly Created Screen Field


Without Leaving the Screen Editor

Work More Efficiently in Flow Builder with


Keyboard Shortcuts

Locate Resources Quickly in the Manager


Toolbox Using API Name, Label, or
Description

Make It Easy for Admins to Find Your Actions


by Categorizing Them

Guide the Configuration of Your Invocable


Actions with Custom Property Editors (Pilot)

Lightning Flow Management

Cloud Flow Designer Is No Longer Available

Hit Limits Less Often with More Efficient


Record Update Processing

Enforce Data Access in Flow Formulas


(Critical Update)

Make Flows Respect Access Modifiers for


Legacy Apex Actions (Critical Update)

Evaluate Criteria Based on Original Record


Values in Process Builder (Previously
Released Critical Update)

Enable Partial Save for Invocable Actions


(Critical Update, Enforced)

49
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Return Null Values in Process and Flow
Formulas (Critical Update, Enforced)

Require User Access to Apex Classes Invoked


by Flow (Critical Update, Postponed)

Generate Valid HTML Output from Formulas


in Processes and Flows (Critical Update,
Retired)

Save Successful Record Changes in a Batch


from Failed Actions in Processes and Flows

Desktop Flow Designer Was Retired

Process Builder

Automate Opportunity Contact Role


Creation and Updates with Lightning Flow

View Processes That Subscribe to a Platform


Event

Stop Automated Field Updates from


Suppressing Email Notifications (Critical
Update, Enforced)

Globalization

Keep Your Translations Up to Date

Get Things Right with Right-to-Left


Layout and Languages (Generally
Available)

Enable ICU Locale Formats (Previously


Released Critical Update)

Prepare for Language and Locale


Format Changes

Use Advanced Currency Management


in Lightning Experience

Connect with Customers Who Speak and


Read Persian

Other Translation Workbench Changes

Einstein Prediction Builder: Try Einstein Prediction Builder, Make Informed Predictions with Trusted AI Help, and Build
Filter-Based Predictions

50
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Predict the Future Using Filters in
Einstein Prediction Builder

Show Top Predictors on Records with


Einstein Prediction Builder

Try Einstein Prediction Builder At No


Additional Cost

Make Informed Predictions with Trusted


AI Help in Einstein Prediction Builder

Einstein Next Best Action

Analyze Next Best Action Usage with


Recommendation Strategy Metrics

Create Recommendations from the


Records of Any Salesforce Object

Launch Flows When Recommendations


are Rejected

Changes to Platform Status Alert Events

Encrypt Recommendation Description


Information

Lightning App Builder

Design Record Pages, Choose


Templates, and Configure Components
with Mobile in Mind

Improve Your Lightning Pages with


Guidance for App Builder

Add More Components to a Lightning


Page Region

Display Order Details with Order


Management Components

External Data

Integrate with Third-Party Services


without Exposure to Public Internet
(Pilot)

Changed Encryption Method for


External Data Credentials

Permission Set Groups

51
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Group Permission Sets Based on User
Job Function for Easier Assignment
(Generally Available)

Track Permission Set Edits with a New


Confirmation Menu

Manage Permissions in Permission Set


Groups with a Muting Permission Set
(Generally Available)

Sharing

External Org-Wide Defaults Are Enabled


by Default in All New Orgs

The External Sharing Model Can No


Longer Be Disabled

Safeguard Your Data by Setting External


Access Levels for the Lead and
Campaign Objects (Generally Available)

Changes to Sharing API Access

AppExchange

Manage AppExchange Installs and


Settings with Ease Using [Link]

Hire Confidently with Enhanced


Salesforce Consultant Reviews on
AppExchange

General Setup

Require Customize Application


Permission for Direct Read Access to
Custom Settings (Critical Update,
Enforced)

Protect Custom Settings in Developer


and Scratch Orgs

Control Who Gets Read Access to


Custom Settings

Make More Connections the Enhanced


External Services Way (Generally
Available)

52
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Require Permission to View Record
Names in Lookup Fields (Critical Update)

Secure Your Sandbox Data with


Salesforce Data Mask

Permission Changes for Administrator


Tasks

Changes to Managing User Preferences

Security, Privacy, and Identity


Give your users more authentication options by allowing them to authenticate with their Apple ID, Face ID, or Touch ID. Or set stricter
requirements by only allowing authentication by SMS. Restrict external user access to Salesforce APIs through connected apps. My
Domain certificates and URL formats are changing. Use Real-Time Event Monitoring platform events to detect common threats to your
org (Beta). And Encrypt all your platform events including Salesforce Event Monitoring streamed events.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Authentication and Identity

Let Users Log In to Salesforce with Their


Apple ID

Verify Your Domain Name for External


Services

Prevent Identity Verification by Email

Limit API Access for External Users

Apply the Request Signature Method to


Your Single Logout Settings

The OAuth Approval Page Timeout Has


Increased

Discover the Session Status for Content,


Visualforce, and Lightning Pages

Allow Users to Connect Orgs as a Data


Source to Cross-Cloud Applications

Use an Updated API Version for Social


Sign-On

Domains

53
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Use Custom Domains for Sandboxes
(Pilot)

Route My Domains Through Salesforce


Edge (Previously Released Critical
Update)

Stabilize the Hostname for My Domain


URLs in Sandboxes (Previously Released
Critical Update)

Stabilize URLs for Visualforce,


Experience Builder, [Link] Studio, and
Content Files (Previously Released
Critical Update)

Get Stabilized My Domain URLs in New


and Refreshed Sandboxes

Salesforce Shield

Shield Platform Encryption: Encryption for Platform Events

Encrypt Platform Events

Remove the Manage Encryption Keys


Permission from the System Admin Profile
(Previously Released Critical Update)

Encrypt the Next Best Action


Recommendation Description Field

Event Monitoring: New Threat Detection Real-Time Events (Beta), Legacy Transaction Security Retiring, Event Monitoring
Analytics App Improvements

Detect Threats to Your Org (Beta)

Determine If an Apex Request Is Counted


as a Long-Running Request in the
EventLogFile

Migrate Legacy Policies (Critical Update)

Data Protection and Privacy

Track Customer Consent Preferences

Manage Communication Subscriptions

Store Multiple Contact Points and


Consent Information

54
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Edit Data Classification for Custom
Fields in Managed Packages

Other Changes

Automatically Assign Records Created


by Guest Users in Salesforce Sites to a
Default Owner

Whitelist Trusted URLs

Changes to Session-Security-Level
Policies

Monitor More Changes in the Setup


Audit Trail

Changes to Named Credentials

Deployment
Uploaded change sets are available for deployment sooner. New change set components are available.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Deploy Customizations Sooner After
Uploading a Change Set

New and Changed Components for


Change Sets

Development
Whether you’re using Lightning components, Visualforce, Apex, or our APIs with your favorite programming language, these enhancements
help you develop amazing applications, integrations, and packages for resale to other organizations.

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Lightning Components

The @track Decorator Is No Longer


Required for Lightning Web
Components

55
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Wire Adapters Not Guaranteed to Emit
Objects with Strict Equality

Style Lightning Web Components with


Custom Aura Design Tokens

Smarter Source Tracking for Lightning


Web Components in Scratch Orgs

Lightning Base Components: Open


Source

Aura Components in the ui Namespace


Are Deprecated

Aura’s JavaScript API Reference


Documentation Moved to the Developer
Guide

Manage Resource Loading for CSP


Trusted Sites

Use Components in Lightning


Communities with Lightning Locker
Disabled

Navigate Users to a Record’s Create


Page with Default Field Values

Lightning Locker Sanitizes insertHTML


Content

Communicate Across Salesforce UI


Technologies with Lightning Message
Service (Beta)

Increase Productivity with Local


Development for Lightning Web
Components (Beta)

DOM API Changes May Require UI Test


Updates

Update Attribute Values for Snapshots


Created by Jest Tests

Freeze JavaScript Prototypes Session


Setting Removed

Install Linting in Salesforce DX Projects


with Ease

56
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Critical Updates: Profile-Based Access for @AuraEnabled Apex Classes, and More

API Only Users Can Access Only Salesforce


APIs (Critical Update, Enforced)

Restrict Access to @AuraEnabled Apex


Methods for Guest and Portal Users Based
on User Profile (Critical Update, Postponed)

Use with sharing for @AuraEnabled Apex


Controllers with Implicit Sharing (Critical
Update, Postponed)

Disable Access to Non-global Apex


Controller Methods in Managed Packages
(Critical Update, Postponed)

Enable Dependency Access Checks In


Lightning Components (Critical Update,
Postponed)

Restrict Access to @AuraEnabled Apex


Methods for Authenticated Users Based on
User Profile (Critical Update, Postponed)

Enforce Access Modifiers on Apex Properties


in Lightning Component Markup (Critical
Update, Postponed)

Prevent Creation of Function Expressions in


Dynamically Created Aura Components
(Previously Released Critical Update)

Security Alerts: Restricted Access to @AuraEnabled Apex Methods Based on User Profile

Restrict Access to @AuraEnabled Apex


Methods for Guest and Portal Users Based
on User Profile (Security Alert)

Restrict Access to @AuraEnabled Apex


Methods for Authenticated Users Based on
User Profile (Security Alert)

Einstein Platform Services

Einstein Vision: More Detailed Error Messages

Get More Detailed Error Messages for


Einstein Object Detection Training API Calls

Einstein Language: New Model Metrics

57
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Better Understand Your Model with New
Elements in Language API Model Metrics
Response

Einstein Platform

Run Einstein Predictions in a Sandbox


Org

Visualforce

Communicate Across Salesforce UI


Technologies with the Lightning
Message Service API (Beta)

Prevent Security Vulnerabilities with


Type Checking for Remote Methods
with ID Parameters

Remove Instance Names from URLs for


Visualforce, Experience Builder,
[Link] Studio, and Content Files
(Previously Released Critical Update)

Permission Changes for Visualforce


Access Metrics

Apex

Enable Field- and Object-Level


Permissions Checking Using WITH
SECURITY_ENFORCED in SOQL Queries
(Generally Available)

Enforce Field- and Object-Level Security


in Apex (Generally Available)

Attach Actions to Asynchronous Apex


Jobs Using Transaction Finalizers (Pilot)

Restrict Reflective Access to Non-Global


Constructors in Packages (Critical
Update)

Enable Improved Caching of Org


Schema (Critical Update)

Use Generic sObject Data Types in


Invocable Methods and Invocable
Variables

58
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Use Event Monitoring Logs to Track CPU
Time Consumed by Apex Triggers

API

Find Related Object Documentation


More Easily

Untangle Your Dependencies with


MetadataComponentDependency
Queries in Production and Sandbox Orgs
(Beta)

Improved Symbol Table Generation

Use More API Calls

No Maximum Daily Cap for API Calls

View Monthly API Calls with a New


Usage-Based Entitlement

Custom Metadata Types

Require Customize Application


Permission for Direct Read Access to
Custom Metadata Types (Critical
Update, Enforced)

Protect Custom Metadata Types in


Developer and Scratch Orgs

Salesforce CLI

Save Time and Reduce Errors with


Autocomplete

View Progress When Deploying


Metadata

Eliminate the Guesswork with Enhanced


Standard DX Templates

Get Improved Code Coverage Results


for Your Apex Tests

Scratch Orgs: New Features

Create Scratch Orgs with More Features

Sandboxes

Clone a Sandbox with a Version


Different from Production

59
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Secure Your Sandbox Data with
Salesforce Data Mask

AppExchange Partners

Analyze Lightning Page Usage and


Company Information with
AppExchange App Analytics

Packaging

Skip Validation to Quickly Iterate


Package Development

Create and Install Package Versions


Faster

Update Managed Packages for External


Sharing Model Changes

View More Packaging Details in List and


Report Salesforce CLI Commands

Determine How Many Components


Display in Package Manager

Update Flows in Unlocked Packages

Change Data Capture

Expanded Object Support for Change


Data Capture

Enrich Change Event Messages with


Fields That Are Always Included (Pilot)

Change Events Are No Longer Blocked


When Encryption Is Not Enabled

Platform Events

Encrypt Platform Event Messages in the


Event Bus

Get Your Platform Event Entitlement


Based on Your Contract Start Date

Quip
Connect your Salesforce orgs to Quip faster than ever. Bring your filtered reports to Quip and embed them on Salesforce records to have
them filter dynamically. Automate your business workflows with new Quip actions in Process Builder and Flow Builder. View and edit
your related Salesforce lists views with the updated Salesforce List Live App.

60
Salesforce Spring ’20 Release Notes How and When Do Features Become Available?

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Import Related Lists into a Quip
Document (not immediately available)

Get Insights on Quip for Customer 360


Usage (not immediately available)

Dynamically Filter Live Salesforce


Reports from Quip (not immediately
available)

Get Summarized Salesforce Reports in


Quip (not immediately available)

Keep Your Quip Templates Up-to-Date


with Dynamic Live Apps (not
immediately available)

Automate Workflows with New Quip Process and Flow Builder Actions

Add Users with Different Access Levels


to a Quip Document

Mark a Document as Complete with


Lock Edits

Add Live Apps to a Quip Template

Update Cloned Documents Using Text


Detection

Control When and Where Your Quip


Content Is Shared

Copy Comments from a Quip Template

Quip Component Is Now the Quip


Associated Documents Component

Use Ready-Made Quip Templates in


Salesforce

See Quip Documents Linked to Related


Records

Log In to Quip with Multiple SSOs

Use Salesforce Live Apps Without


Reconnecting (not immediately
available)

Set Up Quip for Salesforce In Fewer


Steps

61
Salesforce Spring ’20 Release Notes Supported Browsers

Enabled for Requires Contact


administrators/ administrator Salesforce to
Feature Enabled for users developers setup enable
Add Quip Slides to Salesforce Records

Mail Merge Lookup Field Limit Removed

Use Rich-Text Editing for Quip


Documents from the Files Tab

Supported Browsers
We’ve made some changes to our supported browsers documentation, making it easier to find what you need. Supported browsers for
Salesforce vary depending on whether you use Salesforce Classic or Lightning Experience.

IN THIS SECTION:
Supported Browsers for Lightning Experience
See the supported browsers and limitations for Lightning Experience.
Supported Browsers for Salesforce Classic
Salesforce Classic supports Microsoft® Internet Explorer® 11 and Apple® Safari® version 12.x on macOS. The most recent stable versions
of Microsoft Edge, Mozilla® Firefox®, and Google Chrome™ are also supported.
Supported Browsers for Einstein Analytics
The supported browsers for Einstein Analytics are Microsoft® Edge, Microsoft Internet Explorer® 11, and the most recent stable versions
of Mozilla® Firefox® and Google Chrome™. Analytics isn’t supported on Apple® Safari®.

Supported Browsers for Lightning Experience


See the supported browsers and limitations for Lightning Experience.
Where: Lightning Experience is available in the Essentials, Group, Professional, Enterprise, Performance, Unlimited, and Developer
editions.

Note:
• Salesforce doesn’t support non-browser applications that embed WebView or similar controls to render content for Salesforce
Classic, Lightning Experience, or Salesforce mobile web. Examples of approaches that embed this type of control include
Salesforce Mobile SDK, Microsoft’s WebBrowser Control, Electron’s embedded Chromium browser, iOS’s UIWebView and
WKWebView, and Android’s WebView.
• You can’t access Lightning Experience in a mobile browser. Instead, we recommend using the Salesforce app when you’re
working on a mobile device. For a list of supported mobile browsers on Salesforce, see Requirements for the Salesforce App.
• Lightning Experience doesn’t support incognito or other private browsing modes.
• As a beta feature, we’re allowing admins to give iPad iOS 12.0 users access to the full desktop version of Lightning Experience
on their devices. For more information, see Lightning Experience on iPad Browsers (Beta). Also, Apple released a new operating
system for iPad called iPadOS in fall 2019. By default, accessing Salesforce via Safari on iPadOS will load the desktop browser
user experience rather than the previous Salesforce mobile browser experience. For more information, see the knowledge
article Salesforce on the New iPadOS Operating System.

62
Salesforce Spring ’20 Release Notes Supported Browsers for Salesforce Classic

Important: Support for Internet Explorer 11 to access Lightning Experience is retiring beginning in Summer ’16.
• You can continue to use IE11 to access Lightning Experience until December 16, 2017.
• If you opt in to Extended Support for IE11, you can continue to use IE11 to access Lightning Experience until December 31,
2020.
• IE11 has significant performance issues in Lightning Experience.
• It is strongly recommended that you do not use Internet Explorer 11 with Community Builder.
• This change doesn’t impact Salesforce Classic.

Microsoft® Microsoft® Edge Google Chrome™ Mozilla® Firefox® Apple® Safari®


Internet
Explorer®
Lightning Experience IE 11 (EOL December Latest Latest Latest Latest
31, 2020)

Lightning IE 11 Latest Latest Latest Latest


Communities

Special setup No No No No No
considerations?

Limitations? Yes Yes No Yes Yes

Note: The term “latest” is defined by the browser vendors. Check with your browser vendor to determine the latest version
available.

SEE ALSO:
Prepare for Google Chrome’s Changes in SameSite Cookie Behavior That Can Break Salesforce Integrations

Supported Browsers for Salesforce Classic


Salesforce Classic supports Microsoft® Internet Explorer® 11 and Apple® Safari® version 12.x on macOS. The most recent stable versions
of Microsoft Edge, Mozilla® Firefox®, and Google Chrome™ are also supported.
Where: Salesforce Classic is available in all editions.

Note: Using Salesforce Classic in a mobile browser isn’t supported. Instead, we recommend using the Salesforce app when you’re
working on a mobile device. To see the mobile browsers that are supported for Salesforce, check out Requirements for the Salesforce
App.

Microsoft Internet Microsoft Edge Google Chrome Mozilla Firefox Apple Safari
Explorer
Salesforce Classic IE 11 Latest Latest Latest Latest

Salesforce Console IE 11 Latest Latest Latest No

Special setup Yes No No Yes No


considerations?

63
Salesforce Spring ’20 Release Notes Supported Browsers for Einstein Analytics

Microsoft Internet Microsoft Edge Google Chrome Mozilla Firefox Apple Safari
Explorer
Limitations? Yes Yes No No Yes

Note: The term “latest” is defined by the browser vendors. Check with your browser vendor to determine the latest version
available.

SEE ALSO:
Prepare for Google Chrome’s Changes in SameSite Cookie Behavior That Can Break Salesforce Integrations

Supported Browsers for Einstein Analytics


The supported browsers for Einstein Analytics are Microsoft® Edge, Microsoft Internet Explorer® 11, and the most recent stable versions
of Mozilla® Firefox® and Google Chrome™. Analytics isn’t supported on Apple® Safari®.

Salesforce Overall: Tools to Help You Transition to Lightning Experience,


Guide Your Users, and Boost Productivity
Get ready for Lightning Experience with an enhanced Lightning Experience Configuration Converter, and guide your users with
customizable in-app prompts. Empty your Recycle Bin in Lightning Experience with a single click and manage your deleted reports and
dashboards. Work faster with App Launcher enhancements, use the latest Lightning Experience features with the Lightning Extension,
and literally say “Hello!” to Einstein with Einstein Voice Assistant.

IN THIS SECTION:
Lightning Experience Transition: Critical Update, Configuration Converter, Readiness Check
Prepare your org and your users with tools that automate and speed up the transition process.
Lightning Experience Engagement: In-App Guidance Prompts
Motivate users to work in Lightning Experience with tools to drive adoption of key features, announce important updates, and to
engage with your users.
Prepare for Google Chrome’s Changes in SameSite Cookie Behavior That Can Break Salesforce Integrations
The Google Chrome 80 release changes the default cross-domain (SameSite) behavior of cookies. This change enhances security
and privacy, but requires customers and partners to test custom Salesforce integrations that rely on cookies. We support the ongoing
effort to improve privacy and security across the web. We updated the SameSite attribute on cookies set by Salesforce. The fixes
are in Spring '20 and they apply to Chrome 78 and later.
Empty the Recycle Bin in One Step
Empty your Salesforce org’s Recycle Bin in Lightning Experience with a single click. Previously, you either selected individual items
to delete, or had to switch to Salesforce Classic to permanently delete all items at once.
Access Reports and Dashboards in the Recycle Bin
Manage your deleted reports and dashboards in the Recycle Bin for Lightning Experience. Now you can view, restore, and permanently
delete your reports and dashboards without switching to Salesforce Classic.

64
Salesforce Spring ’20 Release Notes Salesforce Overall: Tools to Help You Transition to Lightning
Experience, Guide Your Users, and Boost Productivity

Get a Boost with App Launcher Enhancements


Find and open apps and items quicker with enhancements to the Lightning Experience App Launcher. Search for apps and items
and have your top apps right at your fingertips.
Try New Lightning Experience Features with the Lightning Extension for Chrome (Generally Available)
Are you an early adopter of the latest and greatest technology, or do you want to become one? With the Lightning Extension, now
generally available, you can gain access to the latest Lightning Experience features and try them before everyone else.
Einstein Voice Assistant: Get More Done on the Run (Beta)
Let users make updates to Salesforce—like logging events, creating contacts, and updating opportunities—all by voice. Einstein
Voice Skills lets you build custom skills tailored to your users’ most common tasks, generating more high-quality Salesforce data to
inform decision making.
Simplify Logins and Profiles on Salesforce-Related Sites with [Link]
With [Link], you access multiple Salesforce-related sites with one login, and manage your profile and settings in one place.
Search: Step Up Productivity with Einstein Search (Beta) and Get More from the Search You Already Know
Get a big boost in brain power with Einstein Search. Now you can find and do things faster with search results that are more actionable
and tailored to how you work in Salesforce. Einstein Search is available in English only. Not to be outdone, the search that you know
and love now lets you see related accounts in instant results for contacts and opportunities. You can also customize profile-specific
search layouts. And you get search results for more objects.
Salesforce Surveys: Customizable Participant Journey
Personalize survey questions for your participants. Your participants can now view pages and questions based on their previous
responses. You can add images to your survey pages. And you can dynamically customize your questions by inserting responses
from previous questions.
Lightning Scheduler: Guest User Scheduling, Chronos for Lightning Scheduler, and Simplified Setup
Extend appointment scheduling to guest users, and install an Einstein Bot to use Lightning Scheduler with Chat or SMS.
Navigate to a Record’s Create Page with Default Field Values
Create custom buttons and links that pass default field values to a new record.
Power Up Your Related Lists with Enhanced Related Lists (Generally Available)
Take your related lists to the next level. With Enhanced Related Lists, now generally available, you can show up to 10 columns, resize
and sort your columns, perform mass actions, and wrap text.
Require Secure HTTPS Connections (Critical Update)
As part of updates related to Google Chrome’s SameSite cookie changes, HTTPS connections are required to access Salesforce. HTTP
connections are no longer permitted. This update enables the Require secure connections (HTTPS) setting on the Session Settings
Setup page and prevents it from being disabled. The Require secure connections (HTTPS) for all third-party domains setting isn’t
affected by this update.
Open Hyperlinks in Formula Fields Correctly (Previously Released Critical Update)
If you have formula fields that contain a HYPERLINK function, Lightning Experience ignores the target value when attempting
to open the link. This critical update ensures that the target value for hyperlinks is honored, whether it’s explicitly configured or set
by default. This critical update was first made available in Winter ’19.
Keep Working with Tab-Focused Dialogs (Previously Released Critical Update)
In Lightning console apps, dialogs no longer stop you from interacting with the rest of the UI. This critical update limits the focus of
dialogs triggered by a workspace tab or subtab to only the tab that triggered it. This critical update was first made available in Winter
’20.

65
Salesforce Spring ’20 Release Notes Lightning Experience Transition: Critical Update, Configuration
Converter, Readiness Check

Lightning Experience Transition: Critical Update, Configuration Converter,


Readiness Check
Prepare your org and your users with tools that automate and speed up the transition process.

IN THIS SECTION:
Turn On Lightning Experience Critical Update Activates Starting January 7, 2020
Salesforce is turning on Lightning Experience for all orgs that don’t already have it enabled. The Turn on Lightning Experience Critical
Update begins activating on January 7, 2020. Orgs will be activated on a rolling basis, with all orgs expected to be activated by
January 31, 2020. After we turn on Lightning Experience, users still have access to Salesforce Classic. But Lightning Experience is
where everyone should be for driving business growth and improving productivity. To get ready, verify your org’s existing features
and customizations in the new interface, and prepare your users with change management best practices.
Lightning Experience Configuration Converter: New Home Tab, Convert JavaScript Alerts
The Lightning Experience Configuration Converter helps you automate or speed up many common transition tasks. The work gets
even easier with the new Home tab, where you can centrally track the status for all of the features and customizations evaluated by
the tool. And the JavaScript Buttons tab does more heavy lifting now, with support for more objects and converting JavaScript alerts
to Lightning-friendly alternatives.
Use the Readiness Check to Guide Your Lightning Experience Transition
Run the Lightning Experience Readiness Check to get the latest Lightning Experience news on features that we evaluate. Get started
by visiting the Readiness Check’s new home page, now available outside the Transition Assistant. The Readiness Check is updated
for Spring '20 to keep in tune with feature changes and better address your feedback. The finished report is stored in your Salesforce
files instead of being attached to an email.

Turn On Lightning Experience Critical Update Activates Starting January 7, 2020


Salesforce is turning on Lightning Experience for all orgs that don’t already have it enabled. The Turn on Lightning Experience Critical
Update begins activating on January 7, 2020. Orgs will be activated on a rolling basis, with all orgs expected to be activated by January
31, 2020. After we turn on Lightning Experience, users still have access to Salesforce Classic. But Lightning Experience is where everyone
should be for driving business growth and improving productivity. To get ready, verify your org’s existing features and customizations
in the new interface, and prepare your users with change management best practices.
Where: This critical update applies to Group, Developer, Professional, Enterprise, Performance, and Unlimited editions for all orgs that
don’t yet have Lightning Experience turned on.

Note: Rather watch a video that has the 411 on this critical update? Here you go: Understand How the Lightning Experience
Critical Update Affects My Users.
When: This update has been available since Spring ’19. The update auto-activates on a rolling basis starting on January 7, 2020 and
finishes for all orgs by January 31, 2020.
Who: Admins with the Modify All Data and Customize Application permissions see the critical update in Setup.
This update applies to users who have the Lightning Experience User permission, including all users with standard profiles and users
with custom profiles or permission sets that have the Lightning Experience User permission enabled. Custom profiles created before
Winter ’16 don’t include the Lightning Experience User permission by default. Starting with Winter ’16, custom profiles that were cloned
from a standard profile include the user permission, but admins can edit the profile to disable it.
After Lightning Experience is turned on, users who have the Lightning Experience User permission see the Switch to Lightning
Experience link in the Salesforce Classic header. Once a week, Lightning Experience–enabled users who are working in Salesforce Classic
are automatically logged in to Lightning Experience. These users can switch back to Salesforce Classic as needed.

66
Salesforce Spring ’20 Release Notes Lightning Experience Transition: Critical Update, Configuration
Converter, Readiness Check

Why: Lightning Experience is the future of Salesforce. It’s where all new Salesforce innovation happens, with reimagined classic
functionality and “only in Lightning Experience” features. Moving to Lightning Experience benefits everyone, from business leaders and
users to admins and IT teams. The new user interface improves user efficiency and productivity. And you get the power of the Lightning
Platform, making it easy and flexible to align the UI with your processes, keep up with changes in your business, and improve your
company’s bottom line.
How: You can self-enable Lightning Experience before January, and we encourage you to do so to take advantage of everything the
new interface has to offer. We provide several tools that automate and speed up the transition process, including the Lightning Experience
Transition Assistant.
We recommend that you test this critical update in a sandbox or Developer Edition org before activating it in production. To activate
the update, go to Critical Updates in Setup, and select Activate next to Turn on Lightning Experience.
For more help with the Turn on Lightning Experience Critical Update, get answers to frequently asked questions or visit the Lightning
Now Trailblazer Community.

SEE ALSO:
Lightning Experience is Permanent After It’s Enabled
Default User Experience After Lightning Experience Is Turned On

Lightning Experience is Permanent After It’s Enabled


As of Winter ’20, Lightning Experience is permanently enabled when it’s turned on, either by an admin at your company or via the Turn
on Lightning Experience Critical Update. After Lightning Experience is turned on, you can’t disable it. All users still have access to Salesforce
Classic and can switch between the two interfaces as needed.
Where: This change applies to Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.
How: After Lightning Experience is enabled in your org, the Turn on Lightning Experience toggle in the Lightning Experience Transition
Assistant is grayed out.

67
Salesforce Spring ’20 Release Notes Lightning Experience Transition: Critical Update, Configuration
Converter, Readiness Check

And the option to turn off Lightning Experience using the S1DesktopEnabled org preference setting with any version of Metadata
API is also disabled.

Default User Experience After Lightning Experience Is Turned On


After Lightning Experience is turned on, a user’s default interface is determined by when they were added to your org. Regardless of the
default interface, Lightning Experience-enabled users can use the Switcher to move themselves between Lightning Experience and
Salesforce Classic.
Where: This change applies to Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.
How:
• Users who exist when Lightning Experience is turned on
When Lightning Experience is turned on for your org, all existing users keep Salesforce Classic as their default interface. This is true
whether an existing user already has the Lightning Experience User permission at the time Lightning Experience is enabled or they’re
assigned the user permission later on. It doesn’t matter if the user permission comes from a standard profile, a custom profile that
has the permission enabled, or a permission set.

• Users added after Lightning Experience is turned on


Things change for users who are added to your org after Lightning Experience is enabled. These users get Lightning Experience as
their default interface whenever they’re assigned the Lightning Experience User permission—whether at the time they’re first added
or at a later date. Again, it doesn’t matter if the user permission comes from a standard profile, a custom profile that has the permission
enabled, or a permission set.

All Lightning Experience-enabled users automatically get the Switcher, which allows them to switch between Lightning Experience and
Salesforce Classic, as needed.

Lightning Experience Configuration Converter: New Home Tab, Convert JavaScript


Alerts
The Lightning Experience Configuration Converter helps you automate or speed up many common transition tasks. The work gets even
easier with the new Home tab, where you can centrally track the status for all of the features and customizations evaluated by the tool.
And the JavaScript Buttons tab does more heavy lifting now, with support for more objects and converting JavaScript alerts to
Lightning-friendly alternatives.

IN THIS SECTION:
Manage All Lightning Experience Configuration Converter Tabs from One Place (Beta)
The new Home tab is your home base for the transition tool. Tiles summarize the status of each tab in the Lightning Experience
Configuration Converter. Kick off scans of individual tabs, and find out what’s left to do.
Convert JavaScript Alerts to Lightning Components
Now you can convert your simple JavaScript alerts to Lightning Components using the Lightning Experience Configuration Converter.
For complex alerts that the tool can’t convert, such as alerts with multiple operations, the Configuration Converter recommends
actions that you can take to manually convert them.
Convert JavaScript Buttons on Contract and Task Objects
The JavaScript Buttons tab on the Lightning Experience Configuration Converter now includes support for Contract and Task objects.
Convert JavaScript buttons on those objects when you transition from Salesforce Classic to Lightning Experience.

68
Salesforce Spring ’20 Release Notes Lightning Experience Transition: Critical Update, Configuration
Converter, Readiness Check

Manage All Lightning Experience Configuration Converter Tabs from One Place (Beta)
The new Home tab is your home base for the transition tool. Tiles summarize the status of each tab in the Lightning Experience
Configuration Converter. Kick off scans of individual tabs, and find out what’s left to do.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Professional, Performance, Unlimited, and
Developer editions.

Note: As a beta feature, the Home tab in the Lightning Experience Configuration Converter is a preview and isn’t part of the
“Services” under your master subscription agreement with Salesforce. Use this feature at your sole discretion, and make your
purchase decisions only on the basis of generally available products and features. Salesforce doesn’t guarantee general availability
of this feature within any particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes
only, not for production use. It’s offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising
out of or in connection with it. All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for
related Non-Salesforce Applications and Content apply equally to your use of this feature. You can provide feedback and suggestions
for Home tab in the Lightning Exp Configuration Converter Trailblazer Community.
Who: The Lightning Experience Configuration Converter feature requires the Customize Application and Modify All Data permissions.
Why: Easily track your progress as you reduce the number of necessary fixes and change each tab’s status icon to green.

How:
The Lightning Experience Configuration Converter is a standalone tool that lives outside of Salesforce. We recommend that you run it
in a sandbox or Developer Edition org first, and then migrate your changes to your production org. To get started, visit
[Link] and log in with your org credentials.

Convert JavaScript Alerts to Lightning Components


Now you can convert your simple JavaScript alerts to Lightning Components using the Lightning Experience Configuration Converter.
For complex alerts that the tool can’t convert, such as alerts with multiple operations, the Configuration Converter recommends actions
that you can take to manually convert them.

69
Salesforce Spring ’20 Release Notes Lightning Experience Engagement: In-App Guidance Prompts

Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Professional, Performance, Unlimited, and
Developer editions.
Who: The JavaScript Buttons tab requires the Customize Application and Modify All Data permissions.
The Configuration Converter is a standalone tool that lives outside of Salesforce. We recommend that you run it in a sandbox or Developer
Edition org first, and then migrate your changes to your production org. To get started, visit [Link]
and log in with your org credentials.

Convert JavaScript Buttons on Contract and Task Objects


The JavaScript Buttons tab on the Lightning Experience Configuration Converter now includes support for Contract and Task objects.
Convert JavaScript buttons on those objects when you transition from Salesforce Classic to Lightning Experience.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Professional, Performance, Unlimited, and
Developer editions.
When: This change was introduced in a Salesforce Winter ’20 patch release.
Who: The JavaScript Buttons tab requires the Customize Application and Modify All Data permissions.
The Configuration Converter is a standalone tool that lives outside of Salesforce. We recommend that you run it in a sandbox or Developer
Edition org first, and then migrate your changes to your production org. To get started, visit [Link]
and log in with your org credentials.

Use the Readiness Check to Guide Your Lightning Experience Transition


Run the Lightning Experience Readiness Check to get the latest Lightning Experience news on features that we evaluate. Get started by
visiting the Readiness Check’s new home page, now available outside the Transition Assistant. The Readiness Check is updated for Spring
'20 to keep in tune with feature changes and better address your feedback. The finished report is stored in your Salesforce files instead
of being attached to an email.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and
Developer editions.
Why: Your customized Readiness Report helps you evaluate which profiles and features are most ready for Lightning Experience, and
prioritize your work as you transition your org.
How: The Readiness Check is available to admins in sandbox and production environments. To run the Readiness Check in your sandbox
environment, visit [Link] To run it in your production environment, go to
[Link] You can also still run the Readiness Check from the Lightning Expereince
Transition Assistant.
To view the Readiness Check report, click the link in the email you receive when the check is completed. Or, log in to Salesforce and
check your Salesforce files.

Lightning Experience Engagement: In-App Guidance Prompts


Motivate users to work in Lightning Experience with tools to drive adoption of key features, announce important updates, and to engage
with your users.

IN THIS SECTION:
In-App Guidance: Profile Filtering, Videos, and Translation Support
Deliver more engaging prompts to your targeted user group.

70
Salesforce Spring ’20 Release Notes Lightning Experience Engagement: In-App Guidance Prompts

Delayed Availability: Give Feedback to Salesforce


As your org upgrades to the Spring '20 release, the Give Feedback to Salesforce link in the Help Menu and the Salesforce Product
Feedback Form are temporarily unavailable for approximately 48 hours following the release.

In-App Guidance: Profile Filtering, Videos, and Translation Support


Deliver more engaging prompts to your targeted user group.

IN THIS SECTION:
Specify Profiles When Creating Prompts
Fine-tune your prompt’s message for a specific audience, what objects and data they have access to, or what they can do. Previously,
you could only use permissions to display prompts to specific users. Starting in Spring '20, use standard and custom profiles too.
Add Videos to Docked Prompts
If you have a short video that illustrates a complex process or drives your message home, now you can easily add it to your prompts.
The video previews inside the docked prompt.
Use Translation Workbench to Maintain Prompt Labels
Track all your translated labels in one place, and easily package translation labels for others.
Customize When Prompts Appear to Users
Quickly change the amount of time to delay prompts. Decrease the global delay time to accelerate onboarding prompts or increase
the delay to spread out announcements and updates. Ignore the global delay time to show a prompt when a page first loads or to
show multiple prompts a day without changing the global delay time for all prompts.
Other User Interface Changes: Prompts
In addition to feature enhancements, Salesforce made some smaller design changes to the In-App Guidance Setup page and floating
prompt.

SEE ALSO:
Salesforce Help: In-App Guidance in Lightning Experience (can be outdated or unavailable during release preview)

Specify Profiles When Creating Prompts


Fine-tune your prompt’s message for a specific audience, what objects and data they have access to, or what they can do. Previously,
you could only use permissions to display prompts to specific users. Starting in Spring '20, use standard and custom profiles too.
Where: This change applies to Lightning Experience in Essentials, Group, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
How: From Setup in Lightning Experience, enter In-App Guidance in the Quick Find box, and then select In-App Guidance.
If you select multiple profiles, the prompt appears to any of the profiles specified. You can select a combination of up to 10 profiles and
permissions for each prompt. If you select multiple items, the prompt appears to users who have all the permissions specified and any
of the profiles specified.

71
Salesforce Spring ’20 Release Notes Lightning Experience Engagement: In-App Guidance Prompts

In addition, users no longer need the View Set up and Configuration permission to see prompts that are only visible with specific
permissions.

SEE ALSO:
Salesforce Help: In-App Guidance in Lightning Experience (can be outdated or unavailable during release preview)
In-App Guidance: Profile Filtering, Videos, and Translation Support

Add Videos to Docked Prompts


If you have a short video that illustrates a complex process or drives your message home, now you can easily add it to your prompts.
The video previews inside the docked prompt.
Where: This change applies to Lightning Experience in Essentials, Group, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
How: From Setup in Lightning Experience, enter In-App Guidance in the Quick Find box, and then select In-App Guidance.
When adding a video to a docked prompt, enter the URL specified in the src attribute listed in the embed code from the video host.

Users watch the video within the docked prompt, in the expanded docked prompt, or full screen.

72
Salesforce Spring ’20 Release Notes Lightning Experience Engagement: In-App Guidance Prompts

SEE ALSO:
Salesforce Help: In-App Guidance in Lightning Experience (can be outdated or unavailable during release preview)
In-App Guidance: Profile Filtering, Videos, and Translation Support

Use Translation Workbench to Maintain Prompt Labels


Track all your translated labels in one place, and easily package translation labels for others.
Where: This change applies to Lightning Experience in Essentials, Group, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
How: From Setup in Lightning Experience, enter Translation in the Quick Find box, and then select Translation Workbench.
Start by selecting the Prompt and PromptVersion setup component.

SEE ALSO:
Salesforce Help: In-App Guidance in Lightning Experience (can be outdated or unavailable during release preview)
In-App Guidance: Profile Filtering, Videos, and Translation Support

Customize When Prompts Appear to Users


Quickly change the amount of time to delay prompts. Decrease the global delay time to accelerate onboarding prompts or increase the
delay to spread out announcements and updates. Ignore the global delay time to show a prompt when a page first loads or to show
multiple prompts a day without changing the global delay time for all prompts.
Where: This change applies to Lightning Experience in Essentials, Group, Professional, Enterprise, Performance, Unlimited, and Developer
editions.

73
Salesforce Spring ’20 Release Notes Lightning Experience Engagement: In-App Guidance Prompts

How: From Setup in Lightning Experience, enter In-App Guidance in the Quick Find box, and then select In-App Guidance.
Click Prompt Settings and change the hours and minutes under Delay Between Prompts. Specify up to 99 hours and up to 59
minutes. By default, a prompt appears to a user no more than once every 24 hours, per app.

To ignore the global delay time, check Show prompt when the page loads on the Schedule page when creating a prompt.

SEE ALSO:
Salesforce Help: In-App Guidance in Lightning Experience (can be outdated or unavailable during release preview)
In-App Guidance: Profile Filtering, Videos, and Translation Support

Other User Interface Changes: Prompts


In addition to feature enhancements, Salesforce made some smaller design changes to the In-App Guidance Setup page and floating
prompt.
Where: This change applies to Lightning Experience in Essentials, Group, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
Why: The In-App Guidance Setup page has a Prompt Settings button (1) that opens a modal to:
• Turn off or turn on all prompts created or installed in your Salesforce org.

74
Salesforce Spring ’20 Release Notes Lightning Experience Engagement: In-App Guidance Prompts

• Turn off or turn on all prompts, welcome mats, and other in-app guidance created by Salesforce.
• Change the amount of time for the delay between all prompts.
The Start Testing button (2) remains the setup page.
If you’ve created or installed many prompts, use the list view search (3) to quickly locate the one you want.

Floating prompts were redesigned to make way for an increased body text limit of 240 characters.

A radio button label found in the Permission settings modal changed from Everyone to No permission restrictions.
How: From Setup in Lightning Experience, enter In-App Guidance in the Quick Find box, and then select In-App Guidance.

SEE ALSO:
Salesforce Help: In-App Guidance in Lightning Experience (can be outdated or unavailable during release preview)
In-App Guidance: Profile Filtering, Videos, and Translation Support

Delayed Availability: Give Feedback to Salesforce


As your org upgrades to the Spring '20 release, the Give Feedback to Salesforce link in the Help Menu and the Salesforce Product Feedback
Form are temporarily unavailable for approximately 48 hours following the release.
Where: This change applies to Lightning Experience in Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.

75
Salesforce Spring ’20 Release Notes Prepare for Google Chrome’s Changes in SameSite Cookie
Behavior That Can Break Salesforce Integrations

Prepare for Google Chrome’s Changes in SameSite Cookie Behavior That


Can Break Salesforce Integrations
The Google Chrome 80 release changes the default cross-domain (SameSite) behavior of cookies. This change enhances security and
privacy, but requires customers and partners to test custom Salesforce integrations that rely on cookies. We support the ongoing effort
to improve privacy and security across the web. We updated the SameSite attribute on cookies set by Salesforce. The fixes are in
Spring '20 and they apply to Chrome 78 and later.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions.
When: The Chrome 80 release started in February 2020, but Google has temporarily rolled back the SameSite changes until the summer
of 2020 because of the extraordinary global circumstances due to COVID-19. For more information, see this Chromium blog post.
Salesforce is ready for the SameSite changes whenever Google rolls them out. If you made changes and tested in your org to prepare
for Google's initial SameSite rollout in February 2020, you're ready too and there's nothing more for you to do.
Who: This change applies to Salesforce users of Google Chrome 80 release or later.
Why: Note these important changes for Chrome.
• Cookies don’t work for non-secure (HTTP) browser access, including any community, portal, site, or Outlook or Gmail integration in
your org. Use HTTPS instead.
• Some custom integrations that rely on cookies no longer work in Google Chrome. This change particularly affects but is not limited
to cross-domain communication, and integrations using iframes.
The SameSite attribute on a cookie controls its cross-domain behavior. This Chrome Platform Status explains the intent of the
SameSite attribute.
“SameSite is a reasonably robust defense against some classes of cross-site request forgery (CSRF) attacks, but developers currently need
to opt in to its protections by specifying a SameSite attribute. In other words, developers are vulnerable to CSRF attacks by default. This
change would allow developers to be protected by default, while allowing sites that require state in cross-site requests to opt in to the status
quo’s less-secure model.”
If no SameSite attribute is specified, the Chrome 80 release sets cookies as SameSite=Lax by default. Up until the Chrome 80
release, the default is SameSite=None. After the Chrome 80 release, developers can still opt in to the status quo of unrestricted use
by explicitly setting SameSite=None; Secure.
For more information, see this Chromium blog post.
How:
1. Use HTTPS instead of HTTP
To require HTTPS access in your org, ensure that the following Session Settings in Setup are enabled. These settings are enabled
by default but you should verify that HTTPS is required in your org.
Require secure connections (HTTPS)
Determines whether HTTPS is required to log in to or access Salesforce.
In Spring ’20, we added a critical update that requires HTTPS connections to access Salesforce.
Require secure connections (HTTPS) for all third-party domains
Determines whether HTTPS is required for connecting to third-party domains.
If either of these settings is disabled, Salesforce may not be fully functional for Chrome users after the Chrome 80 release.
To require HTTPS access in communities, portals, or sites:
a. From Setup, enter Sites in the Quick Find box, then select Sites.
b. Click the site you want to edit, and ensure that the Require Secure Connections (HTTPS) checkbox is selected.

76
Salesforce Spring ’20 Release Notes Empty the Recycle Bin in One Step

To check whether your Salesforce Classic Canvas connected app works with HTTPS:
a. In Salesforce Classic, from Setup, enter Canvas App Previewer in the Quick Find box, then select Canvas App
Previewer.
b. Click the app that you want to check. If the app loads, it means that the URLs are already set to use HTTPS. If the app doesn’t
load in the previewer, update the Canvas App URL and Callback URL to use HTTPS.
To update your Canvas connected app to HTTPS:
a. In Salesforce Classic, from Setup, enter Create, and then click Apps.
b. Select the Canvas connected app that you want to update.
c. In the Canvas App URL field, update the URL to use HTTPS.
d. In the Callback URL field, update the URL to use HTTPS.
e. Click Save.
f. Go back to the Canvas App Previewer and check that the app opens as expected.

Note: The first time that you navigate to the HTTPS URL, close and reopen tabs and clear your browser history.

2. Test custom Salesforce integrations that rely on cookies owned and set by your integration
Before the Chrome 80 release, test any custom Salesforce integrations that rely on cookies owned and set by your integration. If you
find any regressions, update the SameSite attribute on cookies used for cross-domain communication to explicitly set
SameSite=None; Secure. If you set a cookie in Apex, use the new SameSite attribute of the Cookie() constructor
method.
This Chromium blog post explains how to test the effect of the new Chrome behavior on your site or cookies before Chrome rolls
out the SameSite changes. Navigate to chrome://flags and enable the “SameSite by default cookies” and
“Cookies without SameSite must be secure” experiments. We recommend that you use the latest version of
Chrome to test in a sandbox. The fixes in Spring ’20 apply to Chrome 78 and later.

Note: While you test your cookies, consider what’s the most secure SameSite value that works for each cookie. If a cookie
is intended to be accessed only in a first-party context, you can apply SameSite=Lax or SameSite=Strict to prevent
external access. Explicitly setting SameSite=Lax means that you’re not relying on default browser behavior.

SEE ALSO:
Chromium Blog: Developers: Get Ready for New SameSite=None; Secure Cookie Settings
Chrome Platform Status: Cookies default to SameSite=Lax
Chrome Platform Status: Reject insecure SameSite=None cookies
[Link]: SameSite cookies explained
[Link]: Same-Site Cookies By Default
[Link]: Incrementally Better Cookies
Require Secure HTTPS Connections (Critical Update)

Empty the Recycle Bin in One Step


Empty your Salesforce org’s Recycle Bin in Lightning Experience with a single click. Previously, you either selected individual items to
delete, or had to switch to Salesforce Classic to permanently delete all items at once.

77
Salesforce Spring ’20 Release Notes Access Reports and Dashboards in the Recycle Bin

Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
Who: To empty the org Recycle Bin, you need the Modify All Data permission.
How: Open the org Recycle Bin and click Empty Org Recycle Bin.

SEE ALSO:
Salesforce Help: Manage the Recycle Bin in Lightning Experience (can be outdated or unavailable during release preview)

Access Reports and Dashboards in the Recycle Bin


Manage your deleted reports and dashboards in the Recycle Bin for Lightning Experience. Now you can view, restore, and permanently
delete your reports and dashboards without switching to Salesforce Classic.
Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.

SEE ALSO:
Salesforce Help: Recycle Bin (can be outdated or unavailable during release preview)

Get a Boost with App Launcher Enhancements


Find and open apps and items quicker with enhancements to the Lightning Experience App Launcher. Search for apps and items and
have your top apps right at your fingertips.
Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.

How: To open the App Launcher, click and then select an app or search for apps and items.

78
Salesforce Spring ’20 Release Notes Get a Boost with App Launcher Enhancements

Select View All to access all apps, items (now sorted alphabetically by column), and the AppExchange.
Other enhancements include:
• Truncated descriptions don’t break mid word. Hover over a truncated description to see the full description (1).
• Improved and consistent visual representation of the drag capability (2).

SEE ALSO:
Salesforce Help: Open Another App in Lightning Experience (can be outdated or unavailable during release preview)
Salesforce Help: Reorder App Launcher Apps in Lightning Experience (can be outdated or unavailable during release preview)

79
Salesforce Spring ’20 Release Notes Try New Lightning Experience Features with the Lightning
Extension for Chrome (Generally Available)

Try New Lightning Experience Features with the Lightning Extension for
Chrome (Generally Available)
Are you an early adopter of the latest and greatest technology, or do you want to become one? With the Lightning Extension, now
generally available, you can gain access to the latest Lightning Experience features and try them before everyone else.
Where: This change applies to Lightning Experience in all editions.
Why: The Lightning Extension lets us roll out new features continuously. Admins can control which features are available to their users.
How: Download the Lightning Extension for your browser. From the Lightning Extension features panel, choose which features to turn
on.

Note: Dark mode is temporarily disabled. We’re working to make it available again.

To control which features are available to your users, from Setup, in the Quick Find box, enter Lightning Extension, and then select
Lightning Extension. From there, you can activate individual features or disable the extension as a whole. Changes can take up to 24
hours to take effect.

SEE ALSO:
External Link: Download the Lightning Extension from the Chrome Web Store (can be outdated or unavailable during release preview)
Salesforce Help: Try New Features with the Lightning Extension for Chrome (can be outdated or unavailable during release preview)

Einstein Voice Assistant: Get More Done on the Run (Beta)


Let users make updates to Salesforce—like logging events, creating contacts, and updating opportunities—all by voice. Einstein Voice
Skills lets you build custom skills tailored to your users’ most common tasks, generating more high-quality Salesforce data to inform
decision making.

80
Salesforce Spring ’20 Release Notes Einstein Voice Assistant: Get More Done on the Run (Beta)

Where: This feature is available in the new Salesforce mobile app for iOS and Android in Professional, Enterprise, Unlimited, and Developer
editions. Setup for this feature is available in Lightning Experience.

Note: As a beta feature, Einstein Voice Assistant is a preview and isn’t part of the “Services” under your master subscription
agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally
available products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame
or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as
is, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce reservation
of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply equally to your
use of this feature. For information on enabling this feature in your org, contact your Account Executive. To provide feedback on
Einstein Voice Assistant, contact Salesforce Customer Support.
When: You can use Einstein Voice Skills to create voice skill sets right away. Your changes become visible to mobile users the week of
February 17, 2020.
Who: Einstein Voice Assistant will initially be available to most orgs already using an Einstein product. Within eligible orgs, users with a
Salesforce license can use Einstein Voice Assistant.
Why: With Einstein Voice Assistant, Salesforce users can talk to their Salesforce org, driving productivity and adoption of Salesforce from
anywhere. For example, sales reps can make on-the-go updates and create contacts and leads. Field agents can log service notes and
follow-up tasks. And Salesforce admins and developers can build these custom voice experiences with clicks not code.
How: To get started, find Einstein Voice Skills in Setup. Then create a voice skill set with skills tailored to a user profile’s most common
tasks.
After you create a skill set, your users will see the available skills when they open Einstein Voice Assistant in the Salesforce app. To use a
skill, the user can tap it. While using a skill, the user can speak or type their responses.

81
Salesforce Spring ’20 Release Notes Simplify Logins and Profiles on Salesforce-Related Sites with
[Link]

Simplify Logins and Profiles on Salesforce-Related Sites with [Link]


With [Link], you access multiple Salesforce-related sites with one login, and manage your profile and settings in one place.
Where: [Link] is available to AppExchange, Events, IdeaExchange, Trailblazer Community, and Trailhead users. Partner Community
doesn't use [Link] features, but [Link] shares some profile data with the Partner Community profile.
When: [Link] is generally available in January 2020.
Why: You have a lot of usernames and passwords to remember. You have different profiles on Salesforce-related sites like Trailhead and
Trailblazer Community. With [Link], we combined all those accounts so you access any of the sites with one login. Switch between
the sites using the Application Launcher.

82
Salesforce Spring ’20 Release Notes Simplify Logins and Profiles on Salesforce-Related Sites with
[Link]

And you manage your profile on all of them at once. Your [Link] profile shows aggregated data across all the sites and all your
users—if you have more than one. To see or edit your [Link] profile, click your profile pic and select Profile. If your profile is set
to public, you can use it like a digital resume. Show it off so coworkers and future employers can see your Trailhead skills, your winning
ideas, and your helpful community posts.

How: The first time you log in to a Salesforce-related site after [Link] is generally available, you see a prompt to enter or update
some profile information. If [Link] recognizes any additional accounts of yours, they’re merged. You can manually merge accounts
on the Settings page.

SEE ALSO:
Salesforce Help: Get Started with [Link] (can be outdated or unavailable during release preview)
Manage AppExchange Installs and Settings with Ease Using [Link]

83
Salesforce Spring ’20 Release Notes Search: Step Up Productivity with Einstein Search (Beta) and
Get More from the Search You Already Know

Search: Step Up Productivity with Einstein Search (Beta) and Get More
from the Search You Already Know
Get a big boost in brain power with Einstein Search. Now you can find and do things faster with search results that are more actionable
and tailored to how you work in Salesforce. Einstein Search is available in English only. Not to be outdone, the search that you know and
love now lets you see related accounts in instant results for contacts and opportunities. You can also customize profile-specific search
layouts. And you get search results for more objects.

Note: As a beta feature, Einstein Search is a preview and isn’t part of the “Services” under your master subscription agreement
with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available
products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all,
and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t
supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce
reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply
equally to your use of this feature. You can provide feedback and suggestions for Einstein Search in the Trailblazer Community.
Einstein Search features are labeled Beta. Features not labeled Beta are generally available.

IN THIS SECTION:
Enable Einstein Search Personalization for an Org of Any Size and Try It in a Sandbox Org (Beta)
Personalized search results are available for an organization of any size. All the users in your org can take advantage of this Einstein
Search feature. You can also take personalization for a test drive because now it’s available in sandbox orgs.
Get Personalized Search Results for Cases and Leads (Beta)
You can now see search results for your cases and leads as well as accounts, contacts, and opportunities.
Gain Insight on Einstein Search by Viewing Search Result Filters (Beta)
You can now see how Einstein Search interprets your conversational searches. The filters applied to your search are displayed in the
search results.
Get Search Suggestions Tailored to Your Work to Find Records Faster (Beta)
Einstein Search helps you work smarter with personalized search suggestions based on your recent activity. When you click in the
Search box, your instant results also include alternate searches related to items you interact with most.
Create a Filtered List of Records Using New Time-Related Conditions (Beta)
You now have more ways to filter a list of records using time-related conditions in a conversational search. To get the most relevant
search results, enter a conversational search using the words modified, created, viewed, or closed followed by a relative time period.
For example, enter “cases closed this year,” to see a list of cases from the current year with closed status.
See a Preview of Related List Records (Beta)
Get a sneak peek at related records before you jump from the instant results to the related object. Now when you hover over any
quick link in a related list, you see a preview of available records.
Show What Matters Most with Profile-Specific Search Results Layouts
Let users in your Salesforce org see search results that are most relevant to the role they have at their job. For each unique profile in
your org, you can create profile-specific layouts to fine-tune search results layouts for individual objects. Only objects with customizable
layouts support profile-specific layouts. Users who don’t have a profile-specific layout assigned to them see the default search results
layout.
See the Related Account When You Search for Contacts or Opportunities
Looking for a contact or opportunity but not sure which account it belongs to? Now when your sales team searches, they see the
related account in instant results and recent items. And best of all, the related account is searchable, so it's easier to find the right
record fast.

84
Salesforce Spring ’20 Release Notes Search: Step Up Productivity with Einstein Search (Beta) and
Get More from the Search You Already Know

Get Search Results for More Objects


More objects in Financial Services Cloud, Sales Cloud, Service Cloud, Commerce Cloud, and Consumer Goods Cloud are now searchable.

SEE ALSO:
Salesforce Help: Personalize Your Search Results (Beta) (can be outdated or unavailable during release preview)
Salesforce Help: Find the Right Record Faster with Recommended Result (Beta)(can be outdated or unavailable during release preview)
Salesforce Help: Instantly Access Previews, Actions, Links, and Suggested Searches with Enhanced Instant Results (Beta) (can be
outdated or unavailable during release preview)
Salesforce Help: Create Filtered Reports with Conversational Search (Beta) (can be outdated or unavailable during release preview)
Salesforce Help: Set Up and Manage Einstein Search Features (Beta)(can be outdated or unavailable during release preview)

Enable Einstein Search Personalization for an Org of Any Size and Try It in a Sandbox
Org (Beta)
Personalized search results are available for an organization of any size. All the users in your org can take advantage of this Einstein Search
feature. You can also take personalization for a test drive because now it’s available in sandbox orgs.
Where: This change applies to Lightning Experience and all version of the Salesforce mobile app in Enterprise, Performance, and Unlimited
editions.
Who: To turn on search personalization, your org must meet these requirements:
• Unlimited, Enterprise, or Performance Edition
• User permission needed: Customize Application
• Lightning Experience enabled
• Salesforce Shield Platform Encryption not enabled

Note: Instant results are personalized based on activity only.

How: To enable personalization:


1. From Setup, enter Search Settings in the Quick Find box then select Search Settings.
2. Select All users get personalized search results. (Beta).

SEE ALSO:
Salesforce Help: Personalize Your Search Results (Beta) (can be outdated or unavailable during release preview)

Get Personalized Search Results for Cases and Leads (Beta)


You can now see search results for your cases and leads as well as accounts, contacts, and opportunities.
Where: This change applies to Lightning Experience and all version of the Salesforce mobile app in Enterprise, Performance, and Unlimited
editions.
Who: To turn on search personalization, your Salesforce org must meet these requirements:
• Unlimited, Enterprise, or Performance Edition
• User permission needed: Customize Application
• Lightning Experience enabled
• Salesforce Shield Platform Encryption not enabled

85
Salesforce Spring ’20 Release Notes Search: Step Up Productivity with Einstein Search (Beta) and
Get More from the Search You Already Know

Note: Instant results are personalized based on activity only.

How: To enable personalization:


1. From Setup, enter Search Settings in the Quick Find box then select Search Settings.
2. Select All users get personalized search results. (Beta).

SEE ALSO:
Salesforce Help: Personalize Your Search Results (Beta)(can be outdated or unavailable during release preview)

Gain Insight on Einstein Search by Viewing Search Result Filters (Beta)


You can now see how Einstein Search interprets your conversational searches. The filters applied to your search are displayed in the
search results.
Where: This change applies in Lightning Experience in Enterprise, Performance, and Unlimited editions.
Who: Conversational search requires the Einstein Search and Einstein Search Results Based on Conversational Search permission set
licenses.
Why: The filters that determine your conversational search results are in the header of the dialog so you can understand why Einstein
Search came up with those results.

SEE ALSO:
Create Filtered Reports with Conversational Search (Beta)

Get Search Suggestions Tailored to Your Work to Find Records Faster (Beta)
Einstein Search helps you work smarter with personalized search suggestions based on your recent activity. When you click in the Search
box, your instant results also include alternate searches related to items you interact with most.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions.
Who: Personalized search suggestions require the Einstein Search and Einstein Search Results Based on Conversational Search permission
set licenses.
Why: You work with a specific record. The next time you log in and click in the global search box, you see personalized searches based
on the record you most recently used. For example, you recently modified the account Acme United Corporation. The next time you go
back and click in the global search box, you’ll see search suggestions for Acme United Corporation cases, leads, and accounts.

86
Salesforce Spring ’20 Release Notes Search: Step Up Productivity with Einstein Search (Beta) and
Get More from the Search You Already Know

SEE ALSO:
Salesforce Help: Configure Search Results in Lightning Experience (can be outdated or unavailable during release preview)

Create a Filtered List of Records Using New Time-Related Conditions (Beta)


You now have more ways to filter a list of records using time-related conditions in a conversational search. To get the most relevant
search results, enter a conversational search using the words modified, created, viewed, or closed followed by a relative time period. For
example, enter “cases closed this year,” to see a list of cases from the current year with closed status.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions.

Note: As a beta feature, Einstein Search is a preview and isn’t part of the “Services” under your master subscription agreement
with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available
products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all,
and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t
supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce
reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply
equally to your use of this feature. You can provide feedback and suggestions for Einstein Search in the Trailblazer Community.
Who: Conversational search results require the Einstein Search permission set license.

87
Salesforce Spring ’20 Release Notes Search: Step Up Productivity with Einstein Search (Beta) and
Get More from the Search You Already Know

SEE ALSO:
Salesforce Help: Create Filtered Reports with Conversational Search (Beta) (can be outdated or unavailable during release preview)

See a Preview of Related List Records (Beta)


Get a sneak peek at related records before you jump from the instant results to the related object. Now when you hover over any quick
link in a related list, you see a preview of available records.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions.
Who: Einstein Search Related list previews require the Einstein Search permission set license.
Why: Prevent unnecessary clicks by previewing items in a related list before you leave the preview window.

SEE ALSO:
Salesforce Help: Instantly Access Previews, Actions, Links, and Suggested Searches with Enhanced Instant Results (Beta) (can be
outdated or unavailable during release preview)

Show What Matters Most with Profile-Specific Search Results Layouts


Let users in your Salesforce org see search results that are most relevant to the role they have at their job. For each unique profile in your
org, you can create profile-specific layouts to fine-tune search results layouts for individual objects. Only objects with customizable
layouts support profile-specific layouts. Users who don’t have a profile-specific layout assigned to them see the default search results
layout.
Where: This change applies to Lightning Experience in all editions except [Link].

88
Salesforce Spring ’20 Release Notes Search: Step Up Productivity with Einstein Search (Beta) and
Get More from the Search You Already Know

Why: Different users in the same org can see different layouts for the same search. For example, for the same org, the admin user and
standard user see different views:

How: To apply search results layouts for an object based on a user profile:
1. Begin at Setup and go to Object Manager.
2. Select an object, then select Search Layouts.
3. For the profile you want to customize, select Edit from the pull-down next to the profile.
4. Choose which fields appear in search results for global search and lookup search, and which fields can be filtered, if available.
Customizations to the Lookup Dialogs, Lookup Phone Dialogs, and Search Filter Fields layouts aren’t supported in Lightning Experience.

SEE ALSO:
Salesforce Help: Configure Search Results in Lightning Experience (can be outdated or unavailable during release preview)

89
Salesforce Spring ’20 Release Notes Search: Step Up Productivity with Einstein Search (Beta) and
Get More from the Search You Already Know

See the Related Account When You Search for Contacts or Opportunities
Looking for a contact or opportunity but not sure which account it belongs to? Now when your sales team searches, they see the related
account in instant results and recent items. And best of all, the related account is searchable, so it's easier to find the right record fast.
Where: This change applies to Lightning Experience, and all editions except [Link].
Why: Typically, an object’s search results layout determines which fields appear as the secondary field. For contacts and opportunities,
the related account is always the secondary field because it’s a key piece of information.
When you start typing, any matching results show the related account.

SEE ALSO:
Salesforce Help: Configure Search Results in Lightning Experience (can be outdated or unavailable during release preview)
Salesforce Help: Configure Lookup Search Results in Lightning Experience (can be outdated or unavailable during release preview)

Get Search Results for More Objects


More objects in Financial Services Cloud, Sales Cloud, Service Cloud, Commerce Cloud, and Consumer Goods Cloud are now searchable.
Where: These changes apply to Lightning Experience and Salesforce Classic.

Object Where
Authorized Insurance Line Financial Services Cloud, Enterprise, Professional, and Unlimited editions
in Lightning Experience

Comm Subscription All editions in Lightning Experience and Salesforce Classic

Comm Subscription Channel Type All editions in Lightning Experience and Salesforce Classic

Comm Subscription Consent All editions in Lightning Experience and Salesforce Classic

Comm Subscription Timing All editions in Lightning Experience and Salesforce Classic

Credit Memo Inv Application All editions in Lightning Experience and Salesforce Classic

Distributor Authorization Financial Services Cloud in Enterprise, Professional, Unlimited editions


in Lightning Experience

90
Salesforce Spring ’20 Release Notes Salesforce Surveys: Customizable Participant Journey

Object Where
Engagement Channel Type All editions in Lightning Experience and Salesforce Classic

Feed Comment Contact Manager, Group, Essentials, Professional, Enterprise,


Performance, Unlimited, and Developer editions in Lightning
Experience and Salesforce Classic

Feed Post Contact Manager, Group, Essentials, Professional, Enterprise,


Performance, Unlimited, and Developer editions in Lightning
Experience and Salesforce Classic

Invoice Commerce Cloud, Enterprise edition in Lightning Experience

Legal Entity Enterprise, Professional, Unlimited editions in Lightning Experience

List View Group, Professional, Enterprise, Performance, Unlimited, and Developer


editions in Lightning Experience

Marketing Link All Pardot editions in Lightning Experience

Party Consent All editions in Lightning Experience and Salesforce Classic

Payment Gateway Provider Commerce Cloud, Enterprise edition in Lightning Experience

Retail Store KPI Consumer Goods Cloud, Enterprise, Professional, and Unlimited editions
in Lightning Experience

Visit Enterprise, Professional, and Unlimited editions in Lightning Experience

SEE ALSO:
Salesforce Help: Searchable Fields by Object in Lightning Experience(can be outdated or unavailable during release preview)
Salesforce Help: Searchable Fields by Object in Salesforce Classic(can be outdated or unavailable during release preview)

Salesforce Surveys: Customizable Participant Journey


Personalize survey questions for your participants. Your participants can now view pages and questions based on their previous responses.
You can add images to your survey pages. And you can dynamically customize your questions by inserting responses from previous
questions.

IN THIS SECTION:
Insert Responses from a Previous Question
Provide better context to your participants. Personalize survey questions by inserting participants’ responses from previous pages.
Jazz Up Your Surveys with Images
Appeal to the visual thinkers by inserting images in questions, and on the Welcome and Thank You pages.
Improve Your Net Promoter Score® with a Color-Coded Scale
The scale of the Net Promoter Score® (NPS®) question type is now color-coded. Participants can use the colors as a reference to
understand the NPS scale.

91
Salesforce Spring ’20 Release Notes Salesforce Surveys: Customizable Participant Journey

Display Questions Based on Participant Responses


Choose which questions your participants view on a page. Based on how participants respond to the previous questions on a page,
decide which questions they view next.
Let Participant Responses Determine Their Path
Create a journey with multiple paths and show survey participants the most appropriate path based on their responses to questions
on the previous pages. Use page branching logic to determine which page a participant views next, based on responses on the
previous pages.
Move to the Next Page with One Less Click
Turn on Auto-Progress to save your survey participants a click. After responding to the last question on a page, participants move
directly to the next page.
Enjoy an Enhanced User Experience
With more options and fewer clicks, we improved the survey experience for you and your participants.
Question Type Names Changed
We renamed Radio questions to Single Selection and Multi Choice to Multiple Selection.
Turn Customer Survey Data into Actionable Intelligence with Customer Lifecycle Analytics
The Customer Lifecycle Analytics app lets you surface survey response metrics anywhere in Salesforce. Get immediate insight into
your customer right from where you work. Embed the app’s dashboards in Salesforce pages to build feedback loops across customer
touchpoints, gather contextual feedback, and learn how customer processes are working.
Permission Change for Survey Email Branding
Access to configuration settings for invitation emails sent to survey participants is available for users with the View Setup and
Configuration permission.

Insert Responses from a Previous Question


Provide better context to your participants. Personalize survey questions by inserting participants’ responses from previous pages.
Where: This change applies to Lightning Experience in Performance, Partner Developer, Enterprise, Developer, and Unlimited editions
where Salesforce Surveys is enabled.
How: Click Insert Response on the question where you want to insert a response. In the Insert response modal, select the question
whose response you want to add.

SEE ALSO:
Salesforce Help: Insert Responses from Questions on Previous Pages (can be outdated or unavailable during release preview)

Jazz Up Your Surveys with Images


Appeal to the visual thinkers by inserting images in questions, and on the Welcome and Thank You pages.

92
Salesforce Spring ’20 Release Notes Salesforce Surveys: Customizable Participant Journey

Where: This change applies to Lightning Experience in Performance, Partner Developer, Enterprise, Developer, and Unlimited editions
where Salesforce Surveys is enabled.

How: Click on the rich text editor of a question, of the Welcome page, or the Thank you page.

SEE ALSO:
Salesforce Help: Insert Images in Survey Pages (can be outdated or unavailable during release preview)

Improve Your Net Promoter Score® with a Color-Coded Scale


The scale of the Net Promoter Score® (NPS®) question type is now color-coded. Participants can use the colors as a reference to understand
the NPS scale.
Where: This change applies to Lightning Experience in Performance, Partner Developer, Enterprise, Developer, and Unlimited editions
where Salesforce Surveys is enabled.

Display Questions Based on Participant Responses


Choose which questions your participants view on a page. Based on how participants respond to the previous questions on a page,
decide which questions they view next.
Where: This change applies to Lightning Experience in Performance, Partner Developer, Enterprise, Developer, and Unlimited editions
where Salesforce Surveys is enabled.
How: On the question that you want to display based on the response to a previous question, click Display Logic. In the Question
display logic modal, define the conditions based on which the question is displayed.

93
Salesforce Spring ’20 Release Notes Salesforce Surveys: Customizable Participant Journey

SEE ALSO:
Salesforce Help: Display Questions Based on Responses to Questions on the Same Page (can be outdated or unavailable during release
preview)

Let Participant Responses Determine Their Path


Create a journey with multiple paths and show survey participants the most appropriate path based on their responses to questions on
the previous pages. Use page branching logic to determine which page a participant views next, based on responses on the previous
pages.
Where: This change applies to Lightning Experience in Performance, Partner Developer, Enterprise, Developer, and Unlimited editions
where Salesforce Surveys is enabled.

How: Click on the page you want to create branching logic for. In the Page branching logic modal, either set conditions or let
participants unconditionally move to a specific page. Using page branching logic, you can let participants submit the survey and move
directly to the Thank You page.

SEE ALSO:
Salesforce Help: Decide Which Page Participants View Next (can be outdated or unavailable during release preview)

94
Salesforce Spring ’20 Release Notes Salesforce Surveys: Customizable Participant Journey

Move to the Next Page with One Less Click


Turn on Auto-Progress to save your survey participants a click. After responding to the last question on a page, participants move directly
to the next page.
Where: This change applies to Lightning Experience in Performance, Partner Developer, Enterprise, Developer, and Unlimited editions
where Salesforce Surveys is enabled.
How: On the Branding tab, turn on Auto-Progress.

SEE ALSO:
Salesforce Help: Enable Auto-Progress to the Next Survey Page (can be outdated or unavailable during release preview)

Enjoy an Enhanced User Experience


With more options and fewer clicks, we improved the survey experience for you and your participants.
Where: This change applies to Lightning Experience in Performance, Partner Developer, Enterprise, Developer, and Unlimited editions
where Salesforce Surveys is enabled.
How: New features include:
• You can now change the opacity of the content card (1).

95
Salesforce Spring ’20 Release Notes Salesforce Surveys: Customizable Participant Journey

• The width of the answer choice buttons for multiple selection, single selection, and picklist question types decreased on desktop.
Also, you can now change the opacity of your answer choice buttons (2).
• The visibility of the Pages and Branding tabs improved (3).
• The default background color for surveys changed to white (4).
• The color of the ranking item buttons changes according to the color of the answer choice buttons.

SEE ALSO:
Salesforce Help: Customize Your Survey's Look and Feel (can be outdated or unavailable during release preview)

Question Type Names Changed


We renamed Radio questions to Single Selection and Multi Choice to Multiple Selection.
Where: This change applies to Lightning Experience in Performance, Partner Developer, Enterprise, Developer, and Unlimited editions
where Salesforce Surveys is enabled.

Turn Customer Survey Data into Actionable Intelligence with Customer Lifecycle
Analytics
The Customer Lifecycle Analytics app lets you surface survey response metrics anywhere in Salesforce. Get immediate insight into your
customer right from where you work. Embed the app’s dashboards in Salesforce pages to build feedback loops across customer
touchpoints, gather contextual feedback, and learn how customer processes are working.
Where: This change applies to Lightning Experience in Performance, Partner Developer, Enterprise, Developer, and Unlimited editions
where Salesforce Surveys is enabled.
When: This feature is available by late February 2020.
Who: To create an app from the Customer Lifecycle Analytics template, you must have the Customer Lifecycle Analytics Plus add-on
license.
How: Go to Analytics Studio, click Create, choose App, and click Start from Template. Select Customer Lifecycle Analytics, and
follow the instructions in the wizard to create your app.

96
Salesforce Spring ’20 Release Notes Lightning Scheduler: Guest User Scheduling, Chronos for
Lightning Scheduler, and Simplified Setup

Permission Change for Survey Email Branding


Access to configuration settings for invitation emails sent to survey participants is available for users with the View Setup and Configuration
permission.
Where: This change applies to Lightning Experience in Performance, Partner Developer, Enterprise, Developer, and Unlimited editions
where Salesforce Surveys is enabled.

Lightning Scheduler: Guest User Scheduling, Chronos for Lightning


Scheduler, and Simplified Setup
Extend appointment scheduling to guest users, and install an Einstein Bot to use Lightning Scheduler with Chat or SMS.

IN THIS SECTION:
Let Guest Users Schedule Inbound Appointments
Unauthenticated guest users can use Lightning Scheduler’s self-service interface to schedule appointments. Lightning Scheduler
now includes guest user security enhancements to Lightning Scheduler objects and the Inbound New Guest Appointment standard
flow template. The enhancements for guest users also include a new Enable Guest User attribute on the Review Service
Appointment flow screen component.
Simplify Setup with Lightning Scheduler Setup Assistant
Lightning Scheduler Setup Assistant provides a one-stop interface with built-in examples for admins to configure Lightning Scheduler.
This feature steps admins new to Lightning Scheduler through setup and includes a progress indicator.
Pair Lightning Scheduler with Einstein Bots
Chronos, the new Einstein Bot for Lightning Scheduler, allows customers to schedule, view, reschedule, and cancel their Lightning
Scheduler appointments using Chat or SMS. Chronos is an unmanaged package available on AppExchange that’s configurable to
fit any business process and includes pre-trained natural language for scheduling intents.
Enforce Skill Matching
Lightning Scheduler now enforces skill and skill-level matching for service resource appointments.
Access a Service Appointment from an Assigned Resource
Now your users can traverse between a service appointment and a Salesforce event. This change reduces the number of clicks
necessary to view or delete a service appointment related to an event on the Salesforce calendar.
Streamline Your Flows with the Review Inbound or Outbound Service Appointment Component
Users can now review inbound or outbound service appointments with a new flow screen component. If an “Access to entity ‘Lead’
denied” error appears when scheduling an appointment, you can replace the old Review Service Appointment component with the
new component.
Do More with Lightning Scheduler API Calls
Lightning Scheduler has two new APIs and both a new field and added functionality for the get appointment slots API. Create service
appointments or get service territories with Lightning Scheduler’s new API calls. Use the new primaryResourceId field to
specify a primary resource when getting appointment slots for multi-resource scheduling.

97
Salesforce Spring ’20 Release Notes Lightning Scheduler: Guest User Scheduling, Chronos for
Lightning Scheduler, and Simplified Setup

Let Guest Users Schedule Inbound Appointments


Unauthenticated guest users can use Lightning Scheduler’s self-service interface to schedule appointments. Lightning Scheduler now
includes guest user security enhancements to Lightning Scheduler objects and the Inbound New Guest Appointment standard flow
template. The enhancements for guest users also include a new Enable Guest User attribute on the Review Service Appointment
flow screen component.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions with Lightning Scheduler
enabled.
How: To get started, you can clone and modify the new Inbound New Guest Appointment standard flow template, or create your own
flows in Flow Builder.

Simplify Setup with Lightning Scheduler Setup Assistant


Lightning Scheduler Setup Assistant provides a one-stop interface with built-in examples for admins to configure Lightning Scheduler.
This feature steps admins new to Lightning Scheduler through setup and includes a progress indicator.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions with Lightning Scheduler
enabled.
How: For new organizations with Lightning Scheduler: from the App Launcher, find and open the Lightning Scheduler Setup app.
For existing organizations with Lightning Scheduler: In App Manager, edit the Lightning Scheduler Setup app. In Navigation Items, move
Lightning Scheduler Setup Assistant into Selected Items. Next, from the App Launcher, find and open the Lightning Scheduler Setup
app, and then click the Lightning Scheduler Setup Assistant tab.

98
Salesforce Spring ’20 Release Notes Lightning Scheduler: Guest User Scheduling, Chronos for
Lightning Scheduler, and Simplified Setup

SEE ALSO:
Salesforce Help: Use Lightning Scheduler Setup Assistant Guidance (Optional)(can be outdated or unavailable during release preview)

Pair Lightning Scheduler with Einstein Bots


Chronos, the new Einstein Bot for Lightning Scheduler, allows customers to schedule, view, reschedule, and cancel their Lightning
Scheduler appointments using Chat or SMS. Chronos is an unmanaged package available on AppExchange that’s configurable to fit any
business process and includes pre-trained natural language for scheduling intents.
Where: This change applies to Lightning Experience in Enterprise and Unlimited editions with Einstein Bots and Lightning Scheduler
enabled.
How: To get started, embed Chronos on your website or mobile app with Salesforce Embedded Service for Chat or enable an SMS
number.

99
Salesforce Spring ’20 Release Notes Lightning Scheduler: Guest User Scheduling, Chronos for
Lightning Scheduler, and Simplified Setup

SEE ALSO:
AppExchange: Chronos Bot: Lightning Scheduler Appointment Management

Enforce Skill Matching


Lightning Scheduler now enforces skill and skill-level matching for service resource appointments.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions with Lightning Scheduler
enabled.
How: To get started, edit Match Skills in Lightning Scheduler Scheduling Policies, and select the rules you want to enforce.

SEE ALSO:
Salesforce Help: Enforce Skill Matching in Lightning Scheduler (can be outdated or unavailable during release preview)

100
Salesforce Spring ’20 Release Notes Navigate to a Record’s Create Page with Default Field Values

Access a Service Appointment from an Assigned Resource


Now your users can traverse between a service appointment and a Salesforce event. This change reduces the number of clicks necessary
to view or delete a service appointment related to an event on the Salesforce calendar.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions with Lightning Scheduler
enabled.

Streamline Your Flows with the Review Inbound or Outbound Service Appointment
Component
Users can now review inbound or outbound service appointments with a new flow screen component. If an “Access to entity ‘Lead’
denied” error appears when scheduling an appointment, you can replace the old Review Service Appointment component with the
new component.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions with Lightning Scheduler
enabled.
Why: The Review Service Appointment flow screen component causes an error when authenticated community users try to schedule
an appointment. Most commonly, users with the Customer Community Plus license get this error.

How: Edit your Lightning Scheduler flow that experiences this problem, and replace the Review Service Appointment component with
the Review Inbound or Outbound Service Appointment component.

Do More with Lightning Scheduler API Calls


Lightning Scheduler has two new APIs and both a new field and added functionality for the get appointment slots API. Create service
appointments or get service territories with Lightning Scheduler’s new API calls. Use the new primaryResourceId field to specify
a primary resource when getting appointment slots for multi-resource scheduling.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions with Lightning Scheduler
enabled.

SEE ALSO:
REST API

Navigate to a Record’s Create Page with Default Field Values


Create custom buttons and links that pass default field values to a new record.

101
Salesforce Spring ’20 Release Notes Power Up Your Related Lists with Enhanced Related Lists
(Generally Available)

Where: This change applies to Lightning Experience in all editions. This change doesn’t apply to Lightning Out, Lightning communities,
or the Salesforce mobile app.
How: To construct a custom button or link that launches a new record with prepopulated field values, use this sample formula:
/lightning/o/Account/new?defaultFieldValues=
Name={!URLENCODE([Link])},
OwnerId={![Link]},
AccountNumber={![Link]},
NumberOfEmployees=35000,
CustomCheckbox__c={!IF(Account.SomeCheckbox__c, true, false)}

Important: The URLENCODE function works only when creating custom buttons and links. You can’t use it for custom fields.

SEE ALSO:
Salesforce Help: Launching Record Create Page with Default Field Values (can be outdated or unavailable during release preview)
Navigate Users to a Record’s Create Page with Default Field Values

Power Up Your Related Lists with Enhanced Related Lists (Generally


Available)
Take your related lists to the next level. With Enhanced Related Lists, now generally available, you can show up to 10 columns, resize
and sort your columns, perform mass actions, and wrap text.
Where: This change applies to Lightning Experience in Essential, Group, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
How: From the related lists component in the Lightning App Builder, select Enhanced List from the Related List Type dropdown (1).
You can customize how many records to display at once, and choose whether to show the list view action bar.
Choosing Enhanced List affects all related lists in the component (2). To customize which columns appear in a particular related list, edit
the related list in the page layout editor and add more fields.

102
Salesforce Spring ’20 Release Notes Require Secure HTTPS Connections (Critical Update)

SEE ALSO:
Salesforce Help: Customize Related Lists(can be outdated or unavailable during release preview)
IdeaExchange: More Than 4 Fields on Related List in Lightning Experience

Require Secure HTTPS Connections (Critical Update)


As part of updates related to Google Chrome’s SameSite cookie changes, HTTPS connections are required to access Salesforce. HTTP
connections are no longer permitted. This update enables the Require secure connections (HTTPS) setting on the Session Settings Setup
page and prevents it from being disabled. The Require secure connections (HTTPS) for all third-party domains setting isn’t affected by
this update.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions.
When: This critical update is activated automatically on January 30, 2020 in sandboxes and May 1, 2020 in production orgs.
How: We recommend that you test this update in a sandbox or Developer Edition org before enabling it in your Salesforce production
org. Ensure that your environment is setup to support HTTPS connections and update all bookmarks and links with the HTTP prefix
before the auto-activation date.
To activate this critical update before the auto-activation date, from Setup, in the Quick Find box, enter Critical Updates, then
select Critical Updates. For Require Secure HTTPS Connections, click Activate.

Note: If you don’t see this critical update, the Require secure connections (HTTPS) setting is already enabled in your org and no
action is required.

SEE ALSO:
Prepare for Google Chrome’s Changes in SameSite Cookie Behavior That Can Break Salesforce Integrations
Critical Updates and Security Alerts

103
Salesforce Spring ’20 Release Notes Open Hyperlinks in Formula Fields Correctly (Previously
Released Critical Update)

Open Hyperlinks in Formula Fields Correctly (Previously Released Critical


Update)
If you have formula fields that contain a HYPERLINK function, Lightning Experience ignores the target value when attempting to
open the link. This critical update ensures that the target value for hyperlinks is honored, whether it’s explicitly configured or set by
default. This critical update was first made available in Winter ’19.
Where: This change applies to Lightning Experience and the Salesforce app in all editions.
When: This update is enforced when a sandbox or production org is upgraded to Summer ’20. Enforcement starts on June 15, 2020 and
takes effect when your instance is upgraded to Summer ’20. To find the exact activation date for your instance, refer to
[Link]
How: From Setup, enter Critical Updates in the Quick Find box. Then select Critical Updates. For Lightning Experience Honors
Target Values for Hyperlinks in Formula Fields, click Acknowledge.

SEE ALSO:
Salesforce Help: Formula Operators and Functions A-H(can be outdated or unavailable during release preview)

Keep Working with Tab-Focused Dialogs (Previously Released Critical


Update)
In Lightning console apps, dialogs no longer stop you from interacting with the rest of the UI. This critical update limits the focus of
dialogs triggered by a workspace tab or subtab to only the tab that triggered it. This critical update was first made available in Winter
’20.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions. Lightning console apps are available for an extra cost to users with Salesforce Platform user licenses for certain products. Some
restrictions apply. For pricing details, contact your Salesforce account executive.
When: You can activate this update now. Otherwise, we auto-activate it on October 19, 2020.
Why: Before the Winter ’20 release, all dialogs triggered by a workspace tab or subtab in a Lightning console app took the focus of the
entire app. This update makes dialogs require the focus of only the tab that triggered them, allowing users to interact with the rest of
the app.
How: To activate this critical update before October 19, 2020, from Setup, enter Critical Updates in the Quick Find box, then
select Critical Updates. For Keep Working with Tab-Focused Dialogs, click Activate.
After the update, when you trigger a dialog, it’s limited to the tab that created it.

104
Salesforce Spring ’20 Release Notes Salesforce CMS: B2C Commerce Page Designer Integration,
Multiple Varied Channels, CMS Home, and Flexible Layouts

SEE ALSO:
Critical Updates and Security Alerts

Salesforce CMS: B2C Commerce Page Designer Integration, Multiple


Varied Channels, CMS Home, and Flexible Layouts
Reuse your Salesforce CMS content across varied channels, both inside and outside Salesforce, including B2C Commerce Page Designer,
Marketing Cloud, and Heroku. CMS Home makes it easy to jump into CMS Workspaces and Experience Builder from the Salesforce CMS
app. And with flexible layouts, you can achieve the optimal layout for your custom content pages.

IN THIS SECTION:
Use Your Salesforce CMS Content with B2C Commerce Page Designer
Develop rich, content-driven shopping experiences for your customers using your Salesforce CMS content and B2C Commerce Page
Designer. Add a B2C Commerce channel to your CMS Workspace to access your content. Then create a cohesive experience for your
customers across clouds.
Deliver Engaging Content Across Multiple Channels and Sites
Salesforce CMS is now a hybrid CMS, which means you can create content in a central repository and share it to any endpoint,
including experiences and sites powered by systems other than Salesforce. Save time by creating content once in Salesforce CMS
and reusing it across different channels, such as Commerce Cloud, Marketing Cloud, Heroku, Lightning apps, and Experience Builder
sites.
Access All Things CMS from CMS Home
The CMS Home welcome mat greets you at the door with helpful pointers and links to help topics to make your stay more comfortable.
A navigation tab and a new entry into CMS Workspaces and Experience Builder help you get where you want to go.
Channel Content to Other Internal and External Endpoints
Enhance your customer experience using the same Salesforce CMS content across all the places your customers consume it. Create
a Marketing Cloud, Heroku, Lightning app, or any third-party system channel to use your Salesforce CMS content in those endpoints
using Delivery APIs.

105
Salesforce Spring ’20 Release Notes Use Your Salesforce CMS Content with B2C Commerce Page
Designer

Manage CMS Workspaces and Channels


We updated the user permission so you can control who manages Salesforce CMS Workspaces and CMS Channels. The Create CMS
Workspace user permission is now called Manage CMS Workspaces and Channels. When enabled, the Manage CMS Workspaces
and Channels permission lets the user create and edit CMS Workspaces and add CMS Channels.
Enhance CMS Content with Flexible Layouts
Create CMS Content Pages with the freedom of a flexible layout to build highly customized pages in Experience Builder. Get fancy
with adjustable columns and easy-to-add sections. Bring it all to life using background images and color.
Delete Content from Your Salesforce CMS Workspaces
Keep your CMS workspaces tidy by removing the content you no longer need, and stay under the maximum limit for content.
Enhance Your Custom Content Types with Date, Datetime, and URL Nodes
When you create custom content types for Salesforce CMS, you can include important date, time, and time zone details and add
links to other resources.
Help Your Users Find the CMS Content They Need
Configure search within a community channel or channels from Commerce Cloud, Marketing Cloud, Heroku, Lightning apps, and
other site experiences. Let users easily find the Salesforce CMS content they want and keep them engaged with your business.
Add More Videos to Your Salesforce CMS Workspace
We’ve increased video support for the Salesforce CMS rich text editor to include four new providers. In addition to the existing video
providers, you can now enhance your content with videos from Wistia, Brightcove, Cloudinary, and Amplience.

Use Your Salesforce CMS Content with B2C Commerce Page Designer
Develop rich, content-driven shopping experiences for your customers using your Salesforce CMS content and B2C Commerce Page
Designer. Add a B2C Commerce channel to your CMS Workspace to access your content. Then create a cohesive experience for your
customers across clouds.
Where: This change applies to Lightning Experience in Essentials, Enterprise, Performance, Unlimited, and Developer editions.
Who: To access Salesforce CMS and create content, you must be a Salesforce admin or Content admin in that CMS workspace. To create
CMS channels and workspaces, enable the Manage CMS Workspaces and Channels user permission.
How: Contact Salesforce support or your success manager to establish a trust relationship between Salesforce CMS and your B2C
Commerce instance.
Once the relationship is established, from the Salesforce App Launcher, find and open the Salesforce CMS app. In CMS Channels, select
Create Channel. Name your channel, then select Commerce Cloud > Create. Then add the B2C Commerce channel to your CMS
Workspace.
To use your CMS content in the B2C Commerce Page Designer, your Business Manager Admin must configure the connected Commerce
Cloud instance in the Business Manager.

106
Salesforce Spring ’20 Release Notes Deliver Engaging Content Across Multiple Channels and Sites

SEE ALSO:
Add a Channel to a CMS Workspace
Deliver Engaging Content Across Multiple Channels and Sites

Deliver Engaging Content Across Multiple Channels and Sites


Salesforce CMS is now a hybrid CMS, which means you can create content in a central repository and share it to any endpoint, including
experiences and sites powered by systems other than Salesforce. Save time by creating content once in Salesforce CMS and reusing it
across different channels, such as Commerce Cloud, Marketing Cloud, Heroku, Lightning apps, and Experience Builder sites.
Where: This change applies to Lightning Experience in Essentials, Enterprise, Performance, Unlimited, and Developer editions.
Who: To access Salesforce CMS and create content, you must be a Salesforce admin or have a contributor role in that CMS workspace.
To create CMS channels and workspaces, enable the Manage CMS Workspaces and Channels user permission.
Why: Salesforce CMS breaks the tight link between content and presentation often seen in a traditional CMS. Previously, you could use
Salesforce CMS content only in communities, but with the new hybrid approach, you can use Salesforce CMS to serve more endpoints,
inside or outside Salesforce. By separating content from presentation, you can add content once in Salesforce CMS and then decide
which channels to share it with. After that, you add the content to the various websites, portals, or mobile apps where you want the
content to appear.
To support the new hybrid approach for Salesforce CMS, we added:
• CMS Home, which provides a streamlined entry into CMS Workspaces and Experience Builder
• Connection options for B2C Commerce channels

107
Salesforce Spring ’20 Release Notes Access All Things CMS from CMS Home

• Connection options for other internal and external endpoints


How: To access the Salesforce CMS Home and the CMS Channels tabs in Salesforce CMS, open the relevant user profile in Setup. In the
Tab Settings section, set CMS Channels, CMS Experiences, CMS Home, and CMS Workspaces to Default On.
From the Salesforce App Launcher, find and open the Salesforce CMS app. Select CMS Channels. Select Add Channel to add an
existing channel, or select Create Channel to create one.

SEE ALSO:
Salesforce Help: Salesforce Content Management System (CMS)

Access All Things CMS from CMS Home


The CMS Home welcome mat greets you at the door with helpful pointers and links to help topics to make your stay more comfortable.
A navigation tab and a new entry into CMS Workspaces and Experience Builder help you get where you want to go.
Where: This change applies to Lightning Experience in Essentials, Enterprise, Performance, Unlimited, and Developer editions.
Who: To access Salesforce CMS and create content, you must be a Salesforce admin or have a contributor role in that CMS workspace.

108
Salesforce Spring ’20 Release Notes Channel Content to Other Internal and External Endpoints

How: To enable access to the Salesforce CMS Home, open the relevant user profile in Setup. In the Tab Settings section, set CMS
Experiences, CMS Home, and CMS Workspaces to Default On.
From the Salesforce App Launcher, find and open the Salesforce CMS app. Use the CMS Home tab to access CMS Channels, Experiences,
and Workspaces. Create CMS Workspaces and CMS Experiences from the tiles on the CMS Home page.

SEE ALSO:
Start Using Salesforce CMS
Add Your Salesforce CMS Content to Your Community

Channel Content to Other Internal and External Endpoints


Enhance your customer experience using the same Salesforce CMS content across all the places your customers consume it. Create a
Marketing Cloud, Heroku, Lightning app, or any third-party system channel to use your Salesforce CMS content in those endpoints using
Delivery APIs.
Where: This change applies to Lightning Experience in Essentials, Enterprise, Performance, Unlimited, and Developer editions.
Who: To access Salesforce CMS and create content, you must be a Salesforce admin or Content admin in that CMS workspace. To create
CMS channels and workspaces, enable the Manage CMS Workspaces and Channels user permission.
How: To enable access to the Salesforce CMS Home, open the relevant user profile in Setup. In the Tab Settings section, set CMS
Experiences, CMS Home, and CMS Workspaces to Default On.
From the Salesforce App Launcher, find and open the Salesforce CMS app. Select CMS Channels > Create Channel. Name your
channel, then select Other Channel: Marketing Cloud, Heroku, and More. Choose a Permission Set, then Create. From your CMS
Workspace, select Add Channel. Then add the channel you created.

109
Salesforce Spring ’20 Release Notes Manage CMS Workspaces and Channels

Chatter REST API and Chatter in Apex support getting channels (beta) and getting managed content for a channel (beta).

Manage CMS Workspaces and Channels


We updated the user permission so you can control who manages Salesforce CMS Workspaces and CMS Channels. The Create CMS
Workspace user permission is now called Manage CMS Workspaces and Channels. When enabled, the Manage CMS Workspaces and
Channels permission lets the user create and edit CMS Workspaces and add CMS Channels.
Where: This change applies to Lightning Experience in Essentials, Enterprise, Performance, Unlimited, and Developer editions.
Who: To access Salesforce CMS and create content, you must be a Salesforce admin or have a contributor role in that CMS workspace.
To create CMS channels and workspaces, enable the Manage CMS Workspaces and Channels user permission.
How: The Manage CMS Workspaces and Channels permission is enabled by default for Salesforce admins.

Enhance CMS Content with Flexible Layouts


Create CMS Content Pages with the freedom of a flexible layout to build highly customized pages in Experience Builder. Get fancy with
adjustable columns and easy-to-add sections. Bring it all to life using background images and color.
Where: This change applies to Salesforce CMS and Lightning communities accessed through Lightning Experience in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.

110
Salesforce Spring ’20 Release Notes Delete Content from Your Salesforce CMS Workspaces

How: From the Salesforce App Launcher, find and open the Salesforce CMS app. Open your CMS Experience > Builder. Create a
New Page > CMS Content Page. Select a content type, and then build your page.

Note:
• CMS Content Pages created before Winter ’20 aren’t affected and maintain the static layout that you used to create them. To
convert an existing page to a flexible layout, delete the page and recreate it.
• New default News Detail pages also use flexible layouts.

SEE ALSO:
Create a Flexible Layout
Custom Content Types
Enhance Your Custom Content Types with Date, Datetime, and URL Nodes
Stretch Your Flexible Layouts Further

Delete Content from Your Salesforce CMS Workspaces


Keep your CMS workspaces tidy by removing the content you no longer need, and stay under the maximum limit for content.
Where: This change applies to Lightning Experience in Essentials, Enterprise, Performance, Unlimited, and Developer editions.
Who: To access Salesforce CMS and delete content, you must have a contributor role in that CMS workspace.
How: In Salesforce CMS, open a CMS workspace and select the content item to delete. On the content details page, from the action list
in the page header, click Delete.

111
Salesforce Spring ’20 Release Notes Enhance Your Custom Content Types with Date, Datetime,
and URL Nodes

Note: You can delete only unpublished content. To delete published content, remember to unpublish it first.

Content items can have multiple versions; when you delete one version of a specific item, all versions are also deleted. You can restore
deleted content from the Recycle Bin, which is available from the App Launcher.

Enhance Your Custom Content Types with Date, Datetime, and URL Nodes
When you create custom content types for Salesforce CMS, you can include important date, time, and time zone details and add links
to other resources.
Where: This change applies to Lightning Experience in Essentials, Enterprise, Performance, Unlimited, and Developer editions.
Who: To access Salesforce CMS and create content, you must be a Salesforce admin or have a contributor role in that CMS workspace.
How: Use the ManagedContentType in Metadata API to set up custom content types that include date, datetime, and URL nodes.
After you create a custom content type in your org, it appears as a form for adding content in the Salesforce CMS app.
In your CMS workspace, you can add date, time, and time zone details to your custom content. Then, choose how you want to display
this information to users by customizing the date formats in Experience Builder.

112
Salesforce Spring ’20 Release Notes Help Your Users Find the CMS Content They Need

Note: Data nodes only allow you to display content in a date format. You can’t filter or sort content by date or time.

Similarly, you can use the URL nodes in Salesforce CMS to include links to products, articles, blog posts, and other media types in your
content. In Experience Builder, you can further customize URL displays to control how your users see and interact with these links.

SEE ALSO:
Lightning Communities Developer Guide: Create Custom Content Types for Salesforce CMS

Help Your Users Find the CMS Content They Need


Configure search within a community channel or channels from Commerce Cloud, Marketing Cloud, Heroku, Lightning apps, and other
site experiences. Let users easily find the Salesforce CMS content they want and keep them engaged with your business.

113
Salesforce Spring ’20 Release Notes Help Your Users Find the CMS Content They Need

Where: This change applies to Salesforce CMS and Lightning communities accessed through Lightning Experience in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.
How: To access the CMS Channels tab where you enable search, open the relevant user profile in Setup. In the Tab Settings section, set
CMS Channels to Default On.
Then, to enable search for your community channels or other custom channels in your org, open the CMS Channels tab in Salesforce
CMS. Enable search by selecting > Edit beside a channel and clicking the Search toggle.

If you’re using Experience Builder to create the community or site where your content appears, after you enable search for a channel,
you must then configure the Global Search Box component. Open Builder and add the Content object (1) to the Global Search Box
component (2).

After search is enabled for a channel, users can search for all published CMS content types within that specific channel.

114
Salesforce Spring ’20 Release Notes Add More Videos to Your Salesforce CMS Workspace

Note: Set up a content detail page for your custom content type so users can search for it in the community.

Chatter REST API supports searching managed content.

SEE ALSO:
Salesforce Help: Create a Detail Page (can be outdated or unavailable during release preview)

Add More Videos to Your Salesforce CMS Workspace


We’ve increased video support for the Salesforce CMS rich text editor to include four new providers. In addition to the existing video
providers, you can now enhance your content with videos from Wistia, Brightcove, Cloudinary, and Amplience.
Where: This change applies to Lightning Experience in Essentials, Enterprise, Performance, Unlimited, and Developer editions.
Who: To access Salesforce CMS and create content, you must have a contributor role in that CMS workspace.
How: From the Salesforce App Launcher, find and open Salesforce CMS. Select a CMS Workspace, then Create Content. In the rich
text editor, select the icon. You can add URL links to videos from any of the following providers:
• YouTube
• Vimeo
• Vidyard
• Wistia
• Brightcove
• Cloudinary
• Amplience

115
Salesforce Spring ’20 Release Notes Salesforce Essentials: Email-to-Case Enhancements, New
Service Features, Improved Mobile App and In-App
Subscription Management

Tip: If your video isn’t displaying in the editor, add the URL link to the Cross-Origin Resource Sharing (CORS) whitelist so Salesforce
can access the link and display the video.

SEE ALSO:
Salesforce Help: Use CORS to Access Salesforce Resources from Web Browsers

Salesforce Essentials: Email-to-Case Enhancements, New Service


Features, Improved Mobile App and In-App Subscription Management
Get your support emails into Salesforce faster by directly connecting your Google account to Email-to-Case. Tidy your case list with Case
Merge. If you use Chat & Messaging, offer customers a menu of ways to contact you with a channel menu in your embedded chat
window. The Salesforce mobile app reflects your personalized navigation in Essentials and prioritizes the information you use the most.

IN THIS SECTION:
Get Connected Faster with Enhancements to Email-to-Case
Turning your support emails into cases is easier than ever. Skip the manual Gmail setup by logging into your Google account to
Salesforce and selecting the email address you want to use. When you email your customers from Salesforce, they see your company’s
support email address in the From field.

116
Salesforce Spring ’20 Release Notes Get Connected Faster with Enhancements to Email-to-Case

Merge Duplicate Cases to Clear Up Your Support To-Dos (Generally Available)


Get through the clutter and focus on what's important for your small business: your customers. Merge your duplicate cases like you
merge your duplicate accounts and contacts. You can consolidate up to three duplicate cases.
Run Your Small Business from Anywhere with the New Salesforce Mobile App
Increase your productivity on-the-go with an improved experience. The mobile app reflects your personalized navigation in Essentials
and prioritizes the information you use the most.
Give Customers a Menu of Conversation Channels (Generally Available)
Let your customers contact you through channels like chat, Facebook Messenger, phone, or a custom link using a channel menu in
your website or help center. You can create a channel menu if you’ve purchased the Chat & Messaging add-on.

Get Connected Faster with Enhancements to Email-to-Case


Turning your support emails into cases is easier than ever. Skip the manual Gmail setup by logging into your Google account to Salesforce
and selecting the email address you want to use. When you email your customers from Salesforce, they see your company’s support
email address in the From field.
Where: This change applies to Lightning Experience in the Essentials edition.
How: In one easy setup flow, you can swiftly connect your Gmail inbox that receives customer support emails directly to Essentials. From
Service Setup, click Connect Your Support Email.
When you select Gmail for your email provider, you can log into your Google account using the popup window. Then, select your support
email address. You can manage your connected Google account from the Google Email-to-Case page in Setup.

Merge Duplicate Cases to Clear Up Your Support To-Dos (Generally


Available)
Get through the clutter and focus on what's important for your small business: your customers. Merge your duplicate cases like you
merge your duplicate accounts and contacts. You can consolidate up to three duplicate cases.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the mobile app in Essentials, Professional,
Performance, Unlimited, Enterprise, and Developer editions.

SEE ALSO:
Combine Duplicate Cases with Case Merge (Generally Available)

Run Your Small Business from Anywhere with the New Salesforce Mobile
App
Increase your productivity on-the-go with an improved experience. The mobile app reflects your personalized navigation in Essentials
and prioritizes the information you use the most.
Where: This change applies to the Salesforce Mobile App for iOs and Android in the Essentials edition.

SEE ALSO:
Welcome to the New Salesforce Mobile App

117
Salesforce Spring ’20 Release Notes Give Customers a Menu of Conversation Channels (Generally
Available)

Give Customers a Menu of Conversation Channels (Generally Available)


Let your customers contact you through channels like chat, Facebook Messenger, phone, or a custom link using a channel menu in your
website or help center. You can create a channel menu if you’ve purchased the Chat & Messaging add-on.
Where: This change applies to Salesforce Classic and Lightning Experience in Essentials, Professional, Performance, and Unlimited
editions.

SEE ALSO:
Hello! Meet the Channel Menu (Generally Available)

Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant


(Beta), Resolve Cases Faster with Article Recommendations, and Predict
the Future Using Filters
Einstein Voice Assistant lets your users add and update Salesforce data conversationally, using their voice. Your agents can resolve cases
faster using Einstein’s knowledge article recommendations. Build custom predictions based on filter logic without needing to create
fields to predict.
Here are even more ways that Salesforce Einstein helps you work smarter.

Salesforce Overall
Einstein Voice Assistant: Get More Done on the Run (Beta)
Let users make updates to Salesforce—like logging events, creating contacts, and updating opportunities—all by voice. Einstein Voice
Skills lets you build custom skills tailored to your users’ most common tasks, generating more high-quality Salesforce data to inform
decision making.

Sales
Sales Cloud Einstein: Enjoy Simplified Data Requirements
The data requirements for several Sales Cloud Einstein features are now simpler, making it easier to get meaningful sales intelligence
within Salesforce.

Sales
Explore Factors That Determine Behavior Scoring
Ever wonder how we build your Einstein Behavior Scoring model? Now you can find out. A new dashboard in B2B Marketing Analytics
shows how your custom model weights each engagement activity and which assets relate most strongly to future conversion.

Service
Help Your Agents Resolve Cases Faster with Einstein Article Recommendations (Generally Available)
Einstein Article Recommendations uses data from past cases to identify Knowledge articles that are most likely to help your agents
address customer inquiries. Einstein Article Recommendations is generally available this release.

118
Salesforce Spring ’20 Release Notes Salesforce Einstein: Talk to Salesforce with Einstein Voice
Assistant (Beta), Resolve Cases Faster with Article
Recommendations, and Predict the Future Using Filters
Help Your Chat Agents Respond Faster with Einstein Reply Recommendations (Pilot)
Einstein Reply Recommendations analyzes data from chat transcripts to create chat replies that address your customers’ inquiries. Agents
select the most relevant chat reply from a list in the Lightning Service Console as they communicate with customers.
Create Tailored Chatbot Experiences with Conditional Messaging
Let bots deliver personalized experiences to your customers with built-in logic to send customized messages based on conversation
context: either through a pre-chat form, data inside the CRM, or earlier replies to the bot. With Conditional Messaging, bots provide more
intelligent responses and can handle nuanced discussion — turning good conversations into great conversations.
Handle Errors Gracefully Using Conversation Repair
Bots are better helpers when they have accurate information, and with Conversation Repair, bots are able to capture formatted text in
a kind and graceful manner. Now, bots can suggest to the customer when an email or phone number is formatted incorrectly, and if
the customer needs further assistance, the bot can route the customer to an agent.
Train Your Bot Faster with the Upgraded Model Management Dashboard
Get your bot in shape with an improved dashboard that provides actionable recommendations to improve model quality.
Recommendations such as identifying well-performing intents provide suggestions to improve your intent training. Better intents mean
better bot performance with your customers.
Improve Your Bot with Granular Conversation Logs
We’re making the conversation logs more granular to give admins a deeper understanding of exactly where the bot needs improvement.
This addition, which shows customer inputs and bot actions categorized by dialog, shows admins every move the bot makes.
Create Smart Transfers over SMS with Agent Availability
Now bots can gracefully check whether agents are available for transfer and notify the customer over SMS and Chat. The Agent Availability
Check that launched in the Winter ‘20 release is expanding to SMS to provide a multi-channel experience between bots and agents.
Increase Customer Engagement with the Chatbot Typing Indicator
Keep customers engaged while the bot delivers the next message by using the chatbot typing indicator. These three dots mimic
messaging apps that signify when a person is typing, which shows the customer that the bot is still actively processing their request.
WhatsApp: Now Available for Einstein Bots
Pack your bot’s bags, because Einstein Bots is now available in 180 countries on the world’s largest messaging app, WhatsApp. Bots can
interface with WhatsApp to deliver messages to your customers, just like they do with SMS. Bots can also use automation to bring
complex cases directly to agents, all on WhatsApp.
Einstein Bots: Other Bot Updates
Learn about other changes to Einstein Bots.
Improve Einstein Field Value Predictions with Segments and Example Data
Set up and build predictive models for various business segments, such as building and consulting services or enterprise and consumer
divisions. You can also narrow the scope of a single model if you want to predict field values for only a subset of your business. Previously,
Case Classification considered all your data. Within each segment, specify the closed cases that best reflect the completed fields and
field values you’d like to use for case classification. This example data trains each model with data that represents best practices for your
cases.
Manage Multiple Models with a New Setup Page Experience
You can now create models that align with the way you organize your business or focus on a particular segment of your business. The
Case Classification setup page redesign has a new section for multiple models.
Try Einstein Case Classification At No Additional Cost

119
Salesforce Spring ’20 Release Notes Salesforce Einstein: Talk to Salesforce with Einstein Voice
Assistant (Beta), Resolve Cases Faster with Article
Recommendations, and Predict the Future Using Filters
Heard about Einstein Case Classification but aren’t sure it will work for your data? Enterprise, Performance, and Unlimited Edition customers
can get to know it by creating a case classification model!

Analytics
Amplify Live Prediction Scoring with External Data
You can now include external data to better predict outcomes. Some predictive models require information that is not found in Salesforce,
such as explanatory variables stored in outside data sources, or computed fields. Let's say you're building an opportunity time-to-close
predictive model. You want to use counts of opportunity team members and qualified tasks associated with that opportunity record.
Creating these aggregations using Einstein Analytics data prep is simple. Quickly build the predictive model as an Einstein Discovery
story. When scoring individual records back in Salesforce, tell the predictive model how many tasks or team members are connected to
the opportunity. Instead of writing code or modifying the data model, simply build a dataset that refreshes on a frequent basis where
this aggregation is performed. Make sure to map the predictive model fields that are not natively found in Salesforce back to the dataset.
Simulate Future Outcomes with What Could Happen Insights
Get live prediction scores interactively, including top factors and actionable insights. You can now use What Could Happen insights to
perform “What If” simulations on a row of data. What Could Happen insights replace the previous Predictions & Improvements insights
with a streamlined, interactive interface.
Keep Track of Story Changes
Now you can revisit and work with previous story versions at any time. Each time a user creates a story with updated settings, Einstein
saves a snapshot of the previous version under the same name. You can open and work with previous versions of a story.
Get the Best Predictions of Three Different Models (Pilot)
Einstein Discovery now adds a third modeling approach known as XGBoost, which implements gradient boosting learning algorithms.
Previously, Einstein Discovery relied on two types of models to predict outcomes: regression and GBM models. Now when you create a
story, Einstein Discovery generates predictions using all three types of models. Einstein then shows the results of the one model that
performed best. You get the best of all approaches.
Smart Feature Selection for Logistic Models
When you create a story with a binary outcome, Einstein Discovery now generates it faster by automatically selecting just the features
and variables required to build the model. The story creation process is streamlined and quicker.
Identify Key Drivers Before Creating a Story
Before you create a story for the first time, you can now quickly decide ahead of time which fields to include. With manual story setup,
Einstein now shows you correlations between dataset columns and the outcome variable. Previously, correlations were visible only after
initial story creation.
Crunch More Data with Einstein Discovery (Pilot)
With increased Einstein Discovery limits, you can now create stories from Einstein Analytics datasets containing up to 100 million rows
of data. Previously, the maximum was 20 million rows.
Deploy Models Without Salesforce Objects
In certain cases, model deployment no longer requires selecting a Salesforce object. This exception applies only if you intend to use the
model just for programmatic predictions via the Einstein Prediction Service, or for dataset scoring via the prediction component in
Einstein Analytics dataflows. In all other cases, selecting a Salesforce object during deployment is required.
Quickly Drill Down Into Insights
For insights associated with text fields, you can easily drill down into the underlying details by clicking the Explore button. Einstein
displays a Lens view so that you can interactively explore the data for this insight.
Retiring Einstein Discovery Classic

120
Salesforce Spring ’20 Release Notes Salesforce Einstein: Talk to Salesforce with Einstein Voice
Assistant (Beta), Resolve Cases Faster with Article
Recommendations, and Predict the Future Using Filters
We retire Einstein Discovery Classic in Spring ’20. Einstein Discovery Classic will be replaced with the new experience for all orgs starting
in Spring ’20.

Mobile
Boost Productivity for Your Mobile Users with Einstein Voice Assistant (Beta)
With Einstein Voice Assistant, your users can get more done while they’re on the go by speaking in to their mobile phone. From the new
Salesforce mobile app, they can ask Einstein to make changes to Salesforce, like logging events, creating contacts, and updating
opportunities.

Industries
Fine-Tune Your Pipeline with Einstein Referral Scoring (Generally Available)
Now it’s easier for your managers to evaluate referrals. Einstein Referral Scoring helps you build a prediction that scores referrals in
Salesforce org. Your users can view referral scores on the Einstein Top Referrals component.
Store Your Einstein Object Detection Data Locally
For Salesforce orgs in the European Union (EU), Einstein Object Detection data is now stored locally.
Control Access to Einstein Object Detection
You can now choose which users in your Salesforce org can access Einstein Object Detection.
Disable Einstein Object Detection Models
You can disable object detection models that you are in the process of building. You can also disable underperforming models and
models that aren't used. You can always enable a model later.

Customization
Predict the Future Using Filters in Einstein Prediction Builder
When you build a prediction, you no longer need a field that answers your prediction question. As long as the records on the object that
you base your prediction on have the data, you can use filters instead.
Show Top Predictors on Records with Einstein Prediction Builder
Now you and your users can gain insights on which predictors are most influential at the record level, not just for the entire model. You
can show top predictors on records to see which field values have the biggest impact on a specific record’s score.
Try Einstein Prediction Builder At No Additional Cost
Turn on Einstein Prediction Builder without spending a dime to see how your business can benefit from custom predictions. Decide
later whether to upgrade.
Make Informed Predictions with Trusted AI Help in Einstein Prediction Builder
Learn as you build with the Trusted AI sidebar help. Trusted AI helps you identify and mitigate potential bias in your data, making your
predictions less error prone.
Analyze Next Best Action Usage with Recommendation Strategy Metrics
Now you can track the aggregate usage of Next Best Action in a Salesforce org. Analyze metrics at the strategy and the recommendation
level. Compare the relative performance of two strategies. For a given calendar month, see the total number of recommendations an
org’s strategies served. Find out how many served recommendations agents accepted and rejected.
Create Recommendations from the Records of Any Salesforce Object

121
Salesforce Spring ’20 Release Notes Sales: High Velocity Sales Email Branching and Email
Scheduling, Task-Queue Assignment, and Revenue
Recognition Reports for Salesforce Billing
Declaratively create recommendations from the records of any Salesforce object, either standard or custom. Serve recommendations
from accounts, contacts, opportunities, and products. Load and filter the records of any Salesforce object, and convert them into
recommendations at the end of the strategy. Previously, when you created recommendations declaratively, you were limited to using
only Recommendation objects. You could programmatically convert the records of other objects into recommendations, but you used
Apex code with the Generate element.
Launch Flows When Recommendations are Rejected
Now you can launch a flow when a user rejects a recommendation, which gives you more flexibility. For example, a flow can run an
automated process, write to another system, or create a reminder email when a recommendation is rejected. Previously, Next Best Action
launched a flow only when a user accepted a recommendation.
Encrypt Recommendation Description Information
To address HIPAA requirements, Next Best Action has made it possible to encrypt recommendation description information using Shield
Platform Encryption.

Security, Privacy, and Identity


Encrypt the Next Best Action Recommendation Description Field
To address HIPAA requirements, Next Best Action has made it possible to encrypt recommendation description information using Shield
Platform Encryption. When you use probabilistic encryption, you can’t use encrypted fields like Recommendation Description when you
specify conditions to load recommendations. When you use deterministic encryption, you can use encrypted fields in load conditions
only with the equals or not equals operator.

Development
Einstein Vision: More Detailed Error Messages
Calls to the Einstein Object Detection training APIs now return more descriptive error messages.
Einstein Language: New Model Metrics
Calls to the Einstein Language APIs that return model metrics information now contain the macroF1 field, the precision array,
and the recall array.
Run Einstein Predictions in a Sandbox Org
Build and run predictions in a sandbox org to experiment with different settings.

Sales: High Velocity Sales Email Branching and Email Scheduling,


Task-Queue Assignment, and Revenue Recognition Reports for
Salesforce Billing
High Velocity Sales managers can branch sales cadences based on email engagement, and sales reps can schedule when emails are
sent. Let reps share their workload by assigning tasks to queues. Use Salesforce Billing Revenue Recognition API to report on revenue
recognition at any stage of the sales and finance process. Einstein Opportunity Scoring is available without a Sales Cloud Einstein license.
Collaborative Forecasts now supports inline editing in the opportunity list. Sales reps can specify email arrival times to increase the
chances of an email being read. And Pardot adds new analytics tools, including a dashboard for Einstein Behavior Scoring and an
Account-Based Marketing analytics app template.

122
Salesforce Spring ’20 Release Notes Sales: High Velocity Sales Email Branching and Email
Scheduling, Task-Queue Assignment, and Revenue
Recognition Reports for Salesforce Billing
IN THIS SECTION:
High Velocity Sales: Sales Cadence Email Branching, Email Scheduling, and Enhanced Reporting
Sales managers can branch sales cadences based on email engagement. Sales reps can schedule email send dates and times.
Managers and reps can see more details in High Velocity Sales reports and dashboards.
Sales Cloud Einstein: Enjoy Simplified Data Requirements
The data requirements for several Sales Cloud Einstein features are now simpler, making it easier to get meaningful sales intelligence
within Salesforce.
Core Sales Features: Einstein Opportunity Scoring for Everyone, Easier Forecast Editing, and More Territory Forecast Types
Einstein Opportunity Scoring is available to all eligible Sales Cloud users. Forecast users get inline editing for the opportunity list.
Salesforce now supports six more territory forecast types. Use Process Builder, Flow Builder, and workflow rules to automate key
processes for opportunity contact roles. Map LinkedIn consent and hidden fields to custom lead fields in Salesforce. And improve
your customers’ shopping experience by creating a path on the Fulfillment Order object.
Productivity Features: Send Later, List Email Drafts, Email Threading, and Task Queues
Your sales reps are on their way to increased productivity with several new features. They can now schedule an email to arrive at
the perfect day and time. And list emails are easier to write now that reps can save a draft and come back to their work. With email
threading, reps can see an entire conversation in one place, without getting lost in the replies and side conversations. And your reps
can efficiently share work items by assigning tasks to a queue.
Gmail™ Integration: Improved Transparency to Respect Email Privacy Settings, Logged Event Classification, and Template Updates
We added information about customers’ email privacy settings directly in the integration so that reps know how to best communicate
with customers. When logging events to Salesforce, reps can now identify the event type. And we updated the template flow,
making it easier to create templates and add them to emails.
Integration with Microsoft®: Email Privacy Notifications, Lightning Sync Setup Changes, and Salesforce for Outlook Announcements
We added information about customers’ email privacy settings directly in the integration so that reps know how to best communicate
with customers. Lightning Sync has some setup changes that can affect you, depending on your version of Microsoft Exchange.
Salesforce for Outlook has announced its December 2020 retirement. And for Salesforce for Outlook customers who are affected by
the Microsoft® Internet Explorer® 11 retirement for Lightning Experience, we provide steps for restoring access.
Salesforce CPQ and Billing: Ordering Usage Products with Evergreen Subscriptions, Smarter Configuration Rules, and Flexible Revenue
Schedule Creation
Order usage products related to evergreen subscriptions. Access more fields in the configurator. Edit quote line consumption
schedules directly in the quote line editor. Use triggers, process builders, and API to create revenue schedules anytime on any
Salesforce object. And prevent users from creating backdated amendments.
Pardot: Einstein and Account-Based Marketing Analytics, Business Snippets, and More Goodies
Spring ’20 brings you an exciting batch of analytics tools including an Einstein Behavior Scoring dashboard and an Account-Based
Marketing analytics app template. Plus, check out new uses for Snippets, two Engagement History dashboards, a handful of related
lists, and updates to our B2B Marketing Analytics datasets and dashboards.
Other Changes in the Sales Cloud
[Link] Prospector and [Link] Clean have been retired.
[Link]: Prospector and Clean Have Been Retired
[Link] Prospector and [Link] Clean licenses can no longer be renewed. These products are scheduled for retirement on July
31, 2020. Existing contracts will be honored.

123
Salesforce Spring ’20 Release Notes High Velocity Sales: Sales Cadence Email Branching, Email
Scheduling, and Enhanced Reporting

High Velocity Sales: Sales Cadence Email Branching, Email Scheduling,


and Enhanced Reporting
Sales managers can branch sales cadences based on email engagement. Sales reps can schedule email send dates and times. Managers
and reps can see more details in High Velocity Sales reports and dashboards.
High Velocity Sales and its features are available for an extra cost. For pricing details, contact your Salesforce account executive. Lightning
Dialer is also available for an extra cost as an add-on license.

IN THIS SECTION:
Sales Cadences: Branch on Email Engagement and Send Emails Automatically
Sales managers can do a lot more with the Sales Cadence Builder. Branch sales cadences based on prospects’ engagement with
emails, send template-based emails automatically, preview linked sales cadences, and more.
Schedule and Manage Scheduled Emails in High Velocity Sales
Sales reps can tailor email arrival times to increase the likelihood that recipients read them. For example, a rep knows that their
contact always reads her email when she comes back from lunch. So, by scheduling the email to arrive at 1:00 pm, it’s likely that the
contact will read it then. The new Scheduled Emails component lets reps update content of a scheduled email, and change its
scheduled date and time.
High Velocity Sales Reporting: Lead Performance Dashboard and Operational Report Improvements
Sales managers can view detailed lead outreach and conversion statistics. And they can build custom reports with lead, contact,
person account, and sales cadence data. They can also access more information with included reports.
Give Reps the Weekend off from Sales Cadences
Sales managers can let their teams enjoy the weekend. When you turn on the Skip Weekends setting, sales cadences assign tasks
to reps on weekdays only. Calls, emails, and custom steps skip Saturdays and Sundays to be assigned the following Monday.
Use the API to Inspect Sales Cadences
View information related to sales cadences with the API. Developers can now access six new standard objects related to sales
cadences: ActionCadence, ActionCadenceRule, ActionCadenceRuleCondition, ActionCadenceStep, ActionCadenceStepTracker, and
ActionCadenceTracker.
See More Details in the Work Queue
Sales reps can see when actions in the Work Queue are overdue. Plus, we moved filters and the refresh button to improve usability.
Enable Inbox Features for High Velocity Sales in a New Location
Salesforce Inbox now has a centralized location for enablement in the Inbox Setup Assistant page in Setup. Previously, there were
multiple places to enable Inbox, depending on whether you had a High Velocity Sales, Sales Cloud Einstein, or Inbox license.
Sales Users Can Filter Sales Cadence Steps in the Activity Timeline
Sales managers can filter for completed sales cadence tasks to track their sales reps' progress.
Keep Sales Cadences Moving Without a Built-In Calling Solution
Sales reps without Lighting Dialer or a third-party calling solution can now advance sales cadences with ease. If you don’t have a
built-in calling solution, when reps click a call action, we open the Log a Call panel automatically. After the call is logged, the sales
cadence advances.

Sales Cadences: Branch on Email Engagement and Send Emails Automatically


Sales managers can do a lot more with the Sales Cadence Builder. Branch sales cadences based on prospects’ engagement with emails,
send template-based emails automatically, preview linked sales cadences, and more.

124
Salesforce Spring ’20 Release Notes High Velocity Sales: Sales Cadence Email Branching, Email
Scheduling, and Enhanced Reporting

IN THIS SECTION:
Customize Outreach Based on Email Engagement
Sales managers can create sales cadences that lead reps through different outreach steps depending on whether a prospect engages
with an email. New listener branch steps wait for prospect engagement with an email, and advance to the next appropriate step
based on that engagement. For example, sales reps can follow one path if a prospect clicks a link in an email and another path if a
prospect doesn’t.
Send Emails Automatically from Sales Cadences
Save sales reps time with automated template-based emails. Sales managers can now add email steps that send automatically when
the step comes due.
Preview Linked Sales Cadences
Sales managers can view the details and sales steps of their linked sales cadences without leaving the Sales Cadence Builder.
View Call Result Groupings When Building Sales Cadences
The Sales Cadence Builder now shows call result values to sales managers for related call result groupings. The groupings are used
for sales cadence branching and reporting, so it’s useful to see the related values.

Customize Outreach Based on Email Engagement


Sales managers can create sales cadences that lead reps through different outreach steps depending on whether a prospect engages
with an email. New listener branch steps wait for prospect engagement with an email, and advance to the next appropriate step based
on that engagement. For example, sales reps can follow one path if a prospect clicks a link in an email and another path if a prospect
doesn’t.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on in Enterprise,
Performance, and Unlimited editions.
Why: Listener branch steps let sales managers choose whether to listen for an email open or a link click, and how long to wait for a
prospect to engage (1). Then they can choose what outreach reps should perform when a prospect engages (2) or doesn’t (3).

Send Emails Automatically from Sales Cadences


Save sales reps time with automated template-based emails. Sales managers can now add email steps that send automatically when
the step comes due.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on in Enterprise,
Performance, and Unlimited editions.
How: In the Sales Cadence Builder, add an email step, and choose to send the email automatically using a template.

125
Salesforce Spring ’20 Release Notes High Velocity Sales: Sales Cadence Email Branching, Email
Scheduling, and Enhanced Reporting

Preview Linked Sales Cadences


Sales managers can view the details and sales steps of their linked sales cadences without leaving the Sales Cadence Builder.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on in Enterprise,
Performance, and Unlimited editions.
How: In the Sales Cadence Builder, click the eye icon (1) next to a linked end step.

The sales cadence details appear. To see the sales steps, click View Sales Cadence Steps.

The linked sales cadence steps appear in the Sales Cadence Builder.

126
Salesforce Spring ’20 Release Notes High Velocity Sales: Sales Cadence Email Branching, Email
Scheduling, and Enhanced Reporting

View Call Result Groupings When Building Sales Cadences


The Sales Cadence Builder now shows call result values to sales managers for related call result groupings. The groupings are used for
sales cadence branching and reporting, so it’s useful to see the related values.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on in Enterprise,
Performance, and Unlimited editions.
Why: When a call ends, sales reps select a value that describes how the call went. Managers can now see these values in the Sales
Cadence Builder, providing them with more information when creating sales cadences.

127
Salesforce Spring ’20 Release Notes High Velocity Sales: Sales Cadence Email Branching, Email
Scheduling, and Enhanced Reporting

Schedule and Manage Scheduled Emails in High Velocity Sales


Sales reps can tailor email arrival times to increase the likelihood that recipients read them. For example, a rep knows that their contact
always reads her email when she comes back from lunch. So, by scheduling the email to arrive at 1:00 pm, it’s likely that the contact will
read it then. The new Scheduled Emails component lets reps update content of a scheduled email, and change its scheduled date and
time.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on in Enterprise,
Performance, and Unlimited editions.
Who: Users with the Use Inbox user permission, available with the High Velocity Sales or Inbox license.
How: To schedule an email, sales reps open the cadence step card and either click the envelope (1) or Send Email (2).

128
Salesforce Spring ’20 Release Notes High Velocity Sales: Sales Cadence Email Branching, Email
Scheduling, and Enhanced Reporting

Reps then select Send Later in the email composer.

The rep then selects the date and time and clicks Schedule.

To let your reps manage scheduled emails, use Edit Page to add the Send Email Later - Pending List component to any object’s home
page, including the Salesforce homepage.

129
Salesforce Spring ’20 Release Notes High Velocity Sales: Sales Cadence Email Branching, Email
Scheduling, and Enhanced Reporting

Using that component, reps can reschedule, edit, or delete an already-scheduled email.

SEE ALSO:
IdeaExchange: Log an email set for Send Later in SalesforceIQ Inbox
Schedule and Manage Scheduled Emails in Lightning Experience
Salesforce Help: Set Up Scheduled Email Management (can be outdated or unavailable during release preview)
Salesforce Help: Things to Know About Scheduled Email (can be outdated or unavailable during release preview)

High Velocity Sales Reporting: Lead Performance Dashboard and Operational Report
Improvements
Sales managers can view detailed lead outreach and conversion statistics. And they can build custom reports with lead, contact, person
account, and sales cadence data. They can also access more information with included reports.

IN THIS SECTION:
See How Fast Your Team Is Working Their Leads (Beta)
In Winter ’20, we introduced the High Velocity Sales Engagement Performance and Sales Cadence Performance dashboards. In
Spring ’20, the Lead Performance dashboard shows your sales managers how well their team is converting leads. They can see how
fast sales reps reach out to new leads, the number of leads in each stage of your sales funnel, the average number of days to convert,
and other measures of effectiveness. With this data, sales managers can see which reps need more coaching and which sales cadences
need tuning. These dashboards no longer require the View All Data permission.
See More Information in Sales Cadence Reports
We enhanced reports to let sales managers see details about prospect outreach timing and prospects’ progress through each sales
cadence.

See How Fast Your Team Is Working Their Leads (Beta)


In Winter ’20, we introduced the High Velocity Sales Engagement Performance and Sales Cadence Performance dashboards. In Spring
’20, the Lead Performance dashboard shows your sales managers how well their team is converting leads. They can see how fast sales
reps reach out to new leads, the number of leads in each stage of your sales funnel, the average number of days to convert, and other
measures of effectiveness. With this data, sales managers can see which reps need more coaching and which sales cadences need tuning.
These dashboards no longer require the View All Data permission.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on in Enterprise,
Performance, and Unlimited editions.

Note: As a beta feature, High Velocity Sales Performance Dashboards is a preview and isn’t part of the “Services” under your
master subscription agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only
on the basis of generally available products and features. Salesforce doesn’t guarantee general availability of this feature within
any particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for
production use. It’s offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in
connection with it. All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related
Non-Salesforce Applications and Content apply equally to your use of this feature.
Who: To view High Velocity Sales performance dashboards, you need the High Velocity Sales User or High Velocity Sales Cadence Creator
permission.

130
Salesforce Spring ’20 Release Notes High Velocity Sales: Sales Cadence Email Branching, Email
Scheduling, and Enhanced Reporting

Why: This dashboard, included with the Einstein Analytics High Velocity Sales Performance app, shows managers how many leads have
been touched, the time to first touch, the number of touches per lead, and the number of conversions. Sales managers can filter lead
statistics by sales rep, sales cadence, and date range.

How: To view these Einstein Analytics dashboards, choose High Velocity Sales Performance from the Navigation menu in the High
Velocity Sales app.

See More Information in Sales Cadence Reports


We enhanced reports to let sales managers see details about prospect outreach timing and prospects’ progress through each sales
cadence.
Where: These changes apply to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on in Enterprise,
Performance, and Unlimited editions.
Why: Enhancements to High Velocity Sales reporting give managers deeper understanding of their sales team’s effectiveness.
• The First Email Date and First Call Date fields show managers when each prospect received their first outreach.
• The Current Sales Cadence Step field shows managers which step each prospect is on in their assigned sales cadence.
How: Add the First Email Date and First Call Date fields to custom report types, list views, and page layouts for leads, contacts, and person
accounts. Add the Current Sales Cadence Step field to custom report types for leads, contacts, and person accounts.

131
Salesforce Spring ’20 Release Notes High Velocity Sales: Sales Cadence Email Branching, Email
Scheduling, and Enhanced Reporting

Give Reps the Weekend off from Sales Cadences


Sales managers can let their teams enjoy the weekend. When you turn on the Skip Weekends setting, sales cadences assign tasks to
reps on weekdays only. Calls, emails, and custom steps skip Saturdays and Sundays to be assigned the following Monday.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on in Enterprise,
Performance, and Unlimited editions.
Why: Prevent sales reps from worrying about sales tasks piling up or becoming overdue during weekends. Tasks appear in the Work
Queue on Monday in the rep’s time zone.
How: In High Velocity Sales Setup, turn on Skip Weekends.

Use the API to Inspect Sales Cadences


View information related to sales cadences with the API. Developers can now access six new standard objects related to sales cadences:
ActionCadence, ActionCadenceRule, ActionCadenceRuleCondition, ActionCadenceStep, ActionCadenceStepTracker, and
ActionCadenceTracker.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on in Enterprise,
Performance, and Unlimited editions.
Why: These six new objects are available through the SOAP API. For more information, see New and Changed Objects.

See More Details in the Work Queue


Sales reps can see when actions in the Work Queue are overdue. Plus, we moved filters and the refresh button to improve usability.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on in Enterprise,
Performance, and Unlimited editions.
Why: The filter and refresh buttons are available below the Work Queue tabs. And overdue tasks show how long they are overdue.

132
Salesforce Spring ’20 Release Notes Sales Cloud Einstein: Enjoy Simplified Data Requirements

Enable Inbox Features for High Velocity Sales in a New Location


Salesforce Inbox now has a centralized location for enablement in the Inbox Setup Assistant page in Setup. Previously, there were multiple
places to enable Inbox, depending on whether you had a High Velocity Sales, Sales Cloud Einstein, or Inbox license.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on for Enterprise,
Performance, and Unlimited editions.

SEE ALSO:
Enable Salesforce Inbox Features in New Location

Sales Users Can Filter Sales Cadence Steps in the Activity Timeline
Sales managers can filter for completed sales cadence tasks to track their sales reps' progress.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on in Enterprise,
Performance, and Unlimited editions.
Why: Click the filter icon in the activity timeline. Choose Completed sales cadence tasks to highlight progress on these tasks.

Keep Sales Cadences Moving Without a Built-In Calling Solution


Sales reps without Lighting Dialer or a third-party calling solution can now advance sales cadences with ease. If you don’t have a built-in
calling solution, when reps click a call action, we open the Log a Call panel automatically. After the call is logged, the sales cadence
advances.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available as an add-on in Enterprise,
Performance, and Unlimited editions.

Sales Cloud Einstein: Enjoy Simplified Data Requirements


The data requirements for several Sales Cloud Einstein features are now simpler, making it easier to get meaningful sales intelligence
within Salesforce.
Where: This change applies to Sales Cloud Einstein in Lightning Experience and Salesforce Classic. Sales Cloud Einstein is available for
an extra cost in Enterprise, Performance, and Unlimited editions.

133
Salesforce Spring ’20 Release Notes Core Sales Features: Einstein Opportunity Scoring for
Everyone, Easier Forecast Editing, and More Territory Forecast
Types
Why: The features with updated data requirements are Einstein Forecasting, Opportunity Insights, Opportunity Scoring, and Automated
Contacts. For example, Einstein Opportunity Scoring used to require your company to have at least 1,000 closed opportunities in the
last 2 years. Now, you only need 400 closed opportunities during that period, half of which are closed won.
How: These changes are automatic. To see which Sales Cloud Einstein features your company is ready for, run the Sales Cloud Einstein
Readiness Assessor.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters
Salesforce Help: Data Requirements for Sales Cloud Einstein (can be outdated or unavailable during release preview)
Salesforce Help: Run the Sales Cloud Einstein Readiness Assessor (can be outdated or unavailable during release preview)

Core Sales Features: Einstein Opportunity Scoring for Everyone, Easier


Forecast Editing, and More Territory Forecast Types
Einstein Opportunity Scoring is available to all eligible Sales Cloud users. Forecast users get inline editing for the opportunity list. Salesforce
now supports six more territory forecast types. Use Process Builder, Flow Builder, and workflow rules to automate key processes for
opportunity contact roles. Map LinkedIn consent and hidden fields to custom lead fields in Salesforce. And improve your customers’
shopping experience by creating a path on the Fulfillment Order object.

IN THIS SECTION:
Opportunities: Einstein Opportunity Scoring for Everyone and Product Search Filters
Einstein Opportunity Scoring is available to all eligible Sales Cloud users, and new filters on opportunity products speed up the
process of creating opportunities.
Collaborative Forecasts: Inline Editing and New Territory Forecast Types
Forecast users get inline editing for the opportunity list. And Salesforce now supports six more territory forecast types.
Enterprise Territory Management: More Options for Reports and Forecasts
Show territory information on Account reports. And choose from six more territory forecast types.
Contacts: Enhancements to Opportunity Contact Roles and List Email Contacts
Use Process Builder, Flow Builder, and workflow rules to automate key processes for opportunity contact roles. Search by account
fields for contacts to add to list emails.
Leads: Capture More Lead Data from LinkedIn Lead Gen Forms
Give your sales reps access to more data about leads generated from LinkedIn. You can now map the LinkedIn Profile URL field,
consent fields, and hidden fields to custom lead fields in Salesforce, giving sales reps access to important data. For example, add
data from LinkedIn consent fields to track leads’ preferences about communication and privacy.
Price Book Entries: Get More from Price Book Entries Related Lists in Lightning Experience
We added View to the quick actions on Price Book Entries related lists. Now it’s easy for sales reps to see price book entry details
without switching to Salesforce Classic.
Path: Streamline Order Fulfillment
Improve your customers’ shopping experience by creating a path on the Fulfillment Order object. An order fulfillment path gives
call center agents visibility into order status, and warehouse workers can easily update item status.

134
Salesforce Spring ’20 Release Notes Core Sales Features: Einstein Opportunity Scoring for
Everyone, Easier Forecast Editing, and More Territory Forecast
Types
Other Changes in Core Sales Features
To renew a subscription or a campaign, sales reps can now clone an opportunity or a campaign together with its related records.
Customize related lists for account and opportunity teams to help reps collaborate more effectively. The Enterprise Territory
Management critical update is now enforced. Customizable Forecasting and the original territory management feature are scheduled
for retirement. And permissions for Collaborative Forecasts, fiscal year settings, and the original territory management feature have
changed.

Opportunities: Einstein Opportunity Scoring for Everyone and Product Search Filters
Einstein Opportunity Scoring is available to all eligible Sales Cloud users, and new filters on opportunity products speed up the process
of creating opportunities.

IN THIS SECTION:
Focus on the Right Deals with Opportunity Scores
AI is part of the Sales Cloud experience at no extra cost, which means all eligible Sales Cloud users have access to Einstein Opportunity
Scoring. Scores help sales reps and managers prioritize opportunities and flag at-risk opportunities so they can close more deals.
Use Filters to Narrow Opportunity Product Searches in Lightning Experience
Sales reps can now use filters to home in on the exact products they want to add to opportunities in Lightning Experience. No more
scrolling through a long list of products to add line items to an opportunity.

Focus on the Right Deals with Opportunity Scores


AI is part of the Sales Cloud experience at no extra cost, which means all eligible Sales Cloud users have access to Einstein Opportunity
Scoring. Scores help sales reps and managers prioritize opportunities and flag at-risk opportunities so they can close more deals.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, and Unlimited editions.
When: This functionality is available later in the Spring ’20 release.
Who: If your org is eligible, all users with a Salesforce user license can see opportunity scores. However, you can manage user access
through the Sales Cloud Einstein For Everyone permission set.
Why: Artificial intelligence is a must-have for sales teams competing in today’s marketplace. Einstein Opportunity Scoring gives each
opportunity a score, from 1 to 99, which is available on opportunity records, list views, the forecasts page, and reports.

135
Salesforce Spring ’20 Release Notes Core Sales Features: Einstein Opportunity Scoring for
Everyone, Easier Forecast Editing, and More Territory Forecast
Types
How: Follow the in-app prompt to get started with Einstein. Or, from the Assisted Setup page in Lightning Experience Setup, click Turn
It On. We take care of the rest by creating a scoring model, adding the score field to page layouts, and assigning the permission set to
users.

SEE ALSO:
Implementation Guide: Einstein Opportunity Scoring for Everyone (can be outdated or unavailable during release preview)

Use Filters to Narrow Opportunity Product Searches in Lightning Experience


Sales reps can now use filters to home in on the exact products they want to add to opportunities in Lightning Experience. No more
scrolling through a long list of products to add line items to an opportunity.
Where: This change applies to Lightning Experience in Professional, Enterprise, Performance, Unlimited, and Developer editions.
Why: If your product catalog lists many items, your reps can now filter searches by product fields to narrow their search results. For
example, on this opportunity, the results of a search for “premium” (1) are filtered to show results in only one product family (2).

Note: The Quick Filter shows only Product object fields that are included in the price book entry search layout.

SEE ALSO:
IdeaExchange: Product Filter in Lightning Experience - When Adding to Opportunity or Quote (partially delivered)
Salesforce Help: Add Products to Opportunities (can be outdated or unavailable during release preview)

Collaborative Forecasts: Inline Editing and New Territory Forecast Types


Forecast users get inline editing for the opportunity list. And Salesforce now supports six more territory forecast types.

136
Salesforce Spring ’20 Release Notes Core Sales Features: Einstein Opportunity Scoring for
Everyone, Easier Forecast Editing, and More Territory Forecast
Types
IN THIS SECTION:
Update Multiple Deals from the Forecasts Page in Lightning Experience
Forecast users now have another option for updating opportunities without leaving the forecasts page. With inline editing, users
can edit multiple opportunities at the same time.
Get More Options for Territory Forecasts
We added support for territory quantity forecasts and for territory forecasts by schedule date. These changes mean that if your
company forecasts by these methods, you can now use Collaborative Forecasts to reflect your business model. And with these
forecast types come other features that aren’t in Salesforce Classic, such as inline editing, quick actions, and wrapped text in the
opportunity list.

Update Multiple Deals from the Forecasts Page in Lightning Experience


Forecast users now have another option for updating opportunities without leaving the forecasts page. With inline editing, users can
edit multiple opportunities at the same time.
Where: This change applies to Lightning Experience in Professional, Performance, and Developer editions and in Enterprise and Unlimited
editions with the Sales Cloud.
Why: The pencil icon makes it easy to update deals from the opportunity list.

SEE ALSO:
IdeaExchange: Inline Edit of Opportunities from the Forecast Tab

Get More Options for Territory Forecasts


We added support for territory quantity forecasts and for territory forecasts by schedule date. These changes mean that if your company
forecasts by these methods, you can now use Collaborative Forecasts to reflect your business model. And with these forecast types come
other features that aren’t in Salesforce Classic, such as inline editing, quick actions, and wrapped text in the opportunity list.
Where: This change applies to Lightning Experience in Performance and Developer editions and in Enterprise and Unlimited editions
with the Sales Cloud.
How: Add one or more territory forecast types on the Forecasts Settings page in Setup.

Select Opportunities by Territory or Product Families by Territory as the forecast type. Then select a measurement type and a date
type.
These new territory-based types are available.
• Opportunity Quantity by Territory
• Opportunity Quantity by Territory and Schedule Date

137
Salesforce Spring ’20 Release Notes Core Sales Features: Einstein Opportunity Scoring for
Everyone, Easier Forecast Editing, and More Territory Forecast
Types
• Opportunity Revenue by Territory and Schedule Date
• Product Family Quantity by Territory
• Product Family Quantity by Territory and Schedule Date
• Product Family Revenue by Territory and Schedule Date

SEE ALSO:
Salesforce Help: Forecast Types in Collaborative Forecasts (can be outdated or unavailable during release preview)
Salesforce Help: Territory Forecasts (can be outdated or unavailable during release preview)
Salesforce Help: Enable and Set Up Territory Forecasts (can be outdated or unavailable during release preview)

Enterprise Territory Management: More Options for Reports and Forecasts


Show territory information on Account reports. And choose from six more territory forecast types.

IN THIS SECTION:
Enhance Your Account Reports with Territory Details
Now your sales team can include information about their active territory model on five standard Account reports. For example, they
can create a list of contacts with their associated accounts and the active territories assigned to them. Relating information about
accounts and territories can help teams plan sales activities.
Get More Territory Forecast Types
We added support for territory quantity forecasts and for territory forecasts by schedule date. These changes mean that if your
company forecasts by these methods, you can now use Collaborative Forecasts to reflect your business model.

SEE ALSO:
Enable Manual Account Sharing in Enterprise Territory Management (Critical Update, Enforced)

Enhance Your Account Reports with Territory Details


Now your sales team can include information about their active territory model on five standard Account reports. For example, they can
create a list of contacts with their associated accounts and the active territories assigned to them. Relating information about accounts
and territories can help teams plan sales activities.
Where: This change applies to Lightning Experience and Salesforce Classic in Performance and Developer editions and in Enterprise
and Unlimited editions with the Sales Cloud.
How: Add territory fields when you create or edit these standard reports.
• Account History
• Accounts
• Accounts with Assets
• Accounts with Contact Roles
• Accounts with Partners
• Contacts & Accounts

138
Salesforce Spring ’20 Release Notes Core Sales Features: Einstein Opportunity Scoring for
Everyone, Easier Forecast Editing, and More Territory Forecast
Types

In the report builder and report output:


• Label is the territory name.
• Description is the territory description.

Note:
• If you migrated from the original territory management feature, re-create your Account reports using Enterprise Territory
Management. Territory fields added to Account reports in the original feature don’t appear on reports for Enterprise Territory
Management.
• If you assigned accounts to territories in the original feature, Account reports for Enterprise Territory Management include
rows for those records, but without other information. Filter reports to exclude rows where the Label cell is empty and the
Row Cause cell is defined.

Get More Territory Forecast Types


We added support for territory quantity forecasts and for territory forecasts by schedule date. These changes mean that if your company
forecasts by these methods, you can now use Collaborative Forecasts to reflect your business model.
Where: This change applies to Lightning Experience in Performance and Developer editions and in Enterprise and Unlimited editions
with the Sales Cloud.

SEE ALSO:
Get More Options for Territory Forecasts

Contacts: Enhancements to Opportunity Contact Roles and List Email Contacts


Use Process Builder, Flow Builder, and workflow rules to automate key processes for opportunity contact roles. Search by account fields
for contacts to add to list emails.

139
Salesforce Spring ’20 Release Notes Core Sales Features: Einstein Opportunity Scoring for
Everyone, Easier Forecast Editing, and More Territory Forecast
Types
IN THIS SECTION:
Automate Processes for Opportunity Contact Roles
Gain efficiencies and improve revenue attribution by using Process Builder, Flow Builder, and workflow rules to automate key
processes for opportunity contact roles. For example, you can create a process that adds a required opportunity contact role to every
new opportunity. You can also send notifications to opportunity owners when opportunity contact roles are created or updated.
Use Account Criteria to Search Contacts for List Emails in Lightning Experience
When adding contacts to list emails, sales reps can now search based on account fields. These added search options make it easier
and faster to find the right people to email. This feature was previously available only in Salesforce Classic.

Automate Processes for Opportunity Contact Roles


Gain efficiencies and improve revenue attribution by using Process Builder, Flow Builder, and workflow rules to automate key processes
for opportunity contact roles. For example, you can create a process that adds a required opportunity contact role to every new opportunity.
You can also send notifications to opportunity owners when opportunity contact roles are created or updated.
Where: This change applies to Lightning Experience and Salesforce Classic in all Salesforce editions with the Sales or Service Cloud.

SEE ALSO:
Automate Opportunity Contact Role Creation and Updates with Lightning Flow
Salesforce Help: Set Up and Customize Opportunity Contact Roles
IdeaExchange: Process Builder - Allow Action to create Opportunity Contact Role record
IdeaExchange: Make Opportunity Contact Role a First Class Object

Use Account Criteria to Search Contacts for List Emails in Lightning Experience
When adding contacts to list emails, sales reps can now search based on account fields. These added search options make it easier and
faster to find the right people to email. This feature was previously available only in Salesforce Classic.
Where: This change applies to Lightning Experience in all editions.
How: In the Contacts list view, create or edit a filter. Reps now see all the account fields that they have access to.

140
Salesforce Spring ’20 Release Notes Core Sales Features: Einstein Opportunity Scoring for
Everyone, Easier Forecast Editing, and More Territory Forecast
Types

SEE ALSO:
Quickly Identify Contacts for List Emails with Account Criteria in Lightning Experience
Salesforce Help: Create or Clone a List View in Lightning Experience (can be outdated or unavailable during release preview)
Salesforce Help: Send List Email in Lightning Experience (can be outdated or unavailable during release preview)

Leads: Capture More Lead Data from LinkedIn Lead Gen Forms
Give your sales reps access to more data about leads generated from LinkedIn. You can now map the LinkedIn Profile URL field, consent
fields, and hidden fields to custom lead fields in Salesforce, giving sales reps access to important data. For example, add data from
LinkedIn consent fields to track leads’ preferences about communication and privacy.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Group, Professional, Enterprise, Performance,
Unlimited, and Developer editions.
How: In LinkedIn Lead Gen Setup, map the LinkedIn Profile URL, hidden, and consent fields to Salesforce lead fields.

To capture campaign-specific data for each lead, use LinkedIn hidden fields.

Capture the lead’s LinkedIn profile address with the LinkedIn Profile URL field.

141
Salesforce Spring ’20 Release Notes Core Sales Features: Einstein Opportunity Scoring for
Everyone, Easier Forecast Editing, and More Territory Forecast
Types
Price Book Entries: Get More from Price Book Entries Related Lists in Lightning
Experience
We added View to the quick actions on Price Book Entries related lists. Now it’s easy for sales reps to see price book entry details without
switching to Salesforce Classic.
Where: This change applies to Lightning Experience in Professional, Enterprise, Performance, Unlimited, and Developer editions.
Why: Users click View to access the Price Book Entry record home.

Path: Streamline Order Fulfillment


Improve your customers’ shopping experience by creating a path on the Fulfillment Order object. An order fulfillment path gives call
center agents visibility into order status, and warehouse workers can easily update item status.
Where: This change applies to Lightning Experience in Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.
Who: The Fulfillment Order object is available to customers with a Salesforce Order Management license.

SEE ALSO:
Automate Fulfillment and Payment Capture with Flows

Other Changes in Core Sales Features


To renew a subscription or a campaign, sales reps can now clone an opportunity or a campaign together with its related records.
Customize related lists for account and opportunity teams to help reps collaborate more effectively. The Enterprise Territory Management
critical update is now enforced. Customizable Forecasting and the original territory management feature are scheduled for retirement.
And permissions for Collaborative Forecasts, fiscal year settings, and the original territory management feature have changed.

IN THIS SECTION:
Clone Opportunities or Campaigns Along with Their Related Records
The Clone with Related action makes it simple to create recurring opportunities and campaigns. Your account reps no longer have
to find and add related items one by one when they re-create those records.
Account and Opportunity Team Related List Customization Is Supported
Help reps collaborate more effectively by customizing account and opportunity team related lists. Previously, customizations weren’t
displayed to end users.
Enable Manual Account Sharing in Enterprise Territory Management (Critical Update, Enforced)
Enable Manual Account Sharing in Enterprise Territory Management was a critical update in Spring ’19 and is enforced in Spring ’20.
This critical update changes the TerritoryManual reason code in AccountShare records to
Territory2AssociationManual and is required to let users share accounts manually with territory groups.

142
Salesforce Spring ’20 Release Notes Core Sales Features: Einstein Opportunity Scoring for
Everyone, Easier Forecast Editing, and More Territory Forecast
Types
Customizable Forecasting Is Being Retired
Customizable Forecasting is scheduled for retirement as of Summer ’20. After the feature is retired, users can’t access the Customizable
Forecasting feature and its underlying data. We encourage you to migrate to Collaborative Forecasts.
Original Territory Management Is Being Retired
The original territory management feature is scheduled for retirement as of Summer ’21. After the feature is retired, users can’t access
the original territory management feature and its underlying data. We encourage you to migrate to Enterprise Territory Management.
Permission Changes for Collaborative Forecasts and Fiscal Year Settings
Access to forecasting objects and types in the Salesforce API is available for standard users with the View All Forecasts or Allow
Forecasting permission or delegated forecast manager status. Also, access to API objects related to fiscal year settings is available
for standard and partner users.
Permission Changes to Original Territory Management
Access to territories is available for standard and partner users. Also, access to users assigned to territories and account assignment
rules is available for users with the View Setup and Configuration permission. To edit any of these objects, users must have the
Manage Territories permission.
Enforce Sharing Controlled by Parent for Google Docs Related to Salesforce Records (Critical Update)
This update enables admins to set sharing permissions to “Controlled by Parent” for Google Docs. Only users with access to a record
can see any Google documents related to the record.

Clone Opportunities or Campaigns Along with Their Related Records


The Clone with Related action makes it simple to create recurring opportunities and campaigns. Your account reps no longer have to
find and add related items one by one when they re-create those records.
Where: This change applies to Lightning Experience in Professional, Enterprise, Performance, Unlimited, and Developer editions.
Who: To use the Clone with Related action, users must have Create permission on opportunities or campaigns and Read access to the
record they want to clone.
Why: Sales reps and marketers can easily include related records when they clone opportunities or campaigns.
Opportunities
A rep can renew a subscription by cloning contact roles, products, or product (line item) schedules along with an opportunity.

Campaigns
When you use the Clone with Related action on a campaign, we duplicate your campaign record along with all its member statuses.

143
Salesforce Spring ’20 Release Notes Core Sales Features: Einstein Opportunity Scoring for
Everyone, Easier Forecast Editing, and More Territory Forecast
Types
How: In the Object Manager, find the Opportunity or Campaign object and select Page Layout. Add the Clone with Related action to
the layout, and save. In the dialog, the order of the options can’t be changed.

SEE ALSO:
Salesforce Help: Things to Know About Cloning Opportunities (can be outdated or unavailable during release preview)
IdeaExchange: Opportunity Cloning Should Clone the Contact Roles Too
IdeaExchange: Lightning - Include Clone with Products Action on Opportunities
IdeaExchange: Cloning a Campaign Should Clone Campaign Member Status Options in Lightning

Account and Opportunity Team Related List Customization Is Supported


Help reps collaborate more effectively by customizing account and opportunity team related lists. Previously, customizations weren’t
displayed to end users.
Where: This change applies to Lightning Experience and the new Salesforce mobile app in Enterprise, Performance, Unlimited, and
Developer editions.
How: Enable account or opportunity teams by selecting the option to add the related list to the page layout. Then, in the Object Manager,
find Account or Opportunity. In the page layout editor, find the Account Team or Opportunity Team related list. To customize the layout,
select and change the fields, sorting, and buttons as desired.

SEE ALSO:
IdeaExchange: Configure Opportunity Team Related List in Lightning Experience
Salesforce Help: Customize Related Lists (can be outdated or unavailable during release preview)
Salesforce Help: Enable Account Teams (can be outdated or unavailable during release preview)
Salesforce Help: Enable Team Selling (can be outdated or unavailable during release preview)

Enable Manual Account Sharing in Enterprise Territory Management (Critical Update, Enforced)
Enable Manual Account Sharing in Enterprise Territory Management was a critical update in Spring ’19 and is enforced in Spring ’20.
This critical update changes the TerritoryManual reason code in AccountShare records to Territory2AssociationManual
and is required to let users share accounts manually with territory groups.
Where: This change applies to Lightning Experience and Salesforce Classic in Performance and Developer editions and in Enterprise
and Unlimited editions with the Sales Cloud.
When: This critical update is enforced in the Spring ’20 release.
How: If you have Apex code or integrations that work directly with the AccountShare object, make sure that you update all instances
of the TerritoryManual reason code to Territory2AssociationManual.

SEE ALSO:
Critical Updates and Security Alerts

Customizable Forecasting Is Being Retired


Customizable Forecasting is scheduled for retirement as of Summer ’20. After the feature is retired, users can’t access the Customizable
Forecasting feature and its underlying data. We encourage you to migrate to Collaborative Forecasts.
Where: This change applies to Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and Developer editions.

144
Salesforce Spring ’20 Release Notes Core Sales Features: Einstein Opportunity Scoring for
Everyone, Easier Forecast Editing, and More Territory Forecast
Types
How: Review our documentation and follow the instructions for setting up Collaborative Forecasts. If you use the original territory
management feature, we also encourage you to migrate to Enterprise Territory Management.

SEE ALSO:
Knowledge article: Customizable Forecasting Will Be Retired in the Summer ’20 Release
Original Territory Management Is Being Retired

Original Territory Management Is Being Retired


The original territory management feature is scheduled for retirement as of Summer ’21. After the feature is retired, users can’t access
the original territory management feature and its underlying data. We encourage you to migrate to Enterprise Territory Management.
Where: This change applies to Salesforce Classic in Performance and Developer editions and in Enterprise and Unlimited editions with
the Sales Cloud.
How: Review our documentation and follow the instructions for setting up Enterprise Territory Management. If you use Customizable
Forecasting, we also encourage you to migrate to Collaborative Forecasts. We also strongly recommend that you keep a comprehensive
backup of your territory data while you’re still using the original territory management feature.

SEE ALSO:
Knowledge article: The Original Territory Management Module Will Be Retired in the Summer ’21 Release
Customizable Forecasting Is Being Retired

Permission Changes for Collaborative Forecasts and Fiscal Year Settings


Access to forecasting objects and types in the Salesforce API is available for standard users with the View All Forecasts or Allow Forecasting
permission or delegated forecast manager status. Also, access to API objects related to fiscal year settings is available for standard and
partner users.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Performance, and Developer editions and in
Enterprise and Unlimited editions with the Sales Cloud.

Permission Changes to Original Territory Management


Access to territories is available for standard and partner users. Also, access to users assigned to territories and account assignment rules
is available for users with the View Setup and Configuration permission. To edit any of these objects, users must have the Manage
Territories permission.
Where: This change applies to Salesforce Classic in Performance and Developer editions and in Enterprise and Unlimited editions with
the Sales Cloud.

Note: The original territory management feature is scheduled for retirement as of Summer ’21. After the feature is retired, users
can’t access the original territory management feature and its underlying data. We encourage you to migrate to Enterprise Territory
Management.

SEE ALSO:
Knowledge article: The Original Territory Management Module Will Be Retired in the Summer ’21 Release

145
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

Enforce Sharing Controlled by Parent for Google Docs Related to Salesforce Records (Critical Update)
This update enables admins to set sharing permissions to “Controlled by Parent” for Google Docs. Only users with access to a record can
see any Google documents related to the record.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the mobile app in all editions.
When: This update has been available since Spring ’20. The update auto-activates on a rolling basis starting on May 29, 2020 and finishes
for all orgs by July 18, 2020.
Who: This change applies to all orgs.
Why: Currently, users without access to records can view Google documents related to the record. When this update is enabled, only
users with access to a record can view the Google document. This change is considered a security enhancement as it prevents users
without access to a parent record from viewing.
How: The security of your organization will be improved because only users with access to parent records can access related Google
documents.

Productivity Features: Send Later, List Email Drafts, Email Threading, and
Task Queues
Your sales reps are on their way to increased productivity with several new features. They can now schedule an email to arrive at the
perfect day and time. And list emails are easier to write now that reps can save a draft and come back to their work. With email threading,
reps can see an entire conversation in one place, without getting lost in the replies and side conversations. And your reps can efficiently
share work items by assigning tasks to a queue.

IN THIS SECTION:
Email Experience: Scheduled Emails, List Email Drafts, and Enhanced Email Relays
Sales reps can schedule emails to be sent up to six weeks later, timing an email to when the recipient is most likely to open it. Using
list emails is easier too, because reps can save a draft of the email and perfect it before it’s sent. And we enhanced email relay set up
with two new Setup pages.
Email Templates: Well-Formed Templates and Home Page Enhancements
It’s easier to create a template without errors, with more specific error message about problems in an email template. Also, reps can
manage their email templates using row-level actions on the email templates home page.
Activities: Assign Tasks to a Queue to Share Work Efficiently
Let sales reps share their workload by setting up queues for tasks. Reps can assign tasks to their shared queues, and then individuals
can take ownership of those tasks from the queue’s list view.
Einstein Activity Capture: Easier Navigation and Manual Connection for Microsoft Exchange
We simplified setup navigation for Einstein Activity Capture and Inbox users. Plus, if your Exchange Web Service (EWS) isn’t exposed
externally, you can manually set a connection between Microsoft Exchange and Salesforce.
Salesforce Inbox Mobile: Smarter Selling from Your Inbox
Salesforce Inbox integrates your email and calendar with Salesforce, so sales reps can manage their work sales more efficiently. Inbox
increases reps’ productivity on every email message, whether they’re on the go or at their desk.
Legacy Inbox: Supplemental Contact Information Scheduled for Retirement
The Supplemental Contact Information, including the ability to view information from third-party resources on summary and detailed
contact pages, is no longer available as of January 31, 2020.

146
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

Notes: Permission Requirements for Viewing Notes Have Changed


We enhanced notes security with stronger user permissions. To view notes on a related child record, reps need permission to the
parent record. Previously, reps could access notes on all records, except accounts, without permission to the parent record.
Calendar: Event Details on Hover and Object Calendars Available in the API
Sales reps can see event details without clicking to open the preview card. Developers can use the CalendarView object in the API
to create and distribute object calendars.
Lightning News: Get News from More Countries
As part of our ongoing efforts to bring more English-language news sources into Salesforce, you can now access English-language
articles from more countries: Brazil, France, Germany, India, Japan, and the Netherlands. And, if you use Einstein Account Insights,
news-related insights include these added news sources.

Email Experience: Scheduled Emails, List Email Drafts, and Enhanced Email Relays
Sales reps can schedule emails to be sent up to six weeks later, timing an email to when the recipient is most likely to open it. Using list
emails is easier too, because reps can save a draft of the email and perfect it before it’s sent. And we enhanced email relay set up with
two new Setup pages.

IN THIS SECTION:
Schedule and Manage Scheduled Emails in Lightning Experience
Sales reps can specify email arrival times to increase the chances of an email being read. They can schedule an email to arrive at the
start of a contact’s work day, for example. The new Scheduled Emails component lets reps update content of a scheduled email,
and change its scheduled date and time.
Use Drafts to Perfect Your List Emails
Sales reps can take their time when creating list emails. Reps can now save their work as a draft and return to it later.
Quickly Identify Contacts for List Emails with Account Criteria in Lightning Experience
Your sales reps can identify the right people to email by using a search criteria based on account fields. With more fields in a filter,
reps can narrow down their contact list more precisely. This feature was previously available only in Salesforce Classic.
Enable Compliance BCC Emails in Professional Edition
The Compliance BCC Emails feature automatically sends a hidden copy of each outbound email message to an email address you
specify. In Spring ’20, this feature is available in Professional Edition in addition to Enterprise, Performance, Unlimited, and Developer
editions.
Set Up Enhanced Email Relays
The new Email Relays page lets you configure multiple email relays and filters for recipient and sender domains for email sent through
Salesforce. You can also set up authentication between the Salesforce mail servers and the configured relay host through the new
Email Domain Filters Setup page. To enable these new options, we removed the Email Relay Activation page in Setup, moved all
the email relay settings to a new Setup page, and added the Email Domain Filters pages.
Prepare for the Updated Email Bounce Warning
When an email bounces, users get a visual heads-up. The email bounce warning has an updated look and new functionality. Sales
reps can hover over the warning icon to see the message. To remove the warning message, update the email address.
Get Ready for Email Address Internationalization in Summer ’20
Starting in Summer ’20, Salesforce will support Email Address Internationalization (EAI) through UTF-8 encoding so that you can use
non-Latin-based language characters in email addresses. We’re prepping all standard email fields for the switch and sharing steps
that you can take so that your custom email fields are ready. You don’t have to use international email addresses after the switch,
but if you do, preparing your Salesforce org ensures a smooth transition.

147
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

Track Changes to Send Email Access Level


Monitor changes to your access to send email in Salesforce without contacting Customer Support. We added the Access level field
on the Deliverability Setup page to the Setup Audit Trail.
Email Certificate Authority List Was Standardized
To help ensure the dependable and secure email delivery that you expect, we updated the Salesforce Certificate Authority (CA) list
for emails sent through Salesforce. The email CA list now includes the current Salesforce outbound messaging SSL CA list entries.

Schedule and Manage Scheduled Emails in Lightning Experience


Sales reps can specify email arrival times to increase the chances of an email being read. They can schedule an email to arrive at the start
of a contact’s work day, for example. The new Scheduled Emails component lets reps update content of a scheduled email, and change
its scheduled date and time.
Where: This change applies to orgs with Salesforce Inbox and Enhanced Email enabled in Lightning Experience in Enterprise, Performance,
and Unlimited editions.
Who: Users with the Use Inbox user permission, available with a High Velocity Sales, Sales Cloud Einstein, or Inbox license.
How: To schedule an email, sales reps select Send Later in the email composer.

The rep then selects the date and time and clicks Schedule.

148
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

To let your reps manage scheduled emails, use Edit Page to add the Send Email Later - Pending List component to any object’s home
page, including the Salesforce homepage.

Using that component, reps can reschedule, edit, or delete an already-scheduled email.

SEE ALSO:
IdeaExchange: Log an email set for Send Later in SalesforceIQ Inbox
Schedule and Manage Scheduled Emails in High Velocity Sales
Salesforce Help: Set Up Scheduled Email Management (can be outdated or unavailable during release preview)
Salesforce Help: Use Enhanced Email for More Email Functionality (can be outdated or unavailable during release preview)
Salesforce Help: Use the Salesforce Merge Language in Lightning Email Templates (can be outdated or unavailable during release
preview)

Use Drafts to Perfect Your List Emails


Sales reps can take their time when creating list emails. Reps can now save their work as a draft and return to it later.
Where: This change applies to Lightning Experience in the Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
How: From a contact or lead home page, click Send List Email and start writing the content. To save your changes, click Save as Draft.

149
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

To resume editing the list email, go to the List Email home page.

Find your draft list email (1) and continue editing (2). When you’re done editing, save the draft again or send the list email.

SEE ALSO:
Salesforce Help: Send List Email in Lightning Experience (can be outdated or unavailable during release preview)

Quickly Identify Contacts for List Emails with Account Criteria in Lightning Experience
Your sales reps can identify the right people to email by using a search criteria based on account fields. With more fields in a filter, reps
can narrow down their contact list more precisely. This feature was previously available only in Salesforce Classic.
Where: This change applies to Lightning Experience in all editions.
How: In the Contacts list view, create or edit a filter. Reps now see all the account fields that they have access to.

150
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

From the filtered list, select one or more contacts and click Send List Email.

SEE ALSO:
Use Account Criteria to Search Contacts for List Emails in Lightning Experience
Salesforce Help: Create or Clone a List View in Lightning Experience (can be outdated or unavailable during release preview)
Salesforce Help: Send List Email in Lightning Experience (can be outdated or unavailable during release preview)

Enable Compliance BCC Emails in Professional Edition


The Compliance BCC Emails feature automatically sends a hidden copy of each outbound email message to an email address you specify.
In Spring ’20, this feature is available in Professional Edition in addition to Enterprise, Performance, Unlimited, and Developer editions.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional Edition.

SEE ALSO:
Salesforce Help: Enable Compliance BCC Emails (can be outdated or unavailable during release preview)

Set Up Enhanced Email Relays


The new Email Relays page lets you configure multiple email relays and filters for recipient and sender domains for email sent through
Salesforce. You can also set up authentication between the Salesforce mail servers and the configured relay host through the new Email
Domain Filters Setup page. To enable these new options, we removed the Email Relay Activation page in Setup, moved all the email
relay settings to a new Setup page, and added the Email Domain Filters pages.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and
Developer editions.

Note: Experiencing deja vu? We announced this change in Spring ’19. In Spring ’20, we activate it for all customers.

Who: These Setup changes are visible only to customers who didn't manually activate the enhanced email relay pages before Spring
’20.

151
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

When: The Email Relay Activation page is visible for several days after the release as Salesforce migrates your org to the enhanced email
relay Setup pages. During this window, relay modification is disabled to preserve data integrity. If you can’t wait to update your relay
settings, you can manually enable the new Email Relays and Email Domain Filter Setup pages.
How: To manually enable the enhanced pages, from Setup, enter Email Relay Activation in the Quick Find Box, and select
Email Relay Activation. Select Enable Enhanced Email Relay.

Note: If you don’t find Email Relay Activation in Setup, we migrated your org to the new Email Relays and Email Domain Filter
Setup pages.

SEE ALSO:
Salesforce Help: Set Up Email Relay (can be outdated or unavailable during release preview)
Knowledge Article: Set Up an Email Domain Filter (can be outdated or unavailable during release preview)

Prepare for the Updated Email Bounce Warning


When an email bounces, users get a visual heads-up. The email bounce warning has an updated look and new functionality. Sales reps
can hover over the warning icon to see the message. To remove the warning message, update the email address.
Where: This change applies to Lightning Experience in the Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
Who: If the user has update rights to the record, they can click Edit to update the contact’s email address. Updating the email address
removes the bounce warning.
Why: On the contact, lead or person account record, a bounce warning appears next to the email address in the highlights panel.

Reps can also see the bounce warning in the activity timeline.

SEE ALSO:
Salesforce Help: Enable Email Bounce Handling(can be outdated or unavailable during release preview)

Get Ready for Email Address Internationalization in Summer ’20


Starting in Summer ’20, Salesforce will support Email Address Internationalization (EAI) through UTF-8 encoding so that you can use
non-Latin-based language characters in email addresses. We’re prepping all standard email fields for the switch and sharing steps that
you can take so that your custom email fields are ready. You don’t have to use international email addresses after the switch, but if you
do, preparing your Salesforce org ensures a smooth transition.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions.

152
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

Note: EAI support isn’t generally available unless, or until, Salesforce announces its general availability in documentation or in
press releases or public statements. We can’t guarantee general availability within any particular time frame or at all. Make your
purchase decisions only on the basis of generally available products and features.
How: If you want to use internationalized emails, there are four parts to preparing for Email Address Internationalization (EAI) support.
• Ensure that UTF-8 support exists throughout the email’s path.
• Update your integrations to support Unicode characters.
• Adopt the latest Apex and API version.
• Ensure that all fields storing email addresses use the email data type.
For details, see the knowledge article, Prepare for Salesforce Email Address Internationalization (EAI) support.

Track Changes to Send Email Access Level


Monitor changes to your access to send email in Salesforce without contacting Customer Support. We added the Access level field on
the Deliverability Setup page to the Setup Audit Trail.
Where: This change applies to Lightning Experience and Salesforce Classic in Contact Manager, Essentials, Group, Professional, Enterprise,
Performance, Unlimited, Developer, and [Link] editions.

SEE ALSO:
Monitor More Changes in the Setup Audit Trail
IdeaExchange: Email Deliverability Changes Not Tracked in Audit Log

Email Certificate Authority List Was Standardized


To help ensure the dependable and secure email delivery that you expect, we updated the Salesforce Certificate Authority (CA) list for
emails sent through Salesforce. The email CA list now includes the current Salesforce outbound messaging SSL CA list entries.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions.

SEE ALSO:
Salesforce SOAP API Developer Guide: Understanding Outbound Messaging
Knowledge Article: Know more about all the SSL certificates that are supported by Salesforce
[Link]: Outbound Messaging SSL CA List

Email Templates: Well-Formed Templates and Home Page Enhancements


It’s easier to create a template without errors, with more specific error message about problems in an email template. Also, reps can
manage their email templates using row-level actions on the email templates home page.

IN THIS SECTION:
Validate Salesforce Merge Field Syntax When Saving Email Templates
Using Salesforce Merge Language merge fields in Lightning and Classic email templates is now less error-prone. Template creators
can see and fix merge field syntax mistakes when they save an email template. Error messages indicate the problem field.
Manage Email Templates from the Template Home Page
Reps can manage their email templates using row-level actions on the email templates home page.

153
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

Update Visualforce Email Templates for Guest Users


Protect access to your company’s data when you send Visualforce Classic email templates to guest users. Review and update these
templates so that they can still be used.

Validate Salesforce Merge Field Syntax When Saving Email Templates


Using Salesforce Merge Language merge fields in Lightning and Classic email templates is now less error-prone. Template creators can
see and fix merge field syntax mistakes when they save an email template. Error messages indicate the problem field.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
Why: When creating or editing an email template, you can introduce a typo into an email template’s merge field.
When a sales rep uses an email template that has an error in a Salesforce Merge Language merge field, the merge field is omitted. When
a merge field has a syntax error, such as missing a closing curly brace, the email is sent with unpredictable content. For example, the
content that follows the incorrectly formatted merge field can be omitted from the email.
Now when you save an email template that uses Salesforce Merge Language merge fields, the merge field syntax is validated.

Note: This change applies to Classic and Lightning email templates using the Salesforce Merge Language merge fields. Lightning
email templates using the Handlebars Merge Language aren’t affected.

SEE ALSO:
Salesforce Help: Use the Salesforce Merge Language in Lightning Email Templates (can be outdated or unavailable during release
preview)

Manage Email Templates from the Template Home Page


Reps can manage their email templates using row-level actions on the email templates home page.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
Why: Row-level actions let users manage items while viewing them in a list.

The choices depend on the user’s editing rights to the email template.
The choices are also reflected in the buttons available when viewing the email template.

154
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

Update Visualforce Email Templates for Guest Users


Protect access to your company’s data when you send Visualforce Classic email templates to guest users. Review and update these
templates so that they can still be used.
Where: This change applies to Salesforce orgs with active public communities, sites, and portals in Enterprise, Performance, Unlimited,
and Developer editions.
When: This security policy released in Summer ’20 and is immediately enforced.
Who: This change applies to Visualforce email templates that target guest users in communities.
How: Add the renderUsingSystemContextWithoutSharing="True" attribute to every Visualforce email template.

Important: Assess the impact of the guest security policy and, if necessary, update Visualforce email templates sent to guest
users.

SEE ALSO:
Ensure Guest User Access to Emails Created with Visualforce Email Templates
Salesforce Help: Create Visualforce Email Templates in Salesforce Classic

Activities: Assign Tasks to a Queue to Share Work Efficiently


Let sales reps share their workload by setting up queues for tasks. Reps can assign tasks to their shared queues, and then individuals can
take ownership of those tasks from the queue’s list view.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
Why: When reps assign tasks to a queue, those tasks are available to members of the queue, which means everyone can pitch in to help.
No more relying on one sales rep to do it all. Now others on the team can lend a hand without waiting for work to be delegated or
reassigned.

How: In Setup, enter Queues in the Quick Find box and then select Queues. From the Queues setup page, select New. Then, create
a queue and assign Task as the supported object.

155
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

SEE ALSO:
IdeaExchange: Allow Task(s) to be assigned to a Queue
Salesforce Help: Considerations for Using Tasks (can be outdated or unavailable during release preview)
Salesforce Help: Set Up Queues (can be outdated or unavailable during release preview)
New and Changed Objects

Einstein Activity Capture: Easier Navigation and Manual Connection for Microsoft
Exchange
We simplified setup navigation for Einstein Activity Capture and Inbox users. Plus, if your Exchange Web Service (EWS) isn’t exposed
externally, you can manually set a connection between Microsoft Exchange and Salesforce.

IN THIS SECTION:
See the Whole Conversation with Email Threading
Sales reps rely on the activity timeline to see relevant emails. Now Einstein Activity Capture users see related emails in the activity
timeline grouped in a single thread. By seeing emails together as a conversation, reps can easily review the whole discussion.
Find Einstein Activity Capture User Settings in New Location
Einstein Activity Capture users now connect accounts from the Connected Accounts page in their personal settings. And they set
their sharing settings from the Sharing Settings page. Previously, the account connections and sharing settings were on the Settings
page.
Connect Salesforce to Your Microsoft Exchange Endpoint
When setting up Einstein Activity Capture for syncing, now you can manually set your Microsoft Exchange endpoint. This enhancement
is especially helpful if you turned off the autodiscovery setting in Microsoft Exchange.

156
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

See the Whole Conversation with Email Threading


Sales reps rely on the activity timeline to see relevant emails. Now Einstein Activity Capture users see related emails in the activity timeline
grouped in a single thread. By seeing emails together as a conversation, reps can easily review the whole discussion.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, and Unlimited editions.
Why: A rep can see emails in context with email threading.

The activity timeline shows how many replies (1) are in the email thread: 1, 2, or 3+. Click the chevron (2) to open the thread and see all
the emails.

157
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

With the thread opened, reps can see and expand the individual emails, showing engagement info and any email insights.

Note: When using Reply, Reply All, or Forward in a threaded email, scheduling emails isn’t available.

How: All emails sent after the Spring ’20 release is activated are threaded. Previous emails for existing users aren’t threaded. When a
new Einstein Activity Capture user is enabled in a Spring ’20 or later release, their existing emails are crawled and are threaded.

Find Einstein Activity Capture User Settings in New Location


Einstein Activity Capture users now connect accounts from the Connected Accounts page in their personal settings. And they set their
sharing settings from the Sharing Settings page. Previously, the account connections and sharing settings were on the Settings page.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, and Unlimited editions.
Why: Connecting accounts applies to Einstein Activity Capture and Salesforce Inbox, two features that can be used together. These
navigation changes simplify the setup experience for users who have both.

158
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

SEE ALSO:
Salesforce Help: Connect Your Email and Calendar to Salesforce with Einstein Activity Capture (can be outdated or unavailable during
release preview)
Salesforce Help: Control How Activities Added by Einstein Activity Capture Are Shared (can be outdated or unavailable during release
preview)

Connect Salesforce to Your Microsoft Exchange Endpoint


When setting up Einstein Activity Capture for syncing, now you can manually set your Microsoft Exchange endpoint. This enhancement
is especially helpful if you turned off the autodiscovery setting in Microsoft Exchange.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, and Unlimited editions.
Why: If your Exchange Web Service (EWS) isn’t exposed externally, Einstein Activity Capture can’t find your Microsoft Exchange account.
When you manually connect your Microsoft Exchange endpoint to Einstein Activity Capture, your Microsoft Exchange users can use
Einstein Activity Capture to sync contacts and events.
How: From the Microsoft Exchange Connections page in Setup, click New.

SEE ALSO:
Salesforce Help: Set Up Einstein Activity Capture (can be outdated or unavailable during release preview)

Salesforce Inbox Mobile: Smarter Selling from Your Inbox


Salesforce Inbox integrates your email and calendar with Salesforce, so sales reps can manage their work sales more efficiently. Inbox
increases reps’ productivity on every email message, whether they’re on the go or at their desk.
Learn about the latest features and enhancements to Inbox mobile in Salesforce Help.
• Inbox Mobile for iOS
• Inbox Mobile for Android

159
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

To learn about the latest features and enhancements in Inbox desktop, see the Outlook Integration, Gmail Integration, and Email
Experience sections of the Salesforce release notes.

SEE ALSO:
Outlook® Integration: Transparency to Respect Email Privacy Settings, Event Logging Improvements, and Template Updates
Gmail™ Integration: Improved Transparency to Respect Email Privacy Settings, Logged Event Classification, and Template Updates
Email Experience: Scheduled Emails, List Email Drafts, and Enhanced Email Relays

Legacy Inbox: Supplemental Contact Information Scheduled for Retirement


The Supplemental Contact Information, including the ability to view information from third-party resources on summary and detailed
contact pages, is no longer available as of January 31, 2020.
Where: This change applies to the Legacy Inbox application available for an extra cost in Group, Professional, Enterprise, Performance,
Unlimited, and Developer editions. Inbox is available at no cost in Essentials edition.

SEE ALSO:
Knowledge Article: Retirement of the Contact Enrichment feature in 'Legacy Inbox' Desktop and 'Inbox Mobile' application

Notes: Permission Requirements for Viewing Notes Have Changed


We enhanced notes security with stronger user permissions. To view notes on a related child record, reps need permission to the parent
record. Previously, reps could access notes on all records, except accounts, without permission to the parent record.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.

Calendar: Event Details on Hover and Object Calendars Available in the API
Sales reps can see event details without clicking to open the preview card. Developers can use the CalendarView object in the API to
create and distribute object calendars.

IN THIS SECTION:
View Event Details Faster Than Ever
Sales reps can view event details quickly by hovering over an event on their calendars. From the event details, they can edit or delete
the event. Previously, it took reps more time to view and update events, and to see the preview card.
Create Object Calendars from the API
Developers can view, create, and distribute object calendars represented by the standard object CalendarView. Previously, object
calendars could only be created from the user interface.

View Event Details Faster Than Ever


Sales reps can view event details quickly by hovering over an event on their calendars. From the event details, they can edit or delete
the event. Previously, it took reps more time to view and update events, and to see the preview card.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.

160
Salesforce Spring ’20 Release Notes Productivity Features: Send Later, List Email Drafts, Email
Threading, and Task Queues

Why: When you hover over an event, the event preview displays, revealing the details you need to plan your day.

How: To update the fields your reps see in the event detail preview, customize your compact layout for events.

SEE ALSO:
Salesforce Help: Create Compact Layouts (can be outdated or unavailable during release preview)

Create Object Calendars from the API


Developers can view, create, and distribute object calendars represented by the standard object CalendarView. Previously, object calendars
could only be created from the user interface.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in Essentials, Professional,
Enterprise, Performance, Unlimited, and Developer editions.

SEE ALSO:
Object Reference for Salesforce and Lightning Platform: CalendarView (can be outdated or unavailable during release preview)
Salesforce Help: Create an Object Calendar in Lightning Experience (can be outdated or unavailable during release preview)
New and Changed Objects

Lightning News: Get News from More Countries


As part of our ongoing efforts to bring more English-language news sources into Salesforce, you can now access English-language
articles from more countries: Brazil, France, Germany, India, Japan, and the Netherlands. And, if you use Einstein Account Insights,
news-related insights include these added news sources.
Where: This change applies to Lightning Experience and all versions of the Salesforce app in Essentials, Group, Professional, Enterprise,
Performance, and Unlimited editions.

SEE ALSO:
Salesforce Help: News (can be outdated or unavailable during release preview)

161
Salesforce Spring ’20 Release Notes Gmail™ Integration: Improved Transparency to Respect Email
Privacy Settings, Logged Event Classification, and Template
Updates
Gmail™ Integration: Improved Transparency to Respect Email Privacy
Settings, Logged Event Classification, and Template Updates
We added information about customers’ email privacy settings directly in the integration so that reps know how to best communicate
with customers. When logging events to Salesforce, reps can now identify the event type. And we updated the template flow, making
it easier to create templates and add them to emails.

IN THIS SECTION:
Know Which Recipients Have Email Restrictions in the Gmail Integration
When sending emails from Gmail and using the Gmail integration, sales reps can now see customers’ email privacy settings in the
integration. Previously, reps referred to the contact or lead record in Salesforce to see the email privacy settings.
Classify the Events Logged to Salesforce from the Gmail Integration
Identifying the types of communications reps have with customers and prospects improves your business reporting and processes.
Sales reps can now select an event type, such as a call or meeting, when logging an event to Salesforce from the Gmail integration.
Work More Efficiently with Email Templates in the Gmail Integration
It’s easier now for your sales reps to create templates, apply existing templates to emails, and populate merge fields with relevant
records. And a cleaner layout supports productivity and message standardization.
Schedule High Velocity Sales Emails to Send Later
Sending emails at just the right time is a large part of closing deals. Sales reps working from the High Velocity Sales Work Queue in
the Gmail integration can schedule all emails, cadence or otherwise, to send later.
Enable Inbox Features for the Gmail Integration in New Location
Salesforce Inbox now has a centralized location for enablement in the Inbox Setup Assistance page in Setup. Previously, there were
multiple places to enable Inbox, depending on whether you had a High Velocity Sales, Sales Cloud Einstein, or Inbox license.

Know Which Recipients Have Email Restrictions in the Gmail Integration


When sending emails from Gmail and using the Gmail integration, sales reps can now see customers’ email privacy settings in the
integration. Previously, reps referred to the contact or lead record in Salesforce to see the email privacy settings.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Group, Professional, Enterprise, Performance,
Unlimited, and Developer editions.
Why: Trust is important, and honoring your customers’ email preferences is part of that trust. Email privacy preferences now show with
the contact or lead in Gmail.

162
Salesforce Spring ’20 Release Notes Gmail™ Integration: Improved Transparency to Respect Email
Privacy Settings, Logged Event Classification, and Template
Updates

How: A contact or lead’s email privacy preferences from Lightning Experience are shown in the integration. There’s no additional setup
required.

Important: The Send Non-Commercial Email permission, which allows Salesforce users to send transactional emails from Lightning
Experience, isn’t enforced in the Gmail integration. It’s the sales reps’ responsibility to respect an email recipient’s privacy when
sending emails from Gmail.

SEE ALSO:
Salesforce Help: Email Open Tracking and Email Opt Out (can be outdated or unavailable during release preview)

Classify the Events Logged to Salesforce from the Gmail Integration


Identifying the types of communications reps have with customers and prospects improves your business reporting and processes. Sales
reps can now select an event type, such as a call or meeting, when logging an event to Salesforce from the Gmail integration.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Group, Professional, Enterprise, Performance,
Unlimited, and Developer editions.
How: In the Object Manager, add the Type field to the Event object, and make it visible to the reps who log events from Gmail. Include
the picklist values that fit your business. If you included the Type field on the Event object, no changes are required. Reps can access the
Type field when they log events from the integration.

163
Salesforce Spring ’20 Release Notes Gmail™ Integration: Improved Transparency to Respect Email
Privacy Settings, Logged Event Classification, and Template
Updates

SEE ALSO:
Salesforce Help: Control User Access to Fields (can be outdated or unavailable during release preview)
Salesforce Help: Enable Event Type Selections for Logging Email from Gmail (can be outdated or unavailable during release preview)

Work More Efficiently with Email Templates in the Gmail Integration


It’s easier now for your sales reps to create templates, apply existing templates to emails, and populate merge fields with relevant records.
And a cleaner layout supports productivity and message standardization.
Where: This change applies to Salesforce Inbox on desktop, available for an extra cost in Group, Professional, Enterprise, Performance,
Unlimited, and Developer editions, and at no cost in Essentials editions.
How: Create email templates from the Gmail integration. Apply new email templates to future emails from either the Gmail integration
or Lightning Experience email.

164
Salesforce Spring ’20 Release Notes Gmail™ Integration: Improved Transparency to Respect Email
Privacy Settings, Logged Event Classification, and Template
Updates
Apply existing templates to emails and filter the list of templates by name, folder, or related Salesforce object such as Accounts or
Opportunities.

Select records to populate merge fields. The Send To and Related To fields populate the corresponding details in the template selected.

165
Salesforce Spring ’20 Release Notes Gmail™ Integration: Improved Transparency to Respect Email
Privacy Settings, Logged Event Classification, and Template
Updates

SEE ALSO:
Salesforce Help: Gain Speed and Consistency with Email Templates (can be outdated or unavailable during release preview)

Schedule High Velocity Sales Emails to Send Later


Sending emails at just the right time is a large part of closing deals. Sales reps working from the High Velocity Sales Work Queue in the
Gmail integration can schedule all emails, cadence or otherwise, to send later.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available for an extra cost in Enterprise,
Performance, and Unlimited editions.
How: Compose an email from the Work Queue in the Gmail integration. When the email compose window appears, turn on Send Later
in the integration, and schedule the email to send.

SEE ALSO:
Salesforce Help: Considerations for Setting Up High Velocity Sales (can be outdated or unavailable during release preview)

166
Salesforce Spring ’20 Release Notes Integration with Microsoft®: Email Privacy Notifications,
Lightning Sync Setup Changes, and Salesforce for Outlook
Announcements
Enable Inbox Features for the Gmail Integration in New Location
Salesforce Inbox now has a centralized location for enablement in the Inbox Setup Assistance page in Setup. Previously, there were
multiple places to enable Inbox, depending on whether you had a High Velocity Sales, Sales Cloud Einstein, or Inbox license.
Where: This change applies to Salesforce Inbox, available for an extra cost in Group, Professional, Enterprise, Performance, Unlimited,
and Developer editions, and at no cost in Essentials editions.

SEE ALSO:
Enable Salesforce Inbox Features in New Location

Integration with Microsoft®: Email Privacy Notifications, Lightning Sync Setup


Changes, and Salesforce for Outlook Announcements
We added information about customers’ email privacy settings directly in the integration so that reps know how to best communicate
with customers. Lightning Sync has some setup changes that can affect you, depending on your version of Microsoft Exchange. Salesforce
for Outlook has announced its December 2020 retirement. And for Salesforce for Outlook customers who are affected by the Microsoft®
Internet Explorer® 11 retirement for Lightning Experience, we provide steps for restoring access.

IN THIS SECTION:
Outlook® Integration: Transparency to Respect Email Privacy Settings, Event Logging Improvements, and Template Updates
We added information about customers’ email privacy settings directly in the integration so that reps know how to best communicate
with customers. We added the ability to select the event type you are logging to Salesforce. And we updated the template flow,
making it easier to create templates and add them to emails.
Lightning Sync for Microsoft Exchange: NTLM Authentication Support and Changes for Microsoft Office 365 Customers
Customers on Microsoft® Exchange 2016® or Exchange 2013® servers have the flexibility to choose their preferred Lightning Sync
authentication method: NTLM or basic authentication. Plus, Microsoft Office 365® customers can adjust their settings in preparation
for the retirement of basic authentication, scheduled for the second half of 2021.
Salesforce for Outlook: Pending Retirement and Restoring Temporary Access
Salesforce for Outlook is reliant on Microsoft® Internet Explorer® 11, for which Salesforce support is ending extended support in
December 2020. Learn about our next-generation Microsoft products and start to plan your move. And for customers already affected
by the pending browser support changes, learn how to reconnect until December.

Outlook® Integration: Transparency to Respect Email Privacy Settings, Event Logging


Improvements, and Template Updates
We added information about customers’ email privacy settings directly in the integration so that reps know how to best communicate
with customers. We added the ability to select the event type you are logging to Salesforce. And we updated the template flow, making
it easier to create templates and add them to emails.

IN THIS SECTION:
Know Which Recipients Have Email Restrictions in the Outlook Integration
When sending emails from Outlook and using the Outlook integration, sales reps can now see customers’ email privacy settings in
the integration. Previously, reps referred to the contact or lead record in Salesforce to see the email privacy settings.

167
Salesforce Spring ’20 Release Notes Integration with Microsoft®: Email Privacy Notifications,
Lightning Sync Setup Changes, and Salesforce for Outlook
Announcements
Classify the Events Logged to Salesforce from the Outlook Integration
Identifying the types of communications reps have with customers and prospects improves your business reporting and processes.
Sales reps can now select an event type, such as a call or meeting, when logging an event to Salesforce from the Outlook integration.
Work More Efficiently with Email Templates in the Outlook Integration
It’s easier now for your sales reps to create templates, apply existing templates to emails, and populate merge fields with relevant
records. And a cleaner layout supports productivity and message standardization.
Schedule High Velocity Sales Emails to Send Later
Sending emails at just the right time is a large part of closing deals. Sales reps working from the High Velocity Sales Work Queue in
the Outlook integration can schedule all emails, cadence or otherwise, to send later.
Enable Salesforce Inbox Features in New Location
Salesforce Inbox now has a centralized location for enablement. Previously, there were multiple places to enable Inbox, depending
on whether you had a High Velocity Sales, Sales Cloud Einstein, or Inbox license.

Know Which Recipients Have Email Restrictions in the Outlook Integration


When sending emails from Outlook and using the Outlook integration, sales reps can now see customers’ email privacy settings in the
integration. Previously, reps referred to the contact or lead record in Salesforce to see the email privacy settings.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Group, Professional, Enterprise, Performance,
Unlimited, and Developer editions.
Why: Trust is important, and honoring your customers’ email preferences is part of that trust. Email privacy preferences now show with
the contact or lead in Outlook.

How: A contact or lead’s email privacy preferences from Lightning Experience are shown in the integration. There’s no additional setup
required.

168
Salesforce Spring ’20 Release Notes Integration with Microsoft®: Email Privacy Notifications,
Lightning Sync Setup Changes, and Salesforce for Outlook
Announcements
Important: The Send Non-Commercial Email permission, which allows Salesforce users to send transactional emails from Lightning
Experience, isn’t enforced in the Outlook integration. It’s the sales reps’ responsibility to respect an email recipient’s privacy when
sending emails from Outlook.

SEE ALSO:
Salesforce Help: Email Open Tracking and Email Opt Out (can be outdated or unavailable during release preview)

Classify the Events Logged to Salesforce from the Outlook Integration


Identifying the types of communications reps have with customers and prospects improves your business reporting and processes. Sales
reps can now select an event type, such as a call or meeting, when logging an event to Salesforce from the Outlook integration.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Group, Professional, Enterprise, Performance,
Unlimited, and Developer editions.
How: In the Object Manager, add the Type field to the Event object, and make it visible to the reps who log events from Outlook. Include
the picklist values that fit your business. If you included the Type field on the Event object, no changes are required. Reps can access the
Type field when they log events from the integration.

SEE ALSO:
Salesforce Help: Control User Access to Fields (can be outdated or unavailable during release preview)
Salesforce Help: Enable Event Type Selections for Logging Email from Outlook (can be outdated or unavailable during release preview)

169
Salesforce Spring ’20 Release Notes Integration with Microsoft®: Email Privacy Notifications,
Lightning Sync Setup Changes, and Salesforce for Outlook
Announcements
Work More Efficiently with Email Templates in the Outlook Integration
It’s easier now for your sales reps to create templates, apply existing templates to emails, and populate merge fields with relevant records.
And a cleaner layout supports productivity and message standardization.
Where: This change applies to Salesforce Inbox on desktop, available for an extra cost in Group, Professional, Enterprise, Performance,
Unlimited, and Developer editions, and at no cost in Essentials editions.
How: Create email templates from the Outlook integration. Apply new email templates to future emails from either the Outlook integration
or Lightning Experience email.

Apply existing templates to emails and filter the list of templates by name, folder, or related Salesforce object such as Accounts or
Opportunities.

170
Salesforce Spring ’20 Release Notes Integration with Microsoft®: Email Privacy Notifications,
Lightning Sync Setup Changes, and Salesforce for Outlook
Announcements

Select records to populate merge fields. The Send To and Related To fields populate the corresponding details in the template selected.

171
Salesforce Spring ’20 Release Notes Integration with Microsoft®: Email Privacy Notifications,
Lightning Sync Setup Changes, and Salesforce for Outlook
Announcements

SEE ALSO:
Salesforce Help: Gain Speed and Consistency with Email Templates (can be outdated or unavailable during release preview)

Schedule High Velocity Sales Emails to Send Later


Sending emails at just the right time is a large part of closing deals. Sales reps working from the High Velocity Sales Work Queue in the
Outlook integration can schedule all emails, cadence or otherwise, to send later.
Where: This change applies to High Velocity Sales in Lightning Experience. High Velocity Sales is available for an extra cost in Enterprise,
Performance, and Unlimited editions.
How: Compose an email from the Work Queue in the Outlook integration. When the email compose window appears, turn on Send
Later in the integration, and schedule the email to send.

SEE ALSO:
Salesforce Help: Considerations for Setting Up High Velocity Sales (can be outdated or unavailable during release preview)

172
Salesforce Spring ’20 Release Notes Integration with Microsoft®: Email Privacy Notifications,
Lightning Sync Setup Changes, and Salesforce for Outlook
Announcements
Enable Salesforce Inbox Features in New Location
Salesforce Inbox now has a centralized location for enablement. Previously, there were multiple places to enable Inbox, depending on
whether you had a High Velocity Sales, Sales Cloud Einstein, or Inbox license.
Where: This change applies to Salesforce Inbox, available for an extra cost in Group, Professional, Enterprise, Performance, Unlimited,
and Developer editions, and at no cost in Essentials edition.
Why: Various Inbox features are available to High Velocity Sales and Lightning Experience email users and to Outlook and Gmail integration
users. We simplified the setup experience.
How: If you had Inbox enabled before Spring ’20, you’re all set. Inbox remains enabled, and users who had permission sets that granted
access to Inbox features still have those features.
For Salesforce orgs enabling Inbox features after Spring ’20, turn on Inbox and assign permission sets to users who need access. From
Salesforce Setup, enter Inbox in the Quick Find box and select Setup Assistant. Enable the Make Inbox Available to Users setting.
You can also access this setup page from links on the High Velocity Sales, Outlook integration and Sync, the Gmail integration and Sync
page, and the Einstein Activity Capture Settings pages in Salesforce setup.
Once enabled, assign users who need access to Inbox features either the Inbox With Einstein Activity Capture or Inbox Without Einstein
Activity Capture permissions. Or, if you’re running High Velocity Sales, Inbox features are made available with the High Velocity Sales
User permission set.
Users are prompted to connect their Google or Microsoft account from within Salesforce when they send their first email from Lightning
Experience or High Velocity Sales. Outlook integration and Gmail integration users connect to Salesforce from their Outlook or Gmail
when accessing the integration.

SEE ALSO:
Salesforce Help: Outlook and Gmail Integration and Salesforce Inbox Features (can be outdated or unavailable during release preview)

Lightning Sync for Microsoft Exchange: NTLM Authentication Support and Changes
for Microsoft Office 365 Customers
Customers on Microsoft® Exchange 2016® or Exchange 2013® servers have the flexibility to choose their preferred Lightning Sync
authentication method: NTLM or basic authentication. Plus, Microsoft Office 365® customers can adjust their settings in preparation for
the retirement of basic authentication, scheduled for the second half of 2021.

IN THIS SECTION:
Connect Microsoft Exchange with Salesforce Using NTLM Authentication Protocol
Now customers on Microsoft® Exchange 2016® and Exchange 2013® servers have the flexibility to choose their preferred Lightning
Sync authentication protocol: Basic Authentication or NTLM. Previously, only basic authentication was available.
Required Setting Change for Microsoft Office 365 Customers
In the second half of 2021, Microsoft® retires basic authentication for Microsoft Office 365® and Exchange Online. To continue syncing,
Office 365 customers who use the service account connection method must move to the OAuth 2.0 connection method. Customers
also have the option of switching to Einstein Activity Capture.

Connect Microsoft Exchange with Salesforce Using NTLM Authentication Protocol


Now customers on Microsoft® Exchange 2016® and Exchange 2013® servers have the flexibility to choose their preferred Lightning Sync
authentication protocol: Basic Authentication or NTLM. Previously, only basic authentication was available.

173
Salesforce Spring ’20 Release Notes Integration with Microsoft®: Email Privacy Notifications,
Lightning Sync Setup Changes, and Salesforce for Outlook
Announcements
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in Professional, Enterprise,
Performance, Unlimited, and Developer editions.
Who: NTLM authentication protocol is supported only for Lightning Sync customers working from Exchange 2016 or 2013 servers and
connecting to Salesforce using a service account.
How: Let your IT professional know that NTLM is now supported for certain servers. If your company prefers to connect to Salesforce
using NTLM, have your IT professional enable NTLM and disable basic on your Exchange server. That’s all you have to do! If both basic
and NTLM are enabled, Lightning Sync gives connection preference to basic.

SEE ALSO:
Salesforce Help: Connect Salesforce and Microsoft® Exchange Using an Exchange Service Account (can be outdated or unavailable
during release preview)
Salesforce Help: Lightning Sync System Requirements (can be outdated or unavailable during release preview)

Required Setting Change for Microsoft Office 365 Customers


In the second half of 2021, Microsoft® retires basic authentication for Microsoft Office 365® and Exchange Online. To continue syncing,
Office 365 customers who use the service account connection method must move to the OAuth 2.0 connection method. Customers
also have the option of switching to Einstein Activity Capture.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in Professional, Enterprise,
Performance, Unlimited, and Developer editions.
Who: This retirement affects only Office 365 customers who use a service account to connect to Salesforce. Microsoft hasn’t announced
retirement for basic authentication for Exchange 2016® or Exchange 2013®. Therefore, customers on those servers can continue using
the service account connection method and basic authentication to connect to Salesforce. As of Spring ’20, Lightning Sync also supports
NTLM authentication for those servers. See NTLM Authentication Protocol Supported For Microsoft Exchange 2016 and 2013.
Why: The service account connection method requires basic authentication to maintain your users’ connections between Exchange
and Salesforce. When the Microsoft retirement takes effect, it interrupts your connection, causing contacts and events to stop syncing.
To avoid sync interruption, we recommend that you take action before the basic authentication retirement, which Microsoft has scheduled
for the second half of 2021. Work with the Microsoft admin or IT professional at your company to migrate to the OAuth 2.0 connection
method. Or, you also have the option of moving to Einstein Activity Capture, which also syncs contacts and events, plus offers more
productivity-boosting features. .
How: For more details, including steps on how to prepare, see Lightning Sync Users on Microsoft Office 365: Adjust Your Sync Setup
before Basic Authentication Retirement.

SEE ALSO:
External Link: Basic Authentication and Exchange Online – April 2020 Update
Salesforce Help: OAuth 2.0 Connection for Microsoft Users (can be outdated or unavailable during release preview)
Salesforce Help: Lightning Sync System Requirements (can be outdated or unavailable during release preview)

Salesforce for Outlook: Pending Retirement and Restoring Temporary Access


Salesforce for Outlook is reliant on Microsoft® Internet Explorer® 11, for which Salesforce support is ending extended support in December
2020. Learn about our next-generation Microsoft products and start to plan your move. And for customers already affected by the
pending browser support changes, learn how to reconnect until December.

174
Salesforce Spring ’20 Release Notes Integration with Microsoft®: Email Privacy Notifications,
Lightning Sync Setup Changes, and Salesforce for Outlook
Announcements
IN THIS SECTION:
Salesforce for Outlook Is Being Retired in December 2020
Salesforce for Outlook will no longer function when extended support for Microsoft® Internet Explorer 11 ends in December 2020.
But check out the advancements made in our next-generation products, the Outlook Integration and Einstein Activity Capture, and
learn about making the move.
Restore Access If Service Is Interrupted Before December 2020
Changes for Microsoft® Internet Explorer® 11 support can interrupt service for Salesforce for Outlook users who can’t access Salesforce
Classic. We provide details on how to see if your users are affected, and how to restore access.
Find Version-Specific Salesforce for Outlook Release Notes
Wondering about the updates available in each Salesforce for Outlook version? Find those version-specific release notes in the
Outlook/Gmail integrations, and Inbox Trailblazer Community.

Salesforce for Outlook Is Being Retired in December 2020


Salesforce for Outlook will no longer function when extended support for Microsoft® Internet Explorer 11 ends in December 2020. But
check out the advancements made in our next-generation products, the Outlook Integration and Einstein Activity Capture, and learn
about making the move.
Where: This change applies to Lightning Experience and Salesforce Classic in Contact Manager, Group, Essentials, Professional, Enterprise,
Performance, Unlimited, and Developer editions.
When: Salesforce for Outlook is retired in December 2020.
Why: Along with the end of extended support for IE11, Salesforce for Outlook will no longer be able to sync contacts, events, or tasks.
Likewise, the Salesforce Side Panel won’t connect to Salesforce, so sales reps can’t work with their Salesforce records from Microsoft
Outlook®.
To continue integrating Outlook and Salesforce, we encourage customers to explore our suggested migration options.
How: To learn more about the retirement and to compare the latest products , see Salesforce for Outlook Retirement.
And to provide additional help during your transition to the latest products, stay tuned for a migration guide coming available with the
Summer ’20 release.

SEE ALSO:
Salesforce Help: Compare Salesforce for Outlook to the Next-Generation Products
Knowledge Article: Extended Support for Accessing Lightning Experience Using Microsoft Internet Explorer 11
Salesforce Help: Outlook and Gmail Integration on Desktop
Salesforce Help: Einstein Activity Capture

Restore Access If Service Is Interrupted Before December 2020


Changes for Microsoft® Internet Explorer® 11 support can interrupt service for Salesforce for Outlook users who can’t access Salesforce
Classic. We provide details on how to see if your users are affected, and how to restore access.
Where: This change applies to Lightning Experience in Contact Manager, Group, Essentials, Professional, Enterprise, Performance,
Unlimited, and Developer editions.
Who: Salesforce for Outlook users experience a service interruption when they meet either of these scenarios.
• Your Salesforce org or the user doesn’t have access to Salesforce Classic.
• Your company has opted not to extend Microsoft Internet Explorer 11 support until December 31, 2020.

175
Salesforce Spring ’20 Release Notes Salesforce CPQ and Billing: Ordering Usage Products with
Evergreen Subscriptions, Smarter Configuration Rules, and
Flexible Revenue Schedule Creation
Why: In 2016, Salesforce stopped supporting Lightning Experience on IE11. Because Salesforce for Outlook relies on IE11 to display
Salesforce from Microsoft Outlook®, the IE11 access block also affects Salesforce for Outlook users.
How: To restore Salesforce for Outlook access for users, take one of these suggested workarounds until the product is retired in December
2020.
• Opt in to extended support for IE11.
• For customers whose Salesforce subscriptions offer access to Salesforce Classic, admins can also restore Salesforce for Outlook by
providing users access to Salesforce Classic.
Or, consider moving to our next-generation products, Outlook Integration and Einstein Activity Capture.
For steps on restoring access and details on our next generation products, see Salesforce for Outlook No Longer Connects for Some
Customers working from Lightning Experience.

SEE ALSO:
Supported Browsers
Salesforce Help: Outlook and Gmail Integration on Desktop (can be outdated or unavailable during release preview)
Salesforce Help: Einstein Activity Capture (can be outdated or unavailable during release preview)

Find Version-Specific Salesforce for Outlook Release Notes


Wondering about the updates available in each Salesforce for Outlook version? Find those version-specific release notes in the
Outlook/Gmail integrations, and Inbox Trailblazer Community.
Where: This change applies to Lightning Experience and Salesforce Classic in Contact Manager, Group, Essentials, Professional, Enterprise,
Performance, Unlimited, and Developer editions.

SEE ALSO:
Salesforce Trailblazer Community: Salesforce for Outlook Release Notes

Salesforce CPQ and Billing: Ordering Usage Products with Evergreen


Subscriptions, Smarter Configuration Rules, and Flexible Revenue Schedule
Creation
Order usage products related to evergreen subscriptions. Access more fields in the configurator. Edit quote line consumption schedules
directly in the quote line editor. Use triggers, process builders, and API to create revenue schedules anytime on any Salesforce object.
And prevent users from creating backdated amendments.

IN THIS SECTION:
Salesforce CPQ: Usage-Based Products for Evergreen Subscriptions, Smarter Configuration Rules, and Editing Quote Line Consumption
Schedules in the Quote Line Editor
Order usage-based products with evergreen subscriptions. Access more fields in the configurator. Edit quote line consumption
schedules in the quote line editor. And prevent users from creating backdated amendments.

176
Salesforce Spring ’20 Release Notes Salesforce CPQ and Billing: Ordering Usage Products with
Evergreen Subscriptions, Smarter Configuration Rules, and
Flexible Revenue Schedule Creation
Salesforce Billing: Flexible Revenue Schedule Creation, Customizable Finance Periods, and Automated Conversion of Negative Invoice
Lines
Use triggers, process builders, and API to create revenue schedules anytime on any Salesforce object. Create finance periods for
custom date ranges. And convert negative invoice lines to credit notes automatically with REST API.

SEE ALSO:
Knowledge Article: New Objects, Fields, and Permissions for Salesforce CPQ and Billing Spring '20 (can be outdated or unavailable
during release preview)

Salesforce CPQ: Usage-Based Products for Evergreen Subscriptions, Smarter


Configuration Rules, and Editing Quote Line Consumption Schedules in the Quote
Line Editor
Order usage-based products with evergreen subscriptions. Access more fields in the configurator. Edit quote line consumption schedules
in the quote line editor. And prevent users from creating backdated amendments.

Note: Salesforce CPQ is offered for an extra cost. For pricing, contact your Salesforce account executive.

IN THIS SECTION:
Order Usage-Based Products with Evergreen Subscriptions
Let your sales reps sell usage products without the hassle of managing contract renewals. Salesforce CPQ now lets you order
usage-based products associated with evergreen subscriptions.
Do More with Improved Price Rules in the Configurator
Now you have more ways to incorporate your business rules in your product configurations with improved price rules. Price rules
can now evaluate conditions against inputs from configuration attributes to trigger actions.
Apply Edit Rules Efficiently in the Configurator
With the click of a button, you can now run all edit product and price rules at the same time. You no longer have to wait while the
configurator automatically processes each change individually.
Logic Updated for Percent Values in Price Action Formulas
We changed the way literal values representing percentages are evaluated in the Formula of a price action, when the Target Field
is of type percent. Previously, in Summer ‘19, we updated percent fields referenced in price action formulas. In that update, we
changed formulas in the Formula field on price actions to no longer divide referenced field values by 100. In Spring ‘20, when you
use a literal value the behavior is consistent with the way percent fields are evaluated. This update also ensures consistency with
the way Salesforce formulas are evaluated in custom field definitions overall.
Expand or Collapse Bundles by Default
Admins can now choose if product bundles in the quote line editor are expanded or collapsed by default, making detailed information
easier to read. Previously, product bundles always expanded by default, sometimes taking up valuable screen space. Until now,
collapsing bundles could only be done by Salesforce Customer Support. Now, Admins can customize their Salesforce org’s view,
enhancing the sales rep experience within the quote line editor.
Enable Manual Edits for Quote Line Consumption Rates
Sales reps can now make manual edits to existing quote line consumption rates for usage based products. Previously, changes
required a quote calculator plugin. Now, the upper bound, lower bound, and price can all be edited in the quote line editor to more
easily customize each deal.

177
Salesforce Spring ’20 Release Notes Salesforce CPQ and Billing: Ordering Usage Products with
Evergreen Subscriptions, Smarter Configuration Rules, and
Flexible Revenue Schedule Creation
Transition from Managed Package Licenses to Permission Set Licenses
A new tool has been added to help you prepare your org for an upcoming package upgrade, in which Salesforce CPQ will transition
from Managed Package Licenses to Permission Set Licenses. Your org is only ready for the new package upgrade when your Managed
Package License configuration is correct and every CPQ user has an assigned Salesforce CPQ License.
Prevent Creation of Backdated Amendments
We added a new restriction that prevents users from creating a new amendment with a start date prior to an existing amendment’s
start date. Creating backdated amendments this way can cause incorrect quote line totals. Now you can also add a new field to the
quote line editor field set to display the earliest valid start date.
New Permissions for Previewing Quote Documents
To use the quote’s Preview Document button, users now require Create and Edit permissions on the quote document object.

SEE ALSO:
Knowledge Article: New Objects, Fields, and Permissions for Salesforce CPQ and Billing Spring '20 (can be outdated or unavailable
during release preview)

Order Usage-Based Products with Evergreen Subscriptions


Let your sales reps sell usage products without the hassle of managing contract renewals. Salesforce CPQ now lets you order usage-based
products associated with evergreen subscriptions.
Where: This change applies to Salesforce Lightning Experience and Salesforce Classic in Salesforce CPQ.
Why: Previously, Salesforce CPQ supported associating usage products with only one-time products or standard subscription products.
If a sales rep wanted to quote and sell a usage-based subscription product, they had to renew the parent subscription at the end of
every subscription term.
How: When a sales rep orders an evergreen subscription product related to a consumption schedule, Salesforce CPQ creates an order
product with 12 usage summaries. Each summary is the length of the consumption schedule’s billing term. Reps can then create more
usage summaries manually for as long as the subscription is active. After reps create usage summaries and order product consumption
schedules, Salesforce Billing can invoice them the same way it invoices usage summaries created from standard subscriptions.
Sales reps using price schedule-based usage can also order an evergreen subscription product with a charge type of Usage. In this case,
they create the order product’s usage summaries manually or through automation.

SEE ALSO:
Salesforce Help: Ordering Consumption Schedules with Evergreen Subscriptions (can be outdated or unavailable during release
preview)

Do More with Improved Price Rules in the Configurator


Now you have more ways to incorporate your business rules in your product configurations with improved price rules. Price rules can
now evaluate conditions against inputs from configuration attributes to trigger actions.
Where: This change applies to Salesforce Classic and Lightning Experience in all Salesforce CPQ editions.
Why: Previously, when sales reps changed attributes in the configurator, they had to go to the quote line editor to see the effect on
pricing or other field values. Now, they can set field values based on configuration attributes, and changes are reflected directly in the
configurator, saving time and effort.

178
Salesforce Spring ’20 Release Notes Salesforce CPQ and Billing: Ordering Usage Products with
Evergreen Subscriptions, Smarter Configuration Rules, and
Flexible Revenue Schedule Creation
Apply Edit Rules Efficiently in the Configurator
With the click of a button, you can now run all edit product and price rules at the same time. You no longer have to wait while the
configurator automatically processes each change individually.
Where: This change applies to Salesforce Classic and Lightning Experience in all Salesforce CPQ editions.
Why: In large configurations where you regularly change or validate many price rules, it’s time consuming for rules to run individually
with each change.
How: The Apply Rules button is a new custom action in the configurator.

To set up the Apply Rules custom action to replace the automatic processing of edit rules, complete these steps.
• Uncheck Apply Immediately on the Configuration Attributes or Product Options that trigger the rules upon edit.
• In case sales reps forget to click Apply Rules, make sure that all Edit rules are evaluated when reps save their changes.
– Update all Configurator product rules to evaluate on Always instead of Edit.
– Clone with related all Configurator price rules to evaluate on Save and on Edit.

SEE ALSO:
Salesforce Help: Custom Actions (can be outdated or unavailable during release preview)
Salesforce Help: Configurator Evaluation Events (can be outdated or unavailable during release preview)
Salesforce Help: Product Option Fields (can be outdated or unavailable during release preview)

Logic Updated for Percent Values in Price Action Formulas


We changed the way literal values representing percentages are evaluated in the Formula of a price action, when the Target Field is of
type percent. Previously, in Summer ‘19, we updated percent fields referenced in price action formulas. In that update, we changed
formulas in the Formula field on price actions to no longer divide referenced field values by 100. In Spring ‘20, when you use a literal
value the behavior is consistent with the way percent fields are evaluated. This update also ensures consistency with the way Salesforce
formulas are evaluated in custom field definitions overall.
Where: This change applies to Salesforce Classic and Lightning Experience in all Salesforce CPQ editions.
How: To identify if you have price actions to update, create a custom report type on the price action object. Include relevant information
such as the Name, Formula, Active, or Created Date fields. Run a report on all your price actions to see where you have used a literal
percent value as part of your formula.
To make the updates, go to price rules and select a price rule that contains a price action that specifies a field of type percent as the
Target Field (1).

179
Salesforce Spring ’20 Release Notes Salesforce CPQ and Billing: Ordering Usage Products with
Evergreen Subscriptions, Smarter Configuration Rules, and
Flexible Revenue Schedule Creation

Choose the price action and change any values that represent percentage values to their decimal representation. For example, use 1 to
represent 100% and 0.5 for 50%.

180
Salesforce Spring ’20 Release Notes Salesforce CPQ and Billing: Ordering Usage Products with
Evergreen Subscriptions, Smarter Configuration Rules, and
Flexible Revenue Schedule Creation
Then, create a quote, and add a quote line that meets the price rule’s conditions. Verify that the result of the price action formula is
accurate.

SEE ALSO:
Salesforce Summer ‘19 Release Notes: Logic Updated for Percent Fields in Price Action Formulas
Knowledge Article: Salesforce CPQ Spring ’20 Price Action Formula Field Change in Behavior (can be outdated or unavailable during
release preview)
Salesforce Help:Create Price Actions (can be outdated or unavailable during release preview)

Expand or Collapse Bundles by Default


Admins can now choose if product bundles in the quote line editor are expanded or collapsed by default, making detailed information
easier to read. Previously, product bundles always expanded by default, sometimes taking up valuable screen space. Until now, collapsing
bundles could only be done by Salesforce Customer Support. Now, Admins can customize their Salesforce org’s view, enhancing the
sales rep experience within the quote line editor.
Where: This change applies to Salesforce Classic and Lightning Experience in all Salesforce CPQ editions.
Why: Valuable screen space can be saved if the bundles are collapsed.

Once the bundled is expanded, more space is used.

How: In your installed package settings, on the Line Editor tab, check Enable Expand/Collapse Bundles,. If this setting is unavailable,
ensure that you also check Enable Large Quote Experience, Visualize Product Hierarchy, and Keep Bundles Together. After this
feature is enabled, you can choose the Default Bundle Setting.

Enable Manual Edits for Quote Line Consumption Rates


Sales reps can now make manual edits to existing quote line consumption rates for usage based products. Previously, changes required
a quote calculator plugin. Now, the upper bound, lower bound, and price can all be edited in the quote line editor to more easily
customize each deal.
Where: This change applies to Salesforce Classic and Lightning Experience in Salesforce CPQ Plus, Salesforce CPQ & Billing Growth, and
Salesforce CPQ & Billing Plus.

181
Salesforce Spring ’20 Release Notes Salesforce CPQ and Billing: Ordering Usage Products with
Evergreen Subscriptions, Smarter Configuration Rules, and
Flexible Revenue Schedule Creation
How: In your installed package settings, on the Pricing and Calculation tab, check Enable Manual Edits for Usage Pricing. Also make
sure to select Enable Usage Based Pricing.
Once enabled, sales reps have an edit icon for upper bound, lower bound, and price. When an edit is made, the field is highlighted and
Update and Cancel buttons become available.

SEE ALSO:
Salesforce Help: Enable Manual Edits for Quote Line Consumption Schedules (can be outdated or unavailable during release preview)

Transition from Managed Package Licenses to Permission Set Licenses


A new tool has been added to help you prepare your org for an upcoming package upgrade, in which Salesforce CPQ will transition
from Managed Package Licenses to Permission Set Licenses. Your org is only ready for the new package upgrade when your Managed
Package License configuration is correct and every CPQ user has an assigned Salesforce CPQ License.
Where: This change applies to Salesforce Classic and Lightning Experience in all Salesforce CPQ editions.
Why: Use the provided tool to check for upgrade readiness.
The tool provides details on the:
• Number of provisioned Managed Package Licenses
• Number of assigned Managed Package Licenses
• Number of users assigned with Permission Sets
• Number of provisioned Permission Set Licenses
• Number of assigned Permission Set Licenses
If one or more of these conditions are met, a csv file can be downloaded so that you can take action:
• There are users with a Permission Set but no Managed Package License
• There are inactive users with a Permission Set
• There are users who need a Permission Set License
If you make any changes, including assigning licenses, run the tool again to confirm that your org is ready to upgrade.

182
Salesforce Spring ’20 Release Notes Salesforce CPQ and Billing: Ordering Usage Products with
Evergreen Subscriptions, Smarter Configuration Rules, and
Flexible Revenue Schedule Creation
How: The tool is available in the CPQ package configuration under Additional Settings.

SEE ALSO:
Knowledge Article: Salesforce CPQ readiness for Permission Set License assignment (can be outdated or unavailable during release
preview)
Knowledge Article: Salesforce CPQ readiness for Permission Set License assignment (can be outdated or unavailable during release
preview)

Prevent Creation of Backdated Amendments


We added a new restriction that prevents users from creating a new amendment with a start date prior to an existing amendment’s
start date. Creating backdated amendments this way can cause incorrect quote line totals. Now you can also add a new field to the
quote line editor field set to display the earliest valid start date.
Where: This change applies to Lightning Experience and Salesforce Classic in all Salesforce CPQ editions.
When: This change is scheduled to become available after January 7, 2020.
Why: Previously, it was possible to create backdated amendments that caused incorrect quote line totals. Now, the only way to create
a backdated amendment is to revert any amendments that take effect after the one you want to create, in reverse chronological order.
After those amendments are reverted, or zeroed out, create the new amendment. If necessary, re-create the amendments that were
zeroed out.

183
Salesforce Spring ’20 Release Notes Salesforce CPQ and Billing: Ordering Usage Products with
Evergreen Subscriptions, Smarter Configuration Rules, and
Flexible Revenue Schedule Creation
How: To access this feature, make sure you’re using the Spring ’20 release. To turn off the feature, log a ticket with Salesforce Customer
Support.

New Permissions for Previewing Quote Documents


To use the quote’s Preview Document button, users now require Create and Edit permissions on the quote document object.
Where: This change applies to Salesforce Lightning Experience and Salesforce Classic in Salesforce CPQ.

Salesforce Billing: Flexible Revenue Schedule Creation, Customizable Finance Periods,


and Automated Conversion of Negative Invoice Lines
Use triggers, process builders, and API to create revenue schedules anytime on any Salesforce object. Create finance periods for custom
date ranges. And convert negative invoice lines to credit notes automatically with REST API.

IN THIS SECTION:
Recognize Revenue Anywhere
Enjoy the freedom of reporting on revenue recognition at any stage of the sales and finance process. Salesforce Billing Revenue
Recognition API lets you create revenue schedules and transactions for any Salesforce object in response to triggers and processes.
Create Finance Periods for Custom Date Ranges
Finance periods are no longer limited to calendar months. Billing admins can now create finance periods for custom date ranges,
such as 4-4-5 or 5-4-4 week billing periods.
Automate Conversion of Negative Invoice Lines
We made it easier to convert large volumes of negative invoice lines into credit notes. Salesforce Billing now supports batch processes,
triggers, and process builders for converting negative invoice lines to credit notes. Previously, sales reps had to manually convert
negative invoice lines one invoice at a time through the Convert Negative Lines option in Salesforce Billing UI.
Fixed Bug Preventing Users from Accessing Billing Visualforce Pages
We fixed an issue where an upcoming Salesforce security fix would prevent Salesforce Billing non-admin users from accessing certain
Visualforce pages in Salesforce Billing Spring ’20. New users and users upgrading to Salesforce Billing Spring ’20 will have access to
the fix right away. However, the fix will be backported to previous versions of Salesforce as well, starting January 3, 2020. Users who
don’t plan on upgrading to Salesforce Billing Spring ’20 yet can add the View all custom settings permission to the
permissions sets of affected users.

SEE ALSO:
Knowledge Article: New Objects, Fields, and Permissions for Salesforce CPQ and Billing Spring '20 (can be outdated or unavailable
during release preview)

Recognize Revenue Anywhere


Enjoy the freedom of reporting on revenue recognition at any stage of the sales and finance process. Salesforce Billing Revenue Recognition
API lets you create revenue schedules and transactions for any Salesforce object in response to triggers and processes.
Where: This change applies to Salesforce Lightning Experience and Salesforce Classic in Salesforce Billing.
Why: Previously, Salesforce Billing could create revenue schedules only from order products, invoice lines, credit note lines, and debit
note lines. The revenue recognition treatment was limited to creating revenue schedules only in response to activating an order, or
posting an invoice, credit note, or debit note. Developers can now call the blng__RecognizeRevenue Apex class in response

184
Salesforce Spring ’20 Release Notes Salesforce CPQ and Billing: Ordering Usage Products with
Evergreen Subscriptions, Smarter Configuration Rules, and
Flexible Revenue Schedule Creation
to any process, trigger, or REST API call, and target any financial object for evaluation. For example, you could forecast quote line revenue
following quote approval, or forecast contract revenue after the contract is activated.
How: The RecognizeRevenue service receives key revenue recognition values, such as the amount to be distributed for revenue recognition,
the revenue recognition rule, and the source object associated with the revenue recognition. Salesforce Billing then creates the revenue
schedule and transactions. We recommend identifying an amount field on your financial object and passing that to the RecognizeRevenue
service as the value used for revenue calculation. For example, you could pass a quote line’s List Total field.

SEE ALSO:
Salesforce Billing Developer Guide: Revenue Recognition Service Developer Guide (can be outdated or unavailable during release
preview)

Create Finance Periods for Custom Date Ranges


Finance periods are no longer limited to calendar months. Billing admins can now create finance periods for custom date ranges, such
as 4-4-5 or 5-4-4 week billing periods.
Where: This change applies to Salesforce Lightning Experience and Salesforce Classic in Salesforce Billing.
How: When you create a finance book, set the Finance Period Duration field to Custom, then click New Finance Period. When you
create finance periods in the finance book, define the start dates and end dates as needed. A finance period’s dates can’t overlap with
other finance periods with the same legal entity and currency in the same finance period.

Note: If you click Create Finance Periods instead while finance period duration is Custom, Salesforce Billing opens the Create
Finance Periods Visualforce page instead. This page lets you make only monthly finance periods, even if you’re working in a custom
period finance book.

SEE ALSO:
Salesforce Help: Create Finance Periods for Custom Date Ranges (can be outdated or unavailable during release preview)

Automate Conversion of Negative Invoice Lines


We made it easier to convert large volumes of negative invoice lines into credit notes. Salesforce Billing now supports batch processes,
triggers, and process builders for converting negative invoice lines to credit notes. Previously, sales reps had to manually convert negative
invoice lines one invoice at a time through the Convert Negative Lines option in Salesforce Billing UI.
Where: This change applies to Salesforce Lightning Experience and Salesforce Classic in Salesforce Billing.
How: When the Apex class blng__NegativeInvoiceToCreditNoteAction receives a service call containing invoice IDs,
it evaluates each invoice to find invoice lines with a negative balance. For each invoice, it creates a credit note containing one credit
note line for each negative invoice line. Each credit note line has a balance that’s the positive equivalent of the corresponding negative
invoice line. The credit note lines are unallocated, so users must manually allocate them as needed.

SEE ALSO:
Salesforce Billing Developer Guide: REST API for Converting Invoice Lines with Negative Balances (can be outdated or unavailable
during release preview)

185
Salesforce Spring ’20 Release Notes Pardot: Einstein and Account-Based Marketing Analytics,
Business Snippets, and More Goodies

Fixed Bug Preventing Users from Accessing Billing Visualforce Pages


We fixed an issue where an upcoming Salesforce security fix would prevent Salesforce Billing non-admin users from accessing certain
Visualforce pages in Salesforce Billing Spring ’20. New users and users upgrading to Salesforce Billing Spring ’20 will have access to the
fix right away. However, the fix will be backported to previous versions of Salesforce as well, starting January 3, 2020. Users who don’t
plan on upgrading to Salesforce Billing Spring ’20 yet can add the View all custom settings permission to the permissions
sets of affected users.
Where: This change applies to Salesforce Lightning Experience and Salesforce Classic in all Salesforce Billing editions.

SEE ALSO:
Knowledge Article: Salesforce Billing Visualforce Security Workaround for Pre-Spring '20 Users (can be outdated or unavailable during
release preview)

Pardot: Einstein and Account-Based Marketing Analytics, Business Snippets,


and More Goodies
Spring ’20 brings you an exciting batch of analytics tools including an Einstein Behavior Scoring dashboard and an Account-Based
Marketing analytics app template. Plus, check out new uses for Snippets, two Engagement History dashboards, a handful of related lists,
and updates to our B2B Marketing Analytics datasets and dashboards.

IN THIS SECTION:
Explore Factors That Determine Behavior Scoring
Ever wonder how we build your Einstein Behavior Scoring model? Now you can find out. A new dashboard in B2B Marketing Analytics
shows how your custom model weights each engagement activity and which assets relate most strongly to future conversion.
Use Einstein Discovery Predictions to Enhance Account-Based Marketing Strategy (Pilot)
Give sales and marketing users the power to analyze ongoing account-based marketing efforts and performance. The new
Account-Based Marketing (ABM) app template offers three dashboards, and includes an Einstein Discovery story that identifies easy
wins and improvement opportunities. The Account-Based Marketing app template is part of Einstein Analytics for B2B Marketing, a
growing collection of tools tailored for the B2B marketer.
Explore Engagement History Data on Leads and Contacts
Engagement history data now can follow your reps everywhere they go. Add the Embedded Engagement History Dashboard
Lightning component on lead and contact records to see customers’ engagement activities. Drill in to specific assets or activities
like you do on your other Engagement History dashboards.
See Most Engaged Accounts on Campaign Records
The Embedded Engagement History Dashboard on a campaign record now shows how many accounts engage with your marketing
assets. We added a Most Engaged Accounts widget to your embedded dashboards. It aggregates the number of activities for leads
and contacts linked to an account, so you can see which accounts are worth your focus.
See Engagement Activities on List Email Records
Your sales reps don’t have time to dig around for the information they need. Now, sales reps can see the Engagement History related
list on list email records to learn who is opening and clicking their emails.
Reveal Relationships Between Accounts and Campaigns
New related lists are available on campaign and account records, which can help your sales reps make connections between the
two. They can quickly navigate between records or act on related records. Add the Accounts related list to campaign records and
add the Campaigns related list to account records.

186
Salesforce Spring ’20 Release Notes Pardot: Einstein and Account-Based Marketing Analytics,
Business Snippets, and More Goodies

Dataset Changes in B2B Marketing Analytics Apps


To make sure that your B2B Marketing Analytics datasets provide the most accurate data to your dashboards, we restructured a few
things. Previously, dashboard widgets were limited to consider only one prospect associated with one opportunity. However,
relationships are often more complex. We also updated widget formulas, faceting, and date filtering to give you a more powerful
dashboard experience.
Retiring B2B Marketing Analytics Legacy Apps
As of the Summer ’20 release, datasets in legacy B2B Marketing Analytics apps are no longer updated. Legacy apps include any
custom apps you made without selecting the B2B Marketing Analytics app template during setup.
FullContact Connector Is Scheduled for Retirement on January 31, 2020
FullContact’s social profile lookup connector, including the ability to view information obtained via the connector, will no longer be
available as of January 31, 2020.
Test Configuration Changes with Pardot Sandboxes (Beta)
We’ve added Pardot Sandboxes to help you plan and test configuration changes before implementing them in your Pardot production
account. A Pardot Sandbox is a Pardot Business Unit that is provisioned from a Salesforce Full Sandbox.

Explore Factors That Determine Behavior Scoring


Ever wonder how we build your Einstein Behavior Scoring model? Now you can find out. A new dashboard in B2B Marketing Analytics
shows how your custom model weights each engagement activity and which assets relate most strongly to future conversion.
Where: This change applies to Lightning Experience in Pardot Advanced with Salesforce Enterprise, Performance, and Unlimited editions.
Why: A single behavior score can tell you whether a prospect is likely to become a sales qualified lead (SQL), but it doesn’t tell the full
story behind the number. At a strategic level, you want to tailor your marketing plans toward the behaviors that generate the best
opportunities for your sales team. The Einstein Behavior Scoring dashboard gives you the data you need to start testing and implementing
more effective marketing tactics.
How: An admin must install and configure B2B Marketing Analytics and Einstein Behavior Scoring. Then, any user can create the
out-of-the-box Einstein Behavior Scoring Dashboard.
The dashboard includes two graphs and a prospects table. The Activity graph shows behaviors, such as webinar attendance, video views,
or email clicks, that have the strongest impact on the scoring model. Select a behavior to focus the Asset graph on the top performing
assets associated with that behavior.
The Connected Prospects table updates to show records of leads and contacts who have done the selected activities.

SEE ALSO:
Salesforce Help: The Einstein Behavior Scoring Dashboard for B2B Marketing Analytics (can be outdated or unavailable during release
preview)

Use Einstein Discovery Predictions to Enhance Account-Based Marketing Strategy


(Pilot)
Give sales and marketing users the power to analyze ongoing account-based marketing efforts and performance. The new Account-Based
Marketing (ABM) app template offers three dashboards, and includes an Einstein Discovery story that identifies easy wins and improvement
opportunities. The Account-Based Marketing app template is part of Einstein Analytics for B2B Marketing, a growing collection of tools
tailored for the B2B marketer.
Where: This change applies to Lightning Experience and Salesforce Classic. This feature is available in Salesforce Enterprise, Unlimited,
Partner Developer, and Developer editions with the Einstein Analytics for B2B Marketing license.

187
Salesforce Spring ’20 Release Notes Pardot: Einstein and Account-Based Marketing Analytics,
Business Snippets, and More Goodies

Note: We provide Einstein Analytics for B2B Marketing to selected customers through a pilot program that requires agreement
to specific terms and conditions. To be nominated to participate in the program, contact Salesforce. Pilot programs are subject to
change, and we can’t guarantee acceptance. Einstein Analytics for B2B Marketing isn’t generally available unless or until Salesforce
announces its general availability in documentation or in press releases or public statements. We can’t guarantee general availability
within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and
features. You can provide feedback and suggestions in the Einstein Analytics for B2B Marketing group in the Trailblazer Community.
Why: The B2B Marketing Analytics app offers a high-level glimpse into your account-based marketing activities. The complete ABM app
template gives you more control over what information to display and how. It also offers access to a powerful Einstein Discovery story
that helps you target methods to maximize opportunities.
The Einstein Analytics for B2B Marketing license includes four permission set licenses: Einstein Analytics Plus Admin, Einstein Analytics
Plus User, Einstein Analytics for B2B Marketing Admin, and Einstein Analytics for B2B Marketing User.
How: After you assign access, users can create their own ABM apps. To start, from the App Launcher, find and open Analytics Studio,
and then create an app. When prompted, choose the Account-Based Marketing app template and answer the questions in the setup
wizard.
To use Einstein Discovery with your app, set up predictions separately.

188
Salesforce Spring ’20 Release Notes Pardot: Einstein and Account-Based Marketing Analytics,
Business Snippets, and More Goodies

SEE ALSO:
Salesforce Help: Account-Based Marketing App Dashboard (can be outdated or unavailable during release preview)

Explore Engagement History Data on Leads and Contacts


Engagement history data now can follow your reps everywhere they go. Add the Embedded Engagement History Dashboard Lightning
component on lead and contact records to see customers’ engagement activities. Drill in to specific assets or activities like you do on
your other Engagement History dashboards.
Where: This change applies to Lightning Experience in Pardot Growth, Plus, and Advanced editions with Salesforce Professional, Enterprise,
and Unlimited editions.
How: If you already use Engagement History dashboards, you don’t have to do much. Just add the Engagement History Embedded
Dashboard component to a tab on your lead and contact records.

To set up Engagement History dashboards for the first time, check out Salesforce Help.

SEE ALSO:
Salesforce Help: Use Engagement History (can be outdated or unavailable during release preview)

See Most Engaged Accounts on Campaign Records


The Embedded Engagement History Dashboard on a campaign record now shows how many accounts engage with your marketing
assets. We added a Most Engaged Accounts widget to your embedded dashboards. It aggregates the number of activities for leads and
contacts linked to an account, so you can see which accounts are worth your focus.
Where: This change applies to Lightning Experience in Pardot Growth, Plus, and Advanced editions with Salesforce Professional, Enterprise,
and Unlimited editions.
How: The new widget is added to the dashboard automatically.

189
Salesforce Spring ’20 Release Notes Pardot: Einstein and Account-Based Marketing Analytics,
Business Snippets, and More Goodies

SEE ALSO:
Salesforce Help: Turn On Engagement History Dashboards (can be outdated or unavailable during release preview)

See Engagement Activities on List Email Records


Your sales reps don’t have time to dig around for the information they need. Now, sales reps can see the Engagement History related
list on list email records to learn who is opening and clicking their emails.
Where: This change applies to Lightning Experience in all Pardot editions with Salesforce Professional, Enterprise, and Unlimited editions.
How: Edit the page layout for List Emails and include the Engagement History related list on the Related tab.

Reveal Relationships Between Accounts and Campaigns


New related lists are available on campaign and account records, which can help your sales reps make connections between the two.
They can quickly navigate between records or act on related records. Add the Accounts related list to campaign records and add the
Campaigns related list to account records.
Where: This change applies to all Pardot editions with Salesforce Professional, Enterprise, and Unlimited editions.
How: Decide whether reps need one or both related lists, and add the related list to the appropriate page layouts.

Dataset Changes in B2B Marketing Analytics Apps


To make sure that your B2B Marketing Analytics datasets provide the most accurate data to your dashboards, we restructured a few
things. Previously, dashboard widgets were limited to consider only one prospect associated with one opportunity. However, relationships
are often more complex. We also updated widget formulas, faceting, and date filtering to give you a more powerful dashboard experience.
Where: This change applies to Lightning Experience and Salesforce Classic and is included with Pardot Plus and Advanced. The change
also affects Pardot Pro and Ultimate editions with the B2B Marketing Analytics add-on.
Why: Some columns have moved and some field names have been changed, which breaks customized lenses or dashboards using
these fields. We recommend that you recreate those customizations on lenses and save them outside of the B2B Marketing Analytics
app.
We added a date filter on the Prospect dataset, and updated the date filter criteria on the Opportunity dataset. These changes affect the
amount of data represented in each dataset.
In a separate filter change, the global data range filter on the Marketing Manager, Pipeline, and Account-Based Marketing dashboards
was updated. The new filter can also affect values in each widget. For example, on opportunity-related widgets, the date filter now
considers the Created Date of the opportunity instead of when the associated prospect was created. The result is more accurate, but
can be different from what you’re used to seeing.

190
Salesforce Spring ’20 Release Notes Pardot: Einstein and Account-Based Marketing Analytics,
Business Snippets, and More Goodies

Table 1: Marketing Manager - Marketing Pipeline Health


Value Notes
Pipeline Deals Source change. Uses Salesforce stage instead of stage from Pardot.

# in Pipe Affected by dataset date filter change

Pipeline Affected by dataset date filter change

Revenue Affected by dataset date filter change

Avg Conversion to Close Formula change. Indicates the average time between creation and
close date of the opportunities in the dataset.

Revenue by Campaign Formula change. Indicates the revenue of campaigns associated


with a certain opportunity.

Table 2: Pipeline - Marketing Lifecycle Funnel


Value Notes
Prospects Now pulls from Prospect dataset

MQLs Now pulls from Prospect dataset

SQLs Affected by dataset date filter change

MQL Average Now pulls from Prospect dataset

SQL Average Removed

Prospect Average Now pulls from Prospect dataset

Table 3: Pipeline - Pipeline Breakdown


Value Notes
Total Value Affected by dataset date filter change

Cost Affected by dataset date filter change

Conversion Rate Removed

Visitor Conversion Rate New value, pulls from Opportunity dataset. Indicates total number
of prospects created, divided by number of visitors.

Opportunity Win Rate New value, pulls from Opportunity dataset. Indicates total number
of won opportunities, divided by closed opportunities.

# in Pipeline Affected by dataset date filter change

Revenue Affected by dataset date filter change

ROI Affected by dataset date filter change

Stage Revenue Source change. Uses Salesforce stage instead of stage from Pardot.

191
Salesforce Spring ’20 Release Notes Pardot: Einstein and Account-Based Marketing Analytics,
Business Snippets, and More Goodies

Value Notes
Campaigns Formula change. Indicates the revenue of campaigns associated
with a certain opportunity.

Lead Sources Formula change. Indicates number of prospects, grouped by lead


source

Marketing Sourced Pipeline Formula change. Indicates total value of opportunities, grouped
by name

Table 4: Account-Based Marketing - Opportunities


Value Notes
Revenue Win Percentage Source change. Uses Salesforce opportunity instead of opportunity
from Pardot.

Stage Value by Account Source change. Uses Salesforce opportunity instead of opportunity
from Pardot.

How: Users must upgrade their B2B Marketing Analytics apps to see the changes on dashboards and widgets.

Retiring B2B Marketing Analytics Legacy Apps


As of the Summer ’20 release, datasets in legacy B2B Marketing Analytics apps are no longer updated. Legacy apps include any custom
apps you made without selecting the B2B Marketing Analytics app template during setup.
Where: This change applies to Pardot Pro and Ultimate editions with the B2B Marketing Analytics add-on.

SEE ALSO:
Salesforce Help: Create and Upgrade B2B Marketing Analytics Apps (can be outdated or unavailable during release preview)

FullContact Connector Is Scheduled for Retirement on January 31, 2020


FullContact’s social profile lookup connector, including the ability to view information obtained via the connector, will no longer be
available as of January 31, 2020.
Where: This change applies to all Pardot accounts.

SEE ALSO:
Knowledge Article: FullContact Social Profile Lookup Connector for Pardot Retirement

Test Configuration Changes with Pardot Sandboxes (Beta)


We’ve added Pardot Sandboxes to help you plan and test configuration changes before implementing them in your Pardot production
account. A Pardot Sandbox is a Pardot Business Unit that is provisioned from a Salesforce Full Sandbox.
Where: This change applies to Lightning Experience in accounts that purchased or upgraded to Pardot Advanced Edition on or after
February 11, 2019 that are connected to a Salesforce account with Full Sandbox types.

192
Salesforce Spring ’20 Release Notes Other Changes in the Sales Cloud

As a beta feature, Pardot Sandboxes is a preview and isn’t part of the “Services” under your master subscription agreement with Salesforce.
Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available products and features.
Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all, and we can discontinue it at
any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t supported, and Salesforce has no
liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce reservation of rights, obligations
concerning the Services, and terms for related Non-Salesforce Applications and Content apply equally to your use of this feature. You
can provide feedback and suggestions for Pardot Sandboxes in the IdeaExchange.
How: To create a Pardot Sandbox, provision a new business unit from Pardot Account Setup within a Salesforce Full sandbox.

SEE ALSO:
Salesforce Help: Create a Pardot Sandbox (Beta)(can be outdated or unavailable during release preview)

Other Changes in the Sales Cloud


[Link] Prospector and [Link] Clean have been retired.

[Link]: Prospector and Clean Have Been Retired


[Link] Prospector and [Link] Clean licenses can no longer be renewed. These products are scheduled for retirement on July 31,
2020. Existing contracts will be honored.
Where: This change applies to Lightning Experience and Salesforce Classic.
Who: [Link] Prospector licenses are available in Contact Manager (no Lead object), Group, Professional, Enterprise, Performance,
and Unlimited editions. [Link] Clean licenses are available in Professional, Enterprise, Performance, and Unlimited editions.

SEE ALSO:
Knowledge Article: [Link] Clean and Prospector Retirement

Service: Channel Menu, Einstein Article Recommendations, Case Merge,


WhatsApp Messaging Channels, and Shifts for Field Service
Connect with customers using the channels they prefer by adding an Embedded Service Channel Menu to your website. Help your
agents resolve cases faster with Einstein Article Recommendations. Combine duplicate cases with Case Merge. Message with customers
internationally using WhatsApp. Set up shifts for Field Service to schedule work that’s outside of the usual schedule, such as holiday
hours or occasional overtime (beta).

IN THIS SECTION:
Einstein for Service: Article Recommendations, Bot Enhancements Galore, Segmented Data for Case Classification
Einstein Article Recommendations is Generally Available. Einstein Bots deliver conditional messaging and conversation repair. Einstein
Case Classification offers predictive models for each business segment, and a limited version is now available for free.
Field Service: Variable Shifts, Consecutive Work, Posts for Generated Work Orders, and Enhancements to the Mobile App
Set up shifts and deliver services when needed, on any day and at any time. Assign appointments back-to-back so there’s no
interruption. Stay informed when maintenance plans create work orders for your team. And, in the Field Service Mobile app, we
added security features and a new offline priming UI to give your users a safer, better experience.

193
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification
Channels: Short Codes for Messaging, Embedded Channel Menu, WhatsApp Messaging Channels, and Agent Wait Time Estimate
Send high-volume promotional messages and one-time alerts with short codes. Connect with customers using the channels they
prefer by adding an Embedded Service Channel Menu to your website. Message your customers using WhatsApp. Show an estimated
wait time to chat with an agent using the Embedded Service SDK for Mobile Apps (beta).
Knowledge: Comparisons, Conversations, and Resizable Images in Chrome
Let authors see the differences between versions of an article so they can track updates and progress (beta). Share articles with more
customers by inserting article links in Chat and Messaging conversations. And, we made it easier to resize images and manage an
article’s related Files for draft articles.
Routing: Sticky Filters, Omni-Channel Widget, and Enhanced Security
Improved filtering in Omni-Channel Supervisor saves settings even after agents log out, so they’re ready to go when agents log in
again. Automatically minimize the Omni-Channel widget when your agents accept work. Omni-Channel objects are now more
secure.
Case Management: Case Merge Generally Available, Bulk Macros in Lightning Experience, and Other Improvements
Let your agents solve cases more efficiently in Lightning Experience. Agents can combine duplicate cases with case merge. Bulk
macros now are available in Lightning Experience, so agents can quickly address spikes in cases about the same issue. Macros run
faster in the background, so agents can work seamlessly. In the Cases list view, an escalation icon indicates which cases are escalated,
so agents can prioritize cases more easily. Agents also can hover over a case in the list view to see and edit case details. Agents can
insert code snippets in emails in the case feed, so they can better support your customers.

Einstein for Service: Article Recommendations, Bot Enhancements Galore,


Segmented Data for Case Classification
Einstein Article Recommendations is Generally Available. Einstein Bots deliver conditional messaging and conversation repair. Einstein
Case Classification offers predictive models for each business segment, and a limited version is now available for free.

IN THIS SECTION:
Help Your Agents Resolve Cases Faster with Einstein Article Recommendations (Generally Available)
Einstein Article Recommendations uses data from past cases to identify Knowledge articles that are most likely to help your agents
address customer inquiries. Einstein Article Recommendations is generally available this release.
Help Your Chat Agents Respond Faster with Einstein Reply Recommendations (Pilot)
Einstein Reply Recommendations analyzes data from chat transcripts to create chat replies that address your customers’ inquiries.
Agents select the most relevant chat reply from a list in the Lightning Service Console as they communicate with customers.
Einstein Bots: Spring Forward with Smart Bot Enhancements
In this release, we want to make sure that your bots are ready to bloom! We added smart features to tailor conversations such as
Conditional Messaging and Conversation Repair. Under the hood, we added more granularity in the chatbot metrics and actionable
feedback within Model Management. Plus, we expanded channels with Agent Availability for SMS and adding WhatsApp as a brand
new bot channel!
Einstein Case Classification: Segmented Data, Example Data, Multiple Models, and More
Improve the quality of predicted fields for your agents. Refine your data set with predictive models for each business segment. Add
example data that trains your models with your best data, and manage up to five models with new setup and model management
pages. Take Einstein Case Classification for a spin by creating one predictive model at no cost.

194
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification
Help Your Agents Resolve Cases Faster with Einstein Article Recommendations
(Generally Available)
Einstein Article Recommendations uses data from past cases to identify Knowledge articles that are most likely to help your agents
address customer inquiries. Einstein Article Recommendations is generally available this release.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions.
Why: When you set up Einstein Article Recommendations, you can identify the fields on your Case and Knowledge objects that are most
relevant to solving your customers’ cases.
When a customer submits a case, Einstein uses that information to:
• Identify the most important information in the case record
• Match that information to the most relevant articles from your knowledge base
• Present those articles to your agents in the Knowledge Lightning component

How: On the Einstein Article Recommendations Setup page, enable Einstein Article Recommendations. Select the Case and Knowledge
fields for your article recommendation model, then build and activate it.
To give your agents access to Einstein Article recommendations, add the Knowledge component to your Lightning Service Console if
it’s not there already. Assign your agents to a profile or permission set that gives them permission to use Einstein Article Recommendations.

Note:
• Einstein Article Recommendations is available for articles written in English only.
• You must have at least 100 English articles in your knowledge base to use Einstein Article Recommendations.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

195
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification
Help Your Chat Agents Respond Faster with Einstein Reply Recommendations (Pilot)
Einstein Reply Recommendations analyzes data from chat transcripts to create chat replies that address your customers’ inquiries. Agents
select the most relevant chat reply from a list in the Lightning Service Console as they communicate with customers.
Where: This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.

Note: We provide Einstein Reply Recommendations to selected customers through a pilot program that requires agreement to
specific terms and conditions. To be nominated to participate in the program, contact Salesforce. Pilot programs are subject to
change, and we can’t guarantee acceptance. Einstein Reply Recommendations isn’t generally available unless or until Salesforce
announces its general availability in documentation or in press releases or public statements. We can’t guarantee general availability
within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and
features.
Why: When you set up Einstein Reply Recommendations, Einstein examines closed chat transcripts to produce a list of suggested replies
that agents can use while they chat with customers.
After Einstein creates suggested replies, approve or change them to meet your business’s needs. After an admin approves the replies,
the replies appear in the Einstein Suggestions Card in the Lightning Service Console. As agents chat with customers, Einstein analyzes
the chat and dynamically surfaces the most relevant replies. Agents can select and send the suggested replies that best resolve their
customers’

suies.
Einstein Reply Recommendations might be right for you if your org meets the following requirements.
• You use chat in the Lightning Service Console to support customers.
• You have at least 10,000 closed English chat transcripts.

Note: Einstein Reply Recommendations is available in English, with limited support in other languages.

196
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification
How: For information on enabling this feature, contact Salesforce.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Einstein Bots: Spring Forward with Smart Bot Enhancements


In this release, we want to make sure that your bots are ready to bloom! We added smart features to tailor conversations such as
Conditional Messaging and Conversation Repair. Under the hood, we added more granularity in the chatbot metrics and actionable
feedback within Model Management. Plus, we expanded channels with Agent Availability for SMS and adding WhatsApp as a brand
new bot channel!

IN THIS SECTION:
Create Tailored Chatbot Experiences with Conditional Messaging
Let bots deliver personalized experiences to your customers with built-in logic to send customized messages based on conversation
context: either through a pre-chat form, data inside the CRM, or earlier replies to the bot. With Conditional Messaging, bots provide
more intelligent responses and can handle nuanced discussion — turning good conversations into great conversations.
Handle Errors Gracefully Using Conversation Repair
Bots are better helpers when they have accurate information, and with Conversation Repair, bots are able to capture formatted text
in a kind and graceful manner. Now, bots can suggest to the customer when an email or phone number is formatted incorrectly,
and if the customer needs further assistance, the bot can route the customer to an agent.
Train Your Bot Faster with the Upgraded Model Management Dashboard
Get your bot in shape with an improved dashboard that provides actionable recommendations to improve model quality.
Recommendations such as identifying well-performing intents provide suggestions to improve your intent training. Better intents
mean better bot performance with your customers.
Improve Your Bot with Granular Conversation Logs
We’re making the conversation logs more granular to give admins a deeper understanding of exactly where the bot needs
improvement. This addition, which shows customer inputs and bot actions categorized by dialog, shows admins every move the
bot makes.
Create Smart Transfers over SMS with Agent Availability
Now bots can gracefully check whether agents are available for transfer and notify the customer over SMS and Chat. The Agent
Availability Check that launched in the Winter ‘20 release is expanding to SMS to provide a multi-channel experience between bots
and agents.
Increase Customer Engagement with the Chatbot Typing Indicator
Keep customers engaged while the bot delivers the next message by using the chatbot typing indicator. These three dots mimic
messaging apps that signify when a person is typing, which shows the customer that the bot is still actively processing their request.
WhatsApp: Now Available for Einstein Bots
Pack your bot’s bags, because Einstein Bots is now available in 180 countries on the world’s largest messaging app, WhatsApp. Bots
can interface with WhatsApp to deliver messages to your customers, just like they do with SMS. Bots can also use automation to
bring complex cases directly to agents, all on WhatsApp.
Einstein Bots: Other Bot Updates
Learn about other changes to Einstein Bots.

197
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification
Create Tailored Chatbot Experiences with Conditional Messaging
Let bots deliver personalized experiences to your customers with built-in logic to send customized messages based on conversation
context: either through a pre-chat form, data inside the CRM, or earlier replies to the bot. With Conditional Messaging, bots provide more
intelligent responses and can handle nuanced discussion — turning good conversations into great conversations.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
Setup for Einstein Bots is available only in Lightning Experience.
Who: Einstein Bots is available to orgs with both Service Cloud and Chat user licenses, or to orgs with Digital Engagement user licenses.
Each org is provided with 25 Einstein Bots conversations per month for each Chat or Digital Engagement user with an active subscription.
How: Add conditional messages by adding a Rule Dialog Element to your Dialog. In Rule Action, select Send a Message.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Handle Errors Gracefully Using Conversation Repair


Bots are better helpers when they have accurate information, and with Conversation Repair, bots are able to capture formatted text in
a kind and graceful manner. Now, bots can suggest to the customer when an email or phone number is formatted incorrectly, and if
the customer needs further assistance, the bot can route the customer to an agent.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
Setup for Einstein Bots is available only in Lightning Experience.
Who: Einstein Bots is available to orgs with both Service Cloud and Chat user licenses, or to orgs with Digital Engagement user licenses.
Each org is provided with 25 Einstein Bots conversations per month for each Chat or Digital Engagement user with an active subscription.
How: Conversation Repair can be added to any Dialog Question Element. Two repair attempts are allowed per Question.

198
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Train Your Bot Faster with the Upgraded Model Management Dashboard
Get your bot in shape with an improved dashboard that provides actionable recommendations to improve model quality.
Recommendations such as identifying well-performing intents provide suggestions to improve your intent training. Better intents mean
better bot performance with your customers.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
Setup for Einstein Bots is available only in Lightning Experience.
Who: Einstein Bots is available to orgs with both Service Cloud and Chat user licenses, or to orgs with Digital Engagement user licenses.
Each org is provided with 25 Einstein Bots conversations per month for each Chat or Digital Engagement user with an active subscription.
How: In the Bot Builder, navigate to the Model Management menu. The first visit to this page requires a rebuild of the model to integrate
the new changes to your model: click Build Model to begin the rebuild.

199
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Improve Your Bot with Granular Conversation Logs


We’re making the conversation logs more granular to give admins a deeper understanding of exactly where the bot needs improvement.
This addition, which shows customer inputs and bot actions categorized by dialog, shows admins every move the bot makes.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
Setup for Einstein Bots is available only in Lightning Experience.
Who: Einstein Bots is available to orgs with both Service Cloud and Chat user licenses, or to orgs with Digital Engagement user licenses.
Each org is provided with 25 Einstein Bots conversations per month for each Chat or Digital Engagement user with an active subscription.
How: These logs are available to all bots in the Bot Builder by visiting the Event Logs in the Performance menu.

200
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Create Smart Transfers over SMS with Agent Availability


Now bots can gracefully check whether agents are available for transfer and notify the customer over SMS and Chat. The Agent Availability
Check that launched in the Winter ‘20 release is expanding to SMS to provide a multi-channel experience between bots and agents.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
Setup for Einstein Bots is available only in Lightning Experience.
Who: Einstein Bots is available to orgs with both Service Cloud and Chat user licenses, or to orgs with Digital Engagement user licenses.
Using SMS requires a Digital Engagement license. Each org is provided with 25 Einstein Bots conversations per month for each Chat or
Digital Engagement user with an active subscription.

Note:
• Einstein Bots don’t support skills-based routing.
• If a transfer occurs and no agents are available, the bot routes to a system “no agent available” dialog.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Increase Customer Engagement with the Chatbot Typing Indicator


Keep customers engaged while the bot delivers the next message by using the chatbot typing indicator. These three dots mimic
messaging apps that signify when a person is typing, which shows the customer that the bot is still actively processing their request.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
Setup for Einstein Bots is available only in Lightning Experience. This feature is available for bots using Chat.

201
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification
Who: Einstein Bots is available to orgs with both Service Cloud and Chat user licenses, or to orgs with Digital Engagement user licenses.
Each org is provided with 25 Einstein Bots conversations per month for each Chat or Digital Engagement user with an active subscription.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

WhatsApp: Now Available for Einstein Bots


Pack your bot’s bags, because Einstein Bots is now available in 180 countries on the world’s largest messaging app, WhatsApp. Bots can
interface with WhatsApp to deliver messages to your customers, just like they do with SMS. Bots can also use automation to bring
complex cases directly to agents, all on WhatsApp.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
Setup for Einstein Bots is available only in Lightning Experience. This feature is available for bots using Chat and Omni-Channel.
Who: Einstein Bots is available to orgs with both Service Cloud and Chat user licenses, or to orgs with Digital Engagement user licenses.
Using WhatsApp requires a Digital Engagement license. Each org is provided with 25 Einstein Bots conversations per month for each
Chat or Digital Engagement user with an active subscription.
How: WhatsApp numbers must be set up in Messaging before they can be added to any bot. Once the number is added, navigate to
the Overview Page in the Bot Builder. After clicking Add in the Channel menu, select WhatsApp as the Channel and the Channel Name
into the Deployment field.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

202
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification
Einstein Bots: Other Bot Updates
Learn about other changes to Einstein Bots.
• Previously, if a session did not have any activity for 24 hours, the session would close. We changed the idle timeout for Chat and
Messaging sessions from 24 hours to 2 hours.
• We changed the behavior of the following dropdown fields from displaying all by default to type ahead on the Bot Overview page:
– The Custom Chatbot User field in the Bot User section
– The Deployment field on the Add Channels screen

Einstein Case Classification: Segmented Data, Example Data, Multiple Models, and
More
Improve the quality of predicted fields for your agents. Refine your data set with predictive models for each business segment. Add
example data that trains your models with your best data, and manage up to five models with new setup and model management
pages. Take Einstein Case Classification for a spin by creating one predictive model at no cost.

IN THIS SECTION:
Improve Einstein Field Value Predictions with Segments and Example Data
Set up and build predictive models for various business segments, such as building and consulting services or enterprise and consumer
divisions. You can also narrow the scope of a single model if you want to predict field values for only a subset of your business.
Previously, Case Classification considered all your data. Within each segment, specify the closed cases that best reflect the completed
fields and field values you’d like to use for case classification. This example data trains each model with data that represents best
practices for your cases.
Manage Multiple Models with a New Setup Page Experience
You can now create models that align with the way you organize your business or focus on a particular segment of your business.
The Case Classification setup page redesign has a new section for multiple models.
Improve Predictions with More Data
A nifty data-checking tool alerts you to low and insufficient data counts.
Try Einstein Case Classification At No Additional Cost
Heard about Einstein Case Classification but aren’t sure it will work for your data? Enterprise, Performance, and Unlimited Edition
customers can get to know it by creating a case classification model!

Improve Einstein Field Value Predictions with Segments and Example Data
Set up and build predictive models for various business segments, such as building and consulting services or enterprise and consumer
divisions. You can also narrow the scope of a single model if you want to predict field values for only a subset of your business. Previously,
Case Classification considered all your data. Within each segment, specify the closed cases that best reflect the completed fields and
field values you’d like to use for case classification. This example data trains each model with data that represents best practices for your
cases.
Where: This change applies to Lightning Experience and Salesforce Classic. Einstein Case Classification is available for an extra fee in
Lightning Experience in Enterprise, Performance, and Unlimited editions. Setup for Einstein Case Classification is available only in Lightning
Experience. Einstein Case Classification is not available in the Salesforce Government Cloud.
How: In the new model flow, click Yes: focus on a segment. Then use filters to define the segment.

203
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification

Next, tell Einstein which records in your segment, or in your whole dataset, if you’re not focusing on a segment, to use as examples for
building a predictive model. This is your example set. Einstein identifies patterns in data from these records to create predictions for
other records.
Within the segment, use filters to define your example data.

SEE ALSO:
Manage Multiple Models with a New Setup Page Experience
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Manage Multiple Models with a New Setup Page Experience


You can now create models that align with the way you organize your business or focus on a particular segment of your business. The
Case Classification setup page redesign has a new section for multiple models.
Where: This change applies to Lightning Experience and Salesforce Classic. Einstein Case Classification is available for an extra fee in
Lightning Experience and Salesforce Classic in Enterprise, Performance, and Unlimited editions. Setup for Einstein Case Classification is
available only in Lightning Experience. Einstein Case Classification is not available in the Salesforce Government Cloud.
How: Your models are listed in the Predictive Models section. The Status column indicates the state of each model: Ready to Build,
Building, Ready to Activate, and finally Active and serving recommendations to your agents.

204
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification

When you define your segments, rules that are not mutually exclusive can create overlapping segments. An incoming case may fit into
more than one. It’s best to create fully distinct segments. However, if a case falls into more than one, you can tell Einstein which model
to use. Drag models to adjust priority order.

When you click a model name, you see information about the model and two tabs, Overview and Setup.

The Overview tab contains the Performance dashboard and a new Data Summary section that provides more detail about the segment
and example records. The number of records in the segment and example data are shown. Close case count by field is also shown.

205
Salesforce Spring ’20 Release Notes Einstein for Service: Article Recommendations, Bot
Enhancements Galore, Segmented Data for Case
Classification

The Setup tab lets you manage the model. You can deactivate a model, edit the segment filters, the example data, and the fields, and
then rebuild and activate the updated model.

SEE ALSO:
Improve Predictions with More Data
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Improve Predictions with More Data


A nifty data-checking tool alerts you to low and insufficient data counts.
Where: This change applies to Lightning Experience and Salesforce Classic. Einstein Case Classification is available for an extra fee in
Lightning Experience and Salesforce Classic in Enterprise, Performance, and Unlimited editions. Setup for Einstein Case Classification is
available only in Lightning Experience. Einstein Case Classification is not available in the Salesforce Government Cloud.
Why: Successful case classification relies on sufficient closed-case volume. We let you know if you have enough case data, example data,
and field value data. A summary page indicates how much case data you have for the segment, the example data, and each field.
If you have low closed-case data (400–1,000 closed cases), you can save your settings and build the model, but your predictions might
be affected. If you have insufficient closed-case data (fewer than 400 closed cases), you can’t save your settings until you gather more
data. Similarly, we recommend a minimum of 100 closed cases that used each field and value that you want to predict for your agents.
How: At the end of the new model flow, examine any warning and error messages and make sure that you have enough data. After
your model is configured, review data counts on the model’s Overview tab. If you don’t have enough cases overall or for any field, remove
some segment or example data filters.

206
Salesforce Spring ’20 Release Notes Field Service: Variable Shifts, Consecutive Work, Posts for
Generated Work Orders, and Enhancements to the Mobile
App

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Try Einstein Case Classification At No Additional Cost


Heard about Einstein Case Classification but aren’t sure it will work for your data? Enterprise, Performance, and Unlimited Edition customers
can get to know it by creating a case classification model!
Where: This change applies to Lightning Experience and Salesforce Classic. Einstein Case Classification is available for an extra fee in
Enterprise, Performance, and Unlimited editions. Setup for Einstein Case Classification is available only in Lightning Experience. Einstein
Case Classification is not available in the Salesforce Government Cloud.
How: To get started, enable Einstein Case Classification in Setup. Then try building a model to recommend a few fields to your agents.
Prediction scoring is performed every hour, not on demand, and you can’t automate values.

Note: The paid version of Einstein Case Classification is available with the Service Cloud Einstein license. This license lets you build
five prediction models and includes on-demand scoring and automatic case routing.

SEE ALSO:
Salesforce Help: Set Up Einstein Case Classification (can be outdated or unavailable during release preview)
Salesforce Help: Upgrade to the Paid Version of Einstein Case Classification (can be outdated or unavailable during release preview)

Field Service: Variable Shifts, Consecutive Work, Posts for Generated Work
Orders, and Enhancements to the Mobile App
Set up shifts and deliver services when needed, on any day and at any time. Assign appointments back-to-back so there’s no interruption.
Stay informed when maintenance plans create work orders for your team. And, in the Field Service Mobile app, we added security
features and a new offline priming UI to give your users a safer, better experience.

207
Salesforce Spring ’20 Release Notes Field Service: Variable Shifts, Consecutive Work, Posts for
Generated Work Orders, and Enhancements to the Mobile
App
IN THIS SECTION:
Flex Your Field Service Scheduling with Ad Hoc Shifts (Beta)
With shifts, you can break out of rigid work hours. Define shifts that vary from the usual schedule, such as holiday hours or occasional
overtime. Or, to schedule contractors who don’t have consistent work hours, you can create shifts for the dates and times when
they’re available.
Schedule an Appointment That Immediately Follows Another (Beta)
When you want service appointments to occur back-to-back, create an Immediately Follow dependency between them.
Build Smart Schedules with Enhanced Optimization (Generally Available)
Construct field service schedules that align with key performance goals. Enhanced Optimization supplies tools that can help your
team to minimize travel, improve response times, and adjust to last-minute changes.
Assign Work to the Minimally Qualified or Most Skilled Resource
With Enhanced Optimization, you can schedule service resources based on their expertise. Send workers with minimum required
skill levels and conserve your top-notch talent. Or, assign the most qualified candidates to key appointments. Previously, Enhanced
Optimization used the Match Skills work rule but didn’t consider the Skill Level service objective.
Improve Field Service Wellness with Health Check (Generally Available)
We enhanced Health Check so that it can better diagnose your field service configuration. With a single click, you can pinpoint more
issues, such as misaligned shift hours and invalid dependencies. New tests help to detect problems that can limit resource availability
and your optimization results.
Get the Lowdown on Work Orders Generated from Maintenance Plans
Users can discover and act on errors encountered when work orders are generated from maintenance plans. Receive a Chatter post
detailing the outcome of manual and automatic work order generation.
Work Capacity Data Model No Longer Available
You can no longer define the amount of time that teams should spend on different types of work and set scheduling capacity limits
by work type in Field Service.
Field Service Mobile App: New Offline Priming UI, Security Improvements, Access to Global Actions, Service Report Flows
The FSL mobile app provides a more powerful offline priming interface, improves security features, and adds access to global actions
and service report flows.

Flex Your Field Service Scheduling with Ad Hoc Shifts (Beta)


With shifts, you can break out of rigid work hours. Define shifts that vary from the usual schedule, such as holiday hours or occasional
overtime. Or, to schedule contractors who don’t have consistent work hours, you can create shifts for the dates and times when they’re
available.
Where: This feature applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions. For scheduling and
Enhanced Optimization to use shift availability, the managed package is required. Log a request with Salesforce Support to enable shift
management.

Note: As a beta feature, Shift Management is a preview and isn’t part of the “Services” under your master subscription agreement
with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available
products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all,
and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t
supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce
reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply
equally to your use of this feature. You can provide feedback and suggestions for Shift Management in the Field Service Lightning
group in the Trailblazer Community.

208
Salesforce Spring ’20 Release Notes Field Service: Variable Shifts, Consecutive Work, Posts for
Generated Work Orders, and Enhancements to the Mobile
App
Why: Use shifts, work hours, or both to schedule work when you need it. You can categorize shifts with job profiles so that you can
match resources with the right skills to your shifts.
How: From the App Manager, select Shifts and create a shift with a time frame, an optional service territory, and an optional job profile.
When you verify a worker’s availability, set the shift status to Confirmed. If the managed package is installed, availability for confirmed
shifts appears on the Gantt and is used in scheduling and Enhanced Optimization.

SEE ALSO:
Salesforce Help: Manage Shifts for Field Service (can be outdated or unavailable during release preview)

Schedule an Appointment That Immediately Follows Another (Beta)


When you want service appointments to occur back-to-back, create an Immediately Follow dependency between them.
Where: This feature applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions
with the Field Service Lightning managed package installed.

Note: As a beta feature, the Immediately Follow dependency is a preview and isn’t part of the “Services” under your
master subscription agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only
from generally available products and features. Salesforce doesn’t guarantee general availability of this feature within any particular
time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s
offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All
restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications
and Content apply equally to your use of this feature. You can provide feedback and suggestions for this dependency type in the
IdeaExchange and through the Trailblazer Community.
Why: This type of dependency prevents a resource from being scheduled between two appointments. For example, when an auto
repair shop schedules a tow truck resource, the first appointment is the pick-up of a broken-down car. The next appointment must be
the drop-off at the garage.

209
Salesforce Spring ’20 Release Notes Field Service: Variable Shifts, Consecutive Work, Posts for
Generated Work Orders, and Enhancements to the Mobile
App
How: Enable the complex work setting, and customize the service appointment page layout to show scheduling dependencies. Then,
on an appointment page, specify related appointments and select the dependency type. For Immediately Follow dependencies,
scheduling assigns the appointments back-to-back on the same day and to the same resource. Enhanced Optimization respects
Immediately Follow dependencies.

SEE ALSO:
Salesforce Help: Create Scheduling Dependencies Between Service Appointments (can be outdated or unavailable during release
preview)
Salesforce Help: Considerations for Scheduling Dependencies (can be outdated or unavailable during release preview)

Build Smart Schedules with Enhanced Optimization (Generally Available)


Construct field service schedules that align with key performance goals. Enhanced Optimization supplies tools that can help your team
to minimize travel, improve response times, and adjust to last-minute changes.
Where: This feature applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions with the Field Service
Lightning managed package installed.
Why: Enhanced Optimization includes these features.
• Fast in-day optimization (generally available): Last-minute upsets are no cause for alarm. To account for unforeseen absences
and cancellations, in-day optimization can revise schedules quickly on the day of service.
• Optimization recipes for common scheduling challenges (generally available): Tackle scenarios that often result in rescheduling,
such as cancellations, overlaps, and early completions. Create optimization “recipes” with guidelines that can refine and rebuild your
schedules. To help you get started, we provide four samples.
• Smarter travel time estimates (beta): Predictive travel builds on Field Service Lightning’s street-level routing service by incorporating
time-of-day route data into travel time estimates.
• Shift availability (beta): Enhanced Optimization considers availability for confirmed shifts.

210
Salesforce Spring ’20 Release Notes Field Service: Variable Shifts, Consecutive Work, Posts for
Generated Work Orders, and Enhancements to the Mobile
App
• Consecutive work (beta): When you specify an Immediately Follow dependency between two service appointments,
Enhanced Optimization tries to schedule them back-to-back on the same day and to the same resource.
• Extended match work rule: Enhanced Optimization respects work rules of this type.
If Spring `20 is the first release in which you installed the managed package, when you activate optimization, we give you access to
Enhanced Optimization automatically. If you installed the managed package previously, you can activate Enhanced Optimization and
take advantage of these features.
How: From the App Launcher, find and open the Field Service Admin app, and then click the Field Service Settings tab. Select
Optimization > Activation. Create the optimization profile and user, and turn on optimization.

SEE ALSO:
Salesforce Help: Activate Enhanced Optimization (can be outdated or unavailable during release preview)
Salesforce Help: Optimize Your Field Service Schedule (can be outdated or unavailable during release preview)

Assign Work to the Minimally Qualified or Most Skilled Resource


With Enhanced Optimization, you can schedule service resources based on their expertise. Send workers with minimum required skill
levels and conserve your top-notch talent. Or, assign the most qualified candidates to key appointments. Previously, Enhanced Optimization
used the Match Skills work rule but didn’t consider the Skill Level service objective.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions
with the Field Service Lightning managed package installed.
How: To optimize valuable service resources, create a scheduling policy that includes the Match Skills work rule and the Skill Level service
objective. In the Skill Level service objective, set the resource priority so that optimization selects the most qualified or least qualified
resource. When you use Enhanced Optimization, scheduling considers skill levels of your workers and this setting.

SEE ALSO:
Salesforce Help: Activate Enhanced Optimization (can be outdated or unavailable during release preview)
Salesforce Help: Create and Manage Service Objectives (can be outdated or unavailable during release preview)

Improve Field Service Wellness with Health Check (Generally Available)


We enhanced Health Check so that it can better diagnose your field service configuration. With a single click, you can pinpoint more
issues, such as misaligned shift hours and invalid dependencies. New tests help to detect problems that can limit resource availability
and your optimization results.
Where: This feature applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions
with the Field Service Lightning managed package installed.

SEE ALSO:
Salesforce Help: Test Your Field Service Configuration with Health Check (Beta) (can be outdated or unavailable during release preview)

Get the Lowdown on Work Orders Generated from Maintenance Plans


Users can discover and act on errors encountered when work orders are generated from maintenance plans. Receive a Chatter post
detailing the outcome of manual and automatic work order generation.
Where: This feature applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.

211
Salesforce Spring ’20 Release Notes Field Service: Variable Shifts, Consecutive Work, Posts for
Generated Work Orders, and Enhancements to the Mobile
App
How: Enable Chatter and Feed-tracking options.

SEE ALSO:
Salesforce Help: Guidelines for Generating Work Orders from a Maintenance Plan (can be outdated or unavailable during release
preview)
Salesforce Help: Customize Chatter Feed Tracking (can be outdated or unavailable during release preview)

Work Capacity Data Model No Longer Available


You can no longer define the amount of time that teams should spend on different types of work and set scheduling capacity limits by
work type in Field Service.
Where: This feature applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
Why: The Work Capacity data model wasn’t consumed by the optimization engine. Data stored in Work Capacity Limit data model was
informative only. To increase performance, this data model will be refactored for consumption by the optimization engine and therefore
won’t be used in its original configuration.

Field Service Mobile App: New Offline Priming UI, Security Improvements, Access to
Global Actions, Service Report Flows
The FSL mobile app provides a more powerful offline priming interface, improves security features, and adds access to global actions
and service report flows.

IN THIS SECTION:
Stay Informed with an Improved Offline Priming UI
Your field workers can be more confident that their information is accessible with our new UI for offline priming. This UI shows the
priming progress and lets you explicitly start a full sync.

212
Salesforce Spring ’20 Release Notes Field Service: Variable Shifts, Consecutive Work, Posts for
Generated Work Orders, and Enhancements to the Mobile
App
Protect Sensitive Data with Security Attributes
You can prevent sensitive data from getting pasted outside the app and files from being opened outside the app with two new
security attributes.
Do More in the Mobile App with Global Actions
Global actions allow you to create records that don't have a direct relationship to records that are in use. This feature gives your
workers more powerful functionality directly from the app. These actions are available from top-level screens, meaning screens that
don’t show an individual record.
Run Service Report Flows in Android
Android users can now get the service report preview, capture customer signatures, and launch the generation of the service report.
These flows launch the Service Report experience automatically on flow completion. Previously, this feature was available only for
iOS.

Stay Informed with an Improved Offline Priming UI


Your field workers can be more confident that their information is accessible with our new UI for offline priming. This UI shows the
priming progress and lets you explicitly start a full sync.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

Protect Sensitive Data with Security Attributes


You can prevent sensitive data from getting pasted outside the app and files from being opened outside the app with two new security
attributes.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
How: The Field Service Mobile app security attributes are non-restrictive by default. To change an attribute from the default value, go
to Setup. Enter Connected Apps in the Quick Find box, select Manage Connected Apps, then click the name of the Field Service
connected app. Update the attribute value from the Custom Attributes section on the connected app page. Use
DISABLE_EXTERNAL_PASTE to protect clipboard data. Use SHOW_OPEN_IN to protect files from being opened outside the
app.

SEE ALSO:
Salesforce Help: Field Service Lightning Mobile Security (can be outdated or unavailable during release preview)

Do More in the Mobile App with Global Actions


Global actions allow you to create records that don't have a direct relationship to records that are in use. This feature gives your workers
more powerful functionality directly from the app. These actions are available from top-level screens, meaning screens that don’t show
an individual record.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
How: After you add a global action to the Quick Actions in the Salesforce Classic Publisher section of the global publisher layout, you
can access these actions from the bottom navigation bar on Android (1) and on iOS (2).

213
Salesforce Spring ’20 Release Notes Field Service: Variable Shifts, Consecutive Work, Posts for
Generated Work Orders, and Enhancements to the Mobile
App

Run Service Report Flows in Android


Android users can now get the service report preview, capture customer signatures, and launch the generation of the service report.
These flows launch the Service Report experience automatically on flow completion. Previously, this feature was available only for iOS.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
How: After you build a flow, create an app extension with the following settings. These settings don't change the rest of your flow, but
when the app detects the Service_Report_Flow name, it launches the Service Report preview interface when your flow completes.
• Label—Enter the text that you want to appear in the Actions tab. For example, My Service Report Flow.
• Type—Select Flow.
• Name—Enter Service_Report_Flow.
• Scoped to Object Types—Enter ServiceAppointment.
• Launch Value—Enter the API name of the flow that you want to conclude with signature capture.
Because the API name of the service report flow is unique, you can have only one Service_Report_Flow at a time.

214
Salesforce Spring ’20 Release Notes Channels: Short Codes for Messaging, Embedded Channel
Menu, WhatsApp Messaging Channels, and Agent Wait Time
Estimate
Channels: Short Codes for Messaging, Embedded Channel Menu,
WhatsApp Messaging Channels, and Agent Wait Time Estimate
Send high-volume promotional messages and one-time alerts with short codes. Connect with customers using the channels they prefer
by adding an Embedded Service Channel Menu to your website. Message your customers using WhatsApp. Show an estimated wait
time to chat with an agent using the Embedded Service SDK for Mobile Apps (beta).

IN THIS SECTION:
Messaging: Short Codes, Consent Management, and WhatsApp Messaging Channels
Expand your reach with short codes. Give your customers new ways to opt into messages. Message with customers internationally
using WhatsApp.
Embedded Service for Mobile Apps: Estimated Wait Time (Beta), Dark Mode for iOS, and Bug Fixes
When a customer is waiting for an agent, you can show the estimated wait time instead of the queue position. This option is useful
when the queue position doesn’t effectively represent the wait time for a customer. We made improvements to better support
Android 10 and iOS 13. We also support Dark Mode for iOS 13 and zapped a few bugs.
Embedded Service for Web: Channel Menu, Language Settings for Labels, Chat Load Time, Mobile Web Accessibility, and Lightning
Web Components
Engage with customers using a customized Channel Menu. Control language settings for all labels in the code snippet. Enhance
load time for Embedded Chat. Improve screen-reader access in web Chat for mobile. Deploy Lightning web components for a better
Chat experience.

Messaging: Short Codes, Consent Management, and WhatsApp Messaging Channels


Expand your reach with short codes. Give your customers new ways to opt into messages. Message with customers internationally using
WhatsApp.

IN THIS SECTION:
Reach More Customers More Quickly with Short Codes in the US
Use short code phone numbers to send recurring messages and one-time alerts to your US customers. When customers respond,
they can have two-way conversations with support agents, just like they do with your other channels. Short codes have high
throughput, which allows you to send one-to-many messages and high volumes of one-to-one messages.
Support Your Customers with WhatsApp (Generally Available)
Whether at home or abroad, customers can contact your support center on the world’s largest messaging app. Agents can have
conversations with customers over WhatsApp, just like they do with incoming SMS text messages or Facebook Messages. Your
business can also send templated notifications to customers, such as appointment updates or shipment notifications.
Stay in the Clear with Consent Management
Decide how your customers opt into receiving messages from your business. We expanded our consent options to include implicit
opt-in, explicit opt-in, and double opt-in. Plus, you can create automated responses for your channel’s keywords.
Strike Up Conversations from More Record Types
Proactively update customers on the status of their cases by sending agent-initiated outbound messages. The Start Conversation
button is now available on the Person Account, Case, Lead, and Opportunity record detail pages.
Create Unique Sensitive Data Rules for Messaging
Protect your customers' personal information—such as credit card or Social Security numbers—when they message with your
business. Previously, Chat and Messaging shared sensitive data rules.

215
Salesforce Spring ’20 Release Notes Channels: Short Codes for Messaging, Embedded Channel
Menu, WhatsApp Messaging Channels, and Agent Wait Time
Estimate
Say Arrivederci to Messaging Support for SMS in Italy
Because of changes in regulations and government availability of Italian long code numbers, we’re no longer able to support
business-oriented, conversational SMS in Italy over long codes. Consider using other channels, like Facebook and WhatsApp, to
connect with customers in Italy.

Reach More Customers More Quickly with Short Codes in the US


Use short code phone numbers to send recurring messages and one-time alerts to your US customers. When customers respond, they
can have two-way conversations with support agents, just like they do with your other channels. Short codes have high throughput,
which allows you to send one-to-many messages and high volumes of one-to-one messages.
Where: This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions. This feature is
available in Salesforce orgs with access to Messaging through a Digital Engagement add-on and the Short Codes add-on SKU.
Why: Short codes are typically used for transactional messages or promotional content. Get the benefits of short codes while delivering
the instant, personalized support your customers know and love.
How: To request the Short Codes add-on SKU, contact your Salesforce Account Executive or Sales Representative.

SEE ALSO:
Salesforce Help: Set Up Short Code Channels in Messaging (can be outdated or unavailable during release preview)
Salesforce Help: Considerations for Short Codes (can be outdated or unavailable during release preview)

Support Your Customers with WhatsApp (Generally Available)


Whether at home or abroad, customers can contact your support center on the world’s largest messaging app. Agents can have
conversations with customers over WhatsApp, just like they do with incoming SMS text messages or Facebook Messages. Your business
can also send templated notifications to customers, such as appointment updates or shipment notifications.
Where: This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions. This feature is
available in orgs with access to Messaging through a Digital Engagement add-on.
How: Make sure that you have a Facebook Business Manager account. Then enter Messaging in the Quick Find box, and select
Messaging Settings. Click New Channel to open the guided setup flow and set up your WhatsApp channel.

SEE ALSO:
Salesforce Help: Set Up WhatsApp in Messaging (can be outdated or unavailable during release preview)

Stay in the Clear with Consent Management


Decide how your customers opt into receiving messages from your business. We expanded our consent options to include implicit
opt-in, explicit opt-in, and double opt-in. Plus, you can create automated responses for your channel’s keywords.
Where: This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions. This feature is
available in Salesforce orgs with access to Messaging through a Digital Engagement add-on.
Why: If you use short codes, you’re required to follow carrier-compliance requirements, industry standards, and applicable laws. Consent
management allows you to stay compliant and send short code messages without breaking any rules.
How: When you create or edit a Messaging channel, enter keywords that your channel automatically responds to. Then write customized
responses for those keywords.

216
Salesforce Spring ’20 Release Notes Channels: Short Codes for Messaging, Embedded Channel
Menu, WhatsApp Messaging Channels, and Agent Wait Time
Estimate

SEE ALSO:
Salesforce Help: Considerations for Short Codes (can be outdated or unavailable during release preview)

Strike Up Conversations from More Record Types


Proactively update customers on the status of their cases by sending agent-initiated outbound messages. The Start Conversation button
is now available on the Person Account, Case, Lead, and Opportunity record detail pages.
Where: This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions. This feature is
available in Salesforce orgs with access to Messaging through a Digital Engagement add-on.

SEE ALSO:
Salesforce Help: Send Agent-Initiated Outbound Messages (can be outdated or unavailable during release preview)

Create Unique Sensitive Data Rules for Messaging


Protect your customers' personal information—such as credit card or Social Security numbers—when they message with your business.
Previously, Chat and Messaging shared sensitive data rules.

217
Salesforce Spring ’20 Release Notes Channels: Short Codes for Messaging, Embedded Channel
Menu, WhatsApp Messaging Channels, and Agent Wait Time
Estimate
Where: This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions. This feature is
available in Salesforce orgs with access to Messaging through a Digital Engagement add-on.
Why: If your business uses both Chat and Messaging, your current sensitive data rules apply only to Chat starting in Spring ’20.
How: From Setup in Lightning Experience, select Sensitive Data Rules under Messaging. Click New and enter the details for your rule.

SEE ALSO:
Salesforce Help: Block Sensitive Data in Messages (can be outdated or unavailable during release preview)

Say Arrivederci to Messaging Support for SMS in Italy


Because of changes in regulations and government availability of Italian long code numbers, we’re no longer able to support
business-oriented, conversational SMS in Italy over long codes. Consider using other channels, like Facebook and WhatsApp, to connect
with customers in Italy.
Where: This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions. This feature is
available in Salesforce orgs with access to Messaging through a Digital Engagement add-on.

Embedded Service for Mobile Apps: Estimated Wait Time (Beta), Dark Mode for iOS,
and Bug Fixes
When a customer is waiting for an agent, you can show the estimated wait time instead of the queue position. This option is useful
when the queue position doesn’t effectively represent the wait time for a customer. We made improvements to better support Android
10 and iOS 13. We also support Dark Mode for iOS 13 and zapped a few bugs.
Where: This change applies to the Service SDK for Mobile Apps for iOS (version 222.0.3) and Android (version 222.1.0).
How: For details about new features, see the release notes for iOS and Android. Visit the Embedded Service SDK Developer Center for
other resources.

Note: As a beta feature, Estimated Wait Time is a preview and isn’t part of the “Services” under your master subscription agreement
with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available
products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all,
and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t
supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce
reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply
equally to your use of this feature.

Embedded Service for Web: Channel Menu, Language Settings for Labels, Chat Load
Time, Mobile Web Accessibility, and Lightning Web Components
Engage with customers using a customized Channel Menu. Control language settings for all labels in the code snippet. Enhance load
time for Embedded Chat. Improve screen-reader access in web Chat for mobile. Deploy Lightning web components for a better Chat
experience.

IN THIS SECTION:
Hello! Meet the Channel Menu (Generally Available)
Start conversations with your customers using the channels they prefer. Customize their engagement choices in an Embedded
Channel Menu on your website or in a Salesforce Community. Agents respond directly from their Service Console, where all the
benefits of Service Cloud are at their fingertips.

218
Salesforce Spring ’20 Release Notes Channels: Short Codes for Messaging, Embedded Channel
Menu, WhatsApp Messaging Channels, and Agent Wait Time
Estimate
Set Language for Labels in the Code Snippet
Language settings for labels must now be set only in your Embedded Service code snippet. If you relied on the default browser
setting for languages, change the snippet for all of your existing and new language labels. You’re ready to go if you previously used
the code snippet to add a language.
Load Embedded Chat Quicker
We changed how the Embedded Chat configuration is loaded to improve performance. If you decide to change an existing Chat
setup, the new results can take up to 10 minutes to appear for the first time on your website due to caching.
Improve Mobile Accessibility for Web Chat
Remove the clutter for web Chat mobile customers using screen readers. This feature hides the underlying page when an Embedded
Chat window opens, allowing for a smoother customer experience. Once the Chat window is closed, the full web page content
returns.
Customize Chat with Lightning Web Components
Create your own pre-chat and minimized states using Lightning web components. These components are feature rich and use
newer versions of ECMAScript compared to Aura components. You deploy them in the same way as Aura and both types can work
side by side on your website.

Hello! Meet the Channel Menu (Generally Available)


Start conversations with your customers using the channels they prefer. Customize their engagement choices in an Embedded Channel
Menu on your website or in a Salesforce Community. Agents respond directly from their Service Console, where all the benefits of Service
Cloud are at their fingertips.
Where: This change applies to Salesforce Classic and Lightning Experience in Essentials, Professional, Performance, and Unlimited
editions.
Why: Select up to six channels. Brand the button, header, fonts, and icons. Match your website tone with custom labels and set translations.
Add or remove channels without making any code changes. Supported channels in Classic and Lightning: Chat, phone, and custom
URL. Lightning only channels: text message, Facebook Messenger, and WhatsApp.
How: Build your Channel Menu and create deployments in Service Setup.

219
Salesforce Spring ’20 Release Notes Channels: Short Codes for Messaging, Embedded Channel
Menu, WhatsApp Messaging Channels, and Agent Wait Time
Estimate

SEE ALSO:
Salesforce Help: Set Up the Channel Menu (can be outdated or unavailable during release preview)

220
Salesforce Spring ’20 Release Notes Channels: Short Codes for Messaging, Embedded Channel
Menu, WhatsApp Messaging Channels, and Agent Wait Time
Estimate
Set Language for Labels in the Code Snippet
Language settings for labels must now be set only in your Embedded Service code snippet. If you relied on the default browser setting
for languages, change the snippet for all of your existing and new language labels. You’re ready to go if you previously used the code
snippet to add a language.
Where: This change applies to Lightning Experience in Professional, Performance, and Unlimited editions that use the embedded code
snippet.
Why: This change provides a streamlined approach to setting your user languages for labels and ensures a unified experience with
browser settings across your website.
How: The language parameter is included in your generated code snippet and set to English for versions 2.0 and up. To customize the
language for a deployment, set the parameter to the two-letter value of the supported language.
embedded_svc.[Link] = ".."

SEE ALSO:
Salesforce Help: Set the Language (can be outdated or unavailable during release preview)
Salesforce Help: Localization and Translation for Embedded Chat(can be outdated or unavailable during release preview)

Load Embedded Chat Quicker


We changed how the Embedded Chat configuration is loaded to improve performance. If you decide to change an existing Chat setup,
the new results can take up to 10 minutes to appear for the first time on your website due to caching.
Where: This change applies to Salesforce Classic and Lightning Experience in Professional, Performance, and Unlimited editions.

Improve Mobile Accessibility for Web Chat


Remove the clutter for web Chat mobile customers using screen readers. This feature hides the underlying page when an Embedded
Chat window opens, allowing for a smoother customer experience. Once the Chat window is closed, the full web page content returns.
Where: This change applies to Lightning Experience in Professional, Performance, and Unlimited editions that use the embedded code
snippet 5.0 or later.
Why: Sight-impaired customers with screen readers hear all text when the Chat window opens. This feature isolates the Chat text for a
focused interaction.

221
Salesforce Spring ’20 Release Notes Channels: Short Codes for Messaging, Embedded Channel
Menu, WhatsApp Messaging Channels, and Agent Wait Time
Estimate

How: Write a JavaScript handler for your web page hosting the code snippet when the body has loaded. In the handler function for
mobile devices, you add listeners for the chat event states afterMaximize, afterMinimize, and afterDestroy to
show/hide your page content.

SEE ALSO:
Add Mobile Accessibility for Chat
Get Chat Event Notifications

222
Salesforce Spring ’20 Release Notes Knowledge: Comparisons, Conversations, and Resizable
Images in Chrome

Customize Chat with Lightning Web Components


Create your own pre-chat and minimized states using Lightning web components. These components are feature rich and use newer
versions of ECMAScript compared to Aura components. You deploy them in the same way as Aura and both types can work side by side
on your website.
Where: This change applies to Lightning Experience in Professional, Performance, and Unlimited editions that use the embedded code
snippet 5.0 or later.
How: Create your component and deploy to your org. In Embedded Service Setup, choose your deployment, edit Chat Settings, and
use the Customize with Lightning Components table to choose your pre-chat or minimized state component.

SEE ALSO:
Embedded Service for Web Developer Guide
Lightning Web Components for Embedded Service

Knowledge: Comparisons, Conversations, and Resizable Images in Chrome


Let authors see the differences between versions of an article so they can track updates and progress (beta). Share articles with more
customers by inserting article links in Chat and Messaging conversations. And, we made it easier to resize images and manage an article’s
related Files for draft articles.

IN THIS SECTION:
Compare Versions of an Article to See What Changed (Beta)
Knowledge users can compare two versions of an article to review changes. The Article Version Comparison app component lets
authors choose a version to see the differences.
Spread Knowledge by Linking to Articles in Chat and Messaging
Let your agents provide quick answers to common problems in Chat and Messaging conversations. If your Salesforce org uses these
channels, your team can point customers to the right articles by sharing the links from your sites and communities in the conversation
feed.
Show or Hide Field Labels and Skip Related Files from Inserted Articles
Tailor your customer conversations so they feel just right. Choose whether field labels are shown along with the article’s content
when agents use the Insert Article into Conversation, Insert Article into Social Post, and Insert Article into Email actions. You can also
set a default for whether an article’s related files are attached to emails.
Resize Images in Rich Text Fields in Google Chrome
Grab the edges of an image to resize it when you edit rich text. In the source code, the style property is added with height and width
set in pixels. Image resizing is supported in the Chrome browser.
Control File Attachments for Drafts and Draft Translations
Authors and translation partners can add and remove files from drafts more easily. Users who already can edit drafts can use the
Remove from Record action to get rid of old Files attachments and keep each version up-to-date.
Set the Default Access for Files Attached to Articles
Make your attachments visible to everyone who can see the article when you use Set by Record as the default user access for related
files. Previously, the default access was Owner, which limited who could see uploaded content to the user who uploaded it.
Find and Organize Articles with More Data Categories
We increased the maximum number of data categories that can be linked to an article from 25 to 50 so that you can catalog articles
more accurately. You can request an increase from the default limit of eight data categories.

223
Salesforce Spring ’20 Release Notes Knowledge: Comparisons, Conversations, and Resizable
Images in Chrome

Compare Versions of an Article to See What Changed (Beta)


Knowledge users can compare two versions of an article to review changes. The Article Version Comparison app component lets authors
choose a version to see the differences.
Where: This change applies to all editions of Knowledge in Lightning Experience.

Note: As a beta feature, Article Version Comparison is a preview and isn’t part of the “Services” under your master subscription
agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally
available products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame
or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as
is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions,
Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content
apply equally to your use of this feature. You can provide feedback and suggestions for Article Version Comparison in the Knowledge
group in the Trailblazer Community.
Why: Your authors and editors can more easily review changes and track progress across versions with the Article Version Comparison
component. Your users choose a version to compare against the currently viewed version.

A few things to keep in mind about comparing versions:


• For the best experience, view an older version and then choose a newer version to compare. Content deleted from the current
version appears in red strikethrough text. New content is green and underlined.
• The HTML tags show because source code is used in the comparison. By comparing the HTML source, you can see differences in
formatting and image or video links, indicating content that changed.
• You can use the Article Version Comparison component only for versions with the same record type and language.
How: In the Lightning Page builder, drag the Article Version Comparison component onto your Knowledge layout. We recommend
creating a tab in your layout for this tool so it’s available for your team when they need it. Comparing articles isn’t supported in Microsoft
IE11 or the Microsoft Edge browser.

Spread Knowledge by Linking to Articles in Chat and Messaging


Let your agents provide quick answers to common problems in Chat and Messaging conversations. If your Salesforce org uses these
channels, your team can point customers to the right articles by sharing the links from your sites and communities in the conversation
feed.

224
Salesforce Spring ’20 Release Notes Knowledge: Comparisons, Conversations, and Resizable
Images in Chrome

Where: This change applies to all editions of Knowledge in Lightning Experience.


Who: When “Allow users to share articles via URLs” is enabled, your team can use the Insert Article URL into Conversation action in
cases.

SEE ALSO:
Salesforce Help: Set Up Actions to Share Article URLs in Channels and Case Publishers (can be outdated or unavailable during release
preview)

Show or Hide Field Labels and Skip Related Files from Inserted Articles
Tailor your customer conversations so they feel just right. Choose whether field labels are shown along with the article’s content when
agents use the Insert Article into Conversation, Insert Article into Social Post, and Insert Article into Email actions. You can also set a
default for whether an article’s related files are attached to emails.
Where: This change applies to Professional, Enterprise, Performance, Unlimited, and Developer editions of Knowledge in Lightning
Experience.
Why: Previously, field labels were automatically inserted in emails but not shown in Social, Chat, and Messaging channels. Now, field
labels are included by default in all channels, but you can edit your existing configurations to exclude them.
How: In the Object Manager, edit the knowledge object and then choose Communication Channel Mappings. Create or edit a
mapping to update the new options, “Don’t attach related files to emails” and “Omit field labels” in the Lightning Experience Settings
section. These options aren't selected by default, so related files and field labels are included.

SEE ALSO:
Salesforce Help: Set Up Actions to Share Article URLs in Channels and Case Publishers (can be outdated or unavailable during release
preview)

Resize Images in Rich Text Fields in Google Chrome


Grab the edges of an image to resize it when you edit rich text. In the source code, the style property is added with height and width
set in pixels. Image resizing is supported in the Chrome browser.
Where: This change applies to all editions of Knowledge in Lightning Experience.
How: Select an image to use the resizing controls.

225
Salesforce Spring ’20 Release Notes Knowledge: Comparisons, Conversations, and Resizable
Images in Chrome

Control File Attachments for Drafts and Draft Translations


Authors and translation partners can add and remove files from drafts more easily. Users who already can edit drafts can use the Remove
from Record action to get rid of old Files attachments and keep each version up-to-date.
Where: This change applies to all editions of Knowledge in Lightning Experience.
Why: Users can only detach files from draft articles, and only users with permission to edit the draft can detach files. Previously, files
could be removed by users with access to the file but not the article, and files could be detached from articles with any publication
status.
How: From Setup, navigate to Salesforce Files > General Settings. Check that your org uses Set by Record to determine how related
files are shared.

226
Salesforce Spring ’20 Release Notes Routing: Sticky Filters, Omni-Channel Widget, and Enhanced
Security

Set the Default Access for Files Attached to Articles


Make your attachments visible to everyone who can see the article when you use Set by Record as the default user access for related
files. Previously, the default access was Owner, which limited who could see uploaded content to the user who uploaded it.
Where: This change applies to all editions of Knowledge in Lightning Experience.
How: From Setup, navigate to Salesforce Files > General Settings. Check that your Salesforce org uses Set by Record to determine
how Files attached to records are shared. This default controls a file’s sharing during upload.

Find and Organize Articles with More Data Categories


We increased the maximum number of data categories that can be linked to an article from 25 to 50 so that you can catalog articles
more accurately. You can request an increase from the default limit of eight data categories.
Where: This change applies to all editions of Knowledge in Lightning Experience and Salesforce Classic. Contact Salesforce Support to
increase the data category limit.

Routing: Sticky Filters, Omni-Channel Widget, and Enhanced Security


Improved filtering in Omni-Channel Supervisor saves settings even after agents log out, so they’re ready to go when agents log in again.
Automatically minimize the Omni-Channel widget when your agents accept work. Omni-Channel objects are now more secure.

IN THIS SECTION:
Keep Your Omni-Channel Supervisor Filters
Your Omni-Channel Supervisor filters are now sticky, so your customizations remain in place even if you log out.

227
Salesforce Spring ’20 Release Notes Routing: Sticky Filters, Omni-Channel Widget, and Enhanced
Security

Make More Room to Work—Minimize the Omni-Channel Widget When Work Is Accepted
Automatically minimize the Omni-Channel widget when your agents accept work.
Route Chats Directly to Agents Who Aren't in the Queue
Your customers now can chat with a specific agent, regardless of whether they're part of an Omni-Channel queue. Previously, only
agents who were in the queue received a direct-to-agent chat.

Keep Your Omni-Channel Supervisor Filters


Your Omni-Channel Supervisor filters are now sticky, so your customizations remain in place even if you log out.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
How: Apply filters to customize your screen. To clear filters, click Clear Filters.

Make More Room to Work—Minimize the Omni-Channel Widget When Work Is


Accepted
Automatically minimize the Omni-Channel widget when your agents accept work.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
How: In settings for the service channel, select Minimize the Omni-Channel widget when work is accepted.

228
Salesforce Spring ’20 Release Notes Case Management: Case Merge Generally Available, Bulk
Macros in Lightning Experience, and Other Improvements

Route Chats Directly to Agents Who Aren't in the Queue


Your customers now can chat with a specific agent, regardless of whether they're part of an Omni-Channel queue. Previously, only agents
who were in the queue received a direct-to-agent chat.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

SEE ALSO:
Salesforce Help: Compare Live Agent and Omni-Channel Routing for Chats(can be outdated or unavailable during release preview)

Case Management: Case Merge Generally Available, Bulk Macros in


Lightning Experience, and Other Improvements
Let your agents solve cases more efficiently in Lightning Experience. Agents can combine duplicate cases with case merge. Bulk macros
now are available in Lightning Experience, so agents can quickly address spikes in cases about the same issue. Macros run faster in the
background, so agents can work seamlessly. In the Cases list view, an escalation icon indicates which cases are escalated, so agents can
prioritize cases more easily. Agents also can hover over a case in the list view to see and edit case details. Agents can insert code snippets
in emails in the case feed, so they can better support your customers.

IN THIS SECTION:
Cases: Case Merge Generally Available, Bulk Macros in Lightning Experience, and Other Improvements
Agents can combine duplicate cases with case merge. Control how timestamps in your case feed display to see more at a glance.
A new related list lets you view information about a case’s followers and an added icon in the Cases list view indicates which cases
are escalated, allowing agents to prioritize cases more easily. Agents can hover over a case in the list view to see and edit case details.
Agents can insert code samples in the email publisher in the case feed.
Agent Productivity: Bulk Macros in Lightning, History Filtering in Actions & Recommendations Component
Agents can increase their efficiency in Lightning Experience by running bulk macros on multiple records. Macros run faster in the
background, so agents can focus on their work. If your team uses the Actions & Recommendations list, they can look back on their
actions by filtering in the History tab.

Cases: Case Merge Generally Available, Bulk Macros in Lightning Experience, and
Other Improvements
Agents can combine duplicate cases with case merge. Control how timestamps in your case feed display to see more at a glance. A new
related list lets you view information about a case’s followers and an added icon in the Cases list view indicates which cases are escalated,
allowing agents to prioritize cases more easily. Agents can hover over a case in the list view to see and edit case details. Agents can insert
code samples in the email publisher in the case feed.

IN THIS SECTION:
Combine Duplicate Cases with Case Merge (Generally Available)
Let agents merge duplicate cases like they merge duplicate accounts and contacts with Case Merge. Now, support agents can
consolidate up to three duplicate cases so they can cut through the clutter and focus on what's important: your customers

229
Salesforce Spring ’20 Release Notes Case Management: Case Merge Generally Available, Bulk
Macros in Lightning Experience, and Other Improvements

Customize How Timestamps Display in the Case Feed


Control whether the timestamps in your case feed display as a relative time, like "a few minutes ago", or an absolute time, such as
“January 1, 2020 at 9:34 AM at 12:01 am.” Previously, you could only display timestamps with relative time, but now you can choose
to see a more precise timestamp. Relative time is the default setting.
View and Edit Case Details from the List View with Case Hover in Lightning Experience
Agents can save time by previewing, editing, and deleting cases directly from the list view with a compact preview that appears
when they hover on the case subject.
Choose Whether to Show or Hide Closed Statuses in the Case Status Field
Specify whether agents can see closed statuses, such as Closed, Resolved, etc. in the Status picklist. The picklist component
filters out all closed type picklist values when admins disable the setting Show Closed Statuses in Case Status Field in Support
Settings.
Save Time with Case Escalation Marker
Solve cases faster with a more streamlined workflow that lets agents view case escalation status at a glance without any extra
keystrokes. When the Escalated checkbox is selected in the case details, an arrow icon is displayed next to the case subject.
View Followers from the Case Record Home Page in Lightning Experience
Let your agents see who’s following a case directly from the case home page by adding the Followers related list that helps agents
prioritize cases..
Insert Code Samples into Case Feed Emails
Your agents can insert code snippets into case feed emails to better support your customers. The code formatting appears in both
the email composer and in the email message.
Change the Case Owner on the Case Related Record Component Via Inline Edit
Reassign cases by editing the Case Owner field directly from the Case related record component. Previously, clicking the Case Owner
field opened a modal window.

Combine Duplicate Cases with Case Merge (Generally Available)


Let agents merge duplicate cases like they merge duplicate accounts and contacts with Case Merge. Now, support agents can consolidate
up to three duplicate cases so they can cut through the clutter and focus on what's important: your customers
Where: This change applies to Lightning Experience in Essentials, Professional, Performance, Unlimited, Enterprise, and Developer
editions.
Why: Depending on your settings, the duplicated cases are either added to the Merged Cases related list or soft-deleted. Previously,
merging cases also deleted duplicate cases, so agents could only merge cases if they had the Delete permission on the Cases object.
Now, you can choose whether to keep or to delete the duplicate cases after the cases are merged.
If your org chooses to keep the duplicate cases, the duplicate cases are added to the Merged Cases related list on the master case record
to show which cases were combined to form the master case. “Merged” is appended to the subject in the Highlights panel from the
Record Home, so agents immediately know that these cases were merged. Agents can click “Merged” in the subject line as a shortcut
to the master case.
If your org chooses to delete merged cases, then only the master case is saved. The merged cases are soft deleted and are available in
to the recycle bin for 15 days.

230
Salesforce Spring ’20 Release Notes Case Management: Case Merge Generally Available, Bulk
Macros in Lightning Experience, and Other Improvements

Agents can see duplicate cases from the Case record page in the Merged Cases Related List, which shows a list of all the cases that were
merged to form the master case.
If you decide to keep merged cases, they appear in the Merged Cases related list. If you decide to delete merged cases, only the master
case is saved. You can find the other merged cases in the Recycle Bin for the next 15 days.

How: From Setup, enter Case Merge in the Quick Find box, then select Case Merge. Enable Case Merge and specify what happens
to duplicate cases after your agents merge them.

231
Salesforce Spring ’20 Release Notes Case Management: Case Merge Generally Available, Bulk
Macros in Lightning Experience, and Other Improvements

Deleting duplicate cases after merge still requires the necessary CRUD permissions, otherwise agents can’t merge the cases.

SEE ALSO:
Salesforce Help: Set Up Case Merge in Lightning Experience (can be outdated or unavailable during release preview)
Salesforce Help: Merge Duplicate Cases from the Cases Record Home(can be outdated or unavailable during release preview)
Salesforce Help: Merge Duplicate Cases from the Cases List View(can be outdated or unavailable during release preview)

Customize How Timestamps Display in the Case Feed


Control whether the timestamps in your case feed display as a relative time, like "a few minutes ago", or an absolute time, such as “January
1, 2020 at 9:34 AM at 12:01 am.” Previously, you could only display timestamps with relative time, but now you can choose to see a more
precise timestamp. Relative time is the default setting.
Where: This change applies to Lightning Experience in Essentials, Professional, Performance, Unlimited, Enterprise, and Developer
editions.

232
Salesforce Spring ’20 Release Notes Case Management: Case Merge Generally Available, Bulk
Macros in Lightning Experience, and Other Improvements

How: From Setup, enter Chatter Settings in the Quick Find box, then select Chatter Settings. Toggle Show relative timestamps
according to your desired preferences and save your settings by clicking Save.

SEE ALSO:
Salesforce Help: Chatter Settings(can be outdated or unavailable during release preview)
Set the Date and Time Stamp Format for Case Feed Items
Salesforce Help: Use Case Hover to View and Edit Case Details from the List View in Lightning Experience(can be outdated or unavailable
during release preview)

View and Edit Case Details from the List View with Case Hover in Lightning Experience
Agents can save time by previewing, editing, and deleting cases directly from the list view with a compact preview that appears when
they hover on the case subject.
Where: This change applies to Lightning Experience in Essentials, Professional, Performance, Unlimited, Enterprise, and Developer
editions.
How: Hover over the Subject line to see a preview of the case and to quickly edit or delete the case.

233
Salesforce Spring ’20 Release Notes Case Management: Case Merge Generally Available, Bulk
Macros in Lightning Experience, and Other Improvements

You can customize which fields show in the modal by changing the compact layout in Service Settings.

Choose Whether to Show or Hide Closed Statuses in the Case Status Field
Specify whether agents can see closed statuses, such as Closed, Resolved, etc. in the Status picklist. The picklist component filters
out all closed type picklist values when admins disable the setting Show Closed Statuses in Case Status Field in Support Settings.
Where: This change applies to Lightning Experience in Essentials, Professional, Performance, Unlimited, Enterprise, and Developer
editions.
Why: Previously, the status field showed all statuses. Now, you can configure support settings to hide closed statuses in the Status field,
so agents get an accurate sample Case record when they use a Close Case quick action on the Case object.
How: To show closed statuses in the Case Status Field picklist, go to Support Settings and select Show Closed Statuses in Case Status
Field. To hide closed statuses, deselect Show Closed Statuses in Case Status Field. By default, the setting is disabled, so closed statuses
are hidden.

Save Time with Case Escalation Marker


Solve cases faster with a more streamlined workflow that lets agents view case escalation status at a glance without any extra keystrokes.
When the Escalated checkbox is selected in the case details, an arrow icon is displayed next to the case subject.
Where: This change applies to Lightning Experience and all versions of the mobile app in Essentials, Professional, Performance, Unlimited,
Enterprise, and Developer editions.
Why: An arrow icon is displayed before the case subject in the highlights panel, list view, and compact preview modal to indicate that
a case is escalated. Previously, they could only view case escalation status by expanding the case details pane.

View Followers from the Case Record Home Page in Lightning Experience
Let your agents see who’s following a case directly from the case home page by adding the Followers related list that helps agents
prioritize cases..

234
Salesforce Spring ’20 Release Notes Case Management: Case Merge Generally Available, Bulk
Macros in Lightning Experience, and Other Improvements

Where: This change applies to Lightning Experience, and all versions of the mobile app in Essentials, Professional, Performance, Unlimited,
Enterprise, and Developer editions.
Why: Previously, users couldn’t see any information about a case’s followers in Lightning Experience. Now, users can see how many
followers a case has and who follows the case via a related list on the case feed.

How: Add the Followers related list to the Case Page Layout.. You can also use the App Builder by dragging a Related List-Single onto
it and selecting Followers as the Related List type.

Insert Code Samples into Case Feed Emails


Your agents can insert code snippets into case feed emails to better support your customers. The code formatting appears in both the
email composer and in the email message.
Where: Available in the Essentials, Enterprise, Performance, Unlimited, and Developer Editions in Lightning Experience.
How: Open a case, and then click Email or open the email publisher. Click the code sample icon. In the code sample window, either
enter the code or copy and paste it, and click Insert Code.

235
Salesforce Spring ’20 Release Notes Case Management: Case Merge Generally Available, Bulk
Macros in Lightning Experience, and Other Improvements

SEE ALSO:
Salesforce Help: Email Customers in Lightning Experience (can be outdated or unavailable during release preview)

Change the Case Owner on the Case Related Record Component Via Inline Edit
Reassign cases by editing the Case Owner field directly from the Case related record component. Previously, clicking the Case Owner
field opened a modal window.
Where: Available in the Essentials, Professional, Enterprise, Performance, Unlimited, and Developer Editions in Lightning Experience.
How: In the Case related record component, go to the Case Owner field and select either Users or Queues from the menu. Search
and select the user or queue that you want to reassign the case to. Click Save.

236
Salesforce Spring ’20 Release Notes Case Management: Case Merge Generally Available, Bulk
Macros in Lightning Experience, and Other Improvements

Agent Productivity: Bulk Macros in Lightning, History Filtering in Actions &


Recommendations Component
Agents can increase their efficiency in Lightning Experience by running bulk macros on multiple records. Macros run faster in the
background, so agents can focus on their work. If your team uses the Actions & Recommendations list, they can look back on their actions
by filtering in the History tab.

IN THIS SECTION:
Automate Repetitive Tasks with Bulk Macros in Lightning Experience
Agents can increase their efficiency by running bulk macros on multiple records, so agents can quickly address similar customer
cases and focus on resolving the underlying issue. Now your agents can use bulk macros to automate tasks such as sending emails,
transferring cases to another agent, and updating case fields in Lightning Experience. A lightning bolt indicates whether the macro
can be run on multiple cases. Previously, bulk macros were available only in Salesforce Classic.
Run Macros Faster on Record Home Pages
Now, when agents run a macro from a record home page, such as a case, the macro runs in the background and the user interface
doesn’t change. A toast is displayed when the macro is finished, so the agent knows whether the macro ran successfully.
Filter Actions by Status in the Actions & Recommendations History Tab
Agents can sift through the sands of time to sort started and completed actions in the History tab on the Actions & Recommendations
component. Agents can filter actions to narrow the list of actions by status.
Make Actions & Recommendations Deployments Mandatory (Critical Update, Enforced)
This update requires that you select a deployment for the Actions & Recommendations component. When you configure Lightning
Flow for Service, a deployment lets you control the actions that agents can start when they need an action that doesn’t appear in
the component’s to-do list. Make Actions & Recommendations deployments mandatory was a critical update in Winter ’20 and is
enforced in Spring ’20.

237
Salesforce Spring ’20 Release Notes Case Management: Case Merge Generally Available, Bulk
Macros in Lightning Experience, and Other Improvements

Automate Repetitive Tasks with Bulk Macros in Lightning Experience


Agents can increase their efficiency by running bulk macros on multiple records, so agents can quickly address similar customer cases
and focus on resolving the underlying issue. Now your agents can use bulk macros to automate tasks such as sending emails, transferring
cases to another agent, and updating case fields in Lightning Experience. A lightning bolt indicates whether the macro can be run on
multiple cases. Previously, bulk macros were available only in Salesforce Classic.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
Who: To create and run bulk macros, agents need the Read, Create, and Edit permissions on macros and the Run Macros on Multiple
Records permission. If you want agents to be able to use macros that do irreversible actions, such as send emails, give them the “Manage
Macros That Users Can’t Undo” permission.
How: To let agents create and run bulk macros, add the macro browser to the Service Console and give agents the necessary permissions.
To create a bulk macro, open the macro browser in the Service Console, click + or Create Macro, and add instructions to the macro.
To run a bulk macro on multiple cases, go the Cases list view, select some cases, select a macro, and then run the macro.

SEE ALSO:
Salesforce Help: Bulk Macros (can be outdated or unavailable during release preview)
Salesforce Help: Irreversible Macros (can be outdated or unavailable during release preview)
Salesforce Help: Set Up and Use Macros (can be outdated or unavailable during release preview)

Run Macros Faster on Record Home Pages


Now, when agents run a macro from a record home page, such as a case, the macro runs in the background and the user interface
doesn’t change. A toast is displayed when the macro is finished, so the agent knows whether the macro ran successfully.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
Why: To improve macro performance, macros that are run on record home pages run in the background on the Salesforce server.
Previously, macros ran on the client-side, and agents saw the updates happening on the screen. For example, if the macro changed a
field, the agent saw the field update as it was happening. Now the changes happen in the background.
How: Open a record page, such as a case. Then open the macro browser and select a macro. If a lightning bolt icon appears next to the
macro, the macro runs in the background. If a lightning bolt doesn’t appear, then the macro runs on the client-side and agents see the
user interface change as the macro runs. When a macro runs multiple submit actions, it shows a notification toast when all actions are
completed.

SEE ALSO:
Salesforce Help: Run a Macro (can be outdated or unavailable during release preview)

Filter Actions by Status in the Actions & Recommendations History Tab


Agents can sift through the sands of time to sort started and completed actions in the History tab on the Actions & Recommendations
component. Agents can filter actions to narrow the list of actions by status.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
How: The History component filters the last 200 actions. Only 20 actions are displayed at one time. Click View More to see, well, more.

238
Salesforce Spring ’20 Release Notes Case Management: Case Merge Generally Available, Bulk
Macros in Lightning Experience, and Other Improvements

SEE ALSO:
Salesforce Help: Lightning Flow for Service and the Actions and Recommendations Component (can be outdated or unavailable
during release preview)
Salesforce Help: View the History of Actions (can be outdated or unavailable during release preview)

Make Actions & Recommendations Deployments Mandatory (Critical Update, Enforced)


This update requires that you select a deployment for the Actions & Recommendations component. When you configure Lightning
Flow for Service, a deployment lets you control the actions that agents can start when they need an action that doesn’t appear in the
component’s to-do list. Make Actions & Recommendations deployments mandatory was a critical update in Winter ’20 and is enforced
in Spring ’20.
Where: This change applies to Lightning Experience in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
When: Make Actions & Recommendations deployments mandatory was a critical update in Winter ’20 and becomes mandatory when
your org is updated to Spring ’20.
Why: Deployments specify which actions agents can launch from the component and whether recommendations from a Next Best
Action strategy appear. Previously, selecting a deployment in component properties was optional. If you didn’t select a deployment,
channel defaults were undefined, and users saw all available actions when they clicked Add. Requiring a deployment lets you control
which actions your agents see when another step is needed.
How: From Setup, in the Quick Find box, enter Critical Updates. Click Review next to Make Actions & Recommendations
Deployments Mandatory to learn more about the update. Click Activate to require the use of a deployment.

Note: After you activate this update or after it’s enforced, if a deployment isn’t selected, then no actions appear when the user
clicks Add. In addition, the Actions & Recommendations component displays an empty list unless other RecordActions exist for
the record.
To verify behavior after activation, add the component to a record page. In properties, select an Actions & Recommendations deployment.
View record pages where the component appears.

SEE ALSO:
Critical Updates and Security Alerts
Winter ’20 Release Notes: Require a Deployment and Show the Right Actions (Critical Update)

239
Salesforce Spring ’20 Release Notes Commerce: Introducing Salesforce Order Management

Commerce: Introducing Salesforce Order Management


Salesforce Order Management brings the power of the Salesforce Platform to the world of ecommerce with tools to help you manage
every step of the order lifecycle.

IN THIS SECTION:
Salesforce Order Management: Manage, Fulfill, and Service Orders at Scale (Generally Available)
Shoppers today expect a seamless experience from the time that they submit an order to the moment that their purchase shows
up at their door. Salesforce Order Management lets you build and automate processes to manage the entire order lifecycle and
deliver outstanding service to your customers.

Salesforce Order Management: Manage, Fulfill, and Service Orders at Scale


(Generally Available)
Shoppers today expect a seamless experience from the time that they submit an order to the moment that their purchase shows up at
their door. Salesforce Order Management lets you build and automate processes to manage the entire order lifecycle and deliver
outstanding service to your customers.
Where: This change applies to Lightning Experience in Enterprise edition with Salesforce Order Management.
Why: With Salesforce Order Management:
• Consumers can submit orders from any ecommerce channel, and then track and manage their orders throughout the order lifecycle.
• Merchants can manage order fulfillment, shipping, payment capture, invoicing, and service by using integrated and customizable
business processes and order workflows.
• Service agents can access a master repository of all order-related information to see a global snapshot of the entire order lifecycle,
and process cancellations and returns.
Salesforce Order Management is built on the Salesforce Platform. When you configure your order management solution, you can rely
on the trusted power, security, and scalability of all the standard Salesforce platform technologies.
• We adapted the Salesforce data model to provide you with a foundation for building an end-to-end order management solution.
We represent an order with a new Order Summary object type that contains the same order details as the standard Order object.
We added objects to capture order processing details, including fulfillment, payment, and shipping information. These objects all
relate back to the Order Summary object to provide a unified view of the order lifecycle.
• We included Lightning Experience features to provide you with flexible and easy-to-use options for personalizing the look and feel
of your user interface. In addition, Lightning framework tools let you customize the pages and components in the Order Management
Console, and configure your own fulfillment workflows.
Salesforce Order Management is fully integrated with B2C Commerce and natively available in Service Cloud, which makes managing
and servicing orders easier than ever. And, you can access Salesforce APIs and AppExchange to extend the application by integrating
with third-party apps and connecting with partner solution providers.

IN THIS SECTION:
Improve Efficiency with the Order Management Console
The Order Management Console shows all your customer order information at a glance. It includes tools that help you manage and
service orders throughout the order lifecycle.

240
Salesforce Spring ’20 Release Notes Salesforce Order Management: Manage, Fulfill, and Service
Orders at Scale (Generally Available)

Simplify Order Management with a Single View of Order History


Salesforce Order Management summarizes all information for each customer order in an Order Summary object. A single view of
order history makes it easy for you to manage and service orders—before, during, and after order fulfillment.
Automate Fulfillment and Payment Capture with Flows
Salesforce Order Management provides tools to help you automate and manage the order lifecycle from order submission through
fulfillment, payment capture, invoicing, shipping, and service. Building consistent and repeatable workflows and processes with
Lightning Flow tools lets you deliver seamless end-to-end shopping experiences for your customers.
Connect Commerce with Service
Salesforce Order Management works hand-in-hand with Service Cloud to provide your service agents with a single customer view
of order and service history. Agents now have quick access to the information that they need when handling customer requests.
Integrate with Supply Chain Partners for End-to-End Automation
Salesforce Order Management is fully integrated with B2C Commerce and natively supports Service Cloud. In addition, with
AppExchange, you can connect with solution partners and integrate with third-party apps to configure a true, end-to-end order
management system.

SEE ALSO:
Salesforce Order Management Overview
Salesforce Order Management Implementation Guide (can be outdated or unavailable during release preview)

Improve Efficiency with the Order Management Console


The Order Management Console shows all your customer order information at a glance. It includes tools that help you manage and
service orders throughout the order lifecycle.
Where: This change applies to Lightning Experience in Enterprise edition with Salesforce Order Management.
Why: The console’s intuitive tab and subtab layout puts key order details on the same page, and minimizes clicks and scrolling.
Access list views from the Navigation bar to search and open order records for the following objects.
• Order Summaries
• Order Payment Summaries
• Fulfillment Orders
• Accounts
• Invoices
• Credit Memos
• Locations
Use quick links and related lists in each object record type to access more details for customer orders.
Here’s the standard Order Management Console.

241
Salesforce Spring ’20 Release Notes Salesforce Order Management: Manage, Fulfill, and Service
Orders at Scale (Generally Available)

You can customize the standard console to make it your own.


• Configure console settings, such as branding and navigation, by using the App Manager in Setup.
• Add, remove, or change the location of components on console pages, and modify the contents of components by using the
Lightning App Builder in Setup.
• Add custom tabs and fields, and modify page layouts by using the Object Manager in Setup.

SEE ALSO:
Salesforce Help: Order Management Console (can be outdated or unavailable during release preview)

Simplify Order Management with a Single View of Order History


Salesforce Order Management summarizes all information for each customer order in an Order Summary object. A single view of order
history makes it easy for you to manage and service orders—before, during, and after order fulfillment.
Where: This change applies to Lightning Experience in Enterprise edition with Salesforce Order Management.
Why: The Order Summary object is created when a customer submits an order. As the order moves through your workflow—from
submission to shipping—the Order Summary object updates dynamically to capture all activity associated with the order. The Order
Summary object always displays the current state of an order. The original order details remain unchanged.
Related order objects, such as Fulfillment Orders and Order Payment Summaries, are linked to the Order Summary object. Quick links
and related lists give you access to all order information from a single page view.

242
Salesforce Spring ’20 Release Notes Salesforce Order Management: Manage, Fulfill, and Service
Orders at Scale (Generally Available)

SEE ALSO:
Salesforce Help: Order Summary (can be outdated or unavailable during release preview)

Automate Fulfillment and Payment Capture with Flows


Salesforce Order Management provides tools to help you automate and manage the order lifecycle from order submission through
fulfillment, payment capture, invoicing, shipping, and service. Building consistent and repeatable workflows and processes with Lightning
Flow tools lets you deliver seamless end-to-end shopping experiences for your customers.
Where: This change applies to Lightning Experience in Enterprise edition with Salesforce Order Management.
Why: Because every business has its own way of doing things, we make it easy for you to create customized workflows to manage the
order lifecycle. The business processes that you build into your fulfillment workflow are captured in a Fulfillment Order object for each
customer order. Each Fulfillment Order Object is associated with a corresponding Order Summary object.
The Fulfillment Order object shows the fulfillment location, shipping information, and order item details for the order. You can track the
status of a fulfillment order by opening the Fulfillment Order object or viewing its status on the associated Order Summary object.
You can customize the statuses for fulfillment orders and order summaries to match the stages in your fulfillment workflow.

243
Salesforce Spring ’20 Release Notes Salesforce Order Management: Manage, Fulfill, and Service
Orders at Scale (Generally Available)

You can automate the authorization, capture, and reconciliation of customer payments to occur at specific stages in your fulfillment
workflow. For example, you can authorize funds when a customer submits an order, and then capture funds and generate an invoice
when the order is fulfilled.
All payment transactions for an order, including invoice and credit memo details, are summarized in an Order Payment Summary object.
Pre-built integrations with payment providers are available in AppExchange.

How: To get you started, we provide an unmanaged package containing sample flows and processes that demonstrate a basic order
workflow from start to finish. Your Salesforce admin can use Flow Builder to modify and extend the sample flows and processes to meet
your company’s requirements.

We also provide three managed flows and a process.


• Cancel Item flow is a screen flow template that you clone and customize to match your cancellation workflow.
• Return Item flow is a screen flow template that you clone and customize to match your return workflow.
• Create Order Summary flow is an autolaunched flow template that you clone and customize to match your order capture requirements.
• Create Order Summary is a process template that you clone and customize to match your order capture requirements. The process
runs on each submitted order and launches the Create Order Summary flow.

244
Salesforce Spring ’20 Release Notes Salesforce Order Management: Manage, Fulfill, and Service
Orders at Scale (Generally Available)

As an alternative to using Flow Builder, you can configure your fulfillment processes by using Salesforce APIs and Apex custom code.

SEE ALSO:
Salesforce Help: Order Fulfillment (can be outdated or unavailable during release preview)
Salesforce Help: Payments and Invoices (can be outdated or unavailable during release preview)
Path: Streamline Order Fulfillment

Connect Commerce with Service


Salesforce Order Management works hand-in-hand with Service Cloud to provide your service agents with a single customer view of
order and service history. Agents now have quick access to the information that they need when handling customer requests.
Where: This change applies to Lightning Experience in Enterprise edition with Salesforce Order Management.
Why: Salesforce Order Management helps you to bridge the gap between B2C Commerce and Service Cloud. With Salesforce Order
Management, your service agents no longer have to access order information from external systems to service customer requests.
• Service agents can locate a customer account and view the customer’s order history in the Service Console—without switching
over to the Order Management Console.
• Service agents can use customized workflows to automatically associate a case with customer’s order summary.
• Service agents can see all order information in one place, making it easier to handle customer inquiries and process cancellations
and refunds.
All service activity is captured in the case history and the order history.

SEE ALSO:
Salesforce Help: Service (can be outdated or unavailable during release preview)

Integrate with Supply Chain Partners for End-to-End Automation


Salesforce Order Management is fully integrated with B2C Commerce and natively supports Service Cloud. In addition, with AppExchange,
you can connect with solution partners and integrate with third-party apps to configure a true, end-to-end order management system.
Where: This change applies to Lightning Experience in Enterprise edition with Salesforce Order Management.

245
Salesforce Spring ’20 Release Notes Analytics: Faster Report Editing, Dashboard Builder
Enhancements, Direct Data Querying, Einstein Discovery
What-If Analysis
Why: Using Heroku, Salesforce Order Management receives orders from your B2C Commerce storefront and automatically creates and
populates Salesforce objects with order data. You create and manage personalized business processes to manipulate the Salesforce
objects and move orders through your fulfillment workflow.
Order capture is natively supported with B2C Commerce. You can build integrations in Salesforce Order Management to support order
capture from other ecommerce channels.
We provide several pre-built connector apps in AppExchange that you can use to integrate supply chain partners into your workflow.
Use AppExchange with Salesforce Order Management to fully automate your fulfillment processes.
Go to AppExchange to find the integration solutions that are right for you.
• Allocation
• ERP
• Payment
• Shipping
• Store
• Warehouse

SEE ALSO:
AppExchange

Analytics: Faster Report Editing, Dashboard Builder Enhancements,


Direct Data Querying, Einstein Discovery What-If Analysis
Analytics includes Reports & Dashboards, Einstein Analytics, and Einstein Discovery. The Spring ’20 Analytics improvements focus on
increasing connections and productivity alongside a simplified experience. Build reports faster with a new feature that lets you switch
live updates to the report preview on or off. Dashboard builder’s collaborative version management, targeted faceting, and interaction
building, can all be completed with clicks not code. Query live Salesforce data directly in Einstein Analytics with Direct Data. Build a
predictive model in Einstein Discovery and use what-if analysis to determine possible future outcomes.

IN THIS SECTION:
Reports and Dashboards: Faster Report Editing with Optional Report Previews, Field-to-Field Filtering (Generally Available), Unique
Record Count (Generally Available)
Build reports faster with a new feature that lets you switch live updates to the report preview on or off. Field-to-field filters return
report data based on a comparison of one field’s values with another’s. And how many unique values are there in your report? Find
out by applying a unique count summary.
Einstein Analytics: Dashboard Builder Enhancements, Direct Data Querying, Data Relationship Visualization, Einstein Discovery What-If
Analysis
Dashboard builder’s collaborative version control, targeted faceting, and interaction building can all be completed with clicks not
code. Query live Salesforce data directly in Einstein Analytics with Direct Data. Explore your Analytics assets’ data lineage to visualize
relationships and dependencies with the Data Catalog. Build a predictive model in Einstein Discovery and use what-if analysis to
determine possible future outcomes.

246
Salesforce Spring ’20 Release Notes Reports and Dashboards: Faster Report Editing with Optional
Report Previews, Field-to-Field Filtering (Generally Available),
Unique Record Count (Generally Available)
Reports and Dashboards: Faster Report Editing with Optional Report
Previews, Field-to-Field Filtering (Generally Available), Unique Record Count
(Generally Available)
Build reports faster with a new feature that lets you switch live updates to the report preview on or off. Field-to-field filters return report
data based on a comparison of one field’s values with another’s. And how many unique values are there in your report? Find out by
applying a unique count summary.

IN THIS SECTION:
Turn Off Automatic Updates to the Report Preview to Edit Reports Faster (Generally Available)
Edit reports faster by turning off automatic preview updates. When off, you can make multiple edits without waiting for the preview
to refresh after each edit. When you’re ready to preview data, manually refresh the report preview. Or, see sample records returned
after each edit by keeping automatic previews on.
Attach Formatted Spreadsheets to Report Subscriptions (Beta)
When people subscribe to a report, a new option lets them choose to receive results as a formatted spreadsheet attached to the
subscription email. The email itself includes high-level report details, such as report name and time run, plus a link back to the full
report in Salesforce. It does not include row-level record details, which are included in the spreadsheet instead.
Filter Reports by Field Comparisons with Field-To-Field Filters (Generally Available)
Compare the values of two different report fields and return records that satisfy the comparison criteria with a field-to-field filter. For
example, return opportunities worth less than projected by comparing the Amount and Projected Amount fields, only returning
opportunities which have a lesser Amount.
Count Unique Values in Report Results (Generally Available)
See how many distinct values your report returns with a unique count. Opportunity reports often list multiple opportunities with
the same account. Add a unique count to the Account Name column to see how many individual account values appear in the
report. Unique counts appear as grand totals at the bottom of the report and as subtotals for each group.
Exclude the Confidential Information Disclaimer from Formatted Report Exports
By default, formatted report exports include a disclaimer that reads “Confidential Information - Do Not Distribute.” The disclaimer
reminds users to be share reports with care, helping to ensure that third parties don’t view your report data. A new org-wide setting
lets you choose whether to show or hide the disclaimer from all formatted report exports.
Work with Reports and Dashboards in a Right-to-Left Language (Generally Available)
Reports and Dashboards now support right-to-left (RTL) languages and locales, such as Hebrew, Arabic, and Urdu. Hebrew and
Arabic are supported as end-user languages, and Urdu as a platform language. To better support RTL languages, we rearranged the
reports and dashboards interface so that it flows from right to left.
Export up to 5 Reports at Once Per User
We’re introducing a per user concurrent report export limit. Each user can export up to 5 reports at once. Formatted report exports
from Lightning Experience don’t count against this limit.
Legacy Folder Sharing Is Retiring in Winter ’21
In the Winter ’21 release (subject to change to a later release), legacy folder sharing is retiring and enhanced folder sharing will be
enabled for all organizations. Enhanced folder sharing introduces new user permissions and changes each user’s access to existing
reports and dashboards.

247
Salesforce Spring ’20 Release Notes Reports and Dashboards: Faster Report Editing with Optional
Report Previews, Field-to-Field Filtering (Generally Available),
Unique Record Count (Generally Available)
Turn Off Automatic Updates to the Report Preview to Edit Reports Faster (Generally
Available)
Edit reports faster by turning off automatic preview updates. When off, you can make multiple edits without waiting for the preview to
refresh after each edit. When you’re ready to preview data, manually refresh the report preview. Or, see sample records returned after
each edit by keeping automatic previews on.
Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
How: To turn automatic preview updates on or off, flip the Update Preview Automatically switch on or off. When on, the report
preview updates automatically after each edit you make to the report. When off, a message tells you whether the preview shows your
most recent edits and provides the option to refresh the preview. When hiding recent edits, the preview turns gray.
To refresh out-of-date data, click Refresh (1).

The preview reloads to show your edits.

248
Salesforce Spring ’20 Release Notes Reports and Dashboards: Faster Report Editing with Optional
Report Previews, Field-to-Field Filtering (Generally Available),
Unique Record Count (Generally Available)

The Update Preview Automatically switch does not affect the report run page.

Attach Formatted Spreadsheets to Report Subscriptions (Beta)


When people subscribe to a report, a new option lets them choose to receive results as a formatted spreadsheet attached to the
subscription email. The email itself includes high-level report details, such as report name and time run, plus a link back to the full report
in Salesforce. It does not include row-level record details, which are included in the spreadsheet instead.
Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.

Note: As a beta feature, Formatted Spreadsheet Attachments is a preview and isn’t part of the “Services” under your master
subscription agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the
basis of generally available products and features. Salesforce doesn’t guarantee general availability of this feature within any
particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production
use. It’s offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection
with it. All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce
Applications and Content apply equally to your use of this feature. You can provide feedback and suggestions for Formatted
Spreadsheet Attachments in the IdeaExchange or in the Trailblazer Community. For information on enabling this feature in your
org, contact Salesforce.
How: Subscribe to a report, select Attach results as a formatted spreadsheet file, and click Save.

249
Salesforce Spring ’20 Release Notes Reports and Dashboards: Faster Report Editing with Optional
Report Previews, Field-to-Field Filtering (Generally Available),
Unique Record Count (Generally Available)

SEE ALSO:
IdeaExchange: Schedule Reports as Attachments and add Adobe PDF, Excel Option

Filter Reports by Field Comparisons with Field-To-Field Filters (Generally Available)


Compare the values of two different report fields and return records that satisfy the comparison criteria with a field-to-field filter. For
example, return opportunities worth less than projected by comparing the Amount and Projected Amount fields, only returning
opportunities which have a lesser Amount.
Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
How: Add a field filter, and change Value to Field in the filter dialog. In this example, a field-to-field filter (1) returns opportunities worth
less than projected (2).

250
Salesforce Spring ’20 Release Notes Reports and Dashboards: Faster Report Editing with Optional
Report Previews, Field-to-Field Filtering (Generally Available),
Unique Record Count (Generally Available)

Now that field-to-field filters are generally available, they can be deployed from one Salesforce org to another as part of a managed or
unmanaged package.

Note: Because row-level formulas are now generally available, admins no longer need to enable the feature in Setup. We removed
Enable Field-to-Field Filtering in Reports (Lightning Experience Only) from Reports and Dashboards Settings in Setup.

SEE ALSO:
IdeaExchange: Report Filters Should Be Able To Compare Fields To Each Other

Count Unique Values in Report Results (Generally Available)


See how many distinct values your report returns with a unique count. Opportunity reports often list multiple opportunities with the
same account. Add a unique count to the Account Name column to see how many individual account values appear in the report.
Unique counts appear as grand totals at the bottom of the report and as subtotals for each group.
Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
How: To add a unique count of values for a field, in the column, click > Show Unique Count.

251
Salesforce Spring ’20 Release Notes Reports and Dashboards: Faster Report Editing with Optional
Report Previews, Field-to-Field Filtering (Generally Available),
Unique Record Count (Generally Available)

Now that unique counts are generally available, these actions are supported.
• Deploy unique counts from one Salesforce org to another as part of a managed or unmanaged package.
• Work with unique counts in summary formulas, but not row-level formulas. To work with a unique count in a summary formula,
select both a field like Lead Source and Unique from the summary menu and click Insert. Or type a field's developer name followed
by :UNIQUE, such as LEAD_SOURCE:UNIQUE.

Note: Because unique counts are now generally available, admins no longer need to enable the feature in Setup. We removed
Enable Unique Row Count Aggregate in Reports (Lightning Experience Only) from Reports and Dashboards Settings in
Setup.

SEE ALSO:
IdeaExchange: Report Option for Distinct/Unique Records

Exclude the Confidential Information Disclaimer from Formatted Report Exports


By default, formatted report exports include a disclaimer that reads “Confidential Information - Do Not Distribute.” The disclaimer reminds
users to be share reports with care, helping to ensure that third parties don’t view your report data. A new org-wide setting lets you
choose whether to show or hide the disclaimer from all formatted report exports.
Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
How: Hide the disclaimer from Setup. In Reports and Dashboards Settings, select Exclude Disclaimer from Formatted Report Exports
in Lightning Experience and click Save.

252
Salesforce Spring ’20 Release Notes Reports and Dashboards: Faster Report Editing with Optional
Report Previews, Field-to-Field Filtering (Generally Available),
Unique Record Count (Generally Available)
Work with Reports and Dashboards in a Right-to-Left Language (Generally Available)
Reports and Dashboards now support right-to-left (RTL) languages and locales, such as Hebrew, Arabic, and Urdu. Hebrew and Arabic
are supported as end-user languages, and Urdu as a platform language. To better support RTL languages, we rearranged the reports
and dashboards interface so that it flows from right to left.
Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
Why: All parts of the Lightning dashboard builder support RTL languages. For example, here's a dashboard component in Hebrew.

With one exception, all parts of the Lightning report builder support right-to-left languages. Although the formula editing menu flows
from right-to-left, as you would expect, the formula editing field flows left-to-right (1).

253
Salesforce Spring ’20 Release Notes Reports and Dashboards: Faster Report Editing with Optional
Report Previews, Field-to-Field Filtering (Generally Available),
Unique Record Count (Generally Available)

SEE ALSO:
Salesforce Help: Right-to-Left (RTL) Language Support (can be outdated or unavailable during release preview)

Export up to 5 Reports at Once Per User


We’re introducing a per user concurrent report export limit. Each user can export up to 5 reports at once. Formatted report exports from
Lightning Experience don’t count against this limit.
Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.

Legacy Folder Sharing Is Retiring in Winter ’21


In the Winter ’21 release (subject to change to a later release), legacy folder sharing is retiring and enhanced folder sharing will be enabled
for all organizations. Enhanced folder sharing introduces new user permissions and changes each user’s access to existing reports and
dashboards.
Where: This change applies to Group, Professional, Enterprise, Performance, Unlimited, and Developer Editions.
When: Retirement is targeted for Winter ’21 and is subject to change.
Why: Enhanced folder sharing introduces three levels of access to report and dashboard folders: viewer, editor, and manager. After
enabling enhanced folder sharing, all users in your Salesforce organization get “viewer” access to all their report and dashboard folders,
even if they previously had “editor” access, except for hidden folders. Hidden folders aren’t shared with anyone, but users with the user
permissions View Reports in Public Folders, Manage Reports in Public Folders, and their dashboard equivalents can view or manage
hidden folders. To restore editor access to the user, you might have to assign them new user permissions and then grant folder-level
access.
For example, in legacy folder sharing, Sally and Tim are building a dashboard that’s saved in a public folder with read and write access.
Sally has the user permissions Manage Dashboards and View All Data, but Tim has only View All Data. After turning on enhanced folder

254
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
sharing, Sally automatically receives the user permissions Manage Dashboards in Public Folders and Create Dashboard Folders, but Tim
only receives the user permission View Dashboards in Public Folders. Sally can view, edit, and share the dashboard, but Tim can only
view it. Before Tim can receive “editor” access to the folder, a Salesforce admin must assign Tim the user permission Create and Customize
Dashboards. Then, Sally can give Tim “editor” access to the dashboard folder, and they can continue collaborating on the dashboard.
How: If your org was created in or after the Summer ’13 release or later, you already have enhanced folder sharing and won’t notice any
change. No action is required.
If your org was created before Summer ’13, and hasn’t already turned on enhanced folder sharing, you can enable it today. For details,
see Transition Your Org to Enhanced Folder Sharing for Reports and Dashboards. To familiarize yourself with the new user permissions
and folder access levels, Salesforce recommends turning enhanced folder sharing on in a sandbox or developer edition org first. Once
turned on, you can’t revert to legacy folder sharing.

SEE ALSO:
Salesforce Help: Transition Your Org to Enhanced Folder Sharing for Reports and Dashboards (can be outdated or unavailable during
release preview)
Salesforce Help: User Permissions for Sharing Reports and Dashboards (can be outdated or unavailable during release preview)
Salesforce Help: Compare Access Levels for Report and Dashboard Folders (can be outdated or unavailable during release preview)

Einstein Analytics: Dashboard Builder Enhancements, Direct Data Querying,


Data Relationship Visualization, Einstein Discovery What-If Analysis
Dashboard builder’s collaborative version control, targeted faceting, and interaction building can all be completed with clicks not code.
Query live Salesforce data directly in Einstein Analytics with Direct Data. Explore your Analytics assets’ data lineage to visualize relationships
and dependencies with the Data Catalog. Build a predictive model in Einstein Discovery and use what-if analysis to determine possible
future outcomes.

IN THIS SECTION:
Analytics Setup and Data Integration: Data Lineage Graph, Multiple Schedules for Local Data Sync, More Sharing Inheritance Coverage
Understand where data used in Analytics originated. Create and schedule more local connections. Provide dataset row-level access
for more users with Sharing Inheritance.
Analytics Prebuilt Apps: Analytics Design, Analytics for Consumer Goods, Easier-to-Create Adoption Analytics App, Accuracy Analytics
Build your own beautiful apps with the Analytics Design app. Improve retail business results with Consumer Goods app. Also, create
the Adoption Analytics app with just a few clicks, and improve the reliability of Einstein Discovery stories with Accuracy Analytics.
Analytics App Building: Direct Data Querying, Dashboard Publisher Collaboration, Connectors and Multiple Dataflows in Templates
Query live Salesforce data directly in Einstein Analytics with Direct Data. The publisher feature lets your team collaborate on dashboards
before you share them with business users. Analytics Templates Framework adds support for connectors and multiple dataflows,
and the framework’s JSON transformation engine transforms any JSON from Lightning Experience.
Einstein Discovery: External Data for Predictions, What Could Happen Insights, and Story Versioning
Include external data to better predict outcomes. Get live prediction scores interactively, including top factors and actionable insights.
Revisit and work with previous story versions at any time.
Analytics for Everyone: Watchlist (Beta), Multiple Notification Recipients, In-App Trailhead Badges
Track important metrics on the Analytics home page with the Einstein Analytics Watchlist. Add multiple recipients from your org to
your notification email distribution list. Earn Trailhead badges for completing learning journeys in the Analytics Studio.

255
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Analytics Setup and Data Integration: Data Lineage Graph, Multiple Schedules for
Local Data Sync, More Sharing Inheritance Coverage
Understand where data used in Analytics originated. Create and schedule more local connections. Provide dataset row-level access for
more users with Sharing Inheritance.

IN THIS SECTION:
Visualize Where Dataset, Lens, Dashboard, and Story Data Originates
The Data Catalog app, free on AppExchange, helps you understand how data is interconnected and visualize the data lineage back
to its source with a lineage graph. You use dashboards, lenses, and stories to make business decisions, but it can be challenging to
find the source object or dataset to tweak a setting or update stale data. Now you can quickly investigate where your data comes
from and what Analytics assets are associated with it.
Analyze 10X More Data Using the Einstein Analytics Plus License
The maximum row limit for the Einstein Analytics Plus license has increased from 1 billion to 10 billion for all registered datasets.
Sync from Mulesoft-Connected Data Sources
Pull your cloud-based data via CloudHub into Analytics without code using Analytics Mulesoft connectors for Einstein Analytics.
Analytics Mulesoft connectors are available to connect Microsoft SQL Server on AWS RDS, MySQL on AWS RDS, and Oracle on AWS
RDS.
Sync Data from Mulesoft-Connected SAP SuccessFactors
Pull your cloud-based SuccessFactors data via CloudHub into Analytics without code using the Analytics Mulesoft SAP SuccessFactor
connector for Einstein Analytics.
Bring Your Customer 360 Global Profile Data into Analytics (Beta)
You used Customer 360 Data Manager to create a global profile identifying customers across Salesforce. With the Customer 360
Global Profile Data connector, you can use this profile with other Salesforce and remote data for analysis in Einstein Analytics.
Connect to Your Data in SugarCRM, Zendesk, Teradata, Google Cloud Storage, SAP SuccessFactors, and Zuora AQuA[Pilot]
Connect even more remote data to Analytics for analysis and decision making with SugarCRM, Zendesk, Teradata, Google Cloud
Storage, SAP SuccessFactors, and Zuora AQuA connectors.
Connect to External Salesforce Object Data with Specialized Connectors [Pilot]
Your company’s departments use distinct groups of Salesforce features and objects for business-specific purposes to track progress,
shorten sales cycles, maintain relationships, and more. Your data sync from an external Salesforce org to Analytics can now be
designed, scheduled, and managed per business case with distinct Salesforce object and feature connectors. Use the Salesforce
Service Cloud connector, Salesforce Sales Cloud connector, Salesforce Community Cloud connector, Salesforce CPQ connector, and
Salesforce [Link] connector to sync data from those external object groups. These remote connectors set up a framework for
future cloud-specific and feature-specific data sync capabilities.
Sync Your Google BigQuery Standard SQL Data
Bring your large volumes of Google BigQuery data with standard SQL support into Analytics using the new Google BigQuery Standard
SQL connector. This connector supports standard SQL, the newest BigQuery standard, which provides improved composability using
WITH clauses and SQL functions, correlated subqueries, and more. If you’re using legacy SQL, use the Google BigQuery connector.
Sync Marketing Cloud Data with OAuth 2.0 Authentication
Sync contacts data from Marketing Cloud to Analytics with a tenant-specific endpoint and OAuth 2.0 authentication using the new
Salesforce Marketing Cloud Contacts OAuth 2.0 Connector. If your Marketing Cloud package app was created using a legacy endpoint
or without OAuth 2.0 authentication, use the Salesforce Marketing Cloud Contacts connector instead of this one.
Schedule Data Sync for Your Local Objects with More Granularity
Strategically manage when your Salesforce data syncs to Einstein Analytics using up to 10 individually scheduled local connections.

256
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Filter Data Synced from External Connections
To speed up data sync and only pull the data you need, you can now use data sync filters with connected objects from select remote
connectors. Previously, you imported all data from a remote object and used a dataflow or recipe filter to limit the external data in
a dataset. Now, you can exclude unnecessary or sensitive data from syncing to Analytics in the first place.
New Limits for Microsoft Azure SQL Database and Netsuite Connectors
The connectors to Microsoft Azure SQL Database and Netsuite data sources have updated limits. The Microsoft Azure SQL Database
can now sync up to 100 million rows or 50 GB per object, whichever limit it reaches first. The Netsuite connector can now sync up
to 100,000 rows or 500 MB per object, whichever limit is first.
New Connector Sync Limits for FIPS 140-2 Validated Encryption Orgs
When using Einstein Analytics remote connectors, Salesforce Government Cloud org data is protected in transit with FIPS 140-2
validated encryption. Due to the enhanced encryption, connectors used in Salesforce Government cloud orgs can sync up to 10
million rows or 5 GB for each connected object, whichever limit is reached first. The exception is the Netsuite connector, which can
sync up to 100,000 rows or 500 MB per object, whichever limit is reached first.
Provide Dataset Row-Level Access to More Users Automatically
Sharing Inheritance can now apply your Salesforce object row-level security settings to Analytics datasets in more situations thanks
to higher limits and increased object coverage. Higher limits and wider coverage means that more users will benefit from inheriting
Salesforce sharing settings and fewer one-off security predicates to create and manage. Sharing inheritance now applies to a user
if their record access is granted by fewer than 3,000 shares from groups or users. You can now apply sharing inheritance from the
Opportunity, Account, Case, Lead, and Contact object if the object has fewer than 400 sharing definitions.
Save More Dataflows
Strategically manage your dataset generation in Analytics with a greater number of dataflows. You can now save up to 100 dataflows,
increased from 30 (that’s a factor of 3.333 for numbers fans). This increase frees you to split large dataflows to run more quickly, or
to separate dataflows by business requirement to schedule the dataflow when the data will be consumed.
Prepare for Automated Schedule Removals in Sandbox and Developer Edition Orgs
Automatic schedule removal will speed up the remaining data sync, dataflow, and recipe jobs across all Salesforce customers. Your
sandbox and developer edition orgs will now have their schedules for data sync, dataflow, and recipes removed 90 days after the
last save. If you’re actively developing, your schedules won’t be removed. Set the schedule again anytime for further testing, training,
or the joy of scheduling. All users subscribed to a data sync, dataflow, or recipe notifications will receive an email notifying them
when a schedule is removed.
With Pre-Flight Check, Stay Updated as You Enable Einstein Analytics
With the new pre-flight check and other informative windows, we added education into the first admin task—enabling Einstein
Analytics. The pre-flight check shows you the enablement processes and helps you understand what’s happening. If enablement is
successful, you get confirmation, and if not, you get on-screen help to fix things and try again. Either way, you have more insight
into how Einstein Analytics works within your org.
Use Current or New Amazon SSL/TLS Certificates from Connected RDS and Aurora Systems
Your remote connections that use any of the Einstein Analytics Amazon RDS connectors automatically support the updated Amazon
SSL/TLS certificates. After your Amazon database administrator updates its SSL/TLS certificates, your Einstein Analytics connections
and data sync continue as usual in Salesforce.

Visualize Where Dataset, Lens, Dashboard, and Story Data Originates


The Data Catalog app, free on AppExchange, helps you understand how data is interconnected and visualize the data lineage back to
its source with a lineage graph. You use dashboards, lenses, and stories to make business decisions, but it can be challenging to find the
source object or dataset to tweak a setting or update stale data. Now you can quickly investigate where your data comes from and what
Analytics assets are associated with it.

257
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
The Einstein Analytics Data Catalog app was built by Salesforce Labs. Salesforce Labs apps are free to use, but aren’t official Salesforce
products. For help with a Salesforce Labs app, visit the Trailblazer Community.
How: Install the Einstein Analytics Data Catalog app from AppExchange. After reviewing My Domain, set up a My Domain subdomain
for your org. Set the Einstein Analytics Data Catalog custom tab profile setting to Default On or Default Off for user groups that will use
the Data Catalog.

From the App Launcher, find and open the Einstein Analytics Data Catalog app. Select or search for the app, dashboard, dataset, lens,
or story to investigate (1) and what you selected will appear on the canvas (2). Lines radiate outward from the selected asset to other
related assets, such as the app (3).

To investigate data lineage, choose the child fields to investigate (1). The connector or load method (2), local or remote field name (3),
and local, remote, or loaded data source (4) are visualized.

258
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

To investigate where the asset is used, click Show Dependencies (1). The dashboard (2) or other assets are graphed along with those
assets’ app if not already shown.

259
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

SEE ALSO:
AppExchange: Einstein Analytics Data Catalog

Analyze 10X More Data Using the Einstein Analytics Plus License
The maximum row limit for the Einstein Analytics Plus license has increased from 1 billion to 10 billion for all registered datasets.
Where: This change applies to Einstein Analytics Plus users in Lightning Experience and Salesforce Classic. Einstein Analytics is available
in Developer Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: You don’t need to do anything to take advantage of the expanded 10 billion-row data capacity in all registered datasets. Salesforce
reprovisions existing Einstein Analytics Plus license-holders with the new capability, and it’s automatically available to new customers.

Sync from Mulesoft-Connected Data Sources


Pull your cloud-based data via CloudHub into Analytics without code using Analytics Mulesoft connectors for Einstein Analytics. Analytics
Mulesoft connectors are available to connect Microsoft SQL Server on AWS RDS, MySQL on AWS RDS, and Oracle on AWS RDS.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
A Mulesoft license, purchased or acquired separately, is required to configure this feature. The 30-Day Mulesoft Trial license is supported.
How: Ask your Mulesoft admin for CloudHub credentials with access to deploy. Create connections with Mulesoft Analytics connectors
on the Connect tab of the Einstein Analytics data manager under the Mulesoft Connections tab.

260
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Analytics automatically deploys a template into CloudHub that spins up a Mule, which securely connects with the source system.

SEE ALSO:
Salesforce Help: Mulesoft Analytics Connectors (can be outdated or unavailable during release preview)

Sync Data from Mulesoft-Connected SAP SuccessFactors


Pull your cloud-based SuccessFactors data via CloudHub into Analytics without code using the Analytics Mulesoft SAP SuccessFactor
connector for Einstein Analytics.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

Note: We provide the Analytics Mulesoft SAP SuccessFactor connector to selected customers through a pilot program that
requires agreement to specific terms and conditions. To be nominated to participate in the program, contact Salesforce. Pilot
programs are subject to change, and we can’t guarantee acceptance. The Analytics Mulesoft SAP SuccessFactor connector isn’t
generally available unless or until Salesforce announces its general availability in documentation or in press releases or public
statements. We can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only
on the basis of generally available products and features. You can provide feedback and suggestions for the Analytics Mulesoft
SAP SuccessFactor connector in the Einstein Analytics Pilot and Beta Connectors group in the Trailblazer Community.
A Mulesoft license, purchased or acquired separately, is required to configure this feature. The 30-Day Mulesoft Trial license is supported.
How: Ask your Mulesoft admin for CloudHub credentials with access to deploy. Create a connection with the Analytics Mulesoft SAP
SuccessFactor connector on the Connect tab of the Einstein Analytics data manager under the Mulesoft Connections tab. Analytics
automatically deploys a template into CloudHub that spins up a Mule, which securely connects with the source system.

Bring Your Customer 360 Global Profile Data into Analytics (Beta)
You used Customer 360 Data Manager to create a global profile identifying customers across Salesforce. With the Customer 360 Global
Profile Data connector, you can use this profile with other Salesforce and remote data for analysis in Einstein Analytics.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
For connecting to Service Cloud or Commerce Cloud, Customer 360 Data Manager requires either Enterprise, Performance, or Unlimited
editions.

Note: As a beta feature, Customer 360 Global Profile Data connector is a preview and isn’t part of the “Services” under your master
subscription agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the
basis of generally available products and features. Salesforce doesn’t guarantee general availability of this feature within any
particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production
use. It’s offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection
with it. All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce
Applications and Content apply equally to your use of this feature.
Who: Available to customers who qualify for a Customer 360 Data Manager add-on subscription. To use the connector, admins need
these permissions: Add Analytics Remote Connections, Edit Analytics Dataflows, and Use Analytics.
How: Before you can use this connector, connect a Salesforce org with Einstein Analytics as a data source in Customer 360 Data Manager.
Create and load a data file from your connected data source into Customer 360 Data Manager for processing into global profiles. Then
push the global profile data to Einstein Analytics.
After you complete the Customer 360 Data Manager setup, you can enable this connector on the Analytics Settings Setup page by
selecting the Create dashboards from Customer 360 Data Manager global profile data checkbox. This setting provides access to

261
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Customer 360 data for additional analysis by data architects, cross-cloud admins, and others. Create the connection with Customer 360
Global Profile Data connector on the Connect tab of the Einstein Analytics data manager.

SEE ALSO:
Analyze Your Global Profile Data with Einstein Analytics (can be outdated or unavailable during release preview)
Salesforce Help: Customer 360 Global Profile Data Connection (can be outdated or unavailable during release preview)

Connect to Your Data in SugarCRM, Zendesk, Teradata, Google Cloud Storage, SAP SuccessFactors,
and Zuora AQuA[Pilot]
Connect even more remote data to Analytics for analysis and decision making with SugarCRM, Zendesk, Teradata, Google Cloud Storage,
SAP SuccessFactors, and Zuora AQuA connectors.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

Note: We provide SugarCRM, Zendesk, Teradata, Google Cloud Storage, SAP SuccessFactors, and Zuora AQuA connectors to
selected customers through a pilot program that requires agreement to specific terms and conditions. To be nominated to
participate in the program, contact Salesforce. Pilot programs are subject to change, and we can’t guarantee acceptance. SugarCRM,
Zendesk, Teradata, Google Cloud Storage, SAP SuccessFactors, and Zuora AQuA connectors aren’t generally available unless or
until Salesforce announces its general availability in documentation or in press releases or public statements. We can’t guarantee
general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available
products and features. You can provide feedback and suggestions for SugarCRM, Zendesk, Teradata, Google Cloud Storage, SAP
SuccessFactors, and Zuora AQuA connectors in the Einstein Analytics Pilot and Beta Connectors group in the Trailblazer Community.
When: These new connectors are added on a rolling basis in the Spring ’20 release.
How: Create connections with the new SugarCRM, Zendesk, Teradata, Google Cloud Storage, SAP SuccessFactors, and Zuora AQuA
connectors on the Connect tab of the data manager.

Connect to External Salesforce Object Data with Specialized Connectors [Pilot]


Your company’s departments use distinct groups of Salesforce features and objects for business-specific purposes to track progress,
shorten sales cycles, maintain relationships, and more. Your data sync from an external Salesforce org to Analytics can now be designed,
scheduled, and managed per business case with distinct Salesforce object and feature connectors. Use the Salesforce Service Cloud
connector, Salesforce Sales Cloud connector, Salesforce Community Cloud connector, Salesforce CPQ connector, and Salesforce [Link]
connector to sync data from those external object groups. These remote connectors set up a framework for future cloud-specific and
feature-specific data sync capabilities.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

Note: We provide Salesforce Service Cloud, Salesforce Sales Cloud, Salesforce Community Cloud, Salesforce CPQ, and Salesforce
[Link] connectors to selected customers through a pilot program that requires agreement to specific terms and conditions.
To be nominated to participate in the program, contact Salesforce. Pilot programs are subject to change, and we can’t guarantee
acceptance. Salesforce Service Cloud, Salesforce Sales Cloud, Salesforce Community Cloud, Salesforce [Link], and Salesforce
CPQ connectors aren’t generally available unless or until Salesforce announces its general availability in documentation or in press
releases or public statements. We can’t guarantee general availability within any particular time frame or at all. Make your purchase
decisions only on the basis of generally available products and features. You can provide feedback and suggestions for Salesforce
Service Cloud, Salesforce Sales Cloud, Salesforce Community Cloud, Salesforce [Link] and Salesforce CPQ connectors in the
Einstein Analytics Pilot and Beta Connectors group in the Trailblazer Community.

262
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
How: Create connections with the new Salesforce Service Cloud connector, Salesforce Sales Cloud connector, Salesforce Community
Cloud connector, Salesforce CPQ connector, and Salesforce [Link] connector on the Connect tab of the data manager.

Sync Your Google BigQuery Standard SQL Data


Bring your large volumes of Google BigQuery data with standard SQL support into Analytics using the new Google BigQuery Standard
SQL connector. This connector supports standard SQL, the newest BigQuery standard, which provides improved composability using
WITH clauses and SQL functions, correlated subqueries, and more. If you’re using legacy SQL, use the Google BigQuery connector.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: Create connections with the new Google BigQuery Standard SQL connector on the Connect tab of the data manager.

Sync Marketing Cloud Data with OAuth 2.0 Authentication


Sync contacts data from Marketing Cloud to Analytics with a tenant-specific endpoint and OAuth 2.0 authentication using the new
Salesforce Marketing Cloud Contacts OAuth 2.0 Connector. If your Marketing Cloud package app was created using a legacy endpoint
or without OAuth 2.0 authentication, use the Salesforce Marketing Cloud Contacts connector instead of this one.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: Create connections with the Salesforce Marketing Cloud Contacts OAuth 2.0 Connector on the Connect tab of the data manager.

SEE ALSO:
Salesforce Help: Salesforce Marketing Cloud Contacts OAuth 2.0 Connection

Schedule Data Sync for Your Local Objects with More Granularity
Strategically manage when your Salesforce data syncs to Einstein Analytics using up to 10 individually scheduled local connections.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Why: Data sync can be scheduled to run up to every 15 minutes, but an SFDC_Local connection with many large objects may not finish
in time. Previously, you could only choose a less frequent sync. Now you control the data sync scheduling strategy to accomplish your
analytics goals with multiple local connections and sync schedules. You can move an object with regularly updated, strategic data to
its own connection for a more frequent data sync that runs faster. Or, you can move an object that only updates weekly to its own
connection with weekly scheduled data sync to speed up the sync of all other local objects.
How: Create SFDC_Local connections on the Connect tab of the data manager with the Salesforce Connector option.

263
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

Add objects not already assigned to the connection during connector setup. Move objects between local connections by clicking the
down arrow next to the object and choosing Switch Connection. This option is available after you’ve created another local connection.

Set each local connection’s data sync schedule.

SEE ALSO:
Salesforce Help: Salesforce Local Connector (can be outdated or unavailable during release preview)

264
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Filter Data Synced from External Connections
To speed up data sync and only pull the data you need, you can now use data sync filters with connected objects from select remote
connectors. Previously, you imported all data from a remote object and used a dataflow or recipe filter to limit the external data in a
dataset. Now, you can exclude unnecessary or sensitive data from syncing to Analytics in the first place.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
When: Filter support is added on a rolling basis in the Spring ’20 release.
How: Use data sync filters with these connectors.
• Salesforce External
• Amazon RDS
• Amazon Redshift
• Google BigQuery
• Heroku Postgres
• Microsoft Azure SQL Data Warehouse
• Microsoft Azure SQL Database
• Snowflake Computing

Click from the Preview Source Data page when adding or modifying a connected remote object. Enter a filter using the connected
data source’s syntax described in the remote connector’s help.

New Limits for Microsoft Azure SQL Database and Netsuite Connectors
The connectors to Microsoft Azure SQL Database and Netsuite data sources have updated limits. The Microsoft Azure SQL Database can
now sync up to 100 million rows or 50 GB per object, whichever limit it reaches first. The Netsuite connector can now sync up to 100,000
rows or 500 MB per object, whichever limit is first.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

265
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
New Connector Sync Limits for FIPS 140-2 Validated Encryption Orgs
When using Einstein Analytics remote connectors, Salesforce Government Cloud org data is protected in transit with FIPS 140-2 validated
encryption. Due to the enhanced encryption, connectors used in Salesforce Government cloud orgs can sync up to 10 million rows or
5 GB for each connected object, whichever limit is reached first. The exception is the Netsuite connector, which can sync up to 100,000
rows or 500 MB per object, whichever limit is reached first.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

Provide Dataset Row-Level Access to More Users Automatically


Sharing Inheritance can now apply your Salesforce object row-level security settings to Analytics datasets in more situations thanks to
higher limits and increased object coverage. Higher limits and wider coverage means that more users will benefit from inheriting
Salesforce sharing settings and fewer one-off security predicates to create and manage. Sharing inheritance now applies to a user if their
record access is granted by fewer than 3,000 shares from groups or users. You can now apply sharing inheritance from the Opportunity,
Account, Case, Lead, and Contact object if the object has fewer than 400 sharing definitions.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: Use the Sharing Inheritance Coverage tool in Setup to evaluate your objects and users coverage with the new limits.

SEE ALSO:
Salesforce Help: Salesforce Sharing Inheritance for Datasets

Save More Dataflows


Strategically manage your dataset generation in Analytics with a greater number of dataflows. You can now save up to 100 dataflows,
increased from 30 (that’s a factor of 3.333 for numbers fans). This increase frees you to split large dataflows to run more quickly, or to
separate dataflows by business requirement to schedule the dataflow when the data will be consumed.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

Prepare for Automated Schedule Removals in Sandbox and Developer Edition Orgs
Automatic schedule removal will speed up the remaining data sync, dataflow, and recipe jobs across all Salesforce customers. Your
sandbox and developer edition orgs will now have their schedules for data sync, dataflow, and recipes removed 90 days after the last
save. If you’re actively developing, your schedules won’t be removed. Set the schedule again anytime for further testing, training, or the
joy of scheduling. All users subscribed to a data sync, dataflow, or recipe notifications will receive an email notifying them when a
schedule is removed.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

With Pre-Flight Check, Stay Updated as You Enable Einstein Analytics


With the new pre-flight check and other informative windows, we added education into the first admin task—enabling Einstein Analytics.
The pre-flight check shows you the enablement processes and helps you understand what’s happening. If enablement is successful,
you get confirmation, and if not, you get on-screen help to fix things and try again. Either way, you have more insight into how Einstein
Analytics works within your org.

266
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Where: This change applies to Einstein Analytics in Lightning Experience. Einstein Analytics is available in Developer Edition and for an
extra cost in Enterprise, Performance, and Unlimited editions.
How: On the Setup > Analytics > Getting Started page, click Enable Einstein Analytics. The pre-flight check appears and keeps you
informed about background processes and configurations. Taking note here could come in handy when setting up other features in the
future.

Within a few minutes, most admins get the success message. If things go wrong, a detailed error message provides troubleshooting
tips designed to help you to recover.

Use Current or New Amazon SSL/TLS Certificates from Connected RDS and Aurora Systems
Your remote connections that use any of the Einstein Analytics Amazon RDS connectors automatically support the updated Amazon
SSL/TLS certificates. After your Amazon database administrator updates its SSL/TLS certificates, your Einstein Analytics connections and
data sync continue as usual in Salesforce.

267
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

SEE ALSO:
Salesforce Help: Einstein Analytics Amazon RDS Remote Connectors
AWS Database Blog: Amazon RDS customers: Update your SSL/TLS certificates by February 5, 2020

Analytics Prebuilt Apps: Analytics Design, Analytics for Consumer Goods,


Easier-to-Create Adoption Analytics App, Accuracy Analytics
Build your own beautiful apps with the Analytics Design app. Improve retail business results with Consumer Goods app. Also, create the
Adoption Analytics app with just a few clicks, and improve the reliability of Einstein Discovery stories with Accuracy Analytics.

IN THIS SECTION:
Build Your Own Beautiful Analytics Apps Fast with the Design Analytics Template
The Design Analytics template gives you a starting point for your own Analytics app design and development. Use the template to
create an app with ready-made dashboard, chart, and widget templates that follow the internal Salesforce design guidelines. Brand
the app with your own color, then apply the designs to your own data to get started fast with your own app.
Accelerate Retail Business Results with Einstein Analytics for Consumer Goods
The Analytics for Consumer Goods app gives decision makers insight into Salesforce Consumer Goods Cloud data. Use the app to
increase sales, improve store compliance, identify stores at risk, and maximize sales rep effectiveness.
Get Instant Insights into Survey Data with Einstein Analytics for Salesforce Surveys
Surface survey response metrics anywhere in Salesforce with the Salesforce Surveys app to get insight into your customers right
from where you work.
Create the Latest Version of the Einstein Adoption Analytics App Without Installing a Managed Package
Create an app with the latest version of Adoption Analytics in just a few clicks. Follow the standard Analytics app creation process
to give your team an app that measures how your team uses Analytics apps, dashboards, lenses, and datasets. No more downloading
and configuring a managed package to extract Analytics asset metadata.
Improve the Reliability of Einstein Discovery Predictions with the Accuracy Analytics Template
Looking for a quick way to fine-tune insights from Einstein Discovery? Use the Einstein Accuracy Analytics template to analyze and
improve the accuracy of predictions from Einstein Discovery stories.

Build Your Own Beautiful Analytics Apps Fast with the Design Analytics Template
The Design Analytics template gives you a starting point for your own Analytics app design and development. Use the template to create
an app with ready-made dashboard, chart, and widget templates that follow the internal Salesforce design guidelines. Brand the app
with your own color, then apply the designs to your own data to get started fast with your own app.

268
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Who: To create an app from the Design Analytics template, you must have an Einstein Analytics Plus license.
How: In Analytics Studio, click Create, select App, and click Start from Template. Select the Design Analytics template. The wizard
guides you the rest of the way.

Accelerate Retail Business Results with Einstein Analytics for Consumer Goods
The Analytics for Consumer Goods app gives decision makers insight into Salesforce Consumer Goods Cloud data. Use the app to increase
sales, improve store compliance, identify stores at risk, and maximize sales rep effectiveness.

269
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

Where: This change applies to Lightning Experience and all versions of the Salesforce app in Professional, Performance, and Unlimited
editions where Consumer Goods Cloud is enabled.

SEE ALSO:
Accelerate Business Performance with Einstein Analytics for Consumer Goods

Get Instant Insights into Survey Data with Einstein Analytics for Salesforce Surveys
Surface survey response metrics anywhere in Salesforce with the Salesforce Surveys app to get insight into your customers right from
where you work.
Where: This change applies to Lightning Experience in Performance, Partner Developer, Enterprise, Developer, and Unlimited editions
where Salesforce Surveys is enabled.

SEE ALSO:
Turn Customer Survey Data into Actionable Intelligence with Customer Lifecycle Analytics

Create the Latest Version of the Einstein Adoption Analytics App Without Installing a Managed
Package
Create an app with the latest version of Adoption Analytics in just a few clicks. Follow the standard Analytics app creation process to
give your team an app that measures how your team uses Analytics apps, dashboards, lenses, and datasets. No more downloading and
configuring a managed package to extract Analytics asset metadata.

270
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Who: To create an app from the Analytics Adoption template, you must have an Einstein Analytics Growth or Einstein Analytics Plus
license.
Why: The Analytics Adoption app gives you ready-made insights that show how each member of your team uses Analytics assets—apps,
dashboards, and lenses. The app also shows how Analytics assets use datasets by mapping apps, dashboards, and lenses to the datasets
where they get data.
How: In Analytics Studio, click Create, select App, and click Start from Template. If you’re creating the app for the first time, select
the Adoption Analytics template. The wizard guides you the rest of the way.
If you’ve already created the app, click the New version available link in the app’s home page and follow the wizard’s instructions.

On the third page of the wizard, choose between upgrading the current app or creating a new app.

If you choose Upgrade current app, Analytics retains the historical log data in the WaveChangeEA dataset that you use to track Analytics
adoption. Choose Create new app to have Analytics retain the current app as is and create a new one based on the new version. The
new app collects log data starting when you create it and updates it based on future asset use.

Improve the Reliability of Einstein Discovery Predictions with the Accuracy Analytics Template
Looking for a quick way to fine-tune insights from Einstein Discovery? Use the Einstein Accuracy Analytics template to analyze and
improve the accuracy of predictions from Einstein Discovery stories.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Who: To create an app from the Einstein Accuracy Analytics template, you must have an Einstein Analytics Plus license.
How: In Analytics Studio, go to the Model Manager, select the model you’d like to analyze, and click the Analyze Accuracy button.
Follow the on-screen instructions, then open the dashboard, which assesses the accuracy of the model’s previous predictions. It shows
the accuracy score (1)—the number of correct predictions (3) divided by the total predictions. You can also view accuracy over time in
the trend chart (4).

271
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

Analytics App Building: Direct Data Querying, Dashboard Publisher Collaboration,


Connectors and Multiple Dataflows in Templates
Query live Salesforce data directly in Einstein Analytics with Direct Data. The publisher feature lets your team collaborate on dashboards
before you share them with business users. Analytics Templates Framework adds support for connectors and multiple dataflows, and
the framework’s JSON transformation engine transforms any JSON from Lightning Experience.

IN THIS SECTION:
With Direct Data, Explore Salesforce Data Without Datasets
Query live Salesforce data directly in Einstein Analytics with Direct Data. You’re no longer required to set up data sync or complete
any data prep in order to explore Salesforce data. Direct Data queries are especially useful when data changes often or scheduled
dataflows aren’t frequent enough. With Direct Data, you can query Salesforce objects in the dashboard designer’s explorer and edit
Salesforce Object Query Language (SOQL) queries in the query editor.
Explore Multiple Datasets with a Single Query (Beta)
Answers to business questions sometimes require context beyond the current dataset. Your dataset structure might not match the
way you want to explore your data. Or you might be in the middle of an exploration and realize you need extra data that’s not in
the current dataset. Not to worry! With data blending, there's no need to go back into data prep and create joined datasets. Now
you can blend data from multiple datasets in the explorer and query the blended data just as you would a single dataset.
Easily Identify Fields in Measure and Group Selectors
Select the field you want more easily now that measure and group selectors show both field labels and field names. When building
visualizations in the explorer, having both identifiers means you no longer have to guess whether you’re selecting the right field.

272
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Bindings Are Now Called Interactions
Interactions, previously called bindings, enable different components in a dashboard to interact. You create interactions between
queries to customize your dashboards. We changed the name based on customer feedback, but your processes and workflows
haven’t changed.
Creating Interactions Just Got Easier with the Advanced Interaction Editor
Interactions, previously called bindings, power many parts of Einstein Analytics dashboards. The new Advanced Interaction Editor
helps you create interactions for widgets and queries without leaving the dashboard designer. Use clicks instead of code to create
multiple interactions for the same widget or query, preview the results, and insert the interactions all from the new editor.
Create Dynamic Reference Lines in Charts Without Code
Dynamic reference lines can now be created in the chart widget properties panel, saving builders clicks and reducing time spent in
the code. Reference lines add context and help users make sense of chart data. Previously, dynamic reference lines and labels could
only be created with interactions (bindings) and code.
Specify Targeted Faceting Without Code
With targeted faceting, dashboard designers can use an include or exclude list for faceting only certain queries, all with clicks in the
dashboard designer. Faceting is the simplest and most common way to specify interactions between widgets. Previously, faceting
was all or nothing and couldn’t be configured with exceptions or other important customizations without using code.
Manage How Records Open from an Embedded Dashboard
Want to easily navigate back to a dashboard after you open a record from the dropdown on a widget? Enable the Open Salesforce
records in new browser tabs setting in Setup. That way, you keep your current dashboard open in its own browser tab when you
open a record.
Add Any URL to Widget Custom Onboarding
Now you can provide content from any website in customized dashboard widget onboarding for your users. Add the Learn option
to any chart or table in your dashboard, and when users select it, they see the onboarding frame holding your specialized instructional
resource. Within the onboarding frame, users can play your video or navigate to links within your webpage. For embedded dashboards,
the draggable, resizable frame now floats anywhere over the Salesforce page and is no longer restricted to the area of the dashboard.
Check Out the Refreshed Einstein Analytics Record Actions
Record actions from your Einstein Analytics assets now have a Lightning Experience look and feel. All previously supported record
actions still work, including Visualforce actions. Newly supported record actions include Flow and Lightning Actions. By using
Lightning Experience styling, users get a more visually appealing and consistent experience across all of Salesforce.
Display Grand Totals and Subtotals in Tables
You can add totals and subtotals directly to values and compare tables in dashboards and lenses. Previously, you had to add columns
to a table and run these calculations yourself. Now you can add or remove grand totals and subtotals with just a few clicks. Window
functions only support totals, not subtotals. In Spring ’20, the feature is enabled by default for all new and existing orgs.
Customize Number Formatting in Lenses and Dashboards
In addition to the preset formatting options already available, you can now create custom number formats by choosing symbols for
the decimal and thousands separator in the number format panel. Select a predefined number format and edit it from there, or enter
your own custom string to get started.
Streamlined Number Behavior in Charts and Widgets
Previously, number formatting behaved differently in charts, tables, and number widgets. Users now have a consistent number
experience no matter where they work with numbers in Einstein Analytics. Highlights include the ability to specify custom negative
and custom 0 formats.
Packaging and Changesets Include User Extended Metadata (XMD)
Extended metadata (XMD) enables you to customize the formatting, default behaviors, and actionability of dataset fields and their
values in Analytics dashboards and lenses. We simplified the process of moving your master user XMD between orgs. Now every
time you edit your user XMD, we automatically update the master user XMD to match.

273
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Meet Compact Form 2.0 (Beta)
Get acquainted with the new version of compact form, the representation of queries within JSON, built for handling multiple datasets
and queries against any type of data. Although it’s phasing in over the next few releases, you can see it now if you view the JSON of
a dashboard that has data-blended queries.
Gain Insights on Data Directly in Snowflake (Beta)
Run explorations on your data in Snowflake warehouse without having to load data into Salesforce or preparing it in datasets. After
you set up a live connection to Snowflake, you can run queries on the Snowflake schema associated with the connection in real
time. You can even build dashboard charts and tables based on the queries you run on Snowflake data.
Collaborate on a New Version of a Dashboard Behind the Scenes with Publisher Feature (Generally Available)
With the publisher feature you can review, test, and edit a draft version of a dashboard while keeping the current version live. Analytics
Studio users continue to see the current live version until you’re ready to publish a new one.
Fine-Tune Control Over Data Integration with Multiple Dataflows in an Analytics Template
Einstein Analytics can now process multiple dataflows when creating an app from a template. Template users get more precise
control over the data that populates app datasets and dashboards.
Import Data from Multiple Sources to Apps by Adding Connectors to Analytics Templates
Adding Analytics connectors to Analytics templates lets you import data from external sources to an app when you create it.
Transform Your JSON Content Anywhere in Lightning Experience
Use the Analytics Template Framework JSON transformation engine directly in Lightning Experience in your preferred development
environment. Using Lightning Components, the engine takes input from a JSON document and applies values and rules you define
to transform the JSON document.
React to Asset Loaded with Analytics Web SDK
Listen for Analytics assets to finish loading on the first load and on subsequent resets, then react using the new
wave:assetLoaded Web SDK event.
Get Familiar with JSON Changes for Dashboard Designer
You can control whether a query listens for broadcasted facets. Best of all, it’s no longer all or nothing. Now you can use an include
or exclude list in the receiving query to facet only certain queries.

With Direct Data, Explore Salesforce Data Without Datasets


Query live Salesforce data directly in Einstein Analytics with Direct Data. You’re no longer required to set up data sync or complete any
data prep in order to explore Salesforce data. Direct Data queries are especially useful when data changes often or scheduled dataflows
aren’t frequent enough. With Direct Data, you can query Salesforce objects in the dashboard designer’s explorer and edit Salesforce
Object Query Language (SOQL) queries in the query editor.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: In the dashboard designer, click Create Query, and then select the Salesforce Direct tab. Select an object and the dashboard
designer’s explorer opens with the object’s data ready to explore and visualize.

274
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

For best performance, use filters to limit the data that’s queried. For example, rather than querying all cases opened, query only cases
opened within a defined period of time. Queries on Salesforce objects with a large number of records could increase query time.

Note: Direct Data widgets aren’t automatically refreshed but are updated when the dashboard is refreshed.

SEE ALSO:
Salesforce Help: Tips for Working with Direct Data Queries (can be outdated or unavailable during release preview)

Explore Multiple Datasets with a Single Query (Beta)


Answers to business questions sometimes require context beyond the current dataset. Your dataset structure might not match the way
you want to explore your data. Or you might be in the middle of an exploration and realize you need extra data that’s not in the current
dataset. Not to worry! With data blending, there's no need to go back into data prep and create joined datasets. Now you can blend
data from multiple datasets in the explorer and query the blended data just as you would a single dataset.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
As a beta feature, Data Blending is a preview and isn’t part of the “Services” under your master subscription agreement with Salesforce.
Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available products and features.
Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all, and we can discontinue it at
any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t supported, and Salesforce has no
liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce reservation of rights, obligations
concerning the Services, and terms for related Non-Salesforce Applications and Content apply equally to your use of this feature. You
can provide feedback and suggestions for the feature in the Trailblazer Community.
How: Enable data blending on the Settings page for Analytics in Setup. From the Einstein Analytics explorer, add up to 4 datasets. Choose
left, right, inner, or outer blend.

275
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

For side-by-side comparisons, select the field to group by from each dataset. When defining groups, measures, and filters, select fields
from any of the blended datasets.
This image shows how the blending of an Opportunity dataset and a Cases dataset allows you to illustrate the relationship between
total sales for each account and total number of support tickets.

276
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Easily Identify Fields in Measure and Group Selectors
Select the field you want more easily now that measure and group selectors show both field labels and field names. When building
visualizations in the explorer, having both identifiers means you no longer have to guess whether you’re selecting the right field.
Where: These changes apply to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in
Developer Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: Click to add or change a measure or group. In the list, you see two columns.

With field labels on the left and field names on the right, you can be sure that you select the correct measure or group.

Bindings Are Now Called Interactions


Interactions, previously called bindings, enable different components in a dashboard to interact. You create interactions between queries
to customize your dashboards. We changed the name based on customer feedback, but your processes and workflows haven’t changed.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: We’re updating our documentation and the Einstein Analytics product to reflect this change.

SEE ALSO:
Analytics Bindings Developer Guide

277
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Creating Interactions Just Got Easier with the Advanced Interaction Editor
Interactions, previously called bindings, power many parts of Einstein Analytics dashboards. The new Advanced Interaction Editor helps
you create interactions for widgets and queries without leaving the dashboard designer. Use clicks instead of code to create multiple
interactions for the same widget or query, preview the results, and insert the interactions all from the new editor.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: Click Advanced Editor in the widget or query panel to get started. Select a query (1), source data (2), and interaction type (3).
The Advanced Interaction Editor generates a preview of your interaction (4) and the result (5). To add your interaction to the SAQL or
JSON, copy (6) and paste it (7). Click Save to add the interaction to your dashboard.

Note: Use the button to edit your interaction manually. When you edit your interaction this way, you can’t return to the
original editor without resetting the entire Advanced Interaction Builder. Any interaction you’ve already created is removed once
you reset.

SEE ALSO:
Analytics Bindings Developer Guide

Create Dynamic Reference Lines in Charts Without Code


Dynamic reference lines can now be created in the chart widget properties panel, saving builders clicks and reducing time spent in the
code. Reference lines add context and help users make sense of chart data. Previously, dynamic reference lines and labels could only be
created with interactions (bindings) and code.

278
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: In the X-Axis and Y-Axis section of the chart widget panel (1), click +Reference Line (2). To create a static reference line, type

the desired value and label. For a dynamic reference line, click (3) and then select a source query, value, and interaction type to
power your dynamic reference line. You can create multiple static or dynamic reference lines for each chart.

Note: Dynamic reference lines created with interactions (bindings) before Spring ’20 are still supported, but can only be edited
in the code.

Note: Although dynamic reference lines can be added in lenses, they are only visible in dashboards.

SEE ALSO:
Salesforce Help: Add Multiple Reference Lines to Charts (can be outdated or unavailable during release preview)
Analytics Bindings Developer Guide: Dynamically Set the Reference Line and Label
Analytics Bindings Developer Guide: Selection Binding
Analytics Bindings Developer Guide: Result Binding

279
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Specify Targeted Faceting Without Code
With targeted faceting, dashboard designers can use an include or exclude list for faceting only certain queries, all with clicks in the
dashboard designer. Faceting is the simplest and most common way to specify interactions between widgets. Previously, faceting was
all or nothing and couldn’t be configured with exceptions or other important customizations without using code.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Why: Dashboards are highly customized, and applying faceting to every query doesn’t always make sense based on the goal of the
dashboard and its audience.
For a dashboard that tracks sales performance for a team, being able to filter on the individual sales rep is useful for reps and sales
managers. Previously using faceting, every part of the dashboard would be filtered. Now you can keep the total open pipeline for the
team static while filtering all other metrics on a specific rep using targeted faceting.
How: In the query panel, select All, Include, Exclude, or None. For Include, faceting applies to only the selected queries. For Exclude,
faceting applies to all queries except those selected. The queries for both options are listed in the query panel.

Note: If you select All in the query panel, external filters are applied to the query. For any other selection, queries do not receive
external filters. Global filters are not external filters.

SEE ALSO:
Salesforce Help: Filter the Dashboard Results with Faceting (can be outdated or unavailable during release preview)

Manage How Records Open from an Embedded Dashboard


Want to easily navigate back to a dashboard after you open a record from the dropdown on a widget? Enable the Open Salesforce
records in new browser tabs setting in Setup. That way, you keep your current dashboard open in its own browser tab when you
open a record.
Where: This change applies to Einstein Analytics in Lightning Experience. Einstein Analytics is available in Developer Edition and for an
extra cost in Enterprise, Performance, and Unlimited editions.
How: By default, the Open Salesforce records in new browser tabs setting isn’t enabled and records open in Lightning tabs. When
you click the tab with your dashboard again, the page refreshes. So if you applied filters on the dashboard, they’re removed.
To override the default, select Open Salesforce records in new browser tabs on the Settings page for Analytics in Setup.

Note: This setting applies to record actions for dashboards in the Analytics tab and dashboards embedded in Salesforce pages.
The setting doesn’t apply to dashboard links or widget explore actions, which are set when embedding the dashboard component.

SEE ALSO:
Salesforce Help: Perform Actions on a Salesforce Record from Analytics (can be outdated or unavailable during release preview)

Add Any URL to Widget Custom Onboarding


Now you can provide content from any website in customized dashboard widget onboarding for your users. Add the Learn option to
any chart or table in your dashboard, and when users select it, they see the onboarding frame holding your specialized instructional
resource. Within the onboarding frame, users can play your video or navigate to links within your webpage. For embedded dashboards,
the draggable, resizable frame now floats anywhere over the Salesforce page and is no longer restricted to the area of the dashboard.
Where: These changes apply to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in
Developer Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

280
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
How: In the dashboard designer, in the updated Onboarding section, enter a title for the onboarding frame and any valid URL. To see
what your users will experience, click Preview your content.

Your webpage or video appears in an onboarding frame with your title. The floating onboarding frame keeps your content on top of
the current window where it can easily be consulted.

SEE ALSO:
Salesforce Help: Customize Onboarding with In-Dashboard Instructional Content (can be outdated or unavailable during release
preview)

Check Out the Refreshed Einstein Analytics Record Actions


Record actions from your Einstein Analytics assets now have a Lightning Experience look and feel. All previously supported record actions
still work, including Visualforce actions. Newly supported record actions include Flow and Lightning Actions. By using Lightning Experience
styling, users get a more visually appealing and consistent experience across all of Salesforce.

281
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

SEE ALSO:
Salesforce Help: Perform Actions on a Salesforce Record from Analytics (can be outdated or unavailable during release preview)

Display Grand Totals and Subtotals in Tables


You can add totals and subtotals directly to values and compare tables in dashboards and lenses. Previously, you had to add columns
to a table and run these calculations yourself. Now you can add or remove grand totals and subtotals with just a few clicks. Window
functions only support totals, not subtotals. In Spring ’20, the feature is enabled by default for all new and existing orgs.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

How: Click to add or hide totals and subtotals in the table editor (1). Totals are added as a row at the top of the table (2), and
subtotals are added as a row directly below each grouping (3). For subtotals, your dataset requires at least two groupings. Totals and
subtotals rows are half the opacity of the header color and can’t be changed.

Note: Measures and groups can’t be sorted when subtotals are displayed.

282
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Note: Groups can’t be sorted when subtotals are displayed. Measures can only be sorted within groups (inner sorts) when subtotals
are displayed.
You can also show or hide totals and subtotals in the widget properties panel.

SEE ALSO:
Salesforce Help: Table Properties (can be outdated or unavailable during release preview)

Customize Number Formatting in Lenses and Dashboards


In addition to the preset formatting options already available, you can now create custom number formats by choosing symbols for the
decimal and thousands separator in the number format panel. Select a predefined number format and edit it from there, or enter your
own custom string to get started.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Why: Although preset formats cover most use cases, this update lets you customize number formats for any use case and create highly
personalized number views for your end users.
For example, some currencies use a €#.###,00 format, which wasn’t available previously. Now creating this format can be done with just
a few edits to the existing preset currency format.

283
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
How: The Format string always uses a comma (,) for the thousands separator and a period (.) for the decimal separator. Change the
separator in the Thousands or Decimal string to override the separator in the Format string. CSV downloads ignore the specified
separators and always use the default values of comma (,) for thousands and period (.) for decimal.

SEE ALSO:
Streamlined Number Behavior in Charts and Widgets
Salesforce Help: Format Numbers (can be outdated or unavailable during release preview)

Streamlined Number Behavior in Charts and Widgets


Previously, number formatting behaved differently in charts, tables, and number widgets. Users now have a consistent number experience
no matter where they work with numbers in Einstein Analytics. Highlights include the ability to specify custom negative and custom 0
formats.

284
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Why: Previously, a format string like $#.00 would return just 0 in some places. Now it returns $0.00, no longer ignoring the format logic
used in the rest of the chart or widget.
Previously, some extremely small numbers returned negative 0. Now the default behavior is to return 0 to make results simpler.
In some charts, short numbers like 1.0x would return 1x and drop the 0. For consistency with number widgets, all short numbers now
return the 1.0x format.
How: When specifying a custom number format, use the following syntax
<POSITIVE_FORMAT>;<NEGATIVE_FORMAT>;<ZERO_FORMAT>. Negative and zero formats are optional. Separate each
format with a semicolon (;).

SEE ALSO:
Customize Number Formatting in Lenses and Dashboards
Salesforce Help: Format Numbers (can be outdated or unavailable during release preview)

285
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Packaging and Changesets Include User Extended Metadata (XMD)
Extended metadata (XMD) enables you to customize the formatting, default behaviors, and actionability of dataset fields and their values
in Analytics dashboards and lenses. We simplified the process of moving your master user XMD between orgs. Now every time you edit
your user XMD, we automatically update the master user XMD to match.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Why: Updating your master user XMD file used to require an extra manual step. Now your user XMD files are always in sync, helping
you move from Sandbox to Production faster.
How: For packaging, add your Analytics Dataset asset and the updated master user XMD file is added automatically. For changesets,
manually add Analytics Dataset Metadata to include the master user XMD file.

Note: If you don’t want to migrate your user XMD with an Analytics Dataset asset, patch call on the REST endpoint to delete it.

Once you migrate a master user XMD file to a destination org, edits to the XMD must be made in the source organization and migrated
to the destination organization again. Changes to the user XMD via the UI in the destination org are blocked so that there are not two
conflicting sources of truth.

SEE ALSO:
Analytics REST API Developer Guide: Dataset Resource
Salesforce Help: Package Analytics Assets in Managed Packages (can be outdated or unavailable during release preview)
Analytics Extended Metadata (XMD) Reference

Meet Compact Form 2.0 (Beta)


Get acquainted with the new version of compact form, the representation of queries within JSON, built for handling multiple datasets
and queries against any type of data. Although it’s phasing in over the next few releases, you can see it now if you view the JSON of a
dashboard that has data-blended queries.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

Note: As a beta feature, compact form 2.0 is a preview and isn’t part of the “Services” under your master subscription agreement
with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available
products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all,
and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t
supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce
reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply
equally to your use of this feature.
Why: To support data blending in exploration, the new syntax includes "sources" and "name", shown here.
"query": {
"aggregateFilters": [],
"orders": [],
"sourceFilters": {},
"sources": [
{
"cogroupType": "left",
"columns": [
{

286
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
"field": [
"sum",
"Sales"
],
"name": "A"
}
],
"groups": [
"Product_Sub_Category"
],
"name": "SuperStoreSales_2019_dataset"
},
{
"columns": [
{
"field": [
"sum",
"Target"
],
"name": "B"
}
],
"groups": [
"Product_Sub_Category"
],
"name": "SuperStoreTargets_2019_dataset"
}
]
},

Gain Insights on Data Directly in Snowflake (Beta)


Run explorations on your data in Snowflake warehouse without having to load data into Salesforce or preparing it in datasets. After you
set up a live connection to Snowflake, you can run queries on the Snowflake schema associated with the connection in real time. You
can even build dashboard charts and tables based on the queries you run on Snowflake data.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

Note: As a beta feature, Einstein Analytics Salesforce Direct Data for Snowflake is a preview and isn’t part of the “Services” under
your master subscription agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions
only on the basis of generally available products and features. Salesforce doesn’t guarantee general availability of this feature
within any particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not
for production use. It’s offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or
about it. All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce
Applications and Content apply equally to your use of this feature. You can provide feedback and suggestions for the feature in
the Trailblazer Community.
Who: To explore Snowflake data using a live connection, users need the Explore External Data Directly permission.
How:
1. To opt your org into the Salesforce Direct Data for Snowflake (beta), check Enable Einstein Analytics Direct Data for external data
sources in the Analytics Settings page.

287
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
2. In Analytics Studio, go to the Connect tab of the Einstein Analytics data manager. Click Add Connection on the Live Connections
tab and enter its settings.

Here, use the Analytics app to control which Salesforce users, roles, and groups have access to explore Snowflake data from the
connection. When done, click Save or Save and Test.

Note: When creating connections to Snowflake, we recommend using a Snowflake user account with read-only access.

From the Dataset tab, users can view the Snowflake connections under Live Data.

To begin exploring, they can click a connection and select a data object that is available with the connection.

SEE ALSO:
Salesforce Help: Explore Data Directly in Snowflake (Beta)
Salesforce Help: Create a Live Connection to Snowflake (Beta)

288
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Collaborate on a New Version of a Dashboard Behind the Scenes with Publisher Feature (Generally
Available)
With the publisher feature you can review, test, and edit a draft version of a dashboard while keeping the current version live. Analytics
Studio users continue to see the current live version until you’re ready to publish a new one.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Why: The publisher feature lets you keep the current version of a dashboard live for explorers while you work on a new version behind
the scenes. Add yourself as a dashboard publisher, which gives lets you review and publish dashboard versions. Once you’re on the
publishers list, set a previous version as live and edit it until it’s ready for primetime. Publishers always see the draft while users not on
the publishers list continue to see the live version.
How:
Open an Analytics dashboard, click the More icon at upper right, and select Version History.

Then open the Publishers tab and click Add yourself as a Publisher.

289
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

Other members of the team with Editor or Manager access to the app that the dashboard is part of can do the same thing. As a publisher,
you can review the draft version of a dashboard. When you decide that the draft is ready for prime time, you can make it live for other
Analytics users

Fine-Tune Control Over Data Integration with Multiple Dataflows in an Analytics Template
Einstein Analytics can now process multiple dataflows when creating an app from a template. Template users get more precise control
over the data that populates app datasets and dashboards.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Why: With multiple dataflows in a templated app, you can separate and organize dataflow logic into manageable segments. Users of
an app created from a template can schedule dataflows at different times and frequencies. An app can have a primary dataflow that
runs daily data refreshes and one or more secondary dataflows to run less frequently (weekly or monthly). The secondary dataflow can
be useful for trending or snapshotting data, when it’s preferable to view changes over a longer period than 24 hours.
How: Add multiple dataflows to the eltDataflows array in the [Link] file. Analytics creates and executes
the dataflows according to the order in which they’re listed there.

Import Data from Multiple Sources to Apps by Adding Connectors to Analytics Templates
Adding Analytics connectors to Analytics templates lets you import data from external sources to an app when you create it.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Why: Templated Analytics apps with Analytics connectors let you combine data from multiple sources and surface it all in a single
customized application. The template framework supports all Analytics connector types. You can combine data from external sources
with Salesforce data as well as data from multiple Salesforce orgs. For example, say your company stores Leads for each of your geographies
(Americas, EMEA, APAC) in a separate Salesforce org. An app template can use connectors to pull Leads data from all your orgs into one
master Leads dataset. Then build a single dashboard that visualized all your Leads data.
How: To add a connector to a template, define ConnectorType variables in the [Link] file and reference them in
the [Link] file. Create dynamic rules to use the ConnectorType variable value specified by the user to update the dataflow
digest node at runtime. You can define ConnectorType variables to include one or many types of connectors as long as they’re
registered in your org based on the ConnectorType attribute. Here’s an example that connects data from different orgs.
[Link]
{
"Connector" : {
"label": "External SFDC Connector",
"description": "This is an external connector to another SFDC org.",
"variableType": {
"type": "ConnectorType",
"connectorType" : "S"
},
"required": true
}

[Link]
{

290
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
"pages" : [
{
"title": "Select an External SFDC Connector",
"variables": [ { "name" :"Connector" } ]
}
],
"displayMessages" : [ ]
}

Transform Your JSON Content Anywhere in Lightning Experience


Use the Analytics Template Framework JSON transformation engine directly in Lightning Experience in your preferred development
environment. Using Lightning Components, the engine takes input from a JSON document and applies values and rules you define to
transform the JSON document.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Why: The transformation engine gives you a powerful way to test Analytics template rules, creating voice templates, or do almost
anything you can imagine with JSON. Take JSON you’ve created for a specific purpose in one environment and declare rules for the
transformation. Then use the engine to transform the JSON into a format that works with a runtime environment.
How: Create an Aura component that lets users submit JSON documents, and define the values and rules for the transformation. The
engine returns results of the transformation, which you can use in other actions. Here’s an example of JSON before transformation:

And here’s the result of transforming the JSON.

291
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

React to Asset Loaded with Analytics Web SDK


Listen for Analytics assets to finish loading on the first load and on subsequent resets, then react using the new wave:assetLoaded
Web SDK event.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Why: Einstein Analytics assets, specifically dashboards, can take time to load all their widgets, steps, and queries before being done. If
code is created to interact with embedded dashboards, like applying filters or updating state, and this code is run before the dashboard
is complete, the dashboard can get into a bad state. The wave:assetLoaded event allows users to determine when is it safe to
run the code to apply filters or update state.
How: Add a listener for the wave:assetLoaded event and a handler to receive the event and take action. The
wave:assetLoaded event is fired on the asset’s initial load and on any subsequent resets to the asset view.

({
handleAssetLoaded: function(component, event, helper){
[Link]("[Link]", "Dashboard is loaded");
[Link]("[Link]", [Link]("type"));
[Link]("[Link]", [Link]("id"));
}
})

Get Familiar with JSON Changes for Dashboard Designer


You can control whether a query listens for broadcasted facets. Best of all, it’s no longer all or nothing. Now you can use an include or
exclude list in the receiving query to facet only certain queries.
Where: This change applies to Einstein Analytics in Lightning Experience. Einstein Analytics is available in Developer Edition and for an
extra cost in Enterprise, Performance, and Unlimited editions.
Why: In Winter '20, for aggregateflex and saql step types, you could specify:
"receiveFacet": true (or false)

Now in Spring '20, for aggregateflex and saql steps, you can use:
"receiveFacetSource": {
"mode": "all",

292
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
"steps": []
},

The mode can be “all”, “none”, “include”, or “exclude”. Use steps to list which steps to include or exclude.
receiveFacetSource replaces receiveFacet. Existing JSON is automatically updated when you edit a dashboard.

SEE ALSO:
Specify Targeted Faceting Without Code

Einstein Discovery: External Data for Predictions, What Could Happen Insights, and
Story Versioning
Include external data to better predict outcomes. Get live prediction scores interactively, including top factors and actionable insights.
Revisit and work with previous story versions at any time.

IN THIS SECTION:
Amplify Live Prediction Scoring with External Data
You can now include external data to better predict outcomes. Some predictive models require information that is not found in
Salesforce, such as explanatory variables stored in outside data sources, or computed fields. Let's say you're building an opportunity
time-to-close predictive model. You want to use counts of opportunity team members and qualified tasks associated with that
opportunity record. Creating these aggregations using Einstein Analytics data prep is simple. Quickly build the predictive model as
an Einstein Discovery story. When scoring individual records back in Salesforce, tell the predictive model how many tasks or team
members are connected to the opportunity. Instead of writing code or modifying the data model, simply build a dataset that refreshes
on a frequent basis where this aggregation is performed. Make sure to map the predictive model fields that are not natively found
in Salesforce back to the dataset.
Simulate Future Outcomes with What Could Happen Insights
Get live prediction scores interactively, including top factors and actionable insights. You can now use What Could Happen insights
to perform “What If” simulations on a row of data. What Could Happen insights replace the previous Predictions & Improvements
insights with a streamlined, interactive interface.
Keep Track of Story Changes
Now you can revisit and work with previous story versions at any time. Each time a user creates a story with updated settings, Einstein
saves a snapshot of the previous version under the same name. You can open and work with previous versions of a story.
Get the Best Predictions of Three Different Models (Pilot)
Einstein Discovery now adds a third modeling approach known as XGBoost, which implements gradient boosting learning algorithms.
Previously, Einstein Discovery relied on two types of models to predict outcomes: regression and GBM models. Now when you create
a story, Einstein Discovery generates predictions using all three types of models. Einstein then shows the results of the one model
that performed best. You get the best of all approaches.
Smart Feature Selection for Logistic Models
When you create a story with a binary outcome, Einstein Discovery now generates it faster by automatically selecting just the features
and variables required to build the model. The story creation process is streamlined and quicker.
Identify Key Drivers Before Creating a Story
Before you create a story for the first time, you can now quickly decide ahead of time which fields to include. With manual story
setup, Einstein now shows you correlations between dataset columns and the outcome variable. Previously, correlations were visible
only after initial story creation.

293
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Crunch More Data with Einstein Discovery (Pilot)
With increased Einstein Discovery limits, you can now create stories from Einstein Analytics datasets containing up to 100 million
rows of data. Previously, the maximum was 20 million rows.
Deploy Models Without Salesforce Objects
In certain cases, model deployment no longer requires selecting a Salesforce object. This exception applies only if you intend to use
the model just for programmatic predictions via the Einstein Prediction Service, or for dataset scoring via the prediction component
in Einstein Analytics dataflows. In all other cases, selecting a Salesforce object during deployment is required.
Quickly Drill Down Into Insights
For insights associated with text fields, you can easily drill down into the underlying details by clicking the Explore button. Einstein
displays a Lens view so that you can interactively explore the data for this insight.
Retiring Einstein Discovery Classic
We retire Einstein Discovery Classic in Spring ’20. Einstein Discovery Classic will be replaced with the new experience for all orgs
starting in Spring ’20.

Amplify Live Prediction Scoring with External Data


You can now include external data to better predict outcomes. Some predictive models require information that is not found in Salesforce,
such as explanatory variables stored in outside data sources, or computed fields. Let's say you're building an opportunity time-to-close
predictive model. You want to use counts of opportunity team members and qualified tasks associated with that opportunity record.
Creating these aggregations using Einstein Analytics data prep is simple. Quickly build the predictive model as an Einstein Discovery
story. When scoring individual records back in Salesforce, tell the predictive model how many tasks or team members are connected to
the opportunity. Instead of writing code or modifying the data model, simply build a dataset that refreshes on a frequent basis where
this aggregation is performed. Make sure to map the predictive model fields that are not natively found in Salesforce back to the dataset.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: Populate the Einstein Analytics dataset with the external data you want to bring in. Engage Einstein Analytics’ extensive data
integration capabilities to pull and transform data from any supported external source.
During model deployment, specify the supplemental dataset and the dataset Record ID column that maps to the Object ID field in the
selected Salesforce object.

Once deployed, refresh the data in the dataset to support live prediction scoring on individual Salesforce records.

294
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Note: Predictions that connect to a dataset depend on the frequency with which the dataset is refreshed.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Simulate Future Outcomes with What Could Happen Insights


Get live prediction scores interactively, including top factors and actionable insights. You can now use What Could Happen insights to
perform “What If” simulations on a row of data. What Could Happen insights replace the previous Predictions & Improvements insights
with a streamlined, interactive interface.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: Suppose that you want to explore how changing the Route to Market can affect the Opportunity amount. Open the story and
click What Could Happen on the Insights Navigation bar. In the Model Feature list, select an option under Route to Market. Based on
your selection, Einstein updates the prediction score and top prediction factors (positive and negative). Select the Actionable radio
button to see top improvements for your selection.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Keep Track of Story Changes


Now you can revisit and work with previous story versions at any time. Each time a user creates a story with updated settings, Einstein
saves a snapshot of the previous version under the same name. You can open and work with previous versions of a story.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How:Open a story and choose Version History from the dropdown.

295
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

In the Version History list, click a previous version to open it.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Get the Best Predictions of Three Different Models (Pilot)


Einstein Discovery now adds a third modeling approach known as XGBoost, which implements gradient boosting learning algorithms.
Previously, Einstein Discovery relied on two types of models to predict outcomes: regression and GBM models. Now when you create a
story, Einstein Discovery generates predictions using all three types of models. Einstein then shows the results of the one model that
performed best. You get the best of all approaches.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: Story insights are consistently interpretable regardless of what model Einstein used. For example, open a story, choose Why It
Happened on the Insight Navigation bar, and scroll through the diagnostic insights. The waterfall chart reflects the winning approach.

296
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Note: We provide XGBoost functionality to selected customers through a pilot program that requires agreement to specific terms
and conditions. To be nominated to participate in the program, contact Salesforce. Pilot programs are subject to change, and we
can’t guarantee acceptance. XGBoost support is not generally available unless or until Salesforce announces its general availability
in documentation or in press releases or public statements. We can’t guarantee general availability within any particular time frame
or at all. Make your purchase decisions only based on generally available products and features. You can provide feedback and
suggestions for XGBoost in the applicable IdeaExchange group in the Trailblazer Community.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Smart Feature Selection for Logistic Models


When you create a story with a binary outcome, Einstein Discovery now generates it faster by automatically selecting just the features
and variables required to build the model. The story creation process is streamlined and quicker.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Identify Key Drivers Before Creating a Story


Before you create a story for the first time, you can now quickly decide ahead of time which fields to include. With manual story setup,
Einstein now shows you correlations between dataset columns and the outcome variable. Previously, correlations were visible only after
initial story creation.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: During story setup, select the Manual option, and view the Correlation column.

297
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

Select the fields that are most highly correlated to the outcome, then create your story.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Crunch More Data with Einstein Discovery (Pilot)


With increased Einstein Discovery limits, you can now create stories from Einstein Analytics datasets containing up to 100 million rows
of data. Previously, the maximum was 20 million rows.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

Note: We provide increased row limits functionality to selected customers through a pilot program that requires agreement to
specific terms and conditions. To be nominated to participate in the program, contact Salesforce. Pilot programs are subject to
change, and we can’t guarantee acceptance. Increased row limit support is not generally available unless or until Salesforce
announces its general availability in documentation or in press releases or public statements. We can’t guarantee general availability
within any particular time frame or at all. Make your purchase decisions only based on generally available products and features.
You can provide feedback and suggestions for increased row limits in the applicable IdeaExchange group in the Trailblazer
Community.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Deploy Models Without Salesforce Objects


In certain cases, model deployment no longer requires selecting a Salesforce object. This exception applies only if you intend to use the
model just for programmatic predictions via the Einstein Prediction Service, or for dataset scoring via the prediction component in
Einstein Analytics dataflows. In all other cases, selecting a Salesforce object during deployment is required.

298
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: When prompted during model deployment, select Without connecting to a Salesforce object, and proceed to the next task
of adding filters.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Quickly Drill Down Into Insights


For insights associated with text fields, you can easily drill down into the underlying details by clicking the Explore button. Einstein
displays a Lens view so that you can interactively explore the data for this insight.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: Navigate your story’s insights. If available for a given insight, click the Explore button.

Einstein launches a Lens view of this insight.

299
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Retiring Einstein Discovery Classic


We retire Einstein Discovery Classic in Spring ’20. Einstein Discovery Classic will be replaced with the new experience for all orgs starting
in Spring ’20.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: If you currently use Einstein Discovery Classic and already have the Einstein Analytics Plus license, log a case with Salesforce Support
to be switched over to the new experience. If you have the Discovery Analysts license and not EA Growth, contact your Account Executive
to swap your license to Einstein Analytics Plus. Free Developer orgs have all the correct licenses and we will automatically switch them
to the new experience.
If you want to keep data from your Einstein Discovery datasets, use the “Export to Einstein Analytics” feature before switching over. Once
Einstein Discovery in Analytic is enabled in your org, use Analytics Studio to build your Einstein Analytics datasets and manually create
your stories.

SEE ALSO:
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Analytics for Everyone: Watchlist (Beta), Multiple Notification Recipients, In-App


Trailhead Badges
Track important metrics on the Analytics home page with the Einstein Analytics Watchlist. Add multiple recipients from your org to your
notification email distribution list. Earn Trailhead badges for completing learning journeys in the Analytics Studio.

IN THIS SECTION:
Stay on Track with the Einstein Analytics Watchlist (Beta)
The Einstein Analytics Watchlist gives your users a stock-ticker-style experience by tracking and showing important metrics and
changes.

300
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Email Notifications to Multiple Recipients
Automatically share the knowledge when your notification’s conditions are met. Now you can set up notifications to email colleagues
at the same time as yourself. Add recipients from your org to the notification email’s distribution list, so everyone simultaneously
gets the same alerts.
Preview and Customize Subscriptions (Beta)
Manage your email subscription with a new preview window and editable subscription titles. In the previous release, we introduced
dashboard widget subscription with scheduled email updates. Now we’re adding a preview window where you can see all of your
widget subscriptions together, easily edit email frequency, and remove widget subscriptions. Other enhancements include editable
titles and support for number formats of number widgets in the subscription email.
Earn Trailhead Badges for Learning in the Analytics Studio
Learn Analytics basics in the studio, and earn the latest Trailhead badges for Einstein Analytics. The new in-app badges reward
completion of the learning journeys under Start Your Analytics Adventure in the Learning Center.
Analytics Mobile Apps: Explore More in the Salesforce App
Access Einstein Analytics from its own tab in the Salesforce mobile app for quicker access to your assets on the go. Users get a
consistent experience whether working in the Salesforce app or Einstein Analytics mobile app.

Stay on Track with the Einstein Analytics Watchlist (Beta)


The Einstein Analytics Watchlist gives your users a stock-ticker-style experience by tracking and showing important metrics and changes.
Where: This change applies to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in Developer
Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

Note: As a beta feature, the Einstein Analytics Watchlist is a preview and isn’t part of Einstein Analytics under your master
subscription agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the
basis of generally available products and features. Salesforce doesn’t guarantee general availability of this feature within any
particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production
use. It’s offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or about it. All
restrictions, Salesforce reservation of rights, obligations concerning Einstein Analytics, and terms for related Non-Salesforce
Applications and Content apply equally to your use of this feature. You can provide feedback and suggestions for the Einstein
Analytics Watchlist in the Trailblazer Community.
How: In Setup, select Enable Watchlist from Analytics Settings.
With the Watchlist, users can create a customized list of dashboard items to monitor their metric values (1) and trends (2). Use the metric’s
dropdown menu (3) to edit the metric and view its source dashboard. No more switching between assets to see what has changed,
users can quickly and easily track them all in one place.

301
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

Users can create their Watchlist using items of interest from dashboards they have access to. Simply open the dashboard that contains
the item to watch, and use the widget’s dropdown menu to add it.

302
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

Trending starts immediately when an item is added to the Watchlist. Snapshots are captured at regular intervals to show how dashboard
items are performing at any given moment, so there’s no stale data.

Email Notifications to Multiple Recipients


Automatically share the knowledge when your notification’s conditions are met. Now you can set up notifications to email colleagues
at the same time as yourself. Add recipients from your org to the notification email’s distribution list, so everyone simultaneously gets
the same alerts.
Where: These changes apply to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in
Developer Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
Who: Access to add notification email recipients is available for users with the Notification Emails: Add Recipients permission.
How: To add recipients, open the notification in the dashboard’s notifications panel and click Edit Recipients.

303
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

In the Edit Recipients box, you can add users, view current recipients, and remove recipients. Only users who have access to the dataset
and dashboard are available to select, and in this release you can only select users. Groups and roles are scheduled for a future release.

Recipients get the notification email sent from the email address of the user who set up the notification. Adding recipients doesn’t create
personal notifications for them. The added recipients don’t get in-app notification via the bell icon, and they don’t see the notification
on their home page.

Note: Once added to the notification email distribution list, recipients can’t remove themselves and must ask the email sender
to be removed.

SEE ALSO:
Salesforce Help: Set Smart Notifications for Important Business Metrics (can be outdated or unavailable during release preview)

304
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Preview and Customize Subscriptions (Beta)
Manage your email subscription with a new preview window and editable subscription titles. In the previous release, we introduced
dashboard widget subscription with scheduled email updates. Now we’re adding a preview window where you can see all of your
widget subscriptions together, easily edit email frequency, and remove widget subscriptions. Other enhancements include editable
titles and support for number formats of number widgets in the subscription email.
Where: These changes apply to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in
Developer Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.

Note: As a beta feature, Einstein Analytics subscription is a preview and isn’t part of the “Services” under your master subscription
agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally
available products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame
or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as
is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions,
Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content
apply equally to your use of this feature.
How: In Setup, on the Analytics Settings page, select Enable email subscriptions to Einstein Analytics dashboard widgets (Beta).
Then the Subscribe option appears in all widget menus, except tables, maps, and custom charts.
To open the preview, click Subscriptions in the left navigation panel of the home page. The preview shows the scheduled frequency
and number of widget subscriptions, and it gives you access to edit the timing and frequency of your subscription.

You can also remove a widget from the subscription by selecting Delete on the widget’s preview.

305
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis

In the preview, click a widget title to go to the dashboard subscription panel. In the subscription panel, click the pencil to change the
title of a widget’s subscription.

SEE ALSO:
Salesforce Help: Get Scheduled Updates on Key Metrics with Email Subscriptions (Beta) (can be outdated or unavailable during release
preview)

306
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Earn Trailhead Badges for Learning in the Analytics Studio
Learn Analytics basics in the studio, and earn the latest Trailhead badges for Einstein Analytics. The new in-app badges reward completion
of the learning journeys under Start Your Analytics Adventure in the Learning Center.
Where: These changes apply to Einstein Analytics in Lightning Experience and Salesforce Classic. Einstein Analytics is available in
Developer Edition and for an extra cost in Enterprise, Performance, and Unlimited editions.
How: Four new badges are available, depending on your account.

Data Integration in Einstein Data Exploration in Einstein App Creation in Einstein Einstein Discovery Intelligence
Analytics Analytics Analytics

The badges appear in your Trailhead profile and in the top section of the Learning Center. Completed badges are in color, and gray
badges are yours to earn.

Analytics Mobile Apps: Explore More in the Salesforce App


Access Einstein Analytics from its own tab in the Salesforce mobile app for quicker access to your assets on the go. Users get a consistent
experience whether working in the Salesforce app or Einstein Analytics mobile app.

IN THIS SECTION:
Use Einstein Analytics in the New Salesforce Mobile App
With the latest update to the new Salesforce mobile app, users can access Einstein Analytics assets from the new Analytics navigation
item. The new item creates a familiar user experience between desktop and mobile, and gives Salesforce mobile app users a home
page for accessing apps and dashboards.
Analytics Mobile Apps: Upgrade to the Spring ’20 Versions of Einstein Analytics for iOS and Android
Einstein Analytics version 9.0 is generally available starting the week of February, 17, 2020.

307
Salesforce Spring ’20 Release Notes Einstein Analytics: Dashboard Builder Enhancements, Direct
Data Querying, Data Relationship Visualization, Einstein
Discovery What-If Analysis
Use Einstein Analytics in the New Salesforce Mobile App
With the latest update to the new Salesforce mobile app, users can access Einstein Analytics assets from the new Analytics navigation
item. The new item creates a familiar user experience between desktop and mobile, and gives Salesforce mobile app users a home page
for accessing apps and dashboards.
Where: This change applies to the new Salesforce mobile app for iOS. Einstein Analytics is available in Developer Edition and for an extra
cost in Enterprise, Performance, and Unlimited editions.
When: The new navigation item will be available the week of February 17, 2020.

SEE ALSO:
Access Einstein Analytics on the Go With the New Mobile Navigation Item

Analytics Mobile Apps: Upgrade to the Spring ’20 Versions of Einstein Analytics for iOS and Android
Einstein Analytics version 9.0 is generally available starting the week of February, 17, 2020.

IN THIS SECTION:
More Enhancements in Einstein Analytics for iOS
Einstein Analytics for iOS now supports additional Spring '20 features.
More Enhancements in Einstein Analytics for Android
Einstein Analytics for Android now supports additional Spring '20 features.

More Enhancements in Einstein Analytics for iOS


Einstein Analytics for iOS now supports additional Spring '20 features.
Where: These changes apply to Einstein Analytics for iOS. Einstein Analytics is available in Developer Edition and for an extra cost in
Enterprise, Performance, and Unlimited editions.
Why: Enhancements in the latest releases include the following features.
• New Range Widget: The new range widget now matches its desktop counterpart.
• Totals and Subtotals: Tables on mobile now support displaying your totals and subtotals.
• APEX Steps: Use custom APEX functionality in your mobile dashboards.
• Bug fixes and other usability enhancements.
How: Analytics is available for devices running iOS 10 and later. For the latest enhancements, download Einstein Analytics from the App
Store.

More Enhancements in Einstein Analytics for Android


Einstein Analytics for Android now supports additional Spring '20 features.
Where: These changes apply to Einstein Analytics for Android. Einstein Analytics is available in Developer Edition and for an extra cost
in Enterprise, Performance, and Unlimited Editions.
Why: Enhancements in the latest releases include the following features.
• Support for Spring ‘20 features, such as targeted faceting.
• Bug fixes and performance improvements.

308
Salesforce Spring ’20 Release Notes Communities: Report Builder for Communities,
ExperienceBundle, Enhanced Security, and Channel Menu

How: Analytics is available for devices running Android 5 or later. For the latest enhancements, download Einstein Analytics from Google
Play™.

Communities: Report Builder for Communities, ExperienceBundle,


Enhanced Security, and Channel Menu
Your partners and customers can now create and run reports on communities and portals. With the ExperienceBundle metadata type,
quickly update and deploy Lightning communities programmatically using your preferred development tools. Various security
enhancements help keep your data safe. And help service agents contact customers on a variety of channels using the Service Cloud’s
Channel Menu. Create and modify Lightning community audiences programmatically.

Tip: There’s lots of Lightning striking Salesforce these days—Lightning Experience, the Lightning framework, Lightning web
components—and it can be tricky to know how it all applies to Communities. Here's the rundown.
Lightning communities use the same underlying technology as Lightning Experience—namely, the Lightning Platform and
Lightning components—but you aren’t required to enable Lightning Experience to use them.
Also check out the Lightning Components section of the release notes for changes that affect community users.

IN THIS SECTION:
Lightning Communities: Report Builder, Report Run Page, and Flexible Layouts
Use report builder in your Lightning communities, so customers and partners can create and run reports from a community or portal.
Give designers more flexibility when creating Lightning community page layouts.
Developer Productivity: ExperienceBundle, Personalization, and the Build Your Own (LWC) Template
Develop communities more efficiently with ExperienceBundle and Personalization API enhancements, new Salesforce CLI commands,
and a fresh template that’s based on the Lightning Web Component programming model.
Guest User: New Guest User Access Setting and Removed Retired Permissions
Use the Secure guest user record access setting to enforce private org-wide defaults for guest users and restrict the sharing mechanisms
that you can use to grant record access to guest users. We removed various obsolete user permissions from guest user profiles to
enhance data security.
Security and Sharing: Apple ID Login, Text Message Identity Verification, and Lightning Locker Toggle
Community and portal users can now log in using their Apple ID. You can now have community and portal members verify their
identity using text message. Turn Lightning Locker on or off for your community using a toggle.
Other Changes in Communities
Learn about other changes that improve your experience with communities.

Lightning Communities: Report Builder, Report Run Page, and Flexible


Layouts
Use report builder in your Lightning communities, so customers and partners can create and run reports from a community or portal.
Give designers more flexibility when creating Lightning community page layouts.

IN THIS SECTION:
Report Builder for Lightning Communities (Generally Available)
Create, delete, and edit reports directly from your community.

309
Salesforce Spring ’20 Release Notes Lightning Communities: Report Builder, Report Run Page,
and Flexible Layouts

View Reports in Lightning Communities (Generally Available)


Review, analyze, and collaborate on your report records directly from your community.
Stretch Your Flexible Layouts Further
Now you can reorder sections in your flexible layout pages by dragging them to the desired location.
Use the New Page Name Attribute for Community Navigation
Add a unique API Name when you create a Lightning community page. You can use this value as the name attribute in the
comm__namedPage page reference for the lightning-navigation API.
Account and Opportunity Team Related List Customization Supported in Communities
Customize related lists for account and opportunity teams to help reps collaborate more effectively with customers and partners.
Previously, these related lists could be customized, but the customizations weren’t displayed to end users.
Updated Search Route Parameter on Community Search Pages
The URL parameter for communities search routes was updated to :term for all Lightning community templates except Koa and
Kokua. The URL parameter for the Customer Service template is now /search-topic/:term (updated from
/search-topic/:searchString). For all other Lightning templates (except Koa and Kokua), the URL parameter is now
/global-search/:term (updated from /global-search/:searchString).
Go On a Better Round-Trip Between Full Feed and Feed Item Detail
Experience the convenience of better round-trip navigation in full Topics and group feeds in your community. On a topic page or
in a group, the round trip from the full feed to a detail view returns you to where you started from. It used to take you all the way
back to the top of the feed.
Create More Audiences, Search Using Wildcards, and Sort
We raised the limit on the number of audiences you can create to 1,500. With more audiences, you may use search more so we
made it easier. Use the % wildcard and the new sort feature to quickly find the audience you want.
Add the Record Related List Component to Your Help Center
The Related Record List page and the Record Related List component are now available in the Help Center template. Use them
together to add a list of files that are related to a Knowledge article. If users don’t get what they need from the article, you can show
them a list of related files to get them to a solution.
Create Dazzling Experiences Across Channels with Salesforce CMS
Salesforce CMS is a hybrid CMS designed to help you create and deliver content to any channel. Use this flexible tool to create a
consistent experience across multiple customer touchpoints. Share a CMS Workspace to channels like Commerce Cloud and Heroku,
or build a customized, content-rich site in Experience Builder. Enhance these channels using the same CMS Workspace content.
Removed ID Fields from Topics Components
To improve validation of communities and streamline topics components, we removed the Topic ID field from the Related Topics
List, Topic Description, and Topic Metrics components. We also removed the Record ID field from the Topics component. These ID
fields were dynamically generated and their removal doesn’t change the behavior of the components.

Report Builder for Lightning Communities (Generally Available)


Create, delete, and edit reports directly from your community.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Performance, Unlimited, and Developer editions.
Who: The Report Builder page is available to community users with a Partner Community or Customer Community Plus license.
How: Lightning Report Builder is available in the following community templates:
• Build Your Own

310
Salesforce Spring ’20 Release Notes Lightning Communities: Report Builder, Report Run Page,
and Flexible Layouts

• Customer Account Portal


• Customer Service
• Partner Central
If you already enabled reports in your community, the New Report button is available on the Report List page in your community. Add
the Report List page to your community if you haven’t already. If the button isn’t available after you enabled reports, republish your
community.
With all Salesforce reports, to view, edit, or delete a report you must have access to it.

SEE ALSO:
Salesforce Help: Set Up Report Management for External Users—Create and Edit Reports (can be outdated or unavailable during
release preview)
Salesforce Help: Build a Report (can be outdated or unavailable during release preview)

View Reports in Lightning Communities (Generally Available)


Review, analyze, and collaborate on your report records directly from your community.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Performance, Unlimited, and Developer editions.
Who: The report run page is available to users with a Partner Community or Customer Community Plus license.
Why: With the report run page, users can view reports with:
• Key metrics in the header
• Toggle switches to hide or view report properties
• Report management tools in the report header
• Sort and drill functionality for record groups
How: The report run page is available in the following community templates:
• Build Your Own
• Customer Account Portal
• Customer Service
• Partner Central
If you already enabled reports in your community, the report run page is automatically available to you. If the report run page isn’t
available after you enable reports, republish your community.
With all Salesforce reports, to view, edit, or delete a report you must have access to it.

SEE ALSO:
Salesforce Help: Set Up Report Management for External Users—Create and Edit Reports (can be outdated or unavailable during
release preview)
Salesforce Help: Customize Report Views in the Run Page (can be outdated or unavailable during release preview)

Stretch Your Flexible Layouts Further


Now you can reorder sections in your flexible layout pages by dragging them to the desired location.

311
Salesforce Spring ’20 Release Notes Lightning Communities: Report Builder, Report Run Page,
and Flexible Layouts

Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.
How: In Experience Builder, open the Pages menu in the top toolbar. Open an existing flexible layout page, or select New Page >
Standard Page > Flexible Layout. Add sections using the icon, then drag the section to place it where you want it.

SEE ALSO:
Create a Flexible Layout
Enhance CMS Content with Flexible Layouts

Use the New Page Name Attribute for Community Navigation


Add a unique API Name when you create a Lightning community page. You can use this value as the name attribute in the
comm__namedPage page reference for the lightning-navigation API.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.
How: When you create new standard community pages, you now see a new field, API Name.

312
Salesforce Spring ’20 Release Notes Lightning Communities: Report Builder, Report Run Page,
and Flexible Layouts

You can define the API name only when you create a page. For existing pages, or if you leave the field blank, a name is generated
automatically.
The following communities named pages can use the API Name in lightning-navigation.
• Home
• Account Management
• Contact Support
• Error
• Login
• My Account
• Top Articles
• Topic Catalog
• Custom pages

Note: Packaging API names is not currently supported. Communities created from an exported template could have a different
API name than the original community. The pageName attribute is now deprecated.

Account and Opportunity Team Related List Customization Supported in Communities


Customize related lists for account and opportunity teams to help reps collaborate more effectively with customers and partners.
Previously, these related lists could be customized, but the customizations weren’t displayed to end users.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.
Who: The account team change is available to all users with community licenses. The opportunity team change is available only to users
with a Partner Community or Lightning External Apps Plus license.

SEE ALSO:
Account and Opportunity Team Related List Customization Is Supported

313
Salesforce Spring ’20 Release Notes Lightning Communities: Report Builder, Report Run Page,
and Flexible Layouts

Updated Search Route Parameter on Community Search Pages


The URL parameter for communities search routes was updated to :term for all Lightning community templates except Koa and
Kokua. The URL parameter for the Customer Service template is now /search-topic/:term (updated from
/search-topic/:searchString). For all other Lightning templates (except Koa and Kokua), the URL parameter is now
/global-search/:term (updated from /global-search/:searchString).
Where: This change applies to Lightning communities (except Koa and Kokua communities) accessed through Lightning Experience
and Salesforce Classic in Enterprise, Essentials, Performance, Unlimited, and Developer editions.

Note: All components using the old URL parameters continue to work after this change.

Go On a Better Round-Trip Between Full Feed and Feed Item Detail


Experience the convenience of better round-trip navigation in full Topics and group feeds in your community. On a topic page or in a
group, the round trip from the full feed to a detail view returns you to where you started from. It used to take you all the way back to
the top of the feed.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.
Why: For example, let’s say you’re on a topic page or in a group looking for specific information. You click View More and navigate
more deeply into the list of feed items to find the right information. But when you find a promising post and click to go to detail view,
you realize that it’s not the information that you want. Now, clicking your browser’s back button returns you to the same page where
you jumped to the detail view. Previously, clicking the back button brought you to the top of the full feed, requiring you to scroll back
to where you were.

Note: For Compact Feed, we support the improved Back button behavior for Topics feeds only.

314
Salesforce Spring ’20 Release Notes Developer Productivity: ExperienceBundle, Personalization,
and the Build Your Own (LWC) Template

Create More Audiences, Search Using Wildcards, and Sort


We raised the limit on the number of audiences you can create to 1,500. With more audiences, you may use search more so we made
it easier. Use the % wildcard and the new sort feature to quickly find the audience you want.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.

Add the Record Related List Component to Your Help Center


The Related Record List page and the Record Related List component are now available in the Help Center template. Use them together
to add a list of files that are related to a Knowledge article. If users don’t get what they need from the article, you can show them a list
of related files to get them to a solution.
Where: This change applies to the Help Center Lightning community template accessed through Lightning Experience and Salesforce
Classic in Enterprise, Essentials, Performance, Unlimited, and Developer editions.
How: In your Help Center, add the Record Related List component to an Article Detail page. Publish your changes. On the Article Detail
page, a user clicks View All in the Record Related List component, and they land on the Related Record List page.

Note: In Help Center, a file is the only object that is supported in the Record Related List component.

Create Dazzling Experiences Across Channels with Salesforce CMS


Salesforce CMS is a hybrid CMS designed to help you create and deliver content to any channel. Use this flexible tool to create a consistent
experience across multiple customer touchpoints. Share a CMS Workspace to channels like Commerce Cloud and Heroku, or build a
customized, content-rich site in Experience Builder. Enhance these channels using the same CMS Workspace content.
Where: This change applies to Lightning Experience in Essentials, Enterprise, Performance, Unlimited, and Developer editions. Salesforce
CMS content is available to use in Lightning and Salesforce Tabs + Visualforce communities.

SEE ALSO:
Salesforce CMS: B2C Commerce Page Designer Integration, Multiple Varied Channels, CMS Home, and Flexible Layouts
Deliver Engaging Content Across Multiple Channels and Sites

Removed ID Fields from Topics Components


To improve validation of communities and streamline topics components, we removed the Topic ID field from the Related Topics List,
Topic Description, and Topic Metrics components. We also removed the Record ID field from the Topics component. These ID fields
were dynamically generated and their removal doesn’t change the behavior of the components.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Performance, Unlimited, and Developer editions.

Developer Productivity: ExperienceBundle, Personalization, and the Build


Your Own (LWC) Template
Develop communities more efficiently with ExperienceBundle and Personalization API enhancements, new Salesforce CLI commands,
and a fresh template that’s based on the Lightning Web Component programming model.

315
Salesforce Spring ’20 Release Notes Developer Productivity: ExperienceBundle, Personalization,
and the Build Your Own (LWC) Template

IN THIS SECTION:
Update and Deploy Lightning Communities with ExperienceBundle (Generally Available)
The ExperienceBundle metadata type, which was previously available as a pilot program, is now generally available. ExperienceBundle
provides human-readable, text-based representations of the different Experience Builder settings and site components, such as
pages, branding sets, and themes. Whether it’s for your own org or you’re a consulting partner or ISV, quickly update and deploy
Lightning communities using your preferred development tools, including Salesforce Extensions for VS Code, Salesforce CLI,
Workbench, or your favorite IDE or text editor.
Personalize Your Community Via the API (Generally Available)
Create and modify Lightning Community audiences programmatically and target those audiences to pages, components, branding
sets, and data with code. Use Chatter REST API, Apex, and Metadata API to create audiences in Lightning Communities and assign
them to targets, such as pages, components, custom objects, and branding sets. The new features don’t affect the user experience
or require any action on your part. However, we encourage you to test your existing community personalizations after the Spring
’20 sandbox and production releases.
Build Fast, Efficient Experiences with a New LWC-Based Template (Developer Preview)
Use the latest Build Your Own (LWC) template to develop communities that load quickly and scale well. Based on Lightning Web
Components (LWC), a new programming model that delivers exceptional performance, this lightweight template supports fully
customized LWC solutions. For example, if you specialize in building experiences with your own design system and component
library, you can remove SLDS and include custom Lightning web components to achieve the pixel-perfect experience that you want.
Use Relaxed CSP in Lightning Components for Communities
Tag Lightning web components for Lightning communities with lightningCommunity__RelaxedCSP to enable components
to run in a community that has Lightning Locker disabled.

Update and Deploy Lightning Communities with ExperienceBundle (Generally Available)


The ExperienceBundle metadata type, which was previously available as a pilot program, is now generally available. ExperienceBundle
provides human-readable, text-based representations of the different Experience Builder settings and site components, such as pages,
branding sets, and themes. Whether it’s for your own org or you’re a consulting partner or ISV, quickly update and deploy Lightning
communities using your preferred development tools, including Salesforce Extensions for VS Code, Salesforce CLI, Workbench, or your
favorite IDE or text editor.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Essentials,
Enterprise, Performance, Unlimited, and Developer editions.
Why: Previously, the Network, CustomSite, and SiteDotCom metadata types combined to define a community. However, retrieving the
SiteDotCom type produces a binary .site file, which isn’t human readable. By retrieving the ExperienceBundle type instead of
SiteDotCom, you can extract granular community metadata in a human-readable format, contained in a three-level folder structure.
The experiences folder contains all the Lightning communities in your org. Each community folder contains subfolders that
represent the different components that you access in Experience Builder. Edit the .json files on your local machine or scratch org,
and then quickly deploy your changes.

316
Salesforce Spring ’20 Release Notes Developer Productivity: ExperienceBundle, Personalization,
and the Build Your Own (LWC) Template

How: To enable the ExperienceBundle metadata type, from Setup, enter Communities Settings in the Quick Find box, and
then select Communities Settings. Select Enable ExperienceBundle Metadata API, and save your changes.
Or you can enable this feature when creating a scratch org using a scratch org definition file. (See the Metadata Coverage report.)
{
"orgName": "Sample Org",
"edition": "developer",
"features": [
"COMMUNITIES"
],
"settings": {
"experienceBundleSettings": {
"enableExperienceBundleMetadata": true
},
"communitiesSettings": {
"enableNetworksEnabled": true
}
}
}

Tip: Before you begin editing the .json files of your community, make a copy of the files as a backup.

IN THIS SECTION:
Programmatically Create and Publish Communities in Scratch Orgs
Speed up the process of creating and publishing communities when working with ExperienceBundle in scratch orgs. Using several
new Salesforce CLI commands, you can programmatically retrieve a list of available templates, create Lightning or Salesforce Tabs
+ Visualforce communities, and publish Lightning communities.

317
Salesforce Spring ’20 Release Notes Developer Productivity: ExperienceBundle, Personalization,
and the Build Your Own (LWC) Template

Do More with ExperienceBundle


ExperienceBundle includes improvements since the pilot release. Unlocked packages are now supported, along with the CMS
Collection, CMS Connect (JSON), and CMS Single Item components. And UUIDs are automatically generated for components when
you add them to ExperienceBundle.

Programmatically Create and Publish Communities in Scratch Orgs


Speed up the process of creating and publishing communities when working with ExperienceBundle in scratch orgs. Using several new
Salesforce CLI commands, you can programmatically retrieve a list of available templates, create Lightning or Salesforce Tabs + Visualforce
communities, and publish Lightning communities.
Where: This change applies to Lightning and Salesforce Tabs + Visualforce communities accessed through Lightning Experience and
Salesforce Classic in Enterprise, Essentials, Performance, Unlimited, and Developer editions.

SEE ALSO:
Discover New and Changed CLI Commands

Do More with ExperienceBundle


ExperienceBundle includes improvements since the pilot release. Unlocked packages are now supported, along with the CMS Collection,
CMS Connect (JSON), and CMS Single Item components. And UUIDs are automatically generated for components when you add them
to ExperienceBundle.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.

SEE ALSO:
Metadata API

Personalize Your Community Via the API (Generally Available)


Create and modify Lightning Community audiences programmatically and target those audiences to pages, components, branding
sets, and data with code. Use Chatter REST API, Apex, and Metadata API to create audiences in Lightning Communities and assign them
to targets, such as pages, components, custom objects, and branding sets. The new features don’t affect the user experience or require
any action on your part. However, we encourage you to test your existing community personalizations after the Spring ’20 sandbox and
production releases.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.
See these release notes for more detail about changes this release.
• Chatter REST API: Personalization
• Chatter in Apex: Personalization
See these developer guides for even more detail.
• Apex Developer Guide: Personalization Class
• Chatter REST API Developer Guide: Personalization Resources
• Metadata API Developer Guide: Audience

318
Salesforce Spring ’20 Release Notes Developer Productivity: ExperienceBundle, Personalization,
and the Build Your Own (LWC) Template

Build Fast, Efficient Experiences with a New LWC-Based Template (Developer Preview)
Use the latest Build Your Own (LWC) template to develop communities that load quickly and scale well. Based on Lightning Web
Components (LWC), a new programming model that delivers exceptional performance, this lightweight template supports fully customized
LWC solutions. For example, if you specialize in building experiences with your own design system and component library, you can
remove SLDS and include custom Lightning web components to achieve the pixel-perfect experience that you want.
Where: This developer preview applies to communities accessed through Lightning Experience and Salesforce Classic in Developer
editions.

Note: The Build Your Own (LWC) template is available as a developer preview in new Developer orgs. Build Your Own (LWC) isn’t
generally available unless or until Salesforce announces its general availability in documentation or in press releases or public
statements. All commands, parameters, and other features are subject to change or deprecation at any time, with or without
notice. Don't implement functionality developed with these commands or tools. You can provide feedback and suggestions for
the template in the Lightning Web Runtime Communities group in the Trailblazer Community.
Why: Community Cloud has an existing Build Your Own template, which supports Aura and Lightning web components. However,
because Build Your Own (LWC) is based exclusively on the Lightning Web Components programming model, the template:
• Delivers unparalleled performance with page load speeds that are up to three times faster.
• Supports the development of reusable Lightning web components and themes that follow modern web standards. Most of the
code you write is standard JavaScript and HTML, making the model easy to learn.
• Includes Apex and User Interface API support, so you can access Salesforce records, SOSL, and more, to provide data-rich experiences
for your customers.

Tip: Build Your Own (LWC) is a minimal template that provides few components and only the most essential pages. Therefore,
the template is best suited to developers who are comfortable developing Lightning web components, and working with Salesforce
DX, User Interface API, and Apex.
How: To start using the template in new Developer orgs, from Setup, enter Communities Settings in the Quick Find box, and
then select Communities Settings. Select Enable the Build Your Own (LWC) template, and save your changes. (For existing Developer
orgs, you must first contact Salesforce to access the checkbox.)
After you enable the template, it appears in the community creation wizard.

319
Salesforce Spring ’20 Release Notes Guest User: New Guest User Access Setting and Removed
Retired Permissions

Important: For previous pilot participants, ensure that you publish your community when the Spring ’20 release becomes
available. Until you republish your community, your live site won’t function correctly.

Use Relaxed CSP in Lightning Components for Communities


Tag Lightning web components for Lightning communities with lightningCommunity__RelaxedCSP to enable components
to run in a community that has Lightning Locker disabled.
Where: This change applies to Lightning web components in Lightning communities.

SEE ALSO:
Use Components in Lightning Communities with Lightning Locker Disabled

Guest User: New Guest User Access Setting and Removed Retired
Permissions
Use the Secure guest user record access setting to enforce private org-wide defaults for guest users and restrict the sharing mechanisms
that you can use to grant record access to guest users. We removed various obsolete user permissions from guest user profiles to enhance
data security.

IN THIS SECTION:
Secure Guest Users’ Org-Wide Defaults and Sharing Model (Security Alert, Enforced)
Learn about the Secure guest user record access setting in this security alert, and how to safeguard your org’s data. This setting
enforces private org-wide defaults for guest users and restricts the sharing mechanisms that you can use to grant record access to
guest users. If you have a Salesforce org created before Winter ’20, we recommend that you review the external org-wide defaults,
public groups, queues, manual sharing, and Apex managed sharing that you use to grant access to guest users. Then replace the
access previously granted by these sharing mechanisms with guest user sharing rules before the security alert is enforced.
Secure Object Permissions for Guest Users (Security Alert)
In Summer ’20, Salesforce is enforcing a new security policy restricting guest users to a maximum read or create access on all standard
and custom objects. Previously, you could grant guest users View All Data, Modify All Data, or delete on specific objects. Salesforce
is only enforcing this new security policy on new orgs and on compliant existing orgs (in that they don’t have View All Data, Modify
All Data, or delete permissions for guest users on any object). Orgs that don’t comply with this new security policy see a Security
Alert in their org, and must assess their guest object permissions to ensure that their org data is secure.
Removed View All Users and Other Permissions from Guest User Profiles in Sandbox Environments
To promote data security, we removed the following permission in all guest user profiles in your sandbox org: View All Users, Enable
UI Tier Architecture, Remove People from Direct Messages, View Topics, and Send Non-Commercial Email. We removed these
permissions in sandbox environments so you can test your implementation and make any necessary changes to your production
orgs.
View All Users and Other Permissions Disabled in Guest User Profiles (Security Alert, Enforced)
Guest users typically don’t need access to view all users in a Salesforce org, so to promote data security, we disabled the View All
Users permission in guest user profiles. If you have an org created before Winter ’20, we recommend that you check guest user
access and deselect the View All Users permission in all your guest user profiles. To enhance security, we also removed these
permissions from the guest user profile: Can Approve Feed Post and Comments, Enable UI Tier Architecture, Remove People from
Direct Messages, View Topics, and Send Non-Commercial Email.

320
Salesforce Spring ’20 Release Notes Guest User: New Guest User Access Setting and Removed
Retired Permissions

Automatically Assign Records Created by Guest Users to a Default Owner (Previously Released Security Alert)
To increase the security of your Salesforce data, set up your org so that guest users are no longer automatically the owner of records
they create. Instead, when a guest user creates a record, the record is assigned to a default active user in the org, who becomes the
owner.
Retiring Some User Permissions on the Guest User Profile
We removed a few obsolete permissions from guest user profiles in new Salesforce orgs, and turned them off by default for new
guest user profiles in orgs created before Spring ’20.
Opt Out of Guest User Security Policies Before Summer ’20 (Critical Update)
By activating this update, you opt out of three policies aimed at increasing your data security with regards to guest, or unauthenticated,
users. Activating this critical update opts your org out of having the following settings automatically enabled with the Summer ’20
release: Secure guest user record access, Assign new records created by guest users to the default owner, and Assign new
records created by Salesforce Sites guest users. If your org already has these settings enabled, activating this critical update
doesn’t change your configuration.
Opt Out of Turning Off Community-Specific Setting for Guest Users to See Other Members (Critical Update)
By activating this critical update, you opt out of turning off the community-specific Let guest users see other members of this
community setting in the Winter ’21 release.
Ensure That Your Guest User Sharing Rules Provide Intended Access
To increase the security of your data, we added a reminder about user access that is displayed when you create guest user sharing
rules. By creating a guest user sharing rule, you’re allowing immediate and unlimited access to all records matching the sharing
rule’s criteria to anyone, because this sharing rule type grants access to guest users without login credentials. To secure your Salesforce
data and ensure that community guest users see what they need, consider all the use cases and implications of creating guest user
sharing rules. Implement security controls that you think are appropriate for the sensitivity of your data. Salesforce is not responsible
for any exposure of your data to unauthenticated users based on this change from default settings.
Ensure Guest User Access to Emails Created with Visualforce Email Templates
Protect access to your company’s data when you send emails that use Visualforce Classic email templates to guest users. Review
and update these templates so that they can still be used.

Secure Guest Users’ Org-Wide Defaults and Sharing Model (Security Alert, Enforced)
Learn about the Secure guest user record access setting in this security alert, and how to safeguard your org’s data. This setting
enforces private org-wide defaults for guest users and restricts the sharing mechanisms that you can use to grant record access to guest
users. If you have a Salesforce org created before Winter ’20, we recommend that you review the external org-wide defaults, public
groups, queues, manual sharing, and Apex managed sharing that you use to grant access to guest users. Then replace the access
previously granted by these sharing mechanisms with guest user sharing rules before the security alert is enforced.
Where: This change applies to orgs with active communities and sites in Enterprise, Essentials, Unlimited, Performance, and Developer
editions.
When: The timelines for the rollout and enforcement of this setting will be published in the Securing Community Cloud group on the
Trailblazer Community (Salesforce login required).

321
Salesforce Spring ’20 Release Notes Guest User: New Guest User Access Setting and Removed
Retired Permissions

How: Review the required actions before this security alert is enforced. From Setup, enter Security Alerts in the Quick Find
box, then select Security Alerts. For Secure Guest Users’ Org-Wide Defaults and Sharing Model, click Get Started. Follow the instructions
in the step-by-step guides for reviewing guest user sharing settings and creating guest user sharing rules.

SEE ALSO:
Critical Updates and Security Alerts
Salesforce Help: Secure Guest Users’ Sharing Settings and Record Access (can be outdated or unavailable during release preview)
Salesforce Help: Secure Your Community or Portal (can be outdated or unavailable during release preview)

Secure Object Permissions for Guest Users (Security Alert)


In Summer ’20, Salesforce is enforcing a new security policy restricting guest users to a maximum read or create access on all standard
and custom objects. Previously, you could grant guest users View All Data, Modify All Data, or delete on specific objects. Salesforce is
only enforcing this new security policy on new orgs and on compliant existing orgs (in that they don’t have View All Data, Modify All
Data, or delete permissions for guest users on any object). Orgs that don’t comply with this new security policy see a Security Alert in
their org, and must assess their guest object permissions to ensure that their org data is secure.
Where: This change applies to all orgs with guest user profiles for communities, [Link] sites, and Salesforce Sites.
When: This security policy is being enforced in Summer ‘20, but we want you to have time to assess the effect of this change in your
org.
How: If your org has any objects that give guest users View All Data, Modify All Data, update, or delete permissions to guest users, you
see a Security Alert asking you to tighten your security standards. See the Security Alerts in your org in Setup > Security Alerts. To see
which objects have too permissive object permissions, download and install Guest User Access Report from the AppExchange. Follow
the installation directions and check the report showing guest access for all objects in your org.

Important: While we’re not removing the update permission for guest users in the Summer ’20 release, we’re removing it at a
future date. Test your configuration by removing the update permission on all objects for guest users to see how your implementation
is affected.

Removed View All Users and Other Permissions from Guest User Profiles in Sandbox
Environments
To promote data security, we removed the following permission in all guest user profiles in your sandbox org: View All Users, Enable UI
Tier Architecture, Remove People from Direct Messages, View Topics, and Send Non-Commercial Email. We removed these permissions
in sandbox environments so you can test your implementation and make any necessary changes to your production orgs.
Where: This change applies to all sandbox orgs with guest user profiles in Lightning Experience and Salesforce Classic.

View All Users and Other Permissions Disabled in Guest User Profiles (Security Alert,
Enforced)
Guest users typically don’t need access to view all users in a Salesforce org, so to promote data security, we disabled the View All Users
permission in guest user profiles. If you have an org created before Winter ’20, we recommend that you check guest user access and
deselect the View All Users permission in all your guest user profiles. To enhance security, we also removed these permissions from the
guest user profile: Can Approve Feed Post and Comments, Enable UI Tier Architecture, Remove People from Direct Messages, View
Topics, and Send Non-Commercial Email.
Where: This change applies to orgs with active communities in Enterprise, Essentials, Unlimited, Performance, and Developer editions.

322
Salesforce Spring ’20 Release Notes Guest User: New Guest User Access Setting and Removed
Retired Permissions

When: The timelines for the rollout and enforcement of this setting will be published in the Securing Community Cloud group on the
Trailblazer Community (Salesforce login required).
How: These changes are auto-enabled in your org. However, you have the ability to opt-out. In the Summer ’20 release, these changes
are mandatory and you no longer have the option to opt out.

Automatically Assign Records Created by Guest Users to a Default Owner (Previously


Released Security Alert)
To increase the security of your Salesforce data, set up your org so that guest users are no longer automatically the owner of records
they create. Instead, when a guest user creates a record, the record is assigned to a default active user in the org, who becomes the
owner.
Where: This change applies to orgs with active communities in Enterprise, Essentials, Unlimited, Performance, and Developer editions.
Why: Having an internal org user be the owner of records created by guest users is a Salesforce security best practice. While we strongly
encourage you to assign a default owner, changing record ownership can affect your guest users’ ability to access records. Test all
changes in a sandbox environment to see the effects on data sharing and visibility before you change your implementation in production.
How: From Setup, enter Communities Settings in the Quick Find box, then select Communities Settings. Select Assign new
records created by guest users to the default owner. Click Save.
In newly created communities, Salesforce automatically assigns the user that created the community as the default owner of all records
created by guest users. Change the default owner in the Administration workspace of your community, under Preferences.

Retiring Some User Permissions on the Guest User Profile


We removed a few obsolete permissions from guest user profiles in new Salesforce orgs, and turned them off by default for new guest
user profiles in orgs created before Spring ’20.
Where: This change applies to all orgs with active guest user profiles in Lightning Experience and Salesforce Classic.
Why: Guest users have less access to object data in communities and portals, and need fewer user permissions than authenticated users.
The following permissions are no longer available for guest user profiles:
• ShareInternalArticles (Share internal Knowledge articles externally)
• HideReadByList (Hide the Seen By List)
• RecordVisibilityAPI (Enable RecordVisibility API)
• AssignTopics (Assign Topics)
• CanVerifyComment (Verify Answers to Chatter Questions)
• CloseConversations (Close Conversation Threads)
• EditTopics (Edit Topics)
• CreateTopics (Create Topics)
• DeleteTopics (Delete Topics)
• MergeTopics (Merge Topics)
• PrivacyDataAccess (Allow user to access privacy data)
• ModifyDataClassification (Modify Data Classification)
• UseAnyApiClient (Use Any API Client)
• CanApproveFeedPost (Can Approve Feed Post and Comment)

Note: These permissions are still available in guest user profiles created in orgs before Spring ’20, but are off by default.

323
Salesforce Spring ’20 Release Notes Guest User: New Guest User Access Setting and Removed
Retired Permissions

Opt Out of Guest User Security Policies Before Summer ’20 (Critical Update)
By activating this update, you opt out of three policies aimed at increasing your data security with regards to guest, or unauthenticated,
users. Activating this critical update opts your org out of having the following settings automatically enabled with the Summer ’20
release: Secure guest user record access, Assign new records created by guest users to the default owner, and Assign new
records created by Salesforce Sites guest users. If your org already has these settings enabled, activating this critical update doesn’t
change your configuration.
Where: This change applies to orgs with active communities in Enterprise, Essentials, Unlimited, Performance, and Developer editions.
When: The Secure guest user record access, Assign new records created by guest users to the default owner, and Assign new
records created by Salesforce Sites guest users settings are automatically enabled with the Summer ’20 release. This critical update
gives you the extra time you may need to get ready. If you opt out of these settings for the Summer ’20 release, you must comply with
our new guest security policies before Winter ’21, when they are enforced on all orgs.
How: To opt out of automatically enabling these settings, activate the critical update. To access the settings in the UI to see if they are
enabled or not:
• From Setup, enter Sharing Settings in the Quick Find box. Select Sharing Settings. You can see the Secure guest user
record access checkbox on the page.
• From Setup, enter Communities Settings in the Quick Find box, then select Communities Settings. You can see the
Assign new records created by guest users to the default owner checkbox on the page.
• From Setup, enter Sites in the Quick Find box, then select Sites. You can see the Assign new records created by Salesforce
Sites guest users checkbox on the page.

Important: Activating this critical update only affects orgs that don’t have these settings enabled. If your org already has these
settings enabled, activating this critical update doesn’t change your configuration.

SEE ALSO:
Salesforce Help: Secure Guest Users’ Sharing Settings and Record Access
Salesforce Help: Assign Records Created by Guest Users to a Default User in the Org
Critical Updates and Security Alerts

Opt Out of Turning Off Community-Specific Setting for Guest Users to See Other
Members (Critical Update)
By activating this critical update, you opt out of turning off the community-specific Let guest users see other members of this
community setting in the Winter ’21 release.
Where: This change applies to Salesforce orgs with active public communities in Enterprise, Essentials, Unlimited, Performance, and
Developer editions.
When: The Let guest users see other members of this community setting is automatically disabled in all communities in Winter
’21. This critical update gives you the extra time you may need to get ready.
How: Before Winter ’20, the Community User Visibility setting, when enabled, allowed guest users and authenticated community
users to see each other within the community. In the Winter ’20 release, we introduced a new community-specific setting, Let guest
users see other members of this community, that lets admins control guest user visibility independently from community user
visibility.
Depending on your security configuration, this setting might allow a guest user, essentially anyone on the internet, to access community
users’ personally identifying information. This can include first and last name, email, custom, and other fields.

324
Salesforce Spring ’20 Release Notes Guest User: New Guest User Access Setting and Removed
Retired Permissions

To protect your customer data and privacy, Salesforce is turning off the Let guest users see other members of this community
setting for all communities.
Depending on your business needs, enabling this setting and allowing guest users to see one another may be required for your site to
function properly. Therefore, we are asking that you reassess and validate the need to enable Let guest users see other members of
this community for each community. If you have one or more communities that must have this setting turned on, activate this critical
update to opt out of the Winter ’21 update. However, we encourage you to work towards modifying your site's customization to allow
this setting to be disabled. Limiting guest user visibility is a Salesforce security best practice.
If you don’t activate this critical update, the Let guest users see other members of this community setting is turned off on all your
communities (not just the ones created after Winter ’20). Make sure to assess all the communities in your org, including the ones created
after Winter ’20.
If you turn off the Let guest users see other members of this community setting on your own on all your communities, and test
your implementation, then you aren’t impacted by the Winter ’21 release.

SEE ALSO:
Salesforce Help: Control User Visibility in Your Community or Portal
Salesforce Help: Community User Visibility Best Practices for Guest Users

Ensure That Your Guest User Sharing Rules Provide Intended Access
To increase the security of your data, we added a reminder about user access that is displayed when you create guest user sharing rules.
By creating a guest user sharing rule, you’re allowing immediate and unlimited access to all records matching the sharing rule’s criteria
to anyone, because this sharing rule type grants access to guest users without login credentials. To secure your Salesforce data and
ensure that community guest users see what they need, consider all the use cases and implications of creating guest user sharing rules.
Implement security controls that you think are appropriate for the sensitivity of your data. Salesforce is not responsible for any exposure
of your data to unauthenticated users based on this change from default settings.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions.
How: From Setup, enter Sharing Settings in the Quick Find box, then select Sharing Settings. Under Other Settings, ensure
that the Secure guest user record access setting is enabled. In the Sharing Rules related list for the object, click New and select the Guest
user access, based on criteria rule type. The reminder is displayed whenever this sharing rule type is selected.

SEE ALSO:
Salesforce Help: Secure Your Community or Portal
Salesforce Help: Create Sharing Rules

Ensure Guest User Access to Emails Created with Visualforce Email Templates
Protect access to your company’s data when you send emails that use Visualforce Classic email templates to guest users. Review and
update these templates so that they can still be used.

325
Salesforce Spring ’20 Release Notes Security and Sharing: Apple ID Login, Text Message Identity
Verification, and Lightning Locker Toggle

Where: This change applies to Salesforce orgs with active public communities, sites, and portals in Enterprise, Performance, Unlimited,
and Developer editions.
When: This security policy released in Summer ’20 and is immediately enforced.
Who: This change applies to Visualforce email templates that target guest users in communities.
Why: Emails that use Visualforce email templates send information based on a user’s access to Salesforce data. But because data access
for guest users is limited in Salesforce, the template doesn’t work.

Important: Assess the impact of the guest security policy and, if necessary, update Visualforce email templates sent to guest
users.
How: Add an attribute to the emailTemplate tag in your Visualforce email template.
1. Ensure that you have the Author Apex user permission.

Note: Any user who creates or updates Visualforce email templates must have this permission.

2. Open a Visualforce email template and add this attribute to the emailTemplate tag:
renderUsingSystemContextWithoutSharing="True"

3. Save the template.

SEE ALSO:
Update Visualforce Email Templates for Guest Users
Salesforce Help: Create Visualforce Email Templates in Salesforce Classic

Security and Sharing: Apple ID Login, Text Message Identity Verification,


and Lightning Locker Toggle
Community and portal users can now log in using their Apple ID. You can now have community and portal members verify their identity
using text message. Turn Lightning Locker on or off for your community using a toggle.

IN THIS SECTION:
Let Community Users Log In with Their Apple ID
Users can now log in to communities with their Apple ID when you use the new Apple authentication provider.
Verify Your Community Domain for External Services
Some external services require you to prove control over your community domain name. If so, the service must verify that you actually
own the domain. For example, the Sign In with Apple service requires domain verification to allow users to log in with their Apple
ID. You can now verify your community domain from the Domains Setup page.
Verify Identity by Text Message Instead of Email
To impose a stricter identity verification policy, you can have community users verify their identity by text message if they already
verified their phone number. If users haven’t verified their phone number, Salesforce verifies their identity by email.
Switch Lightning Locker On and Off in the UI
Turn Lightning Locker on and off for all components in a community, regardless of API version, with a simple switch in Experience
Builder. The switch is available in Lightning Communities that use the Script Security level Allow Inline Scripts and Script Access to
Whitelisted Third-party Hosts.

326
Salesforce Spring ’20 Release Notes Security and Sharing: Apple ID Login, Text Message Identity
Verification, and Lightning Locker Toggle

Limit API Access to Installed Connected Apps


You can limit community and portal (external) users’ access to Salesforce APIs with a new API Access Control setting. With this setting,
external users can only access APIs if they use a connected app that is installed in your org.
Block Certain Fields in the User Record for Orgs with Communities and Portals (Security Alert and Critical Update, Enforced)
Salesforce is giving customers the option to enable a user setting that allows the hiding of certain personal information fields on
the user records in orgs with communities or portals. The fields are hidden from view when external users are accessing user records.
External users can still see their own user records. This change doesn’t apply to queries running in System Mode.
Set External Access Levels for More Standard Objects (Generally Available)
You can now set external access levels for Leads and Campaigns. The objects available for external org-wide defaults vary depending
on your Salesforce org’s licenses and other settings.
Prevent Using Standard External Profiles for Self-Registration and User Creation (Security Alert and Critical Update, Enforced)
This update restricts the use of standard external profiles for self-registration and assignment to users.

Let Community Users Log In with Their Apple ID


Users can now log in to communities with their Apple ID when you use the new Apple authentication provider.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.

SEE ALSO:
Let Users Log In to Salesforce with Their Apple ID

Verify Your Community Domain for External Services


Some external services require you to prove control over your community domain name. If so, the service must verify that you actually
own the domain. For example, the Sign In with Apple service requires domain verification to allow users to log in with their Apple ID.
You can now verify your community domain from the Domains Setup page.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.

SEE ALSO:
Verify Your Domain Name for External Services

Verify Identity by Text Message Instead of Email


To impose a stricter identity verification policy, you can have community users verify their identity by text message if they already verified
their phone number. If users haven’t verified their phone number, Salesforce verifies their identity by email.
Where: This change applies to Lightning and Salesforce Tabs + Visualforce communities accessed through Lightning Experience and
Salesforce Classic in Essentials, Enterprise, Performance, Unlimited, and Developer editions. SMS verification messaging is available in
Lightning Experience, Salesforce Classic, and all versions of the Salesforce app. The Identity Verification Credits add-on license is available
for purchase for all editions.
Who: Customers who have an Identity Verification Credits license and use device activation by text message can enable identity verification
by text message. If you don’t know your org’s limit of SMS messages for identity verification, contact your Salesforce account rep. On
external users’ profiles, the option Enable Device Activation allows external users to verify their identity by text message.

327
Salesforce Spring ’20 Release Notes Security and Sharing: Apple ID Login, Text Message Identity
Verification, and Lightning Locker Toggle

How: From Setup, in the Quick Find box, enter Identity Verification, and then select Prevent identity verification by
email when other methods are registered.

SEE ALSO:
Prevent Identity Verification by Email

Switch Lightning Locker On and Off in the UI


Turn Lightning Locker on and off for all components in a community, regardless of API version, with a simple switch in Experience Builder.
The switch is available in Lightning Communities that use the Script Security level Allow Inline Scripts and Script Access to Whitelisted
Third-party Hosts.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.
Why: Lightning Locker provides security in your community by isolating components from other components. For example, it can isolate
a component that captures password information and prevent other components from reading that data. However, sometimes you
don’t require this level of security. In the past, if you wanted to bypass the Lightning Locker security feature in your community, you
could use components based on API versions 39.0 or earlier. With the new switch, you can use components based on later API versions
and still turn off Lightning Locker in the community.
How: In Experience Builder, go to Settings > Security > Content Security Policy (CSP).

Limit API Access to Installed Connected Apps


You can limit community and portal (external) users’ access to Salesforce APIs with a new API Access Control setting. With this setting,
external users can only access APIs if they use a connected app that is installed in your org.
Where: This change applies to all communities accessed through Lightning Experience and Salesforce Classic in Professional, Enterprise,
Performance, Unlimited, and Developer editions.

328
Salesforce Spring ’20 Release Notes Security and Sharing: Apple ID Login, Text Message Identity
Verification, and Lightning Locker Toggle

How: Contact Salesforce Customer Support to enable API Access Control for your org.

SEE ALSO:
Limit API Access for External Users

Block Certain Fields in the User Record for Orgs with Communities and Portals (Security
Alert and Critical Update, Enforced)
Salesforce is giving customers the option to enable a user setting that allows the hiding of certain personal information fields on the
user records in orgs with communities or portals. The fields are hidden from view when external users are accessing user records. External
users can still see their own user records. This change doesn’t apply to queries running in System Mode.
Where: This change applies to all orgs with communities or portals.
How: Salesforce is introducing an org setting that allows for the hiding of other users' personal information in pages showing the user
record to external user profiles, and in SOSL and SOQL queries that run as external users.
The affected fields are
• Alias
• EmployeeNumber
• FederationIdentifier
• SenderEmail
• Signature
• Username
• Division
• Title
• Department
• Extension
Admins can enable the setting Hide Personal Information for the org under User Management Settings. After enabling the setting,
searches on user records don't show the affected fields of other users to external users.

Important:

Enabling the Hide Personal Information setting is a Salesforce security best practice.
Test any changes in a sandbox environment before introducing it in production.

Tip: This update is both a critical update and a security alert, and appears in both the Critical Update Console and the Security
Alerts page in Setup. To ensure a smooth transition, follow the step-by-step recommendations on the Security Alerts page.

Set External Access Levels for More Standard Objects (Generally Available)
You can now set external access levels for Leads and Campaigns. The objects available for external org-wide defaults vary depending
on your Salesforce org’s licenses and other settings.

329
Salesforce Spring ’20 Release Notes Security and Sharing: Apple ID Login, Text Message Identity
Verification, and Lightning Locker Toggle

Where: This change applies to communities accessed through Lightning Experience and Salesforce Classic in Essentials, Enterprise,
Performance, Unlimited, and Developer editions.

SEE ALSO:
Safeguard Your Data by Setting External Access Levels for the Lead and Campaign Objects (Generally Available)
Salesforce Help: External Organization-Wide Defaults Overview (can be outdated or unavailable during release preview)

Prevent Using Standard External Profiles for Self-Registration and User Creation
(Security Alert and Critical Update, Enforced)
This update restricts the use of standard external profiles for self-registration and assignment to users.
Where: This change applies to Lightning and Salesforce Tabs + Visualforce communities accessed through Lightning Experience and
Salesforce Classic in Essentials, Enterprise, Performance, Unlimited, and Developer editions.
Who: This change applies to all orgs using standard external profiles associated with the following licenses:
• BronzePartner ExternalAppsPlusLogin
• CSPLitePortal
• CustomerCommunity
• CustomerCommunityLogin
• CustomerCommunityPlus
• CustomerCommunityPlusLogin
• CustomerPortalManager
• CustomerPortalManagerCustom
• CustomerPortalManagerStandard
• ExternalAppsLogin
• ExternalAppsMember
• ExternalAppsPlusMember GoldPartner
• HighVolumeCustomerPortal
• HighVolumePortal
• IdeasOnlyPortal
• LimitedCustomerPortalMgrCustom
• LimitedCustomerPortalMgrStandard
• OverageAuthenticatedWebsite
• OverageCustomerPortalMgrCustom
• OverageCustomerPortalMgrStandard
• OverageHighVolumeCustomerPortal
• Partner
• PartnerCommunity
• PartnerCommunityLogin
• PlatformPortal
• SilverPartner AuthenticatedWebsite

330
Salesforce Spring ’20 Release Notes Other Changes in Communities

Why: This update prevents using standard external profiles for self-registration and user creation. For self-registration, we recommend
that you assign users to a cloned community profile, rather than a standard community profile. We also recommend that you use cloned
community profiles for new users.
How: To allow self-registration and user creation using standard external profiles, go to Setup > Communities Settings and enable
the new Allow standard external profiles for self-registration and assignment to users preference. [Link] and legacy portal
users can enable the preference using Metadata API.

Note: Allowing self-registration and community user setup with standard external profiles is not a Salesforce best practice. Review
the object permissions and field-level security settings for all standard external profiles before turning on the preference.

Tip: This update is both a critical update and a security alert, and appears in both the Critical Update Console and the Security
Alerts page in Setup. To ensure a smooth transition, follow the step-by-step recommendations on the Security Alerts page.

Other Changes in Communities


Learn about other changes that improve your experience with communities.

IN THIS SECTION:
Talk to Customers Where They Want with the Channel Menu
Start conversations with your customers using the channels they prefer. Customize their engagement choices in an Embedded
Channel Menu on your community or portal. Agents respond directly from their Service Console, where all the benefits of Service
Cloud are at their fingertips.
Display Warning When a Community Is Accessed with an Unsupported Browser
A new org-wide setting lets you display a warning to community users who are accessing their community with an unsupported
browser. The warning asks users to update their browser to the newest version or use another browser.
External Account Hierarchy (Beta)
Now users with Partner Community and Customer Community Plus licenses can view the records of other external users within their
account hierarchy. External account hierarchies take the complexity out of sharing data with external users.
Use a Permission Set to Assign the Delegated External User Administrator Permission
Instead of creating a user profile just for delegated external admins, use your regular profiles and assign the Delegated External User
Administrator (DEUA) permission using a permission set. Configure the list of profiles and permission sets an external user with the
DEUA permission can manage on that external user profile.
Name Change for Community Workspaces and Builder
You already use Builder and Workspaces to create incredible experiences for your customers. That’s why we changed the name of
the Community Builder and Workspaces to Experience Builder and Experience Workspaces.
Experience Workspaces Is No Longer Supported in Microsoft Internet Explorer 11
Support for working in Experience Workspaces from Microsoft Internet Explorer version 11 (IE11) ends in Spring ’20. To continue to
build your community, switch to a more secure supported browser. You can still view Lightning communities with IE11.

Talk to Customers Where They Want with the Channel Menu


Start conversations with your customers using the channels they prefer. Customize their engagement choices in an Embedded Channel
Menu on your community or portal. Agents respond directly from their Service Console, where all the benefits of Service Cloud are at
their fingertips.

331
Salesforce Spring ’20 Release Notes Other Changes in Communities

Where: This change applies to communities accessed through Salesforce Classic and Lightning Experience in Essentials, Professional,
Performance, and Unlimited editions.

SEE ALSO:
Hello! Meet the Channel Menu (Generally Available)

Display Warning When a Community Is Accessed with an Unsupported Browser


A new org-wide setting lets you display a warning to community users who are accessing their community with an unsupported browser.
The warning asks users to update their browser to the newest version or use another browser.
Where: This change applies to all communities accessed through Lightning Experience and Salesforce Classic in Enterprise, Essentials,
Performance, Unlimited, and Developer editions.
How: To disable the warning message, from Setup, enter Communities Settings in the Quick Find box, then select Communities
Settings. Clear the Display warning for unsupported browsers in Communities checkbox, and click Save.

External Account Hierarchy (Beta)


Now users with Partner Community and Customer Community Plus licenses can view the records of other external users within their
account hierarchy. External account hierarchies take the complexity out of sharing data with external users.
Where: This change applies to Lightning and Salesforce Tabs + Visualforce communities accessed through Lightning Experience and
Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

Note: As a beta feature, External Account Hierarchy is a preview and isn’t part of the “Services” under your master subscription
agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally
available products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame
or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as
is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions,
Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content
apply equally to your use of this feature. For information on enabling this feature in your org, contact Salesforce Customer Support.
Why: Like Salesforce role hierarchies, data belonging to accounts in an external account hierarchy is available to the parent accounts in
the hierarchy. This way, external users don’t have to rely on sharing rules to access data from their child accounts.
How: When your enrollment in this beta program is complete, enable external account hierarchies in Communities Settings. After you
enable the preference, the External Account Hierarchy object is available in your org.

Use a Permission Set to Assign the Delegated External User Administrator Permission
Instead of creating a user profile just for delegated external admins, use your regular profiles and assign the Delegated External User
Administrator (DEUA) permission using a permission set. Configure the list of profiles and permission sets an external user with the DEUA
permission can manage on that external user profile.
Where: This change applies to all communities accessed through Lightning Experience and Salesforce Classic in Enterprise, Essentials,
Performance, Unlimited, and Developer editions.

Name Change for Community Workspaces and Builder


You already use Builder and Workspaces to create incredible experiences for your customers. That’s why we changed the name of the
Community Builder and Workspaces to Experience Builder and Experience Workspaces.

332
Salesforce Spring ’20 Release Notes Other Changes in Communities

Where: This change applies to communities accessed through Lightning Experience and Salesforce Classic in Enterprise, Essentials,
Performance, Unlimited, and Developer editions.

SEE ALSO:
Experience Builder Overview
Manage Your Community with Experience Workspaces

Experience Workspaces Is No Longer Supported in Microsoft Internet Explorer 11


Support for working in Experience Workspaces from Microsoft Internet Explorer version 11 (IE11) ends in Spring ’20. To continue to build
your community, switch to a more secure supported browser. You can still view Lightning communities with IE11.
Where: This change applies to communities accessed through Lightning Experience and Salesforce Classic in Enterprise, Essentials,
Performance, Unlimited, and Developer editions.
How: The next time you access Experience Workspaces with IE11, a message provides you with a link to a list of the browsers that
Salesforce supports.

SEE ALSO:
Browser Support for Communities
Manage Your Community with Experience Workspaces

333
Salesforce Spring ’20 Release Notes Chatter Feeds: Absolute or Relative Time Stamps in Case
Feeds

Chatter Feeds: Absolute or Relative Time Stamps in Case Feeds


Choose how to display time stamps for case feed posts and comments.

Set the Date and Time Stamp Format for Case Feed Items
In Case feeds, you can now show users an absolute or relative date and time stamp on feed items. Show your users an absolute date
and time stamp like “January 7, 2020 at 12:15PM”, or a relative period like “10 minutes ago”.
Where: This change is available in Lightning Experience in Essentials, Group, Professional, Enterprise, Performance, Unlimited, Developer,
and Contact Manager editions.
How: There’s a new Chatter setting in Setup, Show relative timestamp. The relative time stamp is the default. To use an absolute time
stamp, clear the checkbox. In a Case feed, the setting affects the date and time stamps on posts and comments. If you navigate to a feed
item’s detail view, the time stamp is always relative. When relative time is in effect in the feed, users can see the absolute date and time
by hovering over the stamp.

SEE ALSO:
IdeaExchange: Show exact date time of Chatter post or activity in Lightning Case Console feed

Files: Retiring Support for Adobe Flash Rendition


Prepare to switch your file rendition in the Chatter REST API from Adobe Flash to SVG.

IN THIS SECTION:
Switch Your File Rendition Resource with the Chatter REST API
As of the Winter ’21 release, the Chatter REST API File Rendition resource no longer returns an Adobe Flash rendition. Instead, that
you can use an SVG rendition resource from the Chatter REST API File Preview resource.

Switch Your File Rendition Resource with the Chatter REST API
As of the Winter ’21 release, the Chatter REST API File Rendition resource no longer returns an Adobe Flash rendition. Instead, that you
can use an SVG rendition resource from the Chatter REST API File Preview resource.
As of the Summer ’20 release, the Chatter REST API File Rendition resource stops creating Adobe Flash renditions by default. To create
Adobe Flash renditions for the Summer ’20 release, contact Customer Support. But Adobe Flash renditions are unavailable as of the
Winter ’21 release.

Mobile: An Upgraded Experience for All


In Spring ’20, all active Salesforce mobile app users get upgraded to the new Salesforce mobile app. Admins and users alike can take
advantage of expanded customization options, powerful Lightning functionality, and improved performance. Mobile Publisher for
Communities gets even better with Apple Wallet access and a new app specifically for testing.

334
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

IN THIS SECTION:
New Salesforce Mobile App: A Major Upgrade, Plus Navigation and Search Improvements
In Spring ’20, all active Salesforce mobile app users, including Salesforce Classic and Lightning Experience users, get upgraded to
the new Salesforce mobile app. Get quick access to the items you use the most with a customizable navigation bar and a new
Einstein Analytics navigation item. Search enhancements and Einstein Voice Assistant (Beta) make it easier to find what you want,
and link sharing makes it easier to share it.
Mobile Publisher for Communities: Sandbox Testing App and Apple Wallet Access
Your mobile communities get more robust with the new Mobile Publisher for Communities improvements. Make sure that your
mobile communities app works the way you want it to before publishing with the Playground app. Add passes to Apple Wallet
directly from your branded mobile communities app.
Other Mobile Enhancements: Objects, Fields, Setup Audit Trail
Out with the old and in with the new. We did some spring cleaning to keep your mobile implementations happy and healthy.

New Salesforce Mobile App: A Major Upgrade, Plus Navigation and Search
Improvements
In Spring ’20, all active Salesforce mobile app users, including Salesforce Classic and Lightning Experience users, get upgraded to the
new Salesforce mobile app. Get quick access to the items you use the most with a customizable navigation bar and a new Einstein
Analytics navigation item. Search enhancements and Einstein Voice Assistant (Beta) make it easier to find what you want, and link sharing
makes it easier to share it.

IN THIS SECTION:
Welcome to the New Salesforce Mobile App
The new Salesforce mobile app is going prime time! The new app debuted in Winter ’20. In Spring ’20, all active Salesforce mobile
app users, including Salesforce Classic and Lightning Experience users, get upgraded to the new Salesforce mobile app. Admins get
access to more customization options on page 443. End users get an intuitive UI, faster performance, and familiar Lightning features
that make switching between desktop and mobile easier than ever.
Everything That’s New in the New Salesforce App
Our latest round of new and improved Salesforce app features makes it easier to access Salesforce on the go.
App Store and Google Play Updates
Although major releases bring major changes to the Salesforce mobile app, we’re always working to improve your mobile experience.
We sometimes make smaller but still mighty changes that we can’t wait to share with you, so we release them in App Store® and
Google Play™ updates. Learn about our latest release in Salesforce Help.
Enable the New Salesforce Mobile App (Critical Update)
This update upgrades all mobile users to the new Salesforce mobile app.

Welcome to the New Salesforce Mobile App


The new Salesforce mobile app is going prime time! The new app debuted in Winter ’20. In Spring ’20, all active Salesforce mobile app
users, including Salesforce Classic and Lightning Experience users, get upgraded to the new Salesforce mobile app. Admins get access
to more customization options on page 443. End users get an intuitive UI, faster performance, and familiar Lightning features that make
switching between desktop and mobile easier than ever.
Where: This change applies to Lightning Experience, Salesforce Classic, and the Salesforce mobile app for iOS and Android in all editions,
except [Link].

335
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

When: Lightning-powered customization options will be available when Spring ’20 rolls out to your org. If your users are running the
most recent version of the Salesforce mobile app available in the App Store or Google Play, they’ll see improved navigation and Lightning
features. All other changes, including Einstein Voice Assistant (Beta), search Recommended Result, and the Einstein Analytics navigation
item, will be available in a mobile app update the week of February 17, 2020.
Why: In Spring ’20, you get everything from Winter ’20 with a few enhancements, based on your feedback.
The new Salesforce mobile app is yours, automatically on page 348
You don’t have to turn on your Lightning Experience org preference or assign the New Salesforce Mobile App user permission to
access the new app admin or end-user experience.
Essentials is now supported
Essentials users, rejoice! It’s your turn to experience the productivity-boosting functionality and styling of the new Salesforce mobile
app.
The navigation bar is more customizable on page 341
In a Lightning app, the first four items of your mobile navigation bar reflect the first four tabs of your desktop navigation bar. In the
Mobile Only app, the first four items of your mobile navigation bar reflect the first four tabs in your mobile navigation menu. Previously,
all but the first item in the navigation bar was fixed.
Notifications, search, and favorites have new homes
You can search and view notifications from the top right of the mobile app. You can view your favorites list from the profile menu.
Previously, the search, notification, and favorites list icons were located in the navigation bar.

SEE ALSO:
Salesforce Winter ’20 Release Notes: Get Ready for the New Salesforce Mobile App
Knowledge Article: New Salesforce Mobile App Automatic Upgrade FAQ

Everything That’s New in the New Salesforce App


Our latest round of new and improved Salesforce app features makes it easier to access Salesforce on the go.
The new Salesforce mobile app is available for all editions, except [Link], without an additional license. Your org’s Salesforce
edition and licenses, as well as a user’s assigned profile and permission sets, determine the Salesforce data and features that are available
to each user.
Lightning-powered customization options will be available when Spring ’20 rolls out to your org. If your users are running the most
recent version of the Salesforce mobile app available in the App Store or Google Play, they’ll see improved navigation and Lightning
features. All other changes, including Einstein Voice Assistant (Beta), search Recommended Result, and the Einstein Analytics navigation
item, will be available in a mobile app update the week of February 17, 2020.

Salesforce Set Up in
Salesforce Salesforce for
Salesforce App Enhancements and Changes Mobile the Full
for Android iOS
Web Site
Browser and Operating System

Salesforce Mobile App Requirements

Support Has Changed for the New Salesforce Mobile App Tablet
Experience

Plan for Salesforce Mobile Web Browser Experience’s Retirement

Einstein Analytics

336
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

Salesforce Set Up in
Salesforce Salesforce for
Salesforce App Enhancements and Changes Mobile the Full
for Android iOS
Web Site
Access Einstein Analytics on the Go With the New Mobile Navigation
Item

Data Access and Views

Mobile Cards Are Not Available in the New Salesforce Mobile App

Navigation and Actions

Customize More of the Navigation Bar

Search

See More Details When You Search

Find the Right Record Fast with Recommended Result on Mobile (Beta)

Sales Features

Account and Opportunity Team Related List Customization Supported


on Mobile Devices

Update Paths with Dependent Picklists on Mobile Devices

Productivity Features

Get Your Colleagues on the Same Page with Link Sharing

Boost Productivity for Your Mobile Users with Einstein Voice Assistant
(Beta)

Access and Security

Shield Your Data with Enhanced Mobile Security Updates

Setup

Enable the New Salesforce Mobile App (Critical Update)

Ongoing Enhancements

App Store and Google Play Updates

App Store and Google Play Updates


Although major releases bring major changes to the Salesforce mobile app, we’re always working to improve your mobile experience.
We sometimes make smaller but still mighty changes that we can’t wait to share with you, so we release them in App Store® and Google
Play™ updates. Learn about our latest release in Salesforce Help.
224.010
This version of the Salesforce mobile app is available the week of March 2, 2020.
224.020
This version of the Salesforce mobile app is available the week of March 16, 2020.

337
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

224.030
This version of the Salesforce mobile app is available the week of March 30, 2020.

Salesforce Mobile App Requirements


Salesforce is revising the requirements for using the Salesforce mobile app for Android, iOS, and mobile web. Learn about the mobile
platform requirements and the devices that we use for feature and performance testing as we continue to improve the Salesforce
experience.

Mobile Platform Requirements


Users can run the Salesforce mobile app on mobile devices that meet these mobile platform requirements.

Operating System and Version Requirements Mobile Browser Requirements *

Android 6.0 or later Google Chrome on Android

iOS 12.0 or later Apple Safari on iOS

* The latest mobile browser version is required. Mobile browser requirements apply to Salesforce mobile web only.
To allow for innovation and to keep Salesforce current in the rapidly evolving mobile market, minimum platform requirements are subject
to change at the sole discretion of Salesforce, with or without advance notice.

Mobile Devices Used for Salesforce Testing


Salesforce performs automated and manual testing of the Salesforce mobile app for Android, iOS, and mobile web on a select set of
mobile devices. For the Spring ’20 release, we used these devices for testing.

Platform Phones Tablets


Android • Google Pixel 4 / Pixel 4 XL • Samsung Tab A 9.7
• Google Pixel 3 • Samsung Tab A 8.0
• Google Pixel 2 / Pixel 2 XL
• Samsung Galaxy S10 / S10+
• Samsung Galaxy S9 / S9+
• Samsung Galaxy S8
• Samsung Galaxy S7
• Samsung Galaxy Note 9
• Samsung Galaxy Note 8

iOS • iPhone 11 Pro Max • iPad Pro 12.9” (2nd Generation)


• iPhone 11 Pro • iPad Pro 10.5”
• iPhone 11 • iPad Pro 9.7”
• iPhone XS Max • iPad 2017 (5th Generation)
• iPhone XR • iPad Air 2

338
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

Platform Phones Tablets

• iPhone X • iPad Mini 4


• iPhone 8 / 8 Plus
• iPhone 7 / 7 Plus
• iPhone 6 / 6 Plus

Customers aren’t blocked from using the Salesforce mobile app on untested devices that meet current platform requirements. Salesforce
might not be able to replicate some issues for customers using the Salesforce mobile app on untested devices due to manufacturer-specific
customizations.
To allow for innovation and to keep Salesforce current in the rapidly evolving mobile market, the list of Salesforce-tested devices is
subject to change at the sole discretion of Salesforce, with or without advance notice.

Salesforce Mobile App Updates


Customers whose devices meet current minimum platform requirements are eligible to receive Salesforce mobile app feature updates
and fixes.
Our goal is to release Salesforce mobile feature and functionality updates to coincide with each Salesforce major release. This information
is provided to help with your release planning, but is subject to change at Salesforce’s discretion.
Salesforce Mobile Web
Enhanced features and functionality are automatically available with each Salesforce major release.
Salesforce Mobile App for Android and iOS
Enhanced features and functionality are provided in major version updates. We aim to release a new major version of the Salesforce
mobile app for Android and iOS after the completion of each Salesforce major release to all production instances. The timeframe in
which a new major version is released varies and can be affected by factors outside of Saleforce’s control, including new requirements
from Apple or Google or changes to the iOS or Android operating systems.
Customers can install new major and bug fix versions from the App Store and Google Play as long as their mobile devices meet
Salesforce’s current minimum mobile operating system requirements. If a device is running an older operating system, updated
versions of the Salesforce mobile app don’t appear in Google Play or the App Store.

Customer Support Services for the Salesforce Mobile App


Salesforce Customer Support uses commercially reasonable efforts to troubleshoot issues with the Salesforce mobile app, provided:
• A user’s device meets current minimum platform requirements
• Salesforce for Android and iOS users have the most recent version installed
When customers run the Salesforce mobile app on Salesforce-tested devices, it’s more efficient for us to troubleshoot issues. For customers
using untested devices, even those meeting minimum platform requirements, we might not be able to replicate some issues due to
device manufacturer-specific customizations.
Running the Salesforce mobile app on older devices or devices with low computation and memory capabilities can adversely affect
performance, compared to performance on Salesforce-tested devices.
Because we enhance functionality with every release, customers should install the latest update of the Salesforce mobile app available
in Google Play or the App Store. We can only support the latest version.

339
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

Support Has Changed for the New Salesforce Mobile App Tablet Experience
Admins who opted in to the new Salesforce mobile app during the pilot or in Winter '20 can choose whether all tablet users in the org
see the new tablet experience or the previous tablet experience. Previously, Salesforce mobile app users who had the app installed on
a tablet were limited to the new tablet experience. If you didn’t opt in to the new Salesforce mobile app, all users in your org will continue
to see the previous Salesforce mobile app tablet experience.
Where: This change applies to the new Salesforce mobile app for iOS and Android installed on tablets in all editions, except [Link].
Who: This change applies to all tablet users in orgs that previously opted in to the new Salesforce mobile app.
Why: The new Salesforce mobile app has a narrow view on tablets instead of the full-screen view that was in the previous mobile app.
We learned that some admins prefer the full-screen view, which is not supported in the new tablet experience. Now admins who opted
in to the new Salesforce mobile app during the pilot or in Winter ’20 can toggle the new tablet experience on and off for all users in the
org.
If you didn’t opt in to the new Salesforce mobile app during the pilot or in Winter ’20, the narrow view is unavailable.
If you have iPad users, check out the Lightning Experience on iPad browsers (beta) feature for another way to use Salesforce on the go.
How: To toggle the new Salesforce mobile app tablet experience, go to Setup. Enter QuickStart in the Quick Find box, then select
New Salesforce Mobile App Quickstart. Look for the New Salesforce Mobile App for Tablet section.

SEE ALSO:
Salesforce Help: Lightning Experience on iPad Browsers (Beta) (can be outdated or unavailable during release preview)

Plan for Salesforce Mobile Web Browser Experience’s Retirement


Mobile web browser access to Salesforce is scheduled to retire with the Summer ’20 release. For more information, see Salesforce Mobile
Web Experience Retirement. To access Salesforce from a mobile device, use the downloadable Salesforce mobile app from Google Play
or the App Store or use Lightning Experience on iPad Browsers.
Where: This change applies to the Salesforce Mobile Web in all editions, except [Link].

Access Einstein Analytics on the Go With the New Mobile Navigation Item
Salesforce for iOS users now have a home base for their Einstein Analytics lenses and dashboards with the new Analytics navigation item
for Lightning apps. With the new item users can run and browse their apps, add assets to their favorites, and share links to their assets
with email, SMS, and more. With more functionality in the Salesforce app, Einstein Analytics users don’t have to switch between apps
to complete important business tasks.
Where: This change applies to the new Salesforce mobile app for iOS. Einstein Analytics is available in Developer Edition and for an extra
cost in Enterprise, Performance, and Unlimited editions.
When: The new navigation item will be available the week of February 17, 2020.
How: Admins can add the Analytics navigation item to Lightning apps in the Lightning App Builder. Analytics does not show up in the
Mobile Only navigation item list in the App Launcher.

SEE ALSO:
Use Einstein Analytics in the New Salesforce Mobile App

340
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

Mobile Cards Are Not Available in the New Salesforce Mobile App
Mobile cards were available in the page layout editor and appeared in a record’s related information page in the previous Salesforce
mobile app. They don’t appear in the new Salesforce mobile app, so you can take advantage of more powerful Lightning customization
options instead.
Where: This change applies to the new Salesforce mobile app in all editions, except [Link].
Why: News, Twitter, and Visualforce mobile cards have been replaced with Lightning components, which are available across desktop
and mobile form factors. Many Expanded Lookups can be recreated with the Related Record component. The Related Record component
not only displays the details of a related record, including the details of a parent record, but also allows your users to update the related
record.
How: News and Twitter Lightning components work automatically in the new Salesforce mobile app.
To replace a Visualforce mobile card, add a Visualforce component to your Lightning page, then configure the component to point to
the desired mobile-enabled Visualforce page. To enable your Visualforce page for mobile, ensure that the Available for Lightning
Experience, Lightning Communities, and the mobile app checkbox is selected in the page’s details.
To replace an Expanded Lookup, add a Related Record component to your Lightning page, then specify a Lookup Field and an Update
Action. If no actions are available for your lookup, follow the links in the Lightning App Builder property editor to create an action. To
change the displayed fields for the Related Record component, customize the associated action in Setup.

SEE ALSO:
Salesforce Help: Standard Lightning Page Components

Customize More of the Navigation Bar


Put users’ frequently used items within easy reach. Now you can customize the first four items in the navigation bar at the bottom of
the screen. Previously, you could customize only the first item.
Where: This change applies to the new Salesforce mobile app for iOS and Android in all editions, except [Link].
Why: In the previous navigation bar, the Favorites, Search, and Notifications items couldn’t be changed. Now the search and notifications
icons live at the top of the screen, like they do in the desktop version of Lightning Experience. Your favorites list is in the profile menu.
These changes free up your navigation bar for the items that make you most productive.
How: The two navigation experiences in the new Salesforce mobile app are customized differently.
For users in the Mobile Only app, the first four items in the navigation bar are the first four items of the navigation menu. Add Lightning
pages, Visualforce pages, Lightning components, and other productivity items to the navigation menu in Setup. Enter Navigation
in the Quick Find box, then select Salesforce Navigation.

341
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

For users in a Lightning app, the first four items in the navigation bar are the first four items in the navigation bar of the desktop version
of the app. The complete list of desktop navigation bar items is in the mobile navigation menu. If a user has permission to customize
the navigation bar on desktop, the changes sync to the mobile navigation menu and navigation bar.

342
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

SEE ALSO:
Salesforce Help: Customize the Salesforce Mobile App Navigation Menu (can be outdated or unavailable during release preview)

See More Details When You Search


When you search, the instant results you get as you type show more information, just like they do in Lightning Experience desktop. The
extra information can help you figure out which result is the one you want.
Where: This change applies to the new Salesforce mobile app for iOS and Android in all editions except [Link].
When: This change will be available the week of February 17, 2020.
Why: When you search for a record with a common name, the search results can all look alike. Is that Acme account for the office in
Hoboken, or the one in Hackensack? Now, the search results that are shown as you type make it clear. The secondary field from the
search results layout appears next to the object name, giving you extra context about a record.

343
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

How: To choose the secondary field for an object, go to the Object Manager in Setup. Select an object, then select Search Layouts.
Edit the Search Results layout. The second supported field in the layout is the secondary field. Not all fields are supported.

SEE ALSO:
Salesforce Help: Configure Search Results in Lightning Experience (can be outdated or unavailable during release preview)

Find the Right Record Fast with Recommended Result on Mobile (Beta)
When a record is likely to be just what your users are looking for, it now gets highlighted in Top Results.
Where: This change applies to the new Salesforce mobile app for iOS and Android in Unlimited, Enterprise, and Performance editions.

Note: As a beta feature, Einstein Search is a preview and isn’t part of the “Services” under your master subscription agreement
with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available
products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all,
and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t
supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce
reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply
equally to your use of this feature. You can provide feedback and suggestions for Einstein Search in the Trailblazer Community.
Who: Recommended Result requires the Einstein Search permission set license.

344
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

SEE ALSO:
Salesforce Help: Set Up and Manage Einstein Search Features (Beta)(can be outdated or unavailable during release preview)

Account and Opportunity Team Related List Customization Supported on Mobile


Devices
Customize related lists for account and opportunity teams to help reps collaborate more effectively. Previously, customizations weren’t
displayed to mobile users.
Where: This change applies to Lightning Experience and all versions of the new Salesforce mobile app in Enterprise, Performance,
Unlimited, and Developer editions.

SEE ALSO:
Account and Opportunity Team Related List Customization Is Supported

Update Paths with Dependent Picklists on Mobile Devices


Boost reps’ productivity when they use their phones to work opportunities. Paths now support dependent picklists in the Salesforce
mobile app, so that sales teams can complete dependent fields as they move through a path. Reps no longer have to open and edit
each record separately to complete fields. Previously, dependent picklist fields were available on paths only in Lightning Experience.
Where: This change applies to the new Salesforce mobile app in Essentials, Group, Professional, Enterprise, Performance, Unlimited, and
Developer editions.

345
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

How: When you use dependent picklists in a path, and a rep selects a stage containing a child picklist, the rep is prompted to enter a
value.

SEE ALSO:
Salesforce Help: Define Dependent Picklists (can be outdated or unavailable during release preview)
IdeaExchange: Path on Salesforce1 Not Showing Dependent Fields

Get Your Colleagues on the Same Page with Link Sharing


Collaboration is key, and it can get challenging when you're not in the office. With the new share icon, it’s easy to share record pages,
list view pages, object home pages, and Lightning app pages with a colleague, right from the Salesforce mobile app.
Where: This change applies to the new Salesforce mobile app for iOS and Android in all editions, except [Link].
Why: We learned users were finding creative ways to share pages with colleagues: screenshots, elaborate search instructions, copying
and pasting, interpretive dance. Now, all it takes is a tap or two, and users can share a Lightning URL to a Salesforce page using their
device’s native share sheet.

How: The share icon appears automatically on shareable pages, including record pages, list view pages, object home pages, and Lightning
app pages. However, you can disable link sharing for your org by adding a connected app custom attribute. In Setup, search for
Connected Apps and select Manage Connected Apps. Click the name of the connected app you want to modify. In the Custom
Attributes section on the connected app page, click New, then enter ENABLE_SHARE for the attribute key and “false” for the
attribute value.

SEE ALSO:
Salesforce Help: Control Access and Security for the Salesforce App (can be outdated or unavailable during release preview)

346
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

Boost Productivity for Your Mobile Users with Einstein Voice Assistant (Beta)
With Einstein Voice Assistant, your users can get more done while they’re on the go by speaking in to their mobile phone. From the new
Salesforce mobile app, they can ask Einstein to make changes to Salesforce, like logging events, creating contacts, and updating
opportunities.
Where: This feature is available in the new Salesforce mobile app for iOS and Android in Professional, Enterprise, Unlimited, and Developer
editions. Setup for this feature is available in Lightning Experience.

Note: As a beta feature, Einstein Voice Assistant is a preview and isn’t part of the “Services” under your master subscription
agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally
available products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame
or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as
is, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce reservation
of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply equally to your
use of this feature. For information on enabling this feature in your org, contact your Account Executive. To provide feedback on
Einstein Voice Assistant, contact Salesforce Customer Support.
When: You can use Einstein Voice Skills to create voice skill sets right away. Your changes become visible to mobile users the week of
February 17, 2020.
Who: Einstein Voice Assistant will initially be available to most orgs already using an Einstein product. Within eligible orgs, users with a
Salesforce license can use Einstein Voice Assistant.
Why: Users can access Einstein Voice Assistant from a convenient navigation item in the new Salesforce mobile app navigation bar. In
the default mobile app navigation experience, called Mobile Only, Einstein Voice Assistant is always the leftmost item in the navigation
bar.

SEE ALSO:
Einstein Voice Assistant: Get More Done on the Run (Beta)
Customize More of the Navigation Bar

Shield Your Data with Enhanced Mobile Security Updates


More protection has been built into the enhanced mobile security for the Salesforce mobile app. You can now enforce new policies
such as disabling microphone or camera usage to further secure your Salesforce app data and users’ personal data.
Where: Available for an extra cost for the new Salesforce mobile app in all editions, except Essentials and [Link].
When: This change will be available the week of February 17, 2020.
Who: Available for users with the Enforce Enhanced Mobile App Security user permission.
Why: Updates to enhanced mobile security include enabling malware detection (Android only) and blocking the use of a debugger,
microphone, or camera (iOS only).
How: In Setup, search for Connected Apps and select Manage Connected Apps. Select the app that you want to modify, and
add and configure policies as custom attributes.

347
Salesforce Spring ’20 Release Notes New Salesforce Mobile App: A Major Upgrade, Plus
Navigation and Search Improvements

SEE ALSO:
Salesforce Mobile App Security Guide (can be outdated or unavailable during release preview)

Enable the New Salesforce Mobile App (Critical Update)


This update upgrades all mobile users to the new Salesforce mobile app.
Where: This change applies to the new Salesforce mobile app for iOS and Android in all editions, except [Link].
Why: With this update, all active Salesforce mobile app users, including both Salesforce Classic and Lightning Experience users, will be
upgraded to the new Salesforce mobile app. Users don’t need to download a new version of the Salesforce mobile app for iOS or the
Salesforce mobile app for Android to get the new experience.
How: To get ready for the transition, we recommend that you use the tools on the New Salesforce Mobile App QuickStart page in Setup.
Run the Salesforce Optimizer for Mobile Lightning Pages Report (Beta) to see how your custom Lightning pages will be affected by the
transition, and get recommendations to fine-tune the mobile experience. Then use our tools to update your Lightning apps and pages
for mobile.

SEE ALSO:
Critical Updates and Security Alerts

348
Salesforce Spring ’20 Release Notes Mobile Publisher for Communities: Sandbox Testing App and
Apple Wallet Access

Mobile Publisher for Communities: Sandbox Testing App and Apple Wallet
Access
Your mobile communities get more robust with the new Mobile Publisher for Communities improvements. Make sure that your mobile
communities app works the way you want it to before publishing with the Playground app. Add passes to Apple Wallet directly from
your branded mobile communities app.

IN THIS SECTION:
Test Your Mobile Communities with the Playground App (Beta)
You can quickly test and preview the in-app experience of your communities before publishing your app with the Playground app.
The app is a non-branded version of the Mobile Publisher for Communities app.
Add a Pass to Apple Wallet (iOS Only)
Your users can now add a pass to their Apple Wallet from your branded mobile communities app.

Test Your Mobile Communities with the Playground App (Beta)


You can quickly test and preview the in-app experience of your communities before publishing your app with the Playground app. The
app is a non-branded version of the Mobile Publisher for Communities app.
Where: This change applies to Lightning communities accessed through Lightning Experience in Enterprise, Performance, Unlimited,
and Developer editions.

Note: We provide this app to customers through a Beta program that activates the app for sandbox orgs. To activate the app,
contact your Salesforce sales rep to obtain a courtesy license or log a case in [Link] Because Beta
programs are subject to change, we can’t guarantee acceptance. This Beta app isn’t generally available, as referenced in this
document or in press releases or public statements. We can’t guarantee general availability within any particular time frame or at
all. Make your purchase decisions only on the basis of generally available features.
When: This Beta app is available in the Spring ‘20 release.
Who: Available for users who request and obtain a courtesy license. Contact your Salesforce sales rep for more information.
Why: We want to make sure that you can test the functionality of your mobile communities before applying your company’s branding
assets.
How: The Playground app supports most of the features and functionality of the fully branded Mobile Publisher for Communities app.
• Persistent login
• Face ID / Touch ID
• Push Notifications
• Upload a file
• Download a file
• Share a file

349
Salesforce Spring ’20 Release Notes Other Mobile Enhancements: Objects, Fields, Setup Audit
Trail

The Playground app is available for iOS and Android.

Add a Pass to Apple Wallet (iOS Only)


Your users can now add a pass to their Apple Wallet from your branded mobile communities app.
Where: This change applies to Lightning communities accessed through Lightning Experience in Enterprise, Performance, Unlimited,
and Developer editions.
When: This change will be available the week of February 17, 2020.

Other Mobile Enhancements: Objects, Fields, Setup Audit Trail


Out with the old and in with the new. We did some spring cleaning to keep your mobile implementations happy and healthy.

350
Salesforce Spring ’20 Release Notes Other Mobile Enhancements: Objects, Fields, Setup Audit
Trail

IN THIS SECTION:
MobileSession Object Was Removed
MobileSession was used by the Salesforce Classic Mobile app, but hasn’t been functional since we retired Salesforce Classic Mobile
in Winter ’18. If you have existing custom reports or custom report types that pull Mobile Session data, they may return no results
or generate an error. We recommend deleting these reports or types.
Apex Mobile User (Salesforce Internal Use Only) Field Was Removed
The Apex Mobile User (Salesforce Internal Use Only) field, previously named Salesforce Classic User, represented users of the Salesforce
Classic Mobile app, but hasn’t been functional since we retired Salesforce Classic Mobile in Winter ’18. The API name for this field
was UserPermissionsMobileUser. List views and reports that use this field may return different results than expected or generate an
error. Review and, if necessary, edit the criteria for these list views and reports to ensure that your results meet your requirements.
Track Changes to Connected App and Notification Delivery Settings
We added items to the Setup Audit Trail to help you track important mobile and notification updates in Salesforce. Now you can
track changes to your connected app’s PIN length and inactivity timeout length. You can also track changes to your notification
delivery settings for custom and standard notification types, including changes to mobile, desktop, and connected app delivery
settings.

MobileSession Object Was Removed


MobileSession was used by the Salesforce Classic Mobile app, but hasn’t been functional since we retired Salesforce Classic Mobile in
Winter ’18. If you have existing custom reports or custom report types that pull Mobile Session data, they may return no results or
generate an error. We recommend deleting these reports or types.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions.

SEE ALSO:
Salesforce Winter ’18 Release Notes: Salesforce Mobile Classic App to Retire in December 2017

Apex Mobile User (Salesforce Internal Use Only) Field Was Removed
The Apex Mobile User (Salesforce Internal Use Only) field, previously named Salesforce Classic User, represented users of the Salesforce
Classic Mobile app, but hasn’t been functional since we retired Salesforce Classic Mobile in Winter ’18. The API name for this field was
UserPermissionsMobileUser. List views and reports that use this field may return different results than expected or generate an error.
Review and, if necessary, edit the criteria for these list views and reports to ensure that your results meet your requirements.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions.

SEE ALSO:
Salesforce Winter ’18 Release Notes: Salesforce Mobile Classic App to Retire in December 2017

Track Changes to Connected App and Notification Delivery Settings


We added items to the Setup Audit Trail to help you track important mobile and notification updates in Salesforce. Now you can track
changes to your connected app’s PIN length and inactivity timeout length. You can also track changes to your notification delivery
settings for custom and standard notification types, including changes to mobile, desktop, and connected app delivery settings.
Where: You can track connected app changes in the Setup Audit Trail in Lightning Experience and Salesforce Classic in Contact Manager,
Essentials, Group, Professional, Enterprise, Performance, Unlimited, and Developer editions. You can track changes to notification delivery

351
Salesforce Spring ’20 Release Notes Salesforce Sustainability Cloud: Trusted Platform to Achieve
Carbon Neutrality

settings in the Setup Audit Trail in Lightning Experience in Contact Manager, Essentials, Group, Professional, Enterprise, Performance,
Unlimited, and Developer editions.

SEE ALSO:
Monitor More Changes in the Setup Audit Trail

Salesforce Sustainability Cloud: Trusted Platform to Achieve Carbon


Neutrality
Gain critical insights about your carbon footprint. Using global emission factors to calculate greenhouse gas emissions, Sustainability
Cloud helps you collect, categorize, and analyze energy usage and greenhouse gas emissions data throughout your organization’s
business activities. And because it’s built on top of the Salesforce Lightning Platform, you have access to tools that facilitate collaboration,
project management, and reporting.
For the latest information, see the monthly release notes on the Sustainability Cloud Trailblazer or Sustainability Cloud Partner community.

IN THIS SECTION:
Report and Reduce Your Carbon Footprint
Sustainability Cloud streamlines carbon footprint data capture and audit. It solves many of the issues with traditional carbon accounting:
incomplete or missing records, manual data tracking in multiple spreadsheets, and unstructured data. Data collection and auditing
activities that once took months can be reduced to weeks.

Report and Reduce Your Carbon Footprint


Sustainability Cloud streamlines carbon footprint data capture and audit. It solves many of the issues with traditional carbon accounting:
incomplete or missing records, manual data tracking in multiple spreadsheets, and unstructured data. Data collection and auditing
activities that once took months can be reduced to weeks.
Where: This change applies to Lightning Experience and the Salesforce mobile app in Enterprise, Performance, and Unlimited editions.
When: Sustainability Cloud releases on December 17, 2019.
Who: Sustainability Cloud is available to users with a Sustainability Cloud license. To install and configure the app, you must have the
Customize Application and Modify All Data user permissions.
Why: Because your data is in one place, you can quickly measure your environmental impact and gain actionable insights. You can use
these insights to report the findings to your key stakeholders and determine your climate action strategy. Sustainability Cloud generally
aligns with widely used and accepted standards of greenhouse gas reporting, such as the Greenhouse Gas Protocol from the World
Resources Institute. Use it as a key tool to disclose your carbon footprint to various reporting bodies.
The app is preloaded with reference data from the:
• US Environmental Protection Agency (EPA)
• US Energy Information Administration (EIA)
• UK Department for Business, Energy & Strategy (BEIS)
• Greenhouse Gas (GHG) Protocol
The carbon inventory calculations are automated and accurate. You no longer have to check calculation accuracy in spreadsheet-driven
inventories.

352
Salesforce Spring ’20 Release Notes Industries: Easier Setup, More Flexibility, Bigger Impact

Sustainability Cloud is designed around a logical workflow process that is optimized for carbon footprinting. Sustainability Cloud guides
you through the process from start to finish: from identifying assets to be included in the carbon inventory, to reporting out data after
an external audit.
How: To obtain Sustainability Cloud, contact your account executive. Once your system administrator installs and configures the app
and provides login credentials, use the App Launcher to find and open Sustainability.

SEE ALSO:
Salesforce Help: Report and Reduce Your Carbon Footprint
Sustainability Cloud Trailblazer Community
Sustainability Cloud Partner Community

Industries: Easier Setup, More Flexibility, Bigger Impact


Our vertical solutions now include Salesforce Emergency Response Management, which helps you deliver resources and services faster
when people need it most. In Health Cloud, you get contact tracing and monitoring, plus easier setup for care plans and more options
for finding the right care provider. Financial Services Cloud brings you more visibility into distributors and a new API for creating mortgages.
Consumer Goods Cloud helps field reps maximize their impact and track stock levels, and Manufacturing Cloud offers account managers
greater control and improved visibility into sales agreements and account forecasts.

IN THIS SECTION:
Introducing Salesforce Emergency Response Management
Salesforce Emergency Response Management helps you serve your constituents and communities when they need it most. Provide
healthcare to symptomatic patients and trace and monitor potentially exposed individuals. Allocate emergency resources and
services with more speed and efficiency than ever before.
Financial Services Cloud: Mortgage APIs, Distributor Performance Management, and Action Plan Templates
Create your own mortgage process with new Mortgage business APIs. Add document checklist items to action plan templates.
Monitor distributor performance with a new dashboard, reports, and performance metrics. Clone and share your action plan templates.
Health Cloud: Emergency Management, Easier Setup for Care Plans and Programs, and More Provider Information
To help you make the world a better (and healthier) place to live in, we’ve added ways to help stop the spread of infection and
quickly provide care in a public health emergency, and we've made it easier to create and customize care plans and care programs.
We’ve also given you more ways to design provider cards and more flexibility to customize how users can search for providers, so
you can deliver information efficiently to your users. And now you can gather information about how patients and members want
to be contacted.
Consumer Goods Cloud: Optimized Visit Sequences, Stock Level Monitoring, and Improved Business Performance
Do business more effectively with your retail partners. Give your field reps a productivity boost by helping them reach stores faster.
They now have more time to build relationships with store managers and consumers. You also can ensure that your products are
never out of stock.
Manufacturing Cloud: Enrich Your Experience with Sales Agreement and Account Forecast Enhancements
Get a closer look at your sales agreements and account forecasts with additional features. Add products to an account forecast. Add
your own metrics to customize your account forecast. View revenue metrics of an account forecast in the account's currency. Filter
your sales agreements and account forecasts by products. Simultaneously update multiple values of a sales agreement metric or an
account forecast metric. Get a visual representation of your organization’s data with the provided dashboards.
Shared Industries Metadata API
Metadata API includes new types. These metadata API types apply to two or more Salesforce Industries clouds.

353
Salesforce Spring ’20 Release Notes Introducing Salesforce Emergency Response Management

Introducing Salesforce Emergency Response Management


Salesforce Emergency Response Management helps you serve your constituents and communities
EDITIONS
when they need it most. Provide healthcare to symptomatic patients and trace and monitor
potentially exposed individuals. Allocate emergency resources and services with more speed and Available in: Enterprise,
efficiency than ever before. Performance, and
Unlimited editions.
Note: Both Emergency Response Management for Public Health and Emergency Release
Management for Public Sector are available in the Spring ’20 release.

IN THIS SECTION:
Introducing Contact Tracing for Employees
With Contact Tracing for Employees, your company can manage the manual contact tracing process and track the spread of disease
while caring for your employees.
Introducing Emergency Response Management for Public Health
Mobilize your public health department to serve its constituents and communities when there’s a health emergency. Quickly triage
and evaluate patients, provide ongoing engagement and monitoring, and protect communities from further infection with contact
tracing. Use the Emergency Response community to feature different services and programs that are available for public agencies
and hospitals, such as emergency supply requests. For individuals, create programs such as food delivery services or short-term
housing requests. Using Salesforce Maps, dispatch your field responders with speed and efficiency to the locations or citizens who
need assistance. We’ve included a set of Einstein Analytics dashboards to give you powerful insights into community health so that
you can make faster and smarter decisions.
Introducing Emergency Response Management for Public Sector
Quickly deploy a single digital destination for constituents and communities to access available emergency program information
and incident updates. Use the Emergency Response community to feature different services and programs that are available for
public agencies and hospitals, such as emergency supply requests. For individuals, create assistance programs such as food delivery
services or short-term housing requests.
Emergency Response Management Has New and Changed Objects
Access more data through these new and changed Emergency Response Management objects. Emergency Response Management
for Public Health uses all the new objects and fields. Emergency Response Management for Public Sector uses the objects and fields
in the Emergency Response section of this topic.

Introducing Contact Tracing for Employees


With Contact Tracing for Employees, your company can manage the manual contact tracing process and track the spread of disease
while caring for your employees.

Note: Contact Tracing for Employees is available in the Spring ’20 release.

Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions where Contact Tracing for
Employees is enabled.
Who: To use Contact Tracing for Employees, you must have the Health Cloud and the Health Cloud Platform permission set licenses
provisioned in Salesforce. To use Contact Tracing for Employees in [Link], you must also have the Workplace Command Center
permission set license provisioned.
Why: Salesforce Contact Tracing for Employees helps you to monitor your employees, their contacts, and the events that were a source
of potential infection.

354
Salesforce Spring ’20 Release Notes Introducing Salesforce Emergency Response Management

Tracing and contacting people who were possibly exposed to an infected person is one of the most efficient ways to fight widespread
community infection. Tracers pick up tasks to evaluate employees, gather details about potentially exposed contacts, and enroll employees
in care programs. You have the employee’s status, a map of exposed contacts, and information on the person’s condition consolidated
in one place.

The employee evaluation flow gathers crucial information about a person’s condition, so that you can enroll affected employees into a
care program and monitor their health.

The Contact Tracing Graph gives you a comprehensive view of employees and external contacts so that you can trace infection by
people, places, or events. Follow up, assessment, and triage can happen without having to leave the console.
Salesforce recommends that you make contact tracing functionality available only to users who are trained on privacy best practices.
We recommend that you share contact tracing data only on a need-to-know basis.

Introducing Emergency Response Management for Public Health


Mobilize your public health department to serve its constituents and communities when there’s a health emergency. Quickly triage and
evaluate patients, provide ongoing engagement and monitoring, and protect communities from further infection with contact tracing.
Use the Emergency Response community to feature different services and programs that are available for public agencies and hospitals,
such as emergency supply requests. For individuals, create programs such as food delivery services or short-term housing requests. Using
Salesforce Maps, dispatch your field responders with speed and efficiency to the locations or citizens who need assistance. We’ve included
a set of Einstein Analytics dashboards to give you powerful insights into community health so that you can make faster and smarter
decisions.

355
Salesforce Spring ’20 Release Notes Introducing Salesforce Emergency Response Management

Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions where Emergency Management
for Public Sector is enabled.
Who: To use Emergency Response Management for Public Health, you must have the Emergency Response for Public Sector and the
Health Cloud Platform permission set license provisioned in Salesforce. Community users must have the HealthCloud for Community
and the Public Sector Community permission set licenses provisioned in Salesforce.
Why: Emergency Response Management for Public Health provides a broad range of pre-configured tools that help you respond to a
public health emergency at scale. During a public health emergency, the safety, health, and well-being of your community is your top
priority. .In the Emergency Public Health Portal, citizens can take action to get the help they need.

Citizens can see the emergency care programs that they’re enrolled in (1) and search for health care providers by specialty, location, and
other factors (2). A click of a button gives them the location of the closest emergency services (3) and access to vital information to stay
healthy and safe (4). A pre-defined chatbot dialog guides individuals through a self-assessment based on Centers for Disease Control
guidelines with the option to schedule an appointment for follow-up.
During a public health emergency, efficiency in getting individuals assessed, enrolled in a care program, and monitored is crucial. We
delivered a clinical assessment flow that gathers crucial information about an individual’s condition, so that you can make care decisions
with speed and accuracy.

Using the Emergency Response Management Console, create a consistent intake experience using guided workflows and pre-built
assessments that can quickly adapt as protocols or guidelines change.

356
Salesforce Spring ’20 Release Notes Introducing Salesforce Emergency Response Management

Once a patient is triaged and enrolled in a care program, your care teams can remotely monitor and connect patients to the right care
when called for. Care coordinators have all the information they must make sure that each patient has a program and services tailored
to their needs.

Each patient record shows actionable and comprehensive care and social services plans, personalized to each patient. Add information
about individuals the patient has been in contact with (1) and track incidents and milestones to gain insight into the patient’s condition
(2). Understand the social and environmental factors that define extra services a patient needs (3), and keep tabs on the care program
the patient is enrolled in (4). You can check the patient’s symptoms and progress as measured through the daily assessments that are
sent to patients enrolled in the emergency care program.
Tracing and then contacting individuals who may have been exposed to an infected person is one of the most efficient ways of fighting
widespread community infection. You can see the exposed contacts for every patient right from the patient record.

The Contact Tracing Graph gives you a comprehensive view of household members and social relationships so that you can trace infection
by people, places, or events. Follow up, assessment, and triage can happen without having to leave the console.
With many exposed individuals to contact, it makes sense to bring in workers or volunteers whose job it is to call those exposed contacts.

357
Salesforce Spring ’20 Release Notes Introducing Salesforce Emergency Response Management

The Contact Tracing Community gives contact tracers an easy and efficient way to pick up contact tracing tasks from a queue and work
on them. Tracers can find the tasks that they own (1), pick up new call tasks (2), or add tasks to call contacts who haven’t been reached
(3).
The pre-configured Emergency Response Community template makes it easy for citizens to request emergency assistance and get
information when they need it most.

The pre-configured Emergency Response Community template lets you create a hub for citizens during an emergency. Citizens can
check the status of existing requests (1), donate surplus emergency supplies (2), submit requests for assistance (3), view updates from
your agency (4), or find links to important resources (5). Businesses also can request critical supplies that enable them to keep their
employees and customers safe and healthy.
From the Emergency Request Console’s home page, your agency can quickly approve requests and send them to a dispatcher to schedule
a visit.

358
Salesforce Spring ’20 Release Notes Introducing Salesforce Emergency Response Management

Help is on its way in no time when your dispatchers use Salesforce Maps. Salesforce Maps injects location intelligence into field operations
to make emergency supplies delivery services more efficient. When an emergency event is created, the Schedule an Emergency Visit
process starts a flow that creates the visit record, applies the action plan template, and creates the tasks. Your field responders have
everything they need to complete a visit right on their mobile phone. Contact information, directions, and a detailed accounting of their
tasks are at their fingertips. When a visit and its tasks are finished, the field responder marks it as complete and moves to the next
assignment.
Bring actionable, AI-powered insights to your organization with Einstein Analytics for Emergency Response Management. Pre-built
templates with industry standard KPIs and best practice analytics help you get to the right answer faster when responding to crises and
emergencies.

359
Salesforce Spring ’20 Release Notes Introducing Salesforce Emergency Response Management

Introducing Emergency Response Management for Public Sector


Quickly deploy a single digital destination for constituents and communities to access available emergency program information and
incident updates. Use the Emergency Response community to feature different services and programs that are available for public
agencies and hospitals, such as emergency supply requests. For individuals, create assistance programs such as food delivery services
or short-term housing requests.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions where Emergency Management
for Public Sector is enabled.
Who: To use Emergency Response Management, you must have the Emergency Response for Public Sector permission set license
provisioned in Salesforce. Community users must have the Public Sector Community permission set licenses provisioned in Salesforce.
Why: When someone requests an emergency service, the mobile Visit app ensures that you can complete that request quickly and
efficiently. You can tailor each emergency request delivery or visit with action plans that create tasks for that request. When you use
Salesforce Maps, you add location intelligence into field operations to make emergency supplies delivery services more efficient. When
an emergency event is created, the Schedule an Emergency Visit process starts a flow that creates the visit record, applies the action
plan template, and creates the tasks. Whether you send someone to deliver medicine or to perform medical work at a site, it’s easy to
assign specific, actionable tasks to each field responder.
The pre-configured Emergency Response Community template makes it easy for citizens to request emergency assistance and get
information when they need it most.

The pre-configured Emergency Response Community template lets you create a hub for citizens during an emergency. Citizens can
check the status of existing requests (1), donate surplus emergency supplies (2), submit requests for assistance (3), view updates from
your agency (4), or find links to important resources (5). Businesses also can request critical supplies that enable them to keep their
employees and customers safe and healthy.

360
Salesforce Spring ’20 Release Notes Introducing Salesforce Emergency Response Management

From the Emergency Response Console’s home page, your agency can quickly approve requests and send them to a dispatcher to
schedule a visit.

Help is on its way in no time when your dispatchers use Salesforce Maps. Salesforce Maps injects location intelligence into field operations
to make emergency supplies delivery services more efficient. When an emergency event is created, the Schedule an Emergency Visit
process starts a flow that creates the visit record, applies the action plan template, and creates the tasks. Your field responders have
everything they need to complete a visit right on their mobile phone. Contact information, directions, and a detailed accounting of their
tasks are at their fingertips. When a visit and its tasks are finished, the field responder marks it as complete and moves to the next
assignment.

Emergency Response Management Has New and Changed Objects


Access more data through these new and changed Emergency Response Management objects. Emergency Response Management for
Public Health uses all the new objects and fields. Emergency Response Management for Public Sector uses the objects and fields in the
Emergency Response section of this topic.

361
Salesforce Spring ’20 Release Notes Introducing Salesforce Emergency Response Management

Public Health
Get info on a person’s condition based on their most recent test or assessment
Use the new ConditionStatus__pc field on the Account object.
Check whether a person’s condition is being monitored at their home, rather than a clinical setting
Use the new Monitored_at_Home__pc field on the Account object.
Check a person’s stage within the testing and monitoring process
Use the new StatusGroup__pc field on the Account object.
Get the result of a person’s most recent test
Use the new Testing_Status__pc field on the Account object.
Get info on a person’s condition based on their most recent test or assessment
Use the new ConditionStatus__pc field on the Contact object.
Check whether a person’s condition is being monitored at their home, rather than a clinical setting
Use the new Monitored_at_Home__pc field on the Contact object.
Check a person’s stage within the testing and monitoring process
Use the new StatusGroup__pc field on the Contact object.
Get the result of a person’s most recent test
Use the new Testing_Status__pc field on the Contact object.
Get the date of the appointment
Use the new AppointmentDate field on the Lead object.
Get the identifier of the appointment
Use the new AppointmentId field on the Lead object.
Check a person’s stage within the testing and monitoring process
Use the new StatusGroup__pc field on the Lead object.
Display the results of an assessment of a patient’s health condition
Use the new ClinicalAssessmentResponse__c object.
Display a period of time during which two or more people were in contact with each other
Use the new ContactEncounter object.
Display details about a person who was present during a contact encounter
Use the new ContactEncounterParticipant object.

Emergency Response
Create an authorization from a regulatory agency to provide emergency services or products
Use the new BusinessLicense (Emergency Service Authorization) object.
Create an application form submitted by a business owner
Use the new BusinessLicenseApplication (Business Application) object.
Create a category of business activity
Use the new BusinessType object.
Create a license or permit requirement to provide an emergency service
Use the new BusRegAuthorizationType (Business Emergency Service Type) object.
Create a request for emergency supplies or services from an organization or individual
Use the new EmergencyRequest__c object.

362
Salesforce Spring ’20 Release Notes Financial Services Cloud: Mortgage APIs, Distributor
Performance Management, and Action Plan Templates

Create an application form submitted by an individual


Use the new IndividualApplication object.
Create a field that displays a type of emergency service
Use the new InspectionType (Emergency Service Execution Type) object.
Create a field that displays an organization or government agency that authorizes emergency service providers
Use the new RegulatoryAuthority (Public Sector Organization) object.
Create a license or permit that grants authority to a business or individual to provide emergency services or products
Use the new RegulatoryAuthorizationType (Emergency Service Type) object.
Create a field that displays an authorization type that’s required before an applicant can provide a specific product
Use the new RegAuthorizationTypeProduct (Emergency Service Type Product) object.
Create a field that displays a visit related to an emergency service
Use the new Visit object.

Financial Services Cloud: Mortgage APIs, Distributor Performance


Management, and Action Plan Templates
Create your own mortgage process with new Mortgage business APIs. Add document checklist items to action plan templates. Monitor
distributor performance with a new dashboard, reports, and performance metrics. Clone and share your action plan templates.

IN THIS SECTION:
Mortgage for Financial Services Cloud: New Mortgage Lending API, Create Loan Applications from Accounts
Seamlessly connect loan applications in Salesforce to 3rd-party mortgage, point-of-sale, and loan origination systems. The new
Mortgage Business API lets you create, update, and query loan application data. Create loan applications from Accounts, with or
without related Opportunities.
Document Tracking and Approvals: Track Documents with Action Plans, Set Item Deletion Rules
Streamline document tracking by adding document checklist items to Action Plans. Customize document checklist processes by
setting item deletion rules.
Insurance for Financial Services Cloud: Distributor Performance Management, Producer Life Event Management, Producer Relationship
Cards, and Enhanced Metrics and Charts
View a consolidated performance summary for all your distributors or monitor their individual performances with a new dashboard,
tailored reports, and performance metrics. Add the enhanced Life Events or Business Milestones component to the Contact record
page to get an at-a-glance view of producers’ life events. Producer relationship cards provide easy access to key information about
your producers.
Action Plans: Action Plan Template Cloning and Packaging
Create an action plan template based on an existing one and share action plan templates between organizations.
Enhanced Usability for Financial Services Cloud
You can hide activity rollups on group member and group member-configurable components. Hover is now enabled on group
member components. And Financial Services Cloud now supports right-to-left text.
Fine-Tune Your Pipeline with Einstein Referral Scoring (Generally Available)
Now it’s easier for your managers to evaluate referrals. Einstein Referral Scoring helps you build a prediction that scores referrals in
Salesforce org. Your users can view referral scores on the Einstein Top Referrals component.
Financial Services Cloud Has New and Changed Objects
Do more with new and changed Financial Services Cloud objects.

363
Salesforce Spring ’20 Release Notes Financial Services Cloud: Mortgage APIs, Distributor
Performance Management, and Action Plan Templates

REST API
Financial Services Cloud REST API includes new calls.

Mortgage for Financial Services Cloud: New Mortgage Lending API, Create Loan
Applications from Accounts
Seamlessly connect loan applications in Salesforce to 3rd-party mortgage, point-of-sale, and loan origination systems. The new Mortgage
Business API lets you create, update, and query loan application data. Create loan applications from Accounts, with or without related
Opportunities.

IN THIS SECTION:
Enhance Mortgage Lending with API Calls
Streamline the 1003 Residential Loan Application process with the new Mortgage Business API. You can create and update loan
applications, and manage borrower, asset, and liability information using the API. You can also query and report on loan applications.
Create Loan Applications from Accounts or Opportunities
Save time by creating a Residential Loan Application for a new or existing Account without creating an Opportunity first. Some loan
application fields are pre-filled with data from the Account. A Loan Application can still be created from an Opportunity, which also
relates that Loan Application to the Opportunity’s Account. The data pulled from an Account is a snapshot at the time the loan
application is created. Future updates to Account data do not automatically update Loan Application fields.

Enhance Mortgage Lending with API Calls


Streamline the 1003 Residential Loan Application process with the new Mortgage Business API. You can create and update loan
applications, and manage borrower, asset, and liability information using the API. You can also query and report on loan applications.
Where: This change applies to Lightning Experience in Professional, Enterprise, and Unlimited editions where Financial Services Cloud
is enabled.
Why: Reduce the time required to integrate with external systems and automate the mortgage process from application to loan close.
With the Mortgage API, use a single REST API call to create mortgage applications and integrate with third-party systems. Gather borrower
and loan application data from external sources, like point-of-sale and loan origination systems, so you can manage mortgages in just
one system.
How: Make a POST, PATCH, or GET request to /services/data/vXX.X/connect/financialservices/mortgages.
Each request can include a list of assets, liabilities, borrowers, declarations, incomes, addresses, employments, properties, and financials
related to a loan application or loan applicant.

SEE ALSO:
REST API

Create Loan Applications from Accounts or Opportunities


Save time by creating a Residential Loan Application for a new or existing Account without creating an Opportunity first. Some loan
application fields are pre-filled with data from the Account. A Loan Application can still be created from an Opportunity, which also
relates that Loan Application to the Opportunity’s Account. The data pulled from an Account is a snapshot at the time the loan application
is created. Future updates to Account data do not automatically update Loan Application fields.
Where: This change applies to Lightning Experience in Professional, Enterprise, and Unlimited editions where Financial Services Cloud
is enabled.

364
Salesforce Spring ’20 Release Notes Financial Services Cloud: Mortgage APIs, Distributor
Performance Management, and Action Plan Templates

Why: Opportunities provide a great way to track the loan origination life cycle. But sometimes loans can originate directly from existing,
qualified customers. To support this and other custom loan management processes, you can create a Loan Application directly for an
existing Account without creating an Opportunity.

Document Tracking and Approvals: Track Documents with Action Plans, Set Item
Deletion Rules
Streamline document tracking by adding document checklist items to Action Plans. Customize document checklist processes by setting
item deletion rules.

IN THIS SECTION:
Streamline Document Tracking with Action Plans
Deliver step-by-step guidance for customers, loan officers, and other agents by adding document checklist items to Action Plans.
Customize action plan templates to define tasks and document tracking steps that fit your business processes. You can associate
action plan templates with tasks, document checklist items, or a combination of both.
Clean up Document Checklists While Keeping Attachments
Let your users delete document checklist items without removing related documents by setting the new Checklist Items with
Attachments custom preference.

Streamline Document Tracking with Action Plans


Deliver step-by-step guidance for customers, loan officers, and other agents by adding document checklist items to Action Plans.
Customize action plan templates to define tasks and document tracking steps that fit your business processes. You can associate action
plan templates with tasks, document checklist items, or a combination of both.
Where: This change applies to Lightning Experience in Enterprise and Unlimited editions where Financial Services Cloud is enabled.
Why: Action Plans let you define repeatable tasks and sequences, and then automate task assignment and tracking. Often those tasks
involve collecting and reviewing supporting documents needed for processes like loan origination or claim management. By including
document checklist items in action plan templates, you can standardize and automate document tracking and approval steps for these
processes.

SEE ALSO:
Associate Document Checklist Items with Action Plan Templates

Clean up Document Checklists While Keeping Attachments


Let your users delete document checklist items without removing related documents by setting the new Checklist Items with Attachments
custom preference.
Where: This change applies to Lightning Experience in Professional, Enterprise, and Unlimited editions where Financial Services Cloud
is enabled.

365
Salesforce Spring ’20 Release Notes Financial Services Cloud: Mortgage APIs, Distributor
Performance Management, and Action Plan Templates

Insurance for Financial Services Cloud: Distributor Performance Management, Producer


Life Event Management, Producer Relationship Cards, and Enhanced Metrics and
Charts
View a consolidated performance summary for all your distributors or monitor their individual performances with a new dashboard,
tailored reports, and performance metrics. Add the enhanced Life Events or Business Milestones component to the Contact record page
to get an at-a-glance view of producers’ life events. Producer relationship cards provide easy access to key information about your
producers.

IN THIS SECTION:
Monitor Distributor Performance with the Distributor Performance Dashboard and Metrics
Create an information-rich home page for sales managers with the Distributor Performance Dashboard and the Insurance Distributor
Performance Metrics component. With a consolidated performance summary for all distributors available at a glance, sales managers
can monitor their businesses’ overall health. They can quickly identify distributors who need attention and help them align with the
company’s goals.
Develop Deeper Bonds with Producers with the Life Events or Business Milestones Component
The Life Events or Business Milestones component is now supported on the Contact record page. With an at-a-glance view of
producers’ life events, sales managers can know their producers better and build a long-term and mutually beneficial relationship
with them.
Keep Key Producer Information Handy with Producer Relationship Cards
With producer relationship cards, sales managers can get quick and easy access to key producer information from different objects,
without going through multiple related lists. On a distributor’s record page, sales managers see one card for each producer working
with that distributor. On a producer’s record page, they see one card for the producer.
Include Multi-Producer Policies When Calculating Policy-Related Metrics and Charts
Ensure that metrics and charts show accurate policy and premium figures by including policies with multiple producers in your
calculations. By default, the policy-related metrics and charts include only the policies that are assigned to single producers.

Monitor Distributor Performance with the Distributor Performance Dashboard and Metrics
Create an information-rich home page for sales managers with the Distributor Performance Dashboard and the Insurance Distributor
Performance Metrics component. With a consolidated performance summary for all distributors available at a glance, sales managers
can monitor their businesses’ overall health. They can quickly identify distributors who need attention and help them align with the
company’s goals.
Where: This change applies to Lightning Experience in Enterprise, Professional, and Unlimited editions that have Financial Services
Cloud enabled.
Who: Users need the FSC Insurance permission set to use this feature.
How: Choose from the provided performance metrics and reports to create custom home pages that suit the needs of your sales
managers. Add metrics and reports to the Account record page to let sales managers drill down and view the performances of individual
distributors. Add reports to the Contact record page to let sales managers view the performances of individual producers. Sales managers
can view the performance metrics for a month, quarter, or year.

366
Salesforce Spring ’20 Release Notes Financial Services Cloud: Mortgage APIs, Distributor
Performance Management, and Action Plan Templates

After you enable the Deploy Distributor Performance Reports and Dashboard setting, create a custom home page, and add the new
components to the page. Add relevant metrics and reports to the Account and Contact record pages. Filter the reports by Account ID
or Contact ID, depending on the record page.

SEE ALSO:
Salesforce Help: Enable Distributor Performance Management (can be outdated or unavailable during release preview)

Develop Deeper Bonds with Producers with the Life Events or Business Milestones Component
The Life Events or Business Milestones component is now supported on the Contact record page. With an at-a-glance view of producers’
life events, sales managers can know their producers better and build a long-term and mutually beneficial relationship with them.
Where: This change applies to Lightning Experience in Enterprise, Professional, and Unlimited editions that have Financial Services
Cloud enabled.
Who: Users need the FSC Insurance permission set to use this feature.
How: Edit the Contact record page, and then add the Life Events or Business Milestones component.

SEE ALSO:
Salesforce Help: Manage Producers’ Life Events (can be outdated or unavailable during release preview)

367
Salesforce Spring ’20 Release Notes Financial Services Cloud: Mortgage APIs, Distributor
Performance Management, and Action Plan Templates

Keep Key Producer Information Handy with Producer Relationship Cards


With producer relationship cards, sales managers can get quick and easy access to key producer information from different objects,
without going through multiple related lists. On a distributor’s record page, sales managers see one card for each producer working
with that distributor. On a producer’s record page, they see one card for the producer.
Where: This change applies to Lightning Experience in Enterprise, Professional, and Unlimited editions that have Financial Services
Cloud enabled.
Who: Users need the FSC Insurance permission set to use this feature.
How: Edit the Account and Contact record pages, and then add the Relationship Card component. In the properties pane, under Card
Types, select Producer Account Configuration or Producer Contact Configuration, depending on the record page you are on.

SEE ALSO:
Salesforce Help: Provide Easy Access to Producer Information (can be outdated or unavailable during release preview)

Include Multi-Producer Policies When Calculating Policy-Related Metrics and Charts


Ensure that metrics and charts show accurate policy and premium figures by including policies with multiple producers in your calculations.
By default, the policy-related metrics and charts include only the policies that are assigned to single producers.
Where: This change applies to Lightning Experience in Enterprise, Professional, and Unlimited editions that have Financial Services
Cloud enabled.
This change affects the policy-related metrics and charts on the Insurance Distributor Performance Metrics, Insurance Agent Performance
Metrics, Insurance Agent Action Items, and Insurance Agent Reports components.
Who: Users need the FSC Insurance permission set to use this feature.
How: Edit the home page or the record page that contains report charts or metrics. In the properties pane, select Include policies with
multiple producers.

368
Salesforce Spring ’20 Release Notes Financial Services Cloud: Mortgage APIs, Distributor
Performance Management, and Action Plan Templates

SEE ALSO:
Salesforce Help: Include Multi-Producer Policies in Metrics and Charts (can be outdated or unavailable during release preview)

Action Plans: Action Plan Template Cloning and Packaging


Create an action plan template based on an existing one and share action plan templates between organizations.

IN THIS SECTION:
Create Copies of Action Plan Templates with Deep Cloning
Now you can create an action plan template from an existing template. This feature simplifies template creation when your business
process changes by eliminating the need to start from scratch. Users can also use an existing template as a reference to create a
different version for their own use.
Share Action Plan Templates Using Packaging
With action plan template packaging, you can create an action plan template in one organization and deploy it in a different
organization. Create and test an action plan template in a sandbox environment and deploy in production when the template is
ready. To use a packaged action plan template, clone the packaged template, make any necessary changes, and then publish it.
Associate Document Checklist Items with Action Plan Templates
Action plan templates can now include document checklist items. An action plan template can have tasks, document checklist items,
or a combination of both.
Changes to Action Plans License
Few objects are not available with the Action Plans license: AssessmentIndicatorDefinition, AssessmentTask,
AssessmentTaskContentDocument, AssessmentTaskOrder, and ActionPlanTmplItmAssessmentInd. This change doesn’t impact
existing action plan functionality.

Create Copies of Action Plan Templates with Deep Cloning


Now you can create an action plan template from an existing template. This feature simplifies template creation when your business
process changes by eliminating the need to start from scratch. Users can also use an existing template as a reference to create a different
version for their own use.
Where: This change applies to Lightning Experience in Professional, Enterprise, and Unlimited editions where Salesforce Government
Cloud with Lightning Scheduler or Financial Services Cloud are enabled.

369
Salesforce Spring ’20 Release Notes Financial Services Cloud: Mortgage APIs, Distributor
Performance Management, and Action Plan Templates

How: Open an action plan template, click Clone Template, make any necessary changes to the template or the underlying tasks and
document checklist items, and save.

SEE ALSO:
Salesforce Help: Clone Action Plan Templates (can be outdated or unavailable during release preview)
IdeaExchange: Add Edit and Clone functions to Action Plan Templates

Share Action Plan Templates Using Packaging


With action plan template packaging, you can create an action plan template in one organization and deploy it in a different organization.
Create and test an action plan template in a sandbox environment and deploy in production when the template is ready. To use a
packaged action plan template, clone the packaged template, make any necessary changes, and then publish it.
Where: This change applies to Lightning Experience in Professional, Enterprise, and Unlimited editions where Salesforce Government
Cloud with Lightning Scheduler or Financial Services Cloud are enabled.

SEE ALSO:
Create Copies of Action Plan Templates with Deep Cloning
Salesforce Help: Create a Package with Action Plan Templates (can be outdated or unavailable during release preview)

Associate Document Checklist Items with Action Plan Templates


Action plan templates can now include document checklist items. An action plan template can have tasks, document checklist items,
or a combination of both.
Where: This change applies to Lightning Experience in Enterprise and Unlimited editions where Financial Services Cloud is enabled.

SEE ALSO:
Streamline Document Tracking with Action Plans

Changes to Action Plans License


Few objects are not available with the Action Plans license: AssessmentIndicatorDefinition, AssessmentTask,
AssessmentTaskContentDocument, AssessmentTaskOrder, and ActionPlanTmplItmAssessmentInd. This change doesn’t impact existing
action plan functionality.
Where: This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.

Enhanced Usability for Financial Services Cloud


You can hide activity rollups on group member and group member-configurable components. Hover is now enabled on group member
components. And Financial Services Cloud now supports right-to-left text.
Where: This change applies to Lightning Experience in Professional, Enterprise, Unlimited, and Performance editions.

Fine-Tune Your Pipeline with Einstein Referral Scoring (Generally Available)


Now it’s easier for your managers to evaluate referrals. Einstein Referral Scoring helps you build a prediction that scores referrals in
Salesforce org. Your users can view referral scores on the Einstein Top Referrals component.

370
Salesforce Spring ’20 Release Notes Financial Services Cloud: Mortgage APIs, Distributor
Performance Management, and Action Plan Templates

Where: This change applies to Lightning Experience in Professional, Enterprise, and Unlimited editions that have Financial Services
Cloud enabled.
Who: To use Einstein Referral Scoring, you must have the Einstein Analytics for Financial Services Add-on license. To add the Einstein
Top Referral component to a Financial Services Cloud app home page, admins must be assigned the Financial Services Cloud Referral
Scoring User permission set. For users to view the component, assign them the same permission set.
How: To build a referral scoring prediction, from Setup, enter Einstein Referral Scoring for Financial Services Cloud, and then select
Einstein Referral Scoring for Financial Services Cloud. Enable Einstein Referral Scoring for Financial Services Cloud. Click New Prediction,
and define your prediction settings.
After the prediction is built, you can add the Einstein Top Referral component to the home page of Financial Services Cloud apps.

SEE ALSO:
Salesforce Help: Einstein Referral Scoring (can be outdated or unavailable during release preview)

Financial Services Cloud Has New and Changed Objects


Do more with new and changed Financial Services Cloud objects.

New Fields on LoanApplication and LoanApplicant Related Objects


Integrate with other systems using external ids for objects related to LoanApplications and LoanApplicants. These external identifiers
are used with Mortgage API calls, and are not exposed in the user interface by default.
Link to a borrower address in an external system
Use the new AddressExtIdentifier field on the LoanApplicantAddress object.
Link to a borrower declaration in an external system
Use the new DeclarationExtIdentifier field on the LoanApplicantDeclaration object.
Link to a borrower employment record in an external system
Use the new EmploymentExtIdentifier field on the LoanApplicantEmployment object.

371
Salesforce Spring ’20 Release Notes Financial Services Cloud: Mortgage APIs, Distributor
Performance Management, and Action Plan Templates

Link to a borrower income record in an external system


Use the new IncomeExtIdentifier field on the LoanApplicantIncome object.
Link to an asset record in an external system
Use the new AssetExtIdentifier field on the LoanApplicationAsset object.
Link to a financial record in an external system
Use the new FinancialExtIdentifier field on the LoanApplicationFinancial object.
Link to a liability record in an external system
Use the new LiabilityExtIdentifier field on the LoanApplicationLiability object.
Link to a property record in an external system
Use the new PropertyExtIdentifier field on the LoanApplicationProperty object.
Link to a title holder record in an external system
Use the new TitleHolderExtIdentifier field on the LoanApplicationTitleHolder object.

Insurance
Store the details about a distributor’s authorization with an insurance company
Use the new DistributorAuthorization object.
Store the insurance lines that an insurance company is authorized to sell
Use the new AuthorizedInsuranceLine object.
View the line of authority that a distributor is licensed to sell
Use the new LineOfAuthority field on the BusinessLicense object.
View the types of licenses a distributor has
Use the new LicenseClass field on the BusinessLicense object.
View the residence status of a distributor
Use the new ResidenceStatus field on the BusinessLicense object.
DEPRECATED: The RenewalChannel field on the Claim object is deprecated in API version 48 and will be removed in API
version 52
We strongly recommend that you don’t use the RenewalChannel field on the Claim object. However, if you’re already using this
field, you can continue to use it until it’s removed in API version 52 (the Summer ’21 release).
DEPRECATED: The FnolChannel field on the InsurancePolicy object is deprecated in API version 48 and will be removed in
API version 52
We strongly recommend that you don’t use the FnolChannel field on the InsurancePolicy object. However, if you’re already using
this field, you can continue to use it until it’s removed in API version 52 (the Summer ’21 release).

REST API
Financial Services Cloud REST API includes new calls.

Mortgage
Create Mortgage Applications
Make a POST request to /services/data/vXX.X/connect/financialservices/mortgages to create mortgage
applications. Each request can include a list of assets, liabilities, borrowers, declarations, incomes, addresses, employments, properties,
and financials related to a mortgage application.

372
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

Get Mortgage Applications


Make a GET request to /services/data/vXX.X/connect/financialservices/mortgages/{loanId} to
get a mortgage application. You can use both loanApplicationId and externalId to get applications.
Update Mortgage Applications
Make a PATCH request to /services/data/vXX.X/connect/financialservices/mortgages/{loanId}
with your changes to update mortgage applications.

Health Cloud: Emergency Management, Easier Setup for Care Plans and
Programs, and More Provider Information
To help you make the world a better (and healthier) place to live in, we’ve added ways to help stop the spread of infection and quickly
provide care in a public health emergency, and we've made it easier to create and customize care plans and care programs. We’ve also
given you more ways to design provider cards and more flexibility to customize how users can search for providers, so you can deliver
information efficiently to your users. And now you can gather information about how patients and members want to be contacted.

IN THIS SECTION:
Protect Your Community with Emergency Response Management
During a public health emergency, Health Cloud helps you assess, monitor, and track contacts to stop the spread of infection. Quickly
triage and evaluate patients, provide ongoing engagement and monitoring, and protect communities from further infection with
contact tracing.
Templates and Improved Usability for Care Plans
We’ve made improvements to the way your users can use care plans. These enhancements let your users create care plans that fit
their use cases better. We’ve also made care plan creation simpler, along with many other enhancements.
Customize Provider Relationship Cards
Now you have more flexibility in setting up your provider cards to fit your users’ needs. You can use provider relationship cards to
quickly and efficiently show users what they want to know about providers, all in one place. The data is taken from different objects,
but users don’t have to go to those objects via related lists.
More Options for Helping Users Find Care Providers
Now you can choose the fields to include in the search panel and in search output. You can even use custom fields. Enable users to
find health care providers based on criteria such as location, specialty, and availability. Search results show up in a detailed list and
on a handy map.
Create and Customize Care Programs More Efficiently
We made it easier to create and customize care programs. Save time and effort by copying and using existing consent forms instead
of creating forms from scratch. Use a tailor-made disclaimer message when capturing electronic signatures. Save clicks and navigation
by associating care plans with patients from within the Program Enrollment flow itself.
Access Control Changes
We tightened access to Health Cloud objects that are delivered as part of core Salesforce, not in the Health Cloud package.
Magnify Patient Care Delivery Expertise With Einstein Analytics for Healthcare Enhancements
We’ve made it easier for care coordinators, utilization managers, and referral managers to use the Analytics for Healthcare app for
critical insights about their patient populations.
Health Cloud Has New and Changed Objects
Access more data through these new and changed Health Cloud objects.

373
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

Protect Your Community with Emergency Response Management


During a public health emergency, Health Cloud helps you assess, monitor, and track contacts to stop the spread of infection. Quickly
triage and evaluate patients, provide ongoing engagement and monitoring, and protect communities from further infection with contact
tracing.
Where: This change applies to Lightning Experience in Enterprise and Unlimited editions where Health Cloud is enabled.
Who: To use Emergency Response Management for Public Health, you must have the Health Cloud license provisioned in Salesforce.
Users need the Health Cloud and Health Cloud Platform permission set licenses. Community users must have the Customer Community
Plus license.
Why: During a public health emergency, the safety, health, and well-being of your community depends on getting people assessed,
enrolled in a care program, and monitored. Once a patient is triaged and enrolled in a care program, your care teams can remotely
monitor and connect patients to the right care when called for. Care coordinators have all the information they need to make sure that
each patient has a program and services tailored to their needs.

SEE ALSO:
Salesforce Help: Emergency Response Management

Templates and Improved Usability for Care Plans


We’ve made improvements to the way your users can use care plans. These enhancements let your users create care plans that fit their
use cases better. We’ve also made care plan creation simpler, along with many other enhancements.

IN THIS SECTION:
Create Care Plans with a Single Flow
Your users can save clicks and time when creating care plans. Previously, users used three separate flows to create a care plan—creation
of a case, addition of a care team, and addition of care plan templates. Now your users can do everything in the same flow where
you create the case.
Create Care Plan Templates That Fit Your Use Case
Flexible care plan templates let your users decide which components to use. Not all care plans require problems and goals.
Categorize Templates, Problems, and Goals
Sorting care plan templates, their problems, and their goals into categories can help you create reports and gain insight into care
plan usage. You can select from customizable category picklists for care plan templates, template problems, and template goals.
Add Templates to Existing Care Plans Faster with a New Button
You can now place the Apply Care Plan Templates button on the highlights panel of the case page. Your users can easily add more
templates to an existing care plan with this button, right from the case page of that care plan.
Customize Task Names and Dates During Care Plan Creation
Your users can now customize tasks in their selected templates, before applying them to their care plan. Using in-line edits, they
can easily change task names and due dates.
Change Task Status with Fewer Clicks
Your users can now change the status of each of their tasks with far fewer clicks.
Create Care Plans Faster with Fewer Clicks
Enhancements to care plans provide your users with increased template capacity, easier access to the templates they use frequently,
and reduced clicks.

374
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

Create Care Plans with a Single Flow


Your users can save clicks and time when creating care plans. Previously, users used three separate flows to create a care plan—creation
of a case, addition of a care team, and addition of care plan templates. Now your users can do everything in the same flow where you
create the case.
Where: These changes apply to Lightning Experience in Enterprise and Unlimited editions where Health Cloud is enabled.
Who: To use care plans, you must have the Health Cloud license provisioned in Salesforce. Users need the Health Cloud and Health
Cloud Platform permission set licenses. Community users must have the Customer Community Plus license.
How: Now your users can create complete care plans in a single flow.

Your users can add care teams (1) and apply templates (2) while they create cases for their care plans.

Warning: If your org has custom triggers that add care teams to newly created cases, those triggers conflict with this new flow.
To resolve this conflict, deactivate your custom triggers or disable the Health Cloud setting that lets you add care teams when
creating care plans.

SEE ALSO:
Disable Care Team Section in the New Care Plan Flow

375
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

Create Care Plan Templates That Fit Your Use Case


Flexible care plan templates let your users decide which components to use. Not all care plans require problems and goals.
Where: These changes apply to Lightning Experience in Enterprise and Unlimited editions where Health Cloud is enabled.
Who: To use care plans, you must have the Health Cloud license provisioned in your org. Users need the Health Cloud and Health Cloud
Platform permission set licenses. Community users must have the Customer Community Plus license.
How: Now that problems and goals are optional, create the care plan template that works for your use cases.

You can create care plan templates with any or all of these combinations of components:
• Problems with tasks, but no goal (1)
• Goals with tasks, but no problems (2)
• Tasks without any problems or goal (3)
And you still can use the more traditional care plan template that has problems, goals, and tasks.
When you create a template task, you can associate it with a template or a template problem instead of a template goal. When you
create a template goal, you can choose to associate it with a template instead of a template problem.

Categorize Templates, Problems, and Goals


Sorting care plan templates, their problems, and their goals into categories can help you create reports and gain insight into care plan
usage. You can select from customizable category picklists for care plan templates, template problems, and template goals.
Where: These changes apply to Lightning Experience in Enterprise and Unlimited editions where Health Cloud is enabled.
Who: To use care plans, you must have the Health Cloud license provisioned in Salesforce. Users need the Health Cloud and Health
Cloud Platform permission set licenses. Community users must have the Customer Community Plus license.
How: The new category picklist fields are enabled by default on the Care Plan Template, Care Plan Template Problem, and Care Plan
Template Goal objects. You can configure the available categories in these picklists using the object manager.

376
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

Add Templates to Existing Care Plans Faster with a New Button


You can now place the Apply Care Plan Templates button on the highlights panel of the case page. Your users can easily add more
templates to an existing care plan with this button, right from the case page of that care plan.
Where: These changes apply to Lightning Experience in Enterprise and Unlimited editions where Health Cloud is enabled.
Who: To use care plans, you must have the Health Cloud license provisioned in Salesforce. Users need the Health Cloud and Health
Cloud Platform permission set licenses. Community users must have the Customer Community Plus license.
How: You can add this button to the case page of a care plan by configuring CarePlan Layout of the Case object.

In this layout, add the Apply Care Plan Templates button (1) to the Salesforce Mobile and Lightning Experience Actions area (2). But,
if you want to see the new button directly on the page header, you must place it at the top-left corner.

Customize Task Names and Dates During Care Plan Creation


Your users can now customize tasks in their selected templates, before applying them to their care plan. Using in-line edits, they can
easily change task names and due dates.
Where: These changes apply to Lightning Experience in Enterprise and Unlimited editions where Health Cloud is enabled.
Who: To use care plans, you must have the Health Cloud license provisioned in Salesforce. Users need the Health Cloud and Health
Cloud Platform permission set licenses. Community users must have the Customer Community Plus license.
How: Your users can click the edit icon next to a task name or its due date.

Change Task Status with Fewer Clicks


Your users can now change the status of each of their tasks with far fewer clicks.
Where: These changes apply to Lightning Experience in Enterprise and Unlimited editions where Health Cloud is enabled.
Who: To use care plans, you must have the Health Cloud license provisioned in Salesforce. Users need the Health Cloud and Health
Cloud Platform permission set licenses. Community users must have the Customer Community Plus license.
How: Use the checkboxes next to tasks to change their statuses.

377
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

Select the checkbox (1) to mark the task as complete with a single click. Completed tasks appear with strikethrough formatting (2) to
indicate that they’re closed. To change the status again, deselect the checkbox. This time, the status can be set to deferred, in progress,
waiting on someone else, or not started.

Create Care Plans Faster with Fewer Clicks


Enhancements to care plans provide your users with increased template capacity, easier access to the templates they use frequently,
and reduced clicks.
Where: These changes apply to Lightning Experience in Enterprise and Unlimited editions where Health Cloud is enabled.
Who: To use care plans, you must have the Health Cloud license provisioned in Salesforce. Users need the Health Cloud and Health
Cloud Platform permission set licenses. Community users must have the Customer Community Plus license.
How:
• The template selection screen shows a sorted list of up to 200 templates before a search. The default sorting is based on which
templates were used most recently to create care plans. But the list can also be sorted by name.
• The number of templates your users can apply to care plans has increased from 5 to 15. This increase helps your users create more
complex care plans easily.
• Users bypass the template selection screen and automatically start with a blank care plan in these cases:
– The org doesn’t have any templates defined in it.
– The user doesn’t have access to any templates.

• The first row of the care team is set to the care coordinator role by default. This row helps your users save clicks and reminds them
to add care coordinators to their teams.

378
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

Customize Provider Relationship Cards


Now you have more flexibility in setting up your provider cards to fit your users’ needs. You can use provider relationship cards to quickly
and efficiently show users what they want to know about providers, all in one place. The data is taken from different objects, but users
don’t have to go to those objects via related lists.
Where: This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise and Unlimited editions where
Health Cloud is enabled.
Who: To use provider cards, you must provision the Health Cloud license. Users need the Health Cloud and the Health Cloud Platform
permission set licenses.
How: Consider the information your users look for on each provider’s card, then use the card setup wizard to connect the various objects
that contain that information.

For example, create a card for each practitioner at a given health center (from the HealthCareFacility object), with their contact information
(HealthCareProvider object) and specialty (HealthcareFacilitySpecialty object). You can add whether that provider is available under the
user’s insurance plan (PlanBenefit).

More Options for Helping Users Find Care Providers


Now you can choose the fields to include in the search panel and in search output. You can even use custom fields. Enable users to find
health care providers based on criteria such as location, specialty, and availability. Search results show up in a detailed list and on a handy
map.

379
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

Where: This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise and Unlimited editions where
Health Cloud is enabled.
Who: To use provider search, your Salesforce org must have the Health Cloud license. Users need the Health Cloud and the Health Cloud
Platform permission set licenses. Community users must have the Customer Community Plus license.
How: You can create a standalone provider search app or add it to the Accounts record page as a tab. In either case, you start with a
pre-configured object called Searchable Fields that contains most of the fields users normally search for. You can add fields to suit your
users’ needs.

Drag the Provider Search component onto your workspace (1) and select the fields you want to show users (2). Search results show up
below the search fields (3), along with a handy Google map.

SEE ALSO:
Salesforce Help: Enable Users to Search for Care Providers
Salesforce Help: Find a Care Provider
Salesforce Help: Set Up Provider Cards

Create and Customize Care Programs More Efficiently


We made it easier to create and customize care programs. Save time and effort by copying and using existing consent forms instead of
creating forms from scratch. Use a tailor-made disclaimer message when capturing electronic signatures. Save clicks and navigation by
associating care plans with patients from within the Program Enrollment flow itself.

IN THIS SECTION:
Copy Existing Consent Forms for a New Care Program
When you create a care program, you can now reuse existing consent forms instead of creating forms from scratch.
Customize the Disclaimer Message for Capturing Electronic Signatures
You can now use a customized disclaimer message that is tailored to your scenario when capturing electronic signatures. You can
now use a customized disclaimer message that is tailored to your scenario when capturing electronic signatures.
Include Care Plans in the Program Enrollment Flow
Say goodbye to extra clicks and navigation. You can now include the care plan component in the Program Enrollment flow and
associate care plans with patients from within the flow itself.

380
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

Keep Track of Your Patients’ Communication Preferences


Users have more control over the communications that they send to patients, such as scheduling reminders, appointment reminders,
and pre-appointment tasks. They can use the communication subscription objects to keep track of patients’ contact information,
consent to be contacted, and preferred timing of messages.

Copy Existing Consent Forms for a New Care Program


When you create a care program, you can now reuse existing consent forms instead of creating forms from scratch.
Where: This change applies to Lightning Experience in Enterprise and Unlimited editions where Health Cloud is enabled.
Who: To use this feature, you must have the Health Cloud license provisioned in Salesforce. Users need the Health Cloud and Health
Cloud Platform permission set licenses.
How: On the record page of the Data Use Purpose record you want to clone, click Clone, and then select Clone with Related. Select
the objects you want to clone and click Next. Give this data use purpose a descriptive name, such as Pre-Arthroscopy Program Consent
Forms Clone. In the Purpose field, select the care program to clone the consent forms to, and then click Save.

SEE ALSO:
Salesforce Help: Add Consent Documents to a Care Program

Customize the Disclaimer Message for Capturing Electronic Signatures


You can now use a customized disclaimer message that is tailored to your scenario when capturing electronic signatures. You can now
use a customized disclaimer message that is tailored to your scenario when capturing electronic signatures.
Where: This change applies to Lightning Experience in Enterprise and Unlimited editions where Health Cloud is enabled.
Who: To use this feature, you must have the Health Cloud license provisioned in Salesforce. Users need the Health Cloud and Health
Cloud Platform permission set licenses.
Why:You want to use your own tailor-made disclaimer message instead of the default disclaimer message that comes with Health
Cloud. For example, you want to use a message like “My signature below certifies that I have read, understood, and agreed to the terms
in the document.”

381
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

How: In the Flow Builder, edit the Enrollment Consent Forms Screen or any other screen that contains the Consent Form List View
component. On the Edit Screen page, click the Consent Form List View component. In the Signature Disclaimer Label Source field, enter
the API name of an existing custom label for the signature disclaimer.

Include Care Plans in the Program Enrollment Flow


Say goodbye to extra clicks and navigation. You can now include the care plan component in the Program Enrollment flow and associate
care plans with patients from within the flow itself.
Where: This change applies to Lightning Experience in Enterprise and Unlimited editions where Health Cloud is enabled.
Who: To use this feature, you must have the Health Cloud license provisioned in Salesforce. Users need the Health Cloud and Health
Cloud Platform permission set licenses.
How: In the Flow Builder, edit the Program Enrollment flow or any other flow to which you want to add care plans. Add a screen, and
then add the Care Plan component to the screen. You can then add the new Care Plan screen anywhere after the Care Program Selector
screen.

SEE ALSO:
Salesforce Help: Use Care Plans to Help Patients and Members Reach Their Goals

382
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

Keep Track of Your Patients’ Communication Preferences


Users have more control over the communications that they send to patients, such as scheduling reminders, appointment reminders,
and pre-appointment tasks. They can use the communication subscription objects to keep track of patients’ contact information, consent
to be contacted, and preferred timing of messages.
Where: To use care plans, you must have the Health Cloud license provisioned in Salesforce. Users need the Health Cloud and Health
Cloud Platform permission set licenses. Community users must have the Customer Community Plus license.
Why: Contact your patients when they want, through their preferred channels, and only for the information they’ve subscribed to. For
example, you can ensure that you’re calling patients only during times they’ve indicated that they’re available and avoid untimely,
unanswered calls.

SEE ALSO:
Manage Your Customers’ Communication Subscriptions
Salesforce Help: Communication Subscription Objects (can be outdated or unavailable during release preview)

Access Control Changes


We tightened access to Health Cloud objects that are delivered as part of core Salesforce, not in the Health Cloud package.
Where: To use Health Cloud, you must have the Health Cloud license provisioned in Salesforce. Users need the Health Cloud and Health
Cloud Platform permission set licenses. Community users must have the Customer Community Plus license.
Why: Health Cloud uses a mix of standard objects (delivered as part of the core Salesforce Platform) and custom objects (dellivered in
the Health Cloud package).
How:
• Admin users now have Read access to all Health Cloud objects. Previously, those users had full Create/Read/Update/Delete access
to Health Cloud objects delivered as part of the Salesforce platform.
• A standard user with the View Setup permission now has Read access to Health Cloud objects delivered in the package but no access
to objects delivered as part of the Salesforce platform. Previously, that user had full Create/Read/Update/Delete access to Health
Cloud objects delivered as part of the platform.

Magnify Patient Care Delivery Expertise With Einstein Analytics for Healthcare
Enhancements
We’ve made it easier for care coordinators, utilization managers, and referral managers to use the Analytics for Healthcare app for critical
insights about their patient populations.
Where: This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise and Unlimited editions where
Health Cloud is enabled. Analytics for Healthcare is only for Salesforce Health Cloud users.
Who: To create an app from the Einstein Analytics for Healthcare template, you must also have the Healthcare Analytics Plus add-on
license.
Why: New Patient Segmentation and Social Determinants dashboards let you drill into your population to identify at-risk patients and
design the right care plans for them. Three Einstein Discovery stories isolate promising patient referrals, review risks of pre-authorization
care requests being denied, and identify patients who are at risk of not adhering to their care plan tasks. We’ve also added a dashboard
to give care coordinators a curated view of all relevant metrics about plan members. Updated Utilization Analytics dashboards now give
utilization managers insights into care request trends.
How: Go to Analytics Studio, click Create, choose App, and click Start from Template. Select Analytics for Health and follow the
instructions in the wizard to create your app.

383
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

Health Cloud Has New and Changed Objects


Access more data through these new and changed Health Cloud objects.

Care Plan Templates


Specify which category of treatment a care plan template belongs to
Use the Category__c picklist field in the CarePlanTemplate__c object.
Specify which category of ailment a care plan template problem belongs to
Use the Category__c picklist field in the CarePlanTemplateProblem__c object.
Specify which category of goals a care plan template goal belongs to
Use the Category__c picklist field in the CarePlanTemplateGoal__c object.
Associate your care plan template goal directly with a care plan template
Use the CarePlanTemplate__c lookup field in the CarePlanTemplateGoal__c object.
Associate your care plan template goal with a parent record
The ValidateCarePlanGoalAssociation validation rule in the CarePlanTemplateGoal__c object throws an
error if your care plan template goal isn’t associated with any parent record.
Associate your care plan template goal with only one parent record
The ValidateCarePlanGoalAssociationForSingle validation rule in the CarePlanTemplateGoal__c object
throws an error if your care plan template goal is associated with more than one parent record.
Associate your care plan template task directly with a care plan template
Use the CarePlanTemplate__c lookup field in the CarePlanTemplateTask__c object.
Associate your care plan template task directly with a care plan template problem
Use the CarePlanTemplateProblem__c lookup field in the CarePlanTemplateTask__c object.
Associate your care plan template task with a parent record
The ValidateCarePlanTaskAssociation validation rule in the CarePlanTemplateTask__c object throws an
error if your care plan template task isn’t associated with any parent record.
Associate your care plan template task with only one parent record
The ValidateCarePlanTaskAssociationForSingle validation rule in the CarePlanTemplateTask__c object
throws an error if your care plan template task is associated with more than one parent record.

Care Plans
Specify which category of ailment a care plan problem belongs to
Use the Category__c picklist field in the CarePlanProblem__c object.
Specify which category of goals a care plan goal belongs to
Use the Category__c picklist field in the CarePlanGoal__c object.

Provider Data Model


Specify fields that can appear in provider search results
Use the new CareProviderSearchConfig object.

384
Salesforce Spring ’20 Release Notes Health Cloud: Emergency Management, Easier Setup for
Care Plans and Programs, and More Provider Information

Communication Subscriptions
Manage a patient’s preferences for a specific communication, such as an appointment reminder
Use the new CommSubscription object.
Specify the engagement channels through which you can reach a patient for a communication subscription
Use the new CommSubscriptionChannelType object.
Get info on the feed activity of a communication subscription channel type record
Use the new CommSubscriptionChannelTypeFeed object.
Get info on the changes to values in the fields of a communication subscription channel type record
Use the new CommSubscriptionChannelTypeHistory object.
Get info on rules for sharing a communication subscription channel type object with users other than the owner
Use the new CommSubscriptionChannelTypeOwnerSharingRule object.
Get info on the list of access levels to a communication subscription channel type record
Use the new CommSubscriptionChannelTypeShare object.
Store your patient’s consent to a communication subscription
Use the new CommSubscriptionConsent object.
Get info on the feed activity of a communication subscription consent record
Use the new CommSubscriptionConsentFeed object.
Get info on the changes to values in the fields of a communication subscription consent record
Use the new CommSubscriptionConsentHistory object.
Get info on rules for sharing a communication subscription consent object with users other than the owner
Use the new CommSubscriptionConsentOwnerSharingRule object.
Get info on the list of access levels to a communication subscription consent record
Use the new CommSubscriptionConsentShare object.
Get info on the feed activity of a communication subscription record
Use the new CommSubscriptionFeed object.
Get info on the changes to values in the fields of a communication subscription record
Use the new CommSubscriptionHistory object.
Get info on rules for sharing a communication subscription object with users other than the owner
Use the new CommSubscriptionOwnerSharingRule object.
Get info on the list of access levels to a communication subscription record
Use the new CommSubscriptionShare object.
Store your patient’s timing preferences for receiving a communication subscription
Use the new CommSubscriptionTiming object.
Get info on the feed activity of a communication subscription timing record
Use the new CommSubscriptionTimingFeed object.
Get info on the changes to values in the fields of a communication subscription timing record
Use the new CommSubscriptionTimingHistory object.
Indicate a channel on which a patient can be reached for communication
Use the new EngagementChannelType object.
Get info on the feed activity of an engagement channel type record
Use the new EngagementChannelTypeFeed object.

385
Salesforce Spring ’20 Release Notes Consumer Goods Cloud: Optimized Visit Sequences, Stock
Level Monitoring, and Improved Business Performance

Get info on the changes to values in the fields of an engagement channel type record
Use the new EngagementChannelTypeHistory object.
Get info on rules for sharing an engagement channel type object with users other than the owner
Use the new EngagementChannelTypeOwnerSharingRule object.
Get info on the list of access levels to an engagement channel type record
Use the new EngagementChannelTypeShare object.

SEE ALSO:
Salesforce Health Cloud Developer Guide: Health Cloud Objects

Consumer Goods Cloud: Optimized Visit Sequences, Stock Level Monitoring,


and Improved Business Performance
Do business more effectively with your retail partners. Give your field reps a productivity boost by helping them reach stores faster. They
now have more time to build relationships with store managers and consumers. You also can ensure that your products are never out
of stock.

IN THIS SECTION:
Accelerate Business Performance with Einstein Analytics for Consumer Goods
The Analytics for Consumer Goods app gives you insights on territory, stores, and sales rep performance. Sales managers can use
the app to increase sales, improve store compliance, identify stores at risk, and maximize sales rep effectiveness. Sales reps get
store-level insights on visits performance, sales, compliance, and top-selling products.
Simplify Retail Execution with Sales Agreements for Consumer Goods Cloud
Sales managers can now use Sales Agreements to get a consolidated view of all their products, track performance indicators, predict
profits and revenue, and build long-term business relationships. Automatically assign assessment indicator definition targets to help
sales managers get the values right. Sales managers can also automate the quantity and revenue updates for an order.
Get Optimized Visit Sequences with Salesforce Maps
Give field reps a productivity boost with optimized visit sequences. Consumer Goods Cloud uses Salesforce Maps to determine the
best sequence of store visits based on distance, travel time, and store hours. Field reps get an optimized daily list of visits on their
mobile devices.
Find Product Details on Mobile Devices Using the Barcode Scanner
Say goodbye to scrolling through an endless list of items to fetch product details. Field reps can scan a barcode of a product to get
its details on their mobile devices.
Track Key Performance Indicators for Product Categories
Sales managers can choose whether key performance indicators are captured for a specific product or for a category of products.
This saves field reps the time it takes to record information product by product.
Save Reusable Tasks and Use Them Across Templates
Simplify action plan template creation by reusing tasks and their assessment indicator definitions. Sales managers can create a task
with assessment indicator definitions once and reuse it every time they create action plan templates for visits.
Changes to Action Plans License
For better accessibility, these objects are available with the Consumer Goods permission set and not with the Action Plans license:
AssessmentIndicatorDefinition, AssessmentTask, AssessmentTaskContentDocument, AssessmentTaskOrder, and
ActionPlanTmplItmAssessmentInd. This change doesn’t impact existing action plan functionality.

386
Salesforce Spring ’20 Release Notes Consumer Goods Cloud: Optimized Visit Sequences, Stock
Level Monitoring, and Improved Business Performance

More Control of Object Detection Data


Einstein Object Detection data is now stored locally in the European Union, and you can decide which users have permission to
access detection information. You also can disable vision models that you no longer use.
Consumer Goods Cloud Has New and Changed Objects
Access more data through these new and changed Consumer Goods Cloud objects.

Accelerate Business Performance with Einstein Analytics for Consumer Goods


The Analytics for Consumer Goods app gives you insights on territory, stores, and sales rep performance. Sales managers can use the
app to increase sales, improve store compliance, identify stores at risk, and maximize sales rep effectiveness. Sales reps get store-level
insights on visits performance, sales, compliance, and top-selling products.
Where: This change applies to Lightning Experience and all versions of the Salesforce app in Professional, Performance, and Unlimited
editions where Consumer Goods Cloud is enabled.
When: This feature is available in Consumer Goods Cloud by late February 2020.
Who: Analytics for Consumer Goods is only for Salesforce Consumer Goods Cloud users. To create an app from the Einstein Analytics
for Consumer Goods template, you must also have the Einstein Analytics for Consumer Goods add-on license.
Why: Help your sales managers increase sales and support sales reps.

387
Salesforce Spring ’20 Release Notes Consumer Goods Cloud: Optimized Visit Sequences, Stock
Level Monitoring, and Improved Business Performance

How: Go to Analytics Studio, click Create, choose App, and click Start from Template. Select Analytics for Consumer Goods, and
follow the instructions in the wizard to create your app.

Simplify Retail Execution with Sales Agreements for Consumer Goods Cloud
Sales managers can now use Sales Agreements to get a consolidated view of all their products, track performance indicators, predict
profits and revenue, and build long-term business relationships. Automatically assign assessment indicator definition targets to help
sales managers get the values right. Sales managers can also automate the quantity and revenue updates for an order.
Where: This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise, Performance, and Unlimited
editions where Retail Execution is enabled.
Who: This feature is available to users with the Consumer Goods Sales Agreements permission set and the Lightning Retail Execution
Plus permission set.

SEE ALSO:
Salesforce Help: Sales Agreements (can be outdated or unavailable during release preview)

Get Optimized Visit Sequences with Salesforce Maps


Give field reps a productivity boost with optimized visit sequences. Consumer Goods Cloud uses Salesforce Maps to determine the best
sequence of store visits based on distance, travel time, and store hours. Field reps get an optimized daily list of visits on their mobile
devices.
Where: This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise, Performance, and Unlimited
editions where Retail Execution is enabled.
Who: This feature is available to users with the Consumer Goods License.
How: When creating a retail store record, enter the latitude and longitude of the store location to get a recommended visit sequence.

388
Salesforce Spring ’20 Release Notes Consumer Goods Cloud: Optimized Visit Sequences, Stock
Level Monitoring, and Improved Business Performance

SEE ALSO:
Salesforce Maps

Find Product Details on Mobile Devices Using the Barcode Scanner


Say goodbye to scrolling through an endless list of items to fetch product details. Field reps can scan a barcode of a product to get its
details on their mobile devices.
Where: This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise, Performance, and Unlimited
editions where Retail Execution is enabled.

389
Salesforce Spring ’20 Release Notes Consumer Goods Cloud: Optimized Visit Sequences, Stock
Level Monitoring, and Improved Business Performance

Who: This feature is available to users with the Consumer Goods License.
How: Field reps can find product details on their mobile device by tapping Scan and using the mobile camera to scan the barcode of
the product.

Track Key Performance Indicators for Product Categories


Sales managers can choose whether key performance indicators are captured for a specific product or for a category of products. This
saves field reps the time it takes to record information product by product.
Where: This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise, Performance, and Unlimited
editions where Retail Execution is enabled.
Where: This feature is available to users with the Consumer Goods License.
How: To capture information for a product category, when creating a retail store KPI, select a product category.

Save Reusable Tasks and Use Them Across Templates


Simplify action plan template creation by reusing tasks and their assessment indicator definitions. Sales managers can create a task with
assessment indicator definitions once and reuse it every time they create action plan templates for visits.

390
Salesforce Spring ’20 Release Notes Consumer Goods Cloud: Optimized Visit Sequences, Stock
Level Monitoring, and Improved Business Performance

Where: This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise, Performance, and Unlimited
editions where Retail Execution is enabled.
Who: This feature is available to users with the Consumer Goods License.
How: Create an assessment task definition and associate it with an assessment indicator definition. When you create an action plan
template, associate this assessment task definition with it.

Changes to Action Plans License


For better accessibility, these objects are available with the Consumer Goods permission set and not with the Action Plans license:
AssessmentIndicatorDefinition, AssessmentTask, AssessmentTaskContentDocument, AssessmentTaskOrder, and
ActionPlanTmplItmAssessmentInd. This change doesn’t impact existing action plan functionality.
Where: This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.

More Control of Object Detection Data


Einstein Object Detection data is now stored locally in the European Union, and you can decide which users have permission to access
detection information. You also can disable vision models that you no longer use.

IN THIS SECTION:
Store Your Einstein Object Detection Data Locally
For Salesforce orgs in the European Union (EU), Einstein Object Detection data is now stored locally.
Control Access to Einstein Object Detection
You can now choose which users in your Salesforce org can access Einstein Object Detection.
Disable Einstein Object Detection Models
You can disable object detection models that you are in the process of building. You can also disable underperforming models and
models that aren't used. You can always enable a model later.
Increase Productivity with New Key Performance Indicator Type
Sales manager can automatically identify out-of-stock products and keep their stocks replenished with the new Out-of-Stock KPI.
When field reps take a picture of a shelf, Salesforce automatically identifies and records the out-of-stock products.

Store Your Einstein Object Detection Data Locally


For Salesforce orgs in the European Union (EU), Einstein Object Detection data is now stored locally.
Where: This change applies to Lightning Experience in Unlimited and Enterprise editions that have Consumer Goods Cloud enabled.

Control Access to Einstein Object Detection


You can now choose which users in your Salesforce org can access Einstein Object Detection.
Where: This change applies to Lightning Experience in Unlimited and Enterprise editions that have Consumer Goods Cloud enabled.
How: To provide users access to Einstein Object Detection, in the permission set assigned to the users, edit System Permissions, and
enable Allow user to use Object Detection for prediction.

391
Salesforce Spring ’20 Release Notes Consumer Goods Cloud: Optimized Visit Sequences, Stock
Level Monitoring, and Improved Business Performance

Disable Einstein Object Detection Models


You can disable object detection models that you are in the process of building. You can also disable underperforming models and
models that aren't used. You can always enable a model later.
Where: This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions.
How: From the quick action on the vision model page, select Disable.

Increase Productivity with New Key Performance Indicator Type


Sales manager can automatically identify out-of-stock products and keep their stocks replenished with the new Out-of-Stock KPI. When
field reps take a picture of a shelf, Salesforce automatically identifies and records the out-of-stock products.
Where: This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise, Performance, and Unlimited
editions where Retail Execution is enabled.
Who: This feature is available to users with the Consumer Goods License.
How: When defining a retail store KPI, select Out of Stock from the KPI Type list. Select a Boolean target value for the KPI.

Consumer Goods Cloud Has New and Changed Objects


Access more data through these new and changed Consumer Goods Cloud objects.
Where: This feature applies to the Retail Execution app in Developer, Enterprise, Performance, and Professional editions.
Associate an assessment indicator definition with an assessment task definition
Use the new AssessmentTaskIndDefinition junction object.
Associate an action plan template with a store
Use the new StoreActionPlanTemplate object.
Associate an assessment task with an assessment indicator definition
Use the new AssessmentTaskDefinition object

392
Salesforce Spring ’20 Release Notes Manufacturing Cloud: Enrich Your Experience with Sales
Agreement and Account Forecast Enhancements

REMOVED: The ActionPlanTmplItmAssessmentInd object was removed.

New Fields for Visit Object


Identify a location or retail store for a visit
Use the new Place field on the Visit object.
Identify the purpose of a visit, such as claim, business license application, or work type
Use the new ContextId field on the Visit object.
Identify the account that is associated with a visit
Use the new AccountId field on the Visit object.

New Fields for AssessmentTask Object


Identify the visit associated with an assessment task
Use the new ParentId field on the AssessmentTask object.
Indicate whether a task must be completed to complete a visit
Use the new IsRequired field on the AssessmentTask object.
View the sequence in which the tasks must be performed
Use the new SequenceNumber field on the AssessmentTask object.
View the status of a task
Use the new Status field on the AssessmentTask object.
View the assessment task definition that is referenced for the task
Use the new AssessmentTaskDefinitionId field on the AssessmentTask object.

These Fields Have New Picklist Values


RetailStoreKpi
The KpiType field has new picklist values.
RetailVisitKpi
The KpiType field has new picklist values.

New Field for Einstein Object Detection Object


Disable models that aren’t being used in your org
Use the new IsActive field on the AiVisionModel object.

Manufacturing Cloud: Enrich Your Experience with Sales Agreement and


Account Forecast Enhancements
Get a closer look at your sales agreements and account forecasts with additional features. Add products to an account forecast. Add
your own metrics to customize your account forecast. View revenue metrics of an account forecast in the account's currency. Filter your
sales agreements and account forecasts by products. Simultaneously update multiple values of a sales agreement metric or an account
forecast metric. Get a visual representation of your organization’s data with the provided dashboards.

393
Salesforce Spring ’20 Release Notes Manufacturing Cloud: Enrich Your Experience with Sales
Agreement and Account Forecast Enhancements

IN THIS SECTION:
Use Your Metrics to Customize Account Forecasts
If the provided set of account forecast metrics doesn't meet your requirements, you can add custom metrics to your account forecasts
for quantity and revenue indicators.
View Forecast Revenue Metrics in Your Account’s Currency
Your account managers can now view revenue metrics of an account forecast in the account's currency. The revenue metrics sourced
from orders, opportunities, and sales agreements are converted into the currency of an account.
Add New Products to Account Forecast with One Click
Account managers can add new products to an account forecast at any time with the click of a button, even if the products are not
associated with any sales agreements, orders, or opportunities. They don’t have to wait for an adjustment period. Forecasts are
automatically recalculated to reflect the forecast metrics for the new products.
Find Agreement Terms and Account Forecasts by Product
Your account managers can now filter agreement terms and account forecasts by product. They don't have to navigate through
multiple pages to find what they’re looking for.
Update Multiple Values in Agreement Terms and Account Forecasts
Help your account managers respond crisply to seasonal product changes that affect sales agreement and account forecasting
metrics. Now they can simultaneously update multiple values of a single metric in sales agreements or account forecasts.
Monitor Revenue Realization and Account Performance with Dashboards (Beta)
Account managers can easily compare planned and actual values for accounts and revenue realization. Dashboards on the
Manufacturing home page now leverage Einstein Analytics to show performance metrics of sales agreements and products.
Strengthen Forecasting and Get Deeper Insight Into Product Demand with Einstein Analytics for Manufacturing
New dashboards give account managers and demand planners data analysis tools to improve the accuracy of forecasts and anticipate
customer demand. Dashboard visualizations let you create informed forecasts for your accounts and track their performance against
it. You can also analyze changes in forecast and improve accuracy with insights on historical trends. And embedded insights show
a complete picture of your business right from the main Salesforce pages you use everyday to run your business.
Use the Manufacturing Partner Community Template with a New License
Now your community users need the Manufacturing Sales Agreements For Community license to access the Manufacturing community
portal.
Add Field Recalculations and Mass Updates to Your Processes and Flows
Process Builder and Flow Builder now include standard Manufacturing Cloud actions to perform recalculations and mass updates
to account forecast and sales agreement fields. For more information about these actions, see the Manufacturing Cloud Has New
Invocable Actions on page 398 release note.
Manufacturing Cloud Has New and Changed Metadata Types
Use sales agreements and account forecasts better with these new and changed metadata types for Manufacturing Cloud.
Manufacturing Cloud Has New Tooling APIs
Create sales agreements and generate account forecasts with these new Tooling API objects for Manufacturing Cloud.
Manufacturing Cloud Has New Invocable Actions
Use invocable actions to perform recalculations and mass updates to account forecast and sales agreement fields instantly.

Use Your Metrics to Customize Account Forecasts


If the provided set of account forecast metrics doesn't meet your requirements, you can add custom metrics to your account forecasts
for quantity and revenue indicators.

394
Salesforce Spring ’20 Release Notes Manufacturing Cloud: Enrich Your Experience with Sales
Agreement and Account Forecast Enhancements

Where: This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions.
Who: This feature is available to users with the Manufacturing Cloud license and the Manufacturing Account Forecasting permission
set.
How: In the Object Manager, create custom fields on the Account Product Forecast and Account Product Period Forecast objects. In
Setup, enter Account Forecasting in the Quick Find box, and then select Account Forecasting. Under Metrics Mapping, map
a product period metric to a product metric.

SEE ALSO:
Salesforce Help: Create Custom Fields in Account Product Forecast and Account Product Period Forecast Objects (can be outdated
or unavailable during release preview)
Salesforce Help: Map Custom Fields of Account Product Forecast and Account Product Period Forecast (can be outdated or unavailable
during release preview)
Salesforce Help: Select Metrics to Display in Forecast (can be outdated or unavailable during release preview)

View Forecast Revenue Metrics in Your Account’s Currency


Your account managers can now view revenue metrics of an account forecast in the account's currency. The revenue metrics sourced
from orders, opportunities, and sales agreements are converted into the currency of an account.
Where: This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions.
Who: This feature is available to users with the Manufacturing Cloud license and the Manufacturing Account Forecasting permission
set.

Add New Products to Account Forecast with One Click


Account managers can add new products to an account forecast at any time with the click of a button, even if the products are not
associated with any sales agreements, orders, or opportunities. They don’t have to wait for an adjustment period. Forecasts are automatically
recalculated to reflect the forecast metrics for the new products.
Where: This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions.
Who: This feature is available to users with the Manufacturing Cloud license and the Manufacturing Account Forecasting permission
set.
How: On the Account Forecast page, click Add Products.

SEE ALSO:
Salesforce Help: Add Products to an Account Forecast (can be outdated or unavailable during release preview)

Find Agreement Terms and Account Forecasts by Product


Your account managers can now filter agreement terms and account forecasts by product. They don't have to navigate through multiple
pages to find what they’re looking for.
Where: This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions.

395
Salesforce Spring ’20 Release Notes Manufacturing Cloud: Enrich Your Experience with Sales
Agreement and Account Forecast Enhancements

How: On the Agreement Terms tab or the Forecast tab, click and select the appropriate products.

SEE ALSO:
Salesforce Help: Filter Sales Agreement Terms by Products (can be outdated or unavailable during release preview)
Salesforce Help: Filter Account Forecasts by Products (can be outdated or unavailable during release preview)

Update Multiple Values in Agreement Terms and Account Forecasts


Help your account managers respond crisply to seasonal product changes that affect sales agreement and account forecasting metrics.
Now they can simultaneously update multiple values of a single metric in sales agreements or account forecasts.
Where: This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions.
How: On the Sales Agreements or the Account Forecasting page, click Mass Update. Your account managers receive in-app notifications
when the process is complete. For each updated cell value, they can get a change history of the last three edits.

SEE ALSO:
Salesforce Help: Update Multiple Values in Sales Agreement Terms (can be outdated or unavailable during release preview)
Salesforce Help: Update Multiple Values of Account Forecasts (can be outdated or unavailable during release preview)

Monitor Revenue Realization and Account Performance with Dashboards (Beta)


Account managers can easily compare planned and actual values for accounts and revenue realization. Dashboards on the Manufacturing
home page now leverage Einstein Analytics to show performance metrics of sales agreements and products.
Where: This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions.

Note: As a beta feature, the Manufacturing Default Analytics Dashboards is a preview and isn’t part of the “Services” under your
master subscription agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only
on the basis of generally available products and features. Salesforce doesn’t guarantee general availability of this feature within
any particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for
production use. It’s offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in
connection with it. All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related
Non-Salesforce Applications and Content apply equally to your use of this feature.
Who: This feature is available to users with the Manufacturing Cloud license and the Manufacturing Sales Agreements permission set.
How: In Setup, enter Sales Agreements in the Quick Find box, and select Sales Agreements. Enable the Default Analytics
Dashboards setting.

396
Salesforce Spring ’20 Release Notes Manufacturing Cloud: Enrich Your Experience with Sales
Agreement and Account Forecast Enhancements

SEE ALSO:
Salesforce Help: Enable Default Analytics Dashboards (Beta) (can be outdated or unavailable during release preview)
Salesforce Help: View Revenue Realization and Account Performance with Dashboards (Beta) (can be outdated or unavailable during
release preview)

Strengthen Forecasting and Get Deeper Insight Into Product Demand with Einstein
Analytics for Manufacturing
New dashboards give account managers and demand planners data analysis tools to improve the accuracy of forecasts and anticipate
customer demand. Dashboard visualizations let you create informed forecasts for your accounts and track their performance against it.
You can also analyze changes in forecast and improve accuracy with insights on historical trends. And embedded insights show a
complete picture of your business right from the main Salesforce pages you use everyday to run your business.
Who:To create an app from the Einstein Analytics for Manufacturing template, you must also have the Manufacturing Analytics Plus
add-on license.
Where: This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise and Unlimited editions where
Manufacturing Cloud is enabled. Analytics for Manufacturing is only for Salesforce Manufacturing Cloud users.
How: Go to Analytics Studio, click Create, choose App, and click Start from Template. Select Analytics for Manufacturing, and
follow the instructions in the wizard to create your app.

Use the Manufacturing Partner Community Template with a New License


Now your community users need the Manufacturing Sales Agreements For Community license to access the Manufacturing community
portal.
Where: This change applies to Lightning Experience in Enterprise, Unlimited, and Developer editions.
Who: This feature is available to users with the Manufacturing Cloud license and the Manufacturing Cloud For Community add-on
license.

397
Salesforce Spring ’20 Release Notes Manufacturing Cloud: Enrich Your Experience with Sales
Agreement and Account Forecast Enhancements

Add Field Recalculations and Mass Updates to Your Processes and Flows
Process Builder and Flow Builder now include standard Manufacturing Cloud actions to perform recalculations and mass updates to
account forecast and sales agreement fields. For more information about these actions, see the Manufacturing Cloud Has New Invocable
Actions on page 398 release note.

Manufacturing Cloud Has New and Changed Metadata Types


Use sales agreements and account forecasts better with these new and changed metadata types for Manufacturing Cloud.
Enable Manufacturing cloud features
Use the IndustriesManufacturingSettings metadata settings type to enable sales agreements and account forecasts.
Introduced in API version 47.0, this type has been added to the Manufacturing Cloud Developer Guide.
Configure sales agreements
Use the new SalesAgreementSettings metadata type. Introduced in API version 47.0, this type has been added to the
Manufacturing Cloud Developer Guide.
Configure account forecasts
Use the new AccountForecastSettings metadata type. Introduced in API version 47.0, this type has been added to the
Manufacturing Cloud Developer Guide.
Customize account forecasts
Use the new DisplayedRevenueMetrics field on the AccountForecastSettings type.
Use invocable actions
The actionType (FlowActionCall subtype) field of the Flow Metadata Type has new enumerated values for Manufacturing Cloud.
• refreshActualsCalculation-Refreshes actuals calculations for sales agreements for current and future periods.
Available in API version 47.0 and later.
• recalculateForecast-Recalculates forecasts based on orders, opportunity, and sales agreement figures. Available in API
version 47.0 and later.
• massUpdateAccountForecast-Mass updates account forecast fields for different products and periods with this single
action. Available in API version 48.0 and later.
• massUpdateSalesAgreementMass updates sales agreement fields for different products and periods with this single
action. Available in API version 48.0 and later.

Manufacturing Cloud Has New Tooling APIs


Create sales agreements and generate account forecasts with these new Tooling API objects for Manufacturing Cloud.
Create sales agreements
Use the new SalesAgreementSettings object. Introduced in API version 47.0, this object has been added to the Manufacturing
Cloud Developer Guide.
Generate account forecasts
Use the new AccountForecastSettings metadata type. Introduced in API version 47.0, this object has been added to the
Manufacturing Cloud Developer Guide.

Manufacturing Cloud Has New Invocable Actions


Use invocable actions to perform recalculations and mass updates to account forecast and sales agreement fields instantly.

398
Salesforce Spring ’20 Release Notes Shared Industries Metadata API

Refresh actuals calculation


Use the new refreshActualsCalculation action. Introduced in API version 47.0, this is in the Manufacturing Cloud
Developer Guide.
Recalculate account forecasts
Use the new recalculateForecast action. Introduced in API version 47.0, this type is in the Manufacturing Cloud Developer
Guide.
Mass update account forecasts
Use the new massUpdateAccountForecast action.
Mass update Sales Agreement
Use the new massUpdateSalesAgreement action.

Shared Industries Metadata API


Metadata API includes new types. These metadata API types apply to two or more Salesforce Industries clouds.

Industries
Enable features for your Industries vertical
Use the new IndustriesSettings metadata type. Introduced in API version 47.0, this type has been added to the Metadata
API Developer Guide.

Consumer Goods Cloud and Financial Services Cloud


Create an action plan template
Use the new ActionPlanTemplate type. Introduced in API version 47.0, this type has been added to the Metadata API Developer Guide.

myTrailhead: A Fresh New Look for Trailmaker Content, and


Customer-Created Subdomains
Trailmaker Content gets a makeover. Customers can set up their own myTrailhead subdomain. Support for Internet Explorer 11 (IE 11)
is ending.

IN THIS SECTION:
Create Content with Efficiency and Ease Using the Redesigned Trailmaker Content
All the features that myTrailhead content creators rely on are still in place, redesigned for an optimal module- and trail-building
experience.
Create Your Own myTrailhead Subdomain in a Flash
When your company signs up for myTrailhead, you can create your own subdomain and namespace using our quick new setup
flow.
Support for Internet Explorer (IE11) on myTrailhead Is Ending
As of March 31, 2020, IE11 is no longer supported for myTrailhead. The latest stable versions of Google Chrome, Mozilla Firefox,
Microsoft Edge, and Apple Safari are still supported.

399
Salesforce Spring ’20 Release Notes Create Content with Efficiency and Ease Using the Redesigned
Trailmaker Content

Create Content with Efficiency and Ease Using the Redesigned Trailmaker
Content
All the features that myTrailhead content creators rely on are still in place, redesigned for an optimal module- and trail-building experience.
Where: myTrailhead is available to customers with Enterprise, Performance, or Unlimited editions for an extra cost.
When: These changes are available in March 2020.
Who: Users with the myTrailhead Content Access and myTrailhead Content Creation permissions can log in to their company’s myTrailhead
site and access Trailmaker Content.
Why: With the new list view, it’s easier to manage the trails and modules in your Trailmaker Content workspace. And with the new
Actions menu, you can efficiently add content to a release, download a backpack, or open a module or trail for editing.

The updated module- and unit-creation pages have a clean, streamlined style.

400
Salesforce Spring ’20 Release Notes Create Content with Efficiency and Ease Using the Redesigned
Trailmaker Content

401
Salesforce Spring ’20 Release Notes Create Your Own myTrailhead Subdomain in a Flash

And when you create quizzes, you can drag questions to reorder them and even collapse the questions, to make reordering easier.

Create Your Own myTrailhead Subdomain in a Flash


When your company signs up for myTrailhead, you can create your own subdomain and namespace using our quick new setup flow.
Where: myTrailhead is available to customers with Enterprise, Performance, or Unlimited editions for an extra cost.
When: These changes are available in January 2020.
Who: Users with the myTrailhead Content Access and myTrailhead Branding Management permissions can log in to their company’s
myTrailhead site and set up the myTrailhead subdomain.
How: As a myTrailhead customer, you get your own subdomain—your myTrailhead website. Within your subdomain, you have a
namespace, where you gather your modules and trails into releases. In the new subdomain setup flow, we give you a link to the setup
page, where you can log in with your Salesforce username and password.

402
Salesforce Spring ’20 Release Notes Support for Internet Explorer (IE11) on myTrailhead Is Ending

Enter the names for your subdomain and namespace, and you’re done!

SEE ALSO:
Salesforce Help: How myTrailhead Uses Namespaces(can be outdated or unavailable during release preview)

Support for Internet Explorer (IE11) on myTrailhead Is Ending


As of March 31, 2020, IE11 is no longer supported for myTrailhead. The latest stable versions of Google Chrome, Mozilla Firefox, Microsoft
Edge, and Apple Safari are still supported.
Where: myTrailhead is available to customers with Enterprise, Performance, or Unlimited editions for an extra cost.

Customization: Lightning Flow Enhancements, Globalization


Improvements, and Einstein Updates
Build flows and processes more efficiently with enhancements to Flow Builder, flow management, and Process Builder. More easily
manage your translations, currency, and international dates and times. Build, configure, and manage predictions and recommendations
with updates to Einstein Prediction Builder and Einstein Next Best Action.

IN THIS SECTION:
Lightning Flow: Before-Save Updates, Generic Apex Actions, System Context, Opportunity Contact Roles, and Simplified Configuration
Create record-triggered flows that make fast field updates. Developers can create Apex actions for any object. Run flows with system
privileges, enforcing only the running user’s record-level access. Automate processes with opportunity contact roles. Build flows
more efficiently and easily. These changes apply to both Lightning Experience and Salesforce Classic.

403
Salesforce Spring ’20 Release Notes Customization: Lightning Flow Enhancements, Globalization
Improvements, and Einstein Updates

Globalization: Translation Workbench Improvements, Right-to-Left Language Support, and New and Updated Locale Formats
Keep your translations up to date by exporting outdated translations along with untranslated values. Arabic, Hebrew, and Urdu flow
right to left. Enable new and improved formats for international dates and times via a critical update, and prepare for changes to
International Components for Unicode (ICU) and Oracle’s Java Development Kit (JDK) locale formats in this release.
Einstein Prediction Builder: Try Einstein Prediction Builder, Make Informed Predictions with Trusted AI Help, and Build Filter-Based
Predictions
Build up to 10 predictions and enable 1 of them at no additional cost. As you build predictions, refer to the Trusted AI sidebar tab
for help with identifying sources of bias. When your prediction question doesn’t conveniently map to a field, build a filter-based
prediction instead. Add the Einstein Predictions component to your page layouts to display top predictors on individual records.
Einstein Next Best Action: Analyze Recommendation Strategy Metrics, Create Recommendations from the Records of Any Salesforce
Object, and Launch a Flow when Recommendations are Rejected
Analyze metrics at both the strategy and the recommendation level. Discover how many served recommendations in an org were
accepted and rejected. Declaratively create recommendations from the records of any Salesforce object. Serve recommendations
from accounts, contacts, opportunities, and products. Launch a flow when a user rejects a recommendation and display a questionnaire
or run an automated process.
Lightning App Builder: Mobile Enhancements for All, Guidance for App Builder, and Increased Component Capacity in Page Regions
Design better and more efficient Lightning pages for desktop and mobile with mobile-related enhancements to the Lightning App
Builder UI, and with tips delivered via in-app guidance. Include up to 100 components in a single page region.
External Data: Private Connect Pilot, Changed Encryption for External Credentials
Use Private Connect to integrate third-party services with Salesforce without exposure to the public internet. Your external data
credentials are now encrypted with an updated framework for added security.
Permission Set Groups: Greater Flexibility in Granting Permissions (Generally Available)
Permission set groups are an ideal way to consistently and reliably assign permissions to a group of users. Assign users a single
permission set group instead of multiple permission sets. Permission set groups combine selected permission sets to provide all the
permissions that users need for their job function. Remove individual permissions from a group with the muting permission set
feature to ensure that permissions do not exceed user job [Link] change applies to Lightning Experience and Salesforce
Classic.
Sharing: Enhancements to External Organization-Wide Defaults
To better secure your data, the External Sharing Model is enabled by default in all Salesforce orgs created in Spring ’20 or later and
can no longer be disabled. Plus, you can now set external access levels for the Lead and Campaign objects.
AppExchange: Support for [Link] and Enhanced Salesforce Consultant Reviews
Use your [Link] account to manage your installs, subscriptions, and settings on AppExchange. Learn more about a Salesforce
consultant’s past performance with verified project reviews and enhanced community feedback.
General Setup: Custom Settings Enhancements and Improved Connections with Enhanced External Services
Protect and control who has access to custom settings. Create better connections to outside services with Enhanced External Services.

404
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
Lightning Flow: Before-Save Updates, Generic Apex Actions, System Context,
Opportunity Contact Roles, and Simplified Configuration
Create record-triggered flows that make fast field updates. Developers can create Apex actions for
EDITIONS
any object. Run flows with system privileges, enforcing only the running user’s record-level access.
Automate processes with opportunity contact roles. Build flows more efficiently and easily. These Available in: Essentials,
changes apply to both Lightning Experience and Salesforce Classic. Professional, Enterprise,
Performance, Unlimited,
IN THIS SECTION: and Developer Editions

Flow Builder: Record-Triggered Flows for Before-Save Updates, Generic Apex Actions, System
Context for Running Flows, and Simplified Configuration
Use an autolaunched flow to make fast field updates on new or changed records. Developers can create Apex actions that work
with any object you choose. Set autolaunched flows to bypass running-user permissions other than record-level access. Build flows
more easily and efficiently.
Lightning Flow Management: Cloud Flow Designer No Longer Available, Critical Updates and Improvements, and Desktop Flow
Designer Retired
Enjoy runtime improvements. Say goodbye to Cloud Flow Designer and Desktop Flow Designer.
Process Builder: Opportunity Contact Roles and Platform Event Subscriptions
Automate your business processes for opportunity contact roles. And you can see which processes are subscribed to a platform
event.

Flow Builder: Record-Triggered Flows for Before-Save Updates, Generic Apex Actions,
System Context for Running Flows, and Simplified Configuration
Use an autolaunched flow to make fast field updates on new or changed records. Developers can create Apex actions that work with
any object you choose. Set autolaunched flows to bypass running-user permissions other than record-level access. Build flows more
easily and efficiently.

IN THIS SECTION:
Update New and Changed Records 10 Times Faster by Using Before-Save Updates in Flows
Creating or updating a record can now trigger an autolaunched flow to make additional updates to that record before it's saved to
the database. Before-save updates in flows are much faster than other available record-triggered updates. For example, a before-save
update in a flow is 10 times faster than an update in a record-change process that’s built in Process Builder. Replace your record-change
processes with flows to minimize how often the spinner appears when users save records.
Configure Action and Create Records Elements Without Creating Variables
When you add an action or Create Records element to a flow, we automatically store the output values. You no longer have to create
and assign variables, but you can still opt to do so. Action and Create Records elements that were created before Spring ’20 aren’t
affected by this change.
Configure Get Records Elements Without Selecting Fields
When you add a Get Records element to a flow, we automatically store the fields that you need. You no longer have to select each
field manually, but you can still opt to do so. Get Records elements that were created before Spring ’20 aren’t affected by this change.
Deactivate Your Flow Without Leaving Flow Builder
Now you can activate your flow without ever leaving the Flow Builder. Previously, you had to use the flow detail page to deactivate
your flow.

405
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
Build Invocable Actions That Work for Multiple Objects
Now, developers can create reusable Apex actions that use the generic sObject and List<sObject> data types. Build one action that
works for multiple objects, rather than one for each individual object. Developers can build a filter or sort action that works with any
collection of records, from accounts and contacts to custom objects. Previously, developers couldn't use polymorphic Apex structures
in invocable actions because generic data types weren't supported.
Run Flows Without Worrying About User Permissions with System Mode
Normally, how a flow is launched determines whether the flow runs in the context of the user or the system. Now you can bypass
the running user’s permissions by setting your flow to run in system context with sharing. The flow still respects org-wide default
settings, role hierarchies, sharing rules, manual sharing, teams, and territories, but it ignores object permissions, field-level access,
or other permissions of the running user.
Select Related Record Values from Record Variables with One Click
Use the arrow navigation to move up from one related record to another. Select a value up to 10 relationship levels beyond the
original record variable.
Reference a Newly Created Screen Field Without Leaving the Screen Editor
Now you can build screen fields and reference them to set component visibility, validate input, or provide help for another screen
field at the same time. Previously, you had to exit then reopen the screen editor to reference a newly created screen field.
Work More Efficiently in Flow Builder with Keyboard Shortcuts
You can now display a list of available keyboard shortcuts in Flow Builder. Also, new keyboard shortcuts let you switch the focus
from one panel to another.
Locate Resources Quickly in the Manager Toolbox Using API Name, Label, or Description
Now, search for resources using API name, label, or description. Previously, the search feature of the manager toolbox only supported
API names.
Make It Easy for Admins to Find Your Actions by Categorizing Them
Developers can help admins find custom invocable actions more easily by creating categories for them. After you add a category
parameter to an action, your admins see the new category and its associated actions when building flows in Flow Builder.
Guide the Configuration of Your Invocable Actions with Custom Property Editors (Pilot)
Now, developers can create rich design time experiences for admins using Lightning Web Components (LWCs). Previously, developers
could not control the user interface that Flow Builder admins used to configure their actions in Flow Builder.

Update New and Changed Records 10 Times Faster by Using Before-Save Updates in Flows
Creating or updating a record can now trigger an autolaunched flow to make additional updates to that record before it's saved to the
database. Before-save updates in flows are much faster than other available record-triggered updates. For example, a before-save update
in a flow is 10 times faster than an update in a record-change process that’s built in Process Builder. Replace your record-change processes
with flows to minimize how often the spinner appears when users save records.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
Who: To activate a flow that makes before-save updates, you need the View All Data permission.
Why: Perhaps you’re familiar with Process Builder and using a record-change process to make additional updates to each record that
triggers the process. Such a process can set the Region custom field automatically on each new case record. Before-save updates in
flows accomplish that same goal, but much more quickly because each record doesn’t get saved to the database again. Avoiding that
extra save procedure means skipping another round of assignment rules, auto-response rules, workflow rules, and other customizations
that take time to execute.

406
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
Perhaps you’re familiar with Apex triggers. A flow that makes before-save updates is similar to a before trigger. The previously
described record-change process is similar to an after trigger. In a save procedure, before-save updates in flows are executed
immediately prior to Apex before triggers.
Because of their speed, we recommend that you use before-save updates in flows to update fields on new or changed records. You can
even avoid the limit for maximum CPU time on the Salesforce servers by replacing Apex code and record-change processes with
before-save updates in flows. However, sometimes you need to use a record-change process or an Apex after trigger to:
• Access field values that are set only after the record is saved, such as the Last Modified Date field or the ID of the new record.
• Create or update related records.
• Perform actions other than updating the record that launches the flow.
How: Create an autolaunched flow and open the Start element. For What Launches the Flow, select New or updated records—flow
makes fast field updates.

For a flow that makes before-save updates, the Flow Builder toolbox offers only four elements: Assignment, Decision, Get Records, and
Loop.

407
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
In the flow, the $Record global variable contains the record values. Use an Assignment element to update those values, and let
Salesforce handle the rest. You don’t even have to create any variables or add an Update Records element to your flow.

SEE ALSO:
Salesforce Help: Flow Element: Assignment (can be outdated or unavailable during release preview)
Salesforce Help: Flow Resource: Global Variables (can be outdated or unavailable during release preview)
Apex Developer Guide: Triggers and Order of Execution

Configure Action and Create Records Elements Without Creating Variables


When you add an action or Create Records element to a flow, we automatically store the output values. You no longer have to create
and assign variables, but you can still opt to do so. Action and Create Records elements that were created before Spring ’20 aren’t affected
by this change.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
How: When you define a field that supports variables, automatically stored outputs show up as available options just like other variables
in your flow. Later in the flow, you can access values returned by an Action element by starting to type the API name of the element.

To use the record Id from a Create Records element later in the flow, start typing the API name of the element.

If you don’t want to use automatically created variables, select Manually assign variables (advanced).

408
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration

Configure Get Records Elements Without Selecting Fields


When you add a Get Records element to a flow, we automatically store the fields that you need. You no longer have to select each field
manually, but you can still opt to do so. Get Records elements that were created before Spring ’20 aren’t affected by this change.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
How: When you create a Get Records element, automatically store all fields and let the flow do the work for you.

409
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration

To reference a field from the Get Records element later in the flow, start typing the API name of the element, then select the field.

410
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration

SEE ALSO:
IdeaExchange: Save-All-Fields Option in Fast Lookup in Flow
IdeaExchange: Read into sObject Variable Directly in the Flow
IdeaExchange: Flow Editor—Limit Selection of Object Fields to Those Actually Available
IdeaExchange: Include a "Select All" Option for sObject Fields in Flow

Deactivate Your Flow Without Leaving Flow Builder


Now you can activate your flow without ever leaving the Flow Builder. Previously, you had to use the flow detail page to deactivate your
flow.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
How: Click the new Deactivate button (1) in the button bar. The open flow’s activation status can be found to the left of the buttons (2).

Build Invocable Actions That Work for Multiple Objects


Now, developers can create reusable Apex actions that use the generic sObject and List<sObject> data types. Build one action that
works for multiple objects, rather than one for each individual object. Developers can build a filter or sort action that works with any
collection of records, from accounts and contacts to custom objects. Previously, developers couldn't use polymorphic Apex structures
in invocable actions because generic data types weren't supported.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

411
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
How: Create a custom action, or edit an existing one. Use the sObject or List<sObject> data type in invocable methods and
attributes.
public with sharing class GetFirstFromCollection {

@InvocableMethod
public static List <Results> execute (List<Requests> requestList) {

List<SObject> inputCollection = requestList[0].inputCollection;

SObject outputMember = inputCollection[0];

//Create a Results object to hold the return values


Results response = new Results();

//Add the return values to the Results object


[Link] = outputMember;

//Wrap the Results object in a List container


//(an extra step added to allow this interface to also support bulkification)
List<Results> responseWrapper= new List<Results>();
[Link](response);
return responseWrapper;
}

public class Requests {

@InvocableVariable(required=true)
public List<SObject> inputCollection;
}

public class Results {

@InvocableVariable
public SObject outputMember;
}
}

Previously, the example class would have been tied to the Account or Contact or myCustomObject__c object. But now developers
create one action, and the Flow Builder admin chooses the object each time they use that action.

412
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration

SEE ALSO:
Use Generic sObject Data Types in Invocable Methods and Invocable Variables
IdeaExchange: Support for sObject Collection Variables in Invocable Methods for Flows

Run Flows Without Worrying About User Permissions with System Mode
Normally, how a flow is launched determines whether the flow runs in the context of the user or the system. Now you can bypass the
running user’s permissions by setting your flow to run in system context with sharing. The flow still respects org-wide default settings,
role hierarchies, sharing rules, manual sharing, teams, and territories, but it ignores object permissions, field-level access, or other
permissions of the running user.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
How: When you’re saving a flow, click Show Advanced. For How to Run the Flow, select System Context with
Sharing—Enforces Record-Level Access.

413
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration

To select the same option for an existing flow version, click the icon.

SEE ALSO:
IdeaExchange: Flow: ability to choose if your Flow will run in System or As Running User

Select Related Record Values from Record Variables with One Click
Use the arrow navigation to move up from one related record to another. Select a value up to 10 relationship levels beyond the original
record variable.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.

How: Now, click to move to a related record. Previously, selecting the value of a related record from a record variable was a
manual process. If you wanted to select the parent account owner from a contact record variable called myContact, you’d have to
explicitly enter {![Link]}.

414
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
Reference a Newly Created Screen Field Without Leaving the Screen Editor
Now you can build screen fields and reference them to set component visibility, validate input, or provide help for another screen field
at the same time. Previously, you had to exit then reopen the screen editor to reference a newly created screen field.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
How: Suppose that you want to create a picklist screen field to ask users to select their favorite ice cream flavor. If they select Other
from the picklist, a text screen field allows them to enter the flavor manually. Build both screen fields in a snap without ever having to
leave the screen editor.

SEE ALSO:
IdeaExchange: Save While Inside Screen Element of Flow Builder

Work More Efficiently in Flow Builder with Keyboard Shortcuts


You can now display a list of available keyboard shortcuts in Flow Builder. Also, new keyboard shortcuts let you switch the focus from
one panel to another.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
How: To view available keyboard shortcuts, click anywhere on the canvas and then press the forward slash key (/).

415
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration

If you overshoot a panel and want to switch the panel focus backward, press Shift-F6.

SEE ALSO:
Salesforce Help: Flow Builder (can be outdated or unavailable during release preview)

Locate Resources Quickly in the Manager Toolbox Using API Name, Label, or Description
Now, search for resources using API name, label, or description. Previously, the search feature of the manager toolbox only supported
API names.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
How: Type the text you want to search for in the Quick Find. The list filters elements and resources where the API name, label, or
description to match the search text.

416
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration

SEE ALSO:
IdeaExchange: Flow Builder - Search by Labels

Make It Easy for Admins to Find Your Actions by Categorizing Them


Developers can help admins find custom invocable actions more easily by creating categories for them. After you add a category
parameter to an action, your admins see the new category and its associated actions when building flows in Flow Builder.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
Why: Now you can create categories and name them whatever you like. When you’re using custom actions, categories make it faster
and easier to browse to and find the right one. For most standard actions like Post to Chatter and Submit for Approval, Salesforce provides
basic categories such as Approvals, Messaging, Email, and Opportunity. Custom actions without categories are found under the
Uncategorized category.
How: Create a custom action, or edit an existing one. Add the new category parameter to the InvocableMethod annotation
for the action. Add it where you also specify the label and description parameters.
public class SlackAction {
@invocableMethod(
label='Post to Slack Channel'
description='Enter the name of the Slack channel you wish to post to.'
category='Slack')
public static void postToSlackChannel(List<String> channelName){
// logic
}
}

Then as your admins use Action flow elements to build flows, they can select the new category under Filter By and easily find its associated
actions.

417
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration

If you specify an existing category—for example, Users—Salesforce adds the action to that category.

SEE ALSO:
REST API

Guide the Configuration of Your Invocable Actions with Custom Property Editors (Pilot)
Now, developers can create rich design time experiences for admins using Lightning Web Components (LWCs). Previously, developers
could not control the user interface that Flow Builder admins used to configure their actions in Flow Builder.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

Note: Access to create custom property editors is available in Spring ‘20 through a pilot program that requires agreement to
specific terms and conditions. To participate in the program, contact Salesforce Support. Pilot programs are subject to change,
and we can’t guarantee acceptance. Feature isn’t generally available unless or until Salesforce announces its general availability
in documentation or in press releases or public statements. We can’t guarantee general availability within any particular time frame
or at all. Make your purchase decisions only on the basis of generally available products and features. You can provide feedback
and suggestions for Custom Property Editors in the Trailblazer Community.

SEE ALSO:
External Link: Custom Property Editors Pilot Documentation

Lightning Flow Management: Cloud Flow Designer No Longer Available, Critical


Updates and Improvements, and Desktop Flow Designer Retired
Enjoy runtime improvements. Say goodbye to Cloud Flow Designer and Desktop Flow Designer.

IN THIS SECTION:
Cloud Flow Designer Is No Longer Available
The better and faster Flow Builder replaces Cloud Flow Designer.

418
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
Hit Limits Less Often with More Efficient Record Update Processing
Now, the engine automatically removes duplicate record updates. Build processes and flows without worrying about identical
requests hitting the duplicate record limit. Previously, when a parent record was updated from multiple child records in a process
or flow, redundant update requests sometimes occurred. This redundancy occasionally caused more than the maximum of 12
duplicated records to be updated in one batch. For example, if an update of [Link] was performed for 13 contacts, a
corresponding 13 updates would be generated, causing the duplicate record limit to be exceeded.
Enforce Data Access in Flow Formulas (Critical Update)
This update enforces the running user’s data access when a flow uses a formula resource or a formula field on a record variable to
access a field on a record.
Make Flows Respect Access Modifiers for Legacy Apex Actions (Critical Update)
With this critical update enabled, developers can trust that their legacy Apex actions are properly protected and available only to
other components in their managed packages. This update makes a flow fail if it contains a public legacy Apex action.
Evaluate Criteria Based on Original Record Values in Process Builder (Previously Released Critical Update)
This critical update ensures that a process with multiple criteria and a record update evaluates the original value of the field that
began the process with a value of null. This critical update was first made available in Summer ‘19.
Enable Partial Save for Invocable Actions (Critical Update, Enforced)
Enable Partial Save for Invocable Actions was a critical update in Winter ‘20 and is enforced in Spring ’20, on April 9, 2020. This critical
update improves the behaviors and effects of failed invocable actions. It only affects external REST API calls to invocable actions done
in bulk. With this update, when invoking a set of actions in a single request, a single failed invocable action no longer causes the
entire transaction to fail. Without this update, if a single invocable action fails, other invocable actions within the transaction are
rolled back and the entire transaction fails.
Return Null Values in Process and Flow Formulas (Critical Update, Enforced)
Check for Null Record Variables or Null Values of Lookup Relationship Fields in Process and Flow Formulas was a critical update in
Spring ’19 and is enforced in Spring ’20, on February 18, 2020. This update enables process and flow formulas to return null values
when the calculations involve a null record variable or null lookup relationship field.
Require User Access to Apex Classes Invoked by Flow (Critical Update, Postponed)
This critical update, released in Summer ’19, was scheduled for auto-activation in Winter ’20, but has been postponed to Spring ’21.
The critical update was previously called “Improve Security by Requiring User Access to Apex Classes Invoked by Flow.”
Generate Valid HTML Output from Formulas in Processes and Flows (Critical Update, Retired)
This critical update was released and retired in Spring '20. This change affects your Salesforce org if you activated the critical update
in the short time that it was available. And, if you modified any HTML in your formulas to prepare for this critical update, this retirement
affects your org.
Save Successful Record Changes in a Batch from Failed Actions in Processes and Flows
Processes and flows now save successful record changes from failed actions that support partial save. Previously, if one record in a
batch failed to save from an action, the entire batch rolled back. Now, Salesforce rolls back only the records that fail to save.
Desktop Flow Designer Was Retired
If your Salesforce org still contains flows that were built with the retired Desktop Flow Designer, we recommend that you delete
them. Before you delete a flow, you can download each flow version from the flow version detail page. Then recreate the flow in
Flow Builder.

Cloud Flow Designer Is No Longer Available


The better and faster Flow Builder replaces Cloud Flow Designer.

419
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.

SEE ALSO:
Summer ’19 Release Notes: Flow Builder Is Replacing Cloud Flow Designer
Salesforce Help: Flow Builder
Trailhead: Build Flows with Flow Builder

Hit Limits Less Often with More Efficient Record Update Processing
Now, the engine automatically removes duplicate record updates. Build processes and flows without worrying about identical requests
hitting the duplicate record limit. Previously, when a parent record was updated from multiple child records in a process or flow, redundant
update requests sometimes occurred. This redundancy occasionally caused more than the maximum of 12 duplicated records to be
updated in one batch. For example, if an update of [Link] was performed for 13 contacts, a corresponding 13 updates
would be generated, causing the duplicate record limit to be exceeded.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.

SEE ALSO:
Salesforce Help: Per-Transaction Flow Limits (can be outdated or unavailable during release preview)

Enforce Data Access in Flow Formulas (Critical Update)


This update enforces the running user’s data access when a flow uses a formula resource or a formula field on a record variable to access
a field on a record.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
When: This critical update begins auto-activating on August 31, 2020.
Why: With this update enabled, flow formulas respect the running user’s object permissions, field-level access, and record-level access
such as sharing rules.
For example, consider an org that makes cases private unless the case owner shares the cases explicitly with other users.
Without this update, when a user who isn’t the case owner runs a flow that accesses a field on a case via a formula, the flow interview
ignores record-level security and accesses the field.
With this update enabled, the running user’s record-level access is enforced, so that flow interview can’t access the field.
How: We recommend that you test this update in a sandbox before enabling it in your production org.
1. From Setup, enter Critical Updates in the Quick Find box, then select Critical Updates.
2. For Enforce Data Access in Flow Formulas, click Activate.
3. Test all flow paths that use formulas to access fields on records that have object-level security, field-level security, or record-level
security. For example, test flows that use formulas to access fields on records that aren’t shared with the running user of the flow.
If you experience issues, contact Salesforce Customer Support.

SEE ALSO:
Critical Updates and Security Alerts

420
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
Make Flows Respect Access Modifiers for Legacy Apex Actions (Critical Update)
With this critical update enabled, developers can trust that their legacy Apex actions are properly protected and available only to other
components in their managed packages. This update makes a flow fail if it contains a public legacy Apex action.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
Why: This update resolves an issue where flows don’t respect the public access modifiers for legacy Apex actions. The issue affects only
legacy Apex actions that reference Apex classes installed from managed packages.
Legacy Apex actions were formerly known as Apex plug-ins. When you define an Apex class that implements the [Link]
interface in your org, it's available in Flow Builder as a legacy Apex action.

Note: For new Apex integrations, we recommend using the InvocableMethod annotation instead of the
[Link] interface. This update doesn't affect invocable Apex methods.
With this update enabled:
• Flows fail when they execute public legacy Apex actions.
• Public legacy Apex actions aren't available in Flow Builder.
• Global legacy Apex actions with public describe or invoke methods are unavailable to flows in a different namespace.
Without this update, you can add public legacy Apex actions to flows even though they’re not supported. Also, global legacy Apex
actions with public describe or invoke methods are available to flows in a different namespace.
When: This critical update begins auto-activating on August 15, 2020.
How: We recommend that you test this update in a sandbox or developer org before activating the update in production. If you must
work in your production org, do so during off-peak hours. Test all paths that contain legacy Apex action elements and make sure your
flows work correctly. If a legacy Apex action is important for a business process but isn’t supported with this update, contact the package
developer. The developer can consider making a legacy Apex action global, or rebuilding the functionality in a new Apex class.
To activate this update, from Setup, enter Critical Updates in the Quick Find box, and select Critical Updates. For Make Flows
Respect Access Modifiers for Legacy Apex Actions, click Activate.

SEE ALSO:
Critical Updates and Security Alerts

Evaluate Criteria Based on Original Record Values in Process Builder (Previously Released Critical
Update)
This critical update ensures that a process with multiple criteria and a record update evaluates the original value of the field that began
the process with a value of null. This critical update was first made available in Summer ‘19.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
When: This critical update begins auto-activating on July 21, 2021.
How: From Setup, enter Critical Updates in the Quick Find box. Then select Critical Updates. For Evaluate Criteria Based on
Original Record Values in Process Builder, click Acknowledge.

421
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
If you have a process with the Do you want to execute the actions only when specified changes are made to the record? option
selected, or it uses the ISCHANGED() function in your criteria, this update could cause the process to behave differently.

SEE ALSO:
Critical Updates and Security Alerts

Enable Partial Save for Invocable Actions (Critical Update, Enforced)


Enable Partial Save for Invocable Actions was a critical update in Winter ‘20 and is enforced in Spring ’20, on April 9, 2020. This critical
update improves the behaviors and effects of failed invocable actions. It only affects external REST API calls to invocable actions done
in bulk. With this update, when invoking a set of actions in a single request, a single failed invocable action no longer causes the entire
transaction to fail. Without this update, if a single invocable action fails, other invocable actions within the transaction are rolled back
and the entire transaction fails.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
Why: Without this critical update, if one invocable action fails, other invocable actions in the same transaction are rolled back. With this
critical update, Salesforce tries three times to execute the invocable actions that run successfully and rolls back only the invocable actions
that fail to execute. This functionality is called “partial save.”
Most invocable action types that are invoked via REST API are enabled with the partial save functionality. However, even with this critical
update, the following action types don’t support partial save functionality:
• Cancel Fulfillment Order

• Cancellation Orders

• Capture Funds

• Content Workspaces

• Create Fulfillment Order

• Create Invoice from Fulfillment Order

• Create Service Report

• External Services

• Generate Work Orders

• Invocable Apex

• Skills-based Routing

• Submit Digital Form Response

Partial save can cause an external callout to occur multiple times, and external callouts can’t be rolled back. Repeated external callouts
can occur only when a flow is launched from a process or invoked from REST API, and that flow makes multiple attempts to execute the
action that’s making the external callouts.
Because partial save can make multiple attempts to execute an action, the transaction can take longer than expected. This can cause
your org to reach some limits sooner than expected.
When: This critical update begins auto-activating on April 9, 2020. Before that date, or before you activate this critical update in your
production org, we recommend that you test it in a sandbox or Developer Edition org to make sure that your invocable actions work
correctly. If you must work in your production org, do so during off-peak hours.

422
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
How: From Setup, enter Critical Updates in the Quick Find box, and select Critical Updates. For Enable Partial Save for Invocable
Actions, click Activate.
Review any API integrations that use invocable actions to ensure they properly accommodate partial-save behavior.

SEE ALSO:
Critical Updates and Security Alerts

Return Null Values in Process and Flow Formulas (Critical Update, Enforced)
Check for Null Record Variables or Null Values of Lookup Relationship Fields in Process and Flow Formulas was a critical update in Spring
’19 and is enforced in Spring ’20, on February 18, 2020. This update enables process and flow formulas to return null values when the
calculations involve a null record variable or null lookup relationship field.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
Why: In processes and flows, a formula can reference a record’s field via a record variable or lookup relationship field. At run-time, when
the record variable or lookup relationship field is null, the formula sometimes returns null. Otherwise, it returns an unhandled exception.
With this update, the formula always returns a null value when the record variable or lookup relationship field is null. This update doesn’t
affect merge fields.
For example, when you update an account, a process starts and checks the criteria before it performs actions. The criteria includes a
formula that references the parent account’s name via the account’s Parent Account field. The Parent Account field is a lookup relationship
field: [Account].[Link].
If the value of the lookup relationship field is null, the formula returns null. Without this update, the formula sometimes returns an
unhandled exception instead of null.
When: This critical update begins auto-activating on February 18, 2020.
How: To test this critical update, we recommend working in a sandbox. From Setup, enter Critical Updates in the Quick Find
box. Then select Critical Updates. Review the details for the Check for Null Record Variables or Null Values of Lookup Relationship Fields
in Process and Flow Formulas critical update and then click [Link] all process and flow formulas that reference lookup relationship
fields or record variable fields. Processes have formulas in criteria and in actions. Flows have formulas in resources and in validation of
input components.

SEE ALSO:
Critical Updates and Security Alerts

Require User Access to Apex Classes Invoked by Flow (Critical Update, Postponed)
This critical update, released in Summer ’19, was scheduled for auto-activation in Winter ’20, but has been postponed to Spring ’21. The
critical update was previously called “Improve Security by Requiring User Access to Apex Classes Invoked by Flow.”

SEE ALSO:
Critical Updates and Security Alerts
Summer ‘19 Release Notes: Improve Security by Requiring User Access to Apex Classes Invoked by Flow (Critical Update)

423
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
Generate Valid HTML Output from Formulas in Processes and Flows (Critical Update, Retired)
This critical update was released and retired in Spring '20. This change affects your Salesforce org if you activated the critical update in
the short time that it was available. And, if you modified any HTML in your formulas to prepare for this critical update, this retirement
affects your org.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
When: This critical update was retired and no longer appears in the Critical Update Console in Spring ’20 after February 5, 2020.
Why: The intention of the update was to make formula resources and fields on record variables in processes and flows generate correct
HTML output at run time. However, enabling this critical update caused unexpected results when formula fields were used as values.
For example, when you passed formula values as inputs to an action, like the email address of an Email action, the HTML output caused
issues.
How: To return the behavior to how it was before you enabled the critical update, undo any changes you made in response to the
update. For example, if you removed HTML formatting, then add it back.
Salesforce continues to assess strategies for generating valid HTML output from formulas in processes and flows.

SEE ALSO:
Critical Updates and Security Alerts

Save Successful Record Changes in a Batch from Failed Actions in Processes and Flows
Processes and flows now save successful record changes from failed actions that support partial save. Previously, if one record in a batch
failed to save from an action, the entire batch rolled back. Now, Salesforce rolls back only the records that fail to save.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
Why: If an error occurs while executing an action from processes or flows, Salesforce attempts to save all successful record changes in
a batch.
Salesforce handles errors in processes and flows differently depending on whether the associated action follows the "all or nothing" rule.
• If a record fails to save due to an action that follows the all or nothing rule, the entire transaction rolls back.
• If a record fails to save due to an action that uses partial save, we attempt the remaining actions in the bulk operation up to three
times.
Here's a summary of how processes and flows save records in batches from actions.

Process Builder Action How Are Records Saved


Apex Depends on code

Create a Record Partial save

Email Alerts All or nothing

Flows (Create Records and Update Records elements only) Partial save

Flow (other elements) All or nothing

Post to Chatter All or nothing

Processes Partial save

424
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
Process Builder Action How Are Records Saved
Quick Actions All or nothing

Quip All or nothing

Send Custom Notification All or nothing

Submit for Approval All or nothing

Update Records Partial save

Flow Builder Action How Are Records Saved


Apex Action Depends on code

Email Alert All or nothing

Post to Chatter All or nothing

Quick Action All or nothing

Send Custom Notification All or nothing

Submit for Approval All or nothing

Subflow Partial save

Create Records Partial save

Update Records Partial save

Flow (other elements) All or nothing

Desktop Flow Designer Was Retired


If your Salesforce org still contains flows that were built with the retired Desktop Flow Designer, we recommend that you delete them.
Before you delete a flow, you can download each flow version from the flow version detail page. Then recreate the flow in Flow Builder.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

SEE ALSO:
Salesforce Help: Flow Builder
Trailhead: Build Flows with Flow Builder

Process Builder: Opportunity Contact Roles and Platform Event Subscriptions


Automate your business processes for opportunity contact roles. And you can see which processes are subscribed to a platform event.

425
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
IN THIS SECTION:
Automate Opportunity Contact Role Creation and Updates with Lightning Flow
Use Process Builder and Flow Builder to automate business processes that involve opportunity contact roles, so that your sales reps
don’t have to do the work manually. For example, create a process that adds an opportunity contact role to each new opportunity
that has a related contact. Or use a process or autolaunched flow to notify the opportunity owner when a related opportunity contact
role is updated.
View Processes That Subscribe to a Platform Event
From the Subscriptions related list of a platform event, you can now view processes that are subscribed to the platform event.
Previously, you could view the processes only by using the Metadata API.
Stop Automated Field Updates from Suppressing Email Notifications (Critical Update, Enforced)
Stop Automated Field Updates from Suppressing Email Notifications was a critical update in Summer ’17 and is enforced in Spring
’20, on March 1, 2020. For various operations, such as assigning a task to someone, you can choose to notify the affected user by
email. This update stops processes, workflow rules, and Apex triggers from suppressing these email notifications. This change applies
to Lightning Experience and Salesforce Classic.

Automate Opportunity Contact Role Creation and Updates with Lightning Flow
Use Process Builder and Flow Builder to automate business processes that involve opportunity contact roles, so that your sales reps don’t
have to do the work manually. For example, create a process that adds an opportunity contact role to each new opportunity that has a
related contact. Or use a process or autolaunched flow to notify the opportunity owner when a related opportunity contact role is
updated.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
Who: Users with the Customize Application permission can customize opportunity contact roles.
How: In Process Builder or Flow Builder, reference the Opportunity Contact Role object as you would any other object.

SEE ALSO:
IdeaExchange: Process Builder - Allow Action to Create Opportunity Contact Role Record

426
Salesforce Spring ’20 Release Notes Lightning Flow: Before-Save Updates, Generic Apex Actions,
System Context, Opportunity Contact Roles, and Simplified
Configuration
View Processes That Subscribe to a Platform Event
From the Subscriptions related list of a platform event, you can now view processes that are subscribed to the platform event. Previously,
you could view the processes only by using the Metadata API.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Enterprise, Performance, Unlimited, and Developer
editions.
How: From Setup, enter Platform Event in the Quick Find box, then select Platform Events.
From the Subscriptions related list, you can click the process label to get more details, such as its version number and its API name.

Why are you seeing flow version details? Similar to a flow, a running instance of a process is a flow interview. The information that you
see on the Flow Version page is about the process. You can click the flow API name of the process to view the list of processes for your
org.

You can click the process to open it in Process Builder.

Stop Automated Field Updates from Suppressing Email Notifications (Critical Update, Enforced)
Stop Automated Field Updates from Suppressing Email Notifications was a critical update in Summer ’17 and is enforced in Spring ’20,
on March 1, 2020. For various operations, such as assigning a task to someone, you can choose to notify the affected user by email. This
update stops processes, workflow rules, and Apex triggers from suppressing these email notifications. This change applies to Lightning
Experience and Salesforce Classic.

Example:
• You change a case’s owner and choose to notify the new owner by email.
• You create a user and choose to welcome the user by email.
• You create a task and choose to notify the task owner by email.
• You create an assignment rule and choose to notify users when they’ve been assigned a case.

Prior to Summer ’17, those emails didn’t always go through. If the change triggered a process, workflow rule, or Apex trigger that updated
the same record, Salesforce suppressed the email. When you activate this critical update, Salesforce no longer suppresses the notification
emails.

427
Salesforce Spring ’20 Release Notes Globalization: Translation Workbench Improvements,
Right-to-Left Language Support, and New and Updated
Locale Formats
Until now, the workaround has been to add your own email notifications, such as with an Email Alert in a process or workflow rule. If
you used this workaround to make up for the missing emails, your users receive duplicate emails. Remove your workarounds so that
your users receive only one notification.
When: This critical update begins auto-activating on March 1, 2020.

Test This Critical Update


We recommend testing the critical update in a sandbox. If you must work in your production org, do so during off-peak hours.
1. Identify customizations that are sending the email notifications.
2. Remove the supplemental email notifications from the customization components.
3. Activate the Stop Automated Field Updates from Suppressing Email Notifications critical update.
4. Test your customizations to make sure that Salesforce doesn’t send duplicate emails.

SEE ALSO:
Critical Updates and Security Alerts

Globalization: Translation Workbench Improvements, Right-to-Left Language


Support, and New and Updated Locale Formats
Keep your translations up to date by exporting outdated translations along with untranslated values. Arabic, Hebrew, and Urdu flow
right to left. Enable new and improved formats for international dates and times via a critical update, and prepare for changes to
International Components for Unicode (ICU) and Oracle’s Java Development Kit (JDK) locale formats in this release.

IN THIS SECTION:
Keep Your Translations Up to Date
In Translation Workbench, we updated the untranslated file type in the Export feature. In addition to text that is not yet translated,
this export option now includes text changed since the last translation.
Get Things Right with Right-to-Left Layout and Languages (Generally Available)
To make right-to-left (RTL) language users feel more at home, columns and sidebars flow from right to left, and text is aligned
appropriately. This right-to-left layout is available for Arabic, Hebrew, and Urdu. Arabic and Hebrew are available as end-user languages
in Lightning Experience, while Urdu is supported as a platform-only language. This feature, now generally available, includes some
changes since the beta release.
Enable ICU Locale Formats (Previously Released Critical Update)
To help you do business wherever you are, we’re adopting the International Components for Unicode (ICU) formats for dates and
times. These new formats replace Oracle’s Java 8 Development Kit (JDK8) formats. ICU sets the international standard for these
formats for all locales. The new formats provide a consistent experience across the Salesforce platform and improve integration with
ICU-compliant applications across the globe. This critical update was first made available in Winter ’20.
Prepare for Language and Locale Format Changes
To provide you with up-to-date formats and new languages, we updated the language and locale formats. Whether you use the
new International Components for Unicode (ICU) formats or Oracle's Java Development Kit (JDK) formats, we recommend that you
evaluate how the format changes affect your Salesforce org. This release includes ICU 64.2, which uses Common Locale Data Repository
(CLDR) version 35.1. For customers remaining on JDK, we adopted the minimal format updates required, allowing you to focus your
efforts on adopting ICU.

428
Salesforce Spring ’20 Release Notes Globalization: Translation Workbench Improvements,
Right-to-Left Language Support, and New and Updated
Locale Formats
Use Advanced Currency Management in Lightning Experience
You can manage dated exchange rates within opportunities without switching to Salesforce Classic. Advanced currency management
is now available in Lightning Experience.
Connect with Customers Who Speak and Read Persian
We added Persian as a platform-only language.
Other Translation Workbench Changes
We renamed Translation Settings in Setup. The new page name is Translation Language Settings. On the Translate Setup page, the
translation field now allows 32,000 characters or 96,000 bytes of data, up to the length of the translated object.

Keep Your Translations Up to Date


In Translation Workbench, we updated the untranslated file type in the Export feature. In addition to text that is not yet translated, this
export option now includes text changed since the last translation.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and
Developer editions.
Why: If a translatable object’s label changes, you must review and update the translations for that label. Now you can identify these
changes along with any untranslated values through the Outdated and untranslated option in the Translation Workbench Export
feature.

How: From Setup, enter Export in the Quick Find box. Select Export to access the Translation Workbench Export page. Select
Outdated and untranslated. Based on the file type you want, click Export as STF or Export as XLIFF.

SEE ALSO:
Salesforce Help: Translation Files (can be outdated or unavailable during release preview)
Salesforce Help: Exporting Translation Files (can be outdated or unavailable during release preview)

Get Things Right with Right-to-Left Layout and Languages (Generally Available)
To make right-to-left (RTL) language users feel more at home, columns and sidebars flow from right to left, and text is aligned appropriately.
This right-to-left layout is available for Arabic, Hebrew, and Urdu. Arabic and Hebrew are available as end-user languages in Lightning
Experience, while Urdu is supported as a platform-only language. This feature, now generally available, includes some changes since
the beta release.
Where: This change applies to Lightning Experience in all editions except [Link].
Why: We improved the layout for RTL languages, giving them a more natural look and feel.

429
Salesforce Spring ’20 Release Notes Globalization: Translation Workbench Improvements,
Right-to-Left Language Support, and New and Updated
Locale Formats
For example, here’s a left-to-right layout in English in Lightning Experience.

And here’s the same view in Hebrew, right to left.

Here’s what changed since the beta release:


• The RTL Language Layout is now the default layout for right-to-left languages.
• Lightning Reports and Dashboards fully support right-to-left language layouts except for the following limitation in report builder.
The editing field for summary and row-level formulas is left to right, even though the formula editing menu is right to left.
Lightning Right-to-Left (RTL) Support is not available for Marketing Cloud, Commerce Cloud, Pardot, Salesforce CPQ and Billing,
Communities Cloud, or Health Cloud. Lightning RTL Support for Hebrew is still in beta for Financial Services Cloud. Some features aren’t
included in Lightning Right-to-Left Support, and there are specific limitations for search. See Salesforce Help for a full list of the Right-to-Left
Support limitations.

SEE ALSO:
Salesforce Help: Right-to-Left (RTL) Language Support (can be outdated or unavailable during release preview)
Salesforce Help: Right-to-Left (RTL) Language Limitations for Search (can be outdated or unavailable during release preview)
Salesforce Help: Supported Languages (can be outdated or unavailable during release preview)

430
Salesforce Spring ’20 Release Notes Globalization: Translation Workbench Improvements,
Right-to-Left Language Support, and New and Updated
Locale Formats
Enable ICU Locale Formats (Previously Released Critical Update)
To help you do business wherever you are, we’re adopting the International Components for Unicode (ICU) formats for dates and times.
These new formats replace Oracle’s Java 8 Development Kit (JDK8) formats. ICU sets the international standard for these formats for all
locales. The new formats provide a consistent experience across the Salesforce platform and improve integration with ICU-compliant
applications across the globe. This critical update was first made available in Winter ’20.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions, except
[Link].
When: This critical update is activated automatically on January 31, 2022. Orgs created in Winter ’20 or later have ICU locale formats
enabled by default.
How: Before activating this update in production, check with your package providers to make sure that all your installed packages are
compatible with the ICU formats. Then evaluate the new locales’ impact to your Salesforce org. Use this SOQL query to find the locales
in use in your org and a user count for each locale:
SELECT toLabel(LocaleSidKey) LocaleName, LocaleSidKey, Count(id) UserCount FROM User where
IsActive=true GROUP BY LocaleSidKey

See the documentation for recommended areas of testing and details on the changes for each locale.

Note: If your organization has fewer than 100,000 users, we display the query’s results in the Update Details page of the critical
update.
To activate this update, from Setup, enter Critical Updates in the Quick Find box, then select Critical Updates. For Enable ICU
Locale Formats, click Review. Click Activate.
The English (Canada) locale (en_CA) requires separate activation. Enter User Interface in the Quick Find box, then select User
Interface. Select Enable ICU formats for en_CA locale and click Save.

Note: Activating the critical update displays the new locale formats in the UI. The ICU formats are available in API version 45.0
and later.

SEE ALSO:
Salesforce Help: Go Global with New International Locale Formats (can be outdated or unavailable during release preview)
Winter ’20 Release Note: Enable ICU Locale Formats (Critical Update)
Critical Updates and Security Alerts

Prepare for Language and Locale Format Changes


To provide you with up-to-date formats and new languages, we updated the language and locale formats. Whether you use the new
International Components for Unicode (ICU) formats or Oracle's Java Development Kit (JDK) formats, we recommend that you evaluate
how the format changes affect your Salesforce org. This release includes ICU 64.2, which uses Common Locale Data Repository (CLDR)
version 35.1. For customers remaining on JDK, we adopted the minimal format updates required, allowing you to focus your efforts on
adopting ICU.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions, except
[Link].
How: Review the format changes for the languages and locales in use within your org. Evaluate how the changes affect your organization.
Then test your filters, code, and components as needed.

431
Salesforce Spring ’20 Release Notes Einstein Prediction Builder: Try Einstein Prediction Builder,
Make Informed Predictions with Trusted AI Help, and Build
Filter-Based Predictions
The default currency changed for the French (Mauritania) and Spanish (Venezuela) locales. We recommend that you notify users with
these locales of the change.

SEE ALSO:
Knowledge Article: JDK Language and Locale Format Changes in Spring ’20 (can be outdated or unavailable during release preview)
Knowledge Article: ICU Language and Locale Format Changes in Spring ’20 (can be outdated or unavailable during release preview)
Knowledge Article: Test Language and Locale Format Changes (can be outdated or unavailable during release preview)

Use Advanced Currency Management in Lightning Experience


You can manage dated exchange rates within opportunities without switching to Salesforce Classic. Advanced currency management
is now available in Lightning Experience.
Where: This change applies to Lightning Experience in Group, Professional, Enterprise, Performance, Unlimited, and Developer Editions.

SEE ALSO:
Salesforce Help: About Advanced Currency Management (can be outdated or unavailable during release preview)

Connect with Customers Who Speak and Read Persian


We added Persian as a platform-only language.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions.

SEE ALSO:
Salesforce Help: Supported Languages (can be outdated or unavailable during release preview)

Other Translation Workbench Changes


We renamed Translation Settings in Setup. The new page name is Translation Language Settings. On the Translate Setup page, the
translation field now allows 32,000 characters or 96,000 bytes of data, up to the length of the translated object.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions.

Einstein Prediction Builder: Try Einstein Prediction Builder, Make Informed


Predictions with Trusted AI Help, and Build Filter-Based Predictions
Build up to 10 predictions and enable 1 of them at no additional cost. As you build predictions, refer to the Trusted AI sidebar tab for
help with identifying sources of bias. When your prediction question doesn’t conveniently map to a field, build a filter-based prediction
instead. Add the Einstein Predictions component to your page layouts to display top predictors on individual records.

IN THIS SECTION:
Predict the Future Using Filters in Einstein Prediction Builder
When you build a prediction, you no longer need a field that answers your prediction question. As long as the records on the object
that you base your prediction on have the data, you can use filters instead.

432
Salesforce Spring ’20 Release Notes Einstein Prediction Builder: Try Einstein Prediction Builder,
Make Informed Predictions with Trusted AI Help, and Build
Filter-Based Predictions
Show Top Predictors on Records with Einstein Prediction Builder
Now you and your users can gain insights on which predictors are most influential at the record level, not just for the entire model.
You can show top predictors on records to see which field values have the biggest impact on a specific record’s score.
Try Einstein Prediction Builder At No Additional Cost
Turn on Einstein Prediction Builder without spending a dime to see how your business can benefit from custom predictions. Decide
later whether to upgrade.
Make Informed Predictions with Trusted AI Help in Einstein Prediction Builder
Learn as you build with the Trusted AI sidebar help. Trusted AI helps you identify and mitigate potential bias in your data, making
your predictions less error prone.

Predict the Future Using Filters in Einstein Prediction Builder


When you build a prediction, you no longer need a field that answers your prediction question. As long as the records on the object that
you base your prediction on have the data, you can use filters instead.
Where: This change applies to Lightning Experience in Enterprise and Developer editions.
Who: This feature is available to admins with the Einstein Analytics Plus, Einstein Predictions, or EinsteinBuilderFree license.
How: Einstein Prediction Builder’s guided setup has a few new questions. For example, you specify whether you already have a field
that can answer your prediction question.

Use filters to set up your prediction instead of creating a custom field. Suppose that you want to predict whether a deal will close. That’s
a yes/no question, but the field that contains the data is a picklist. Select No Field, and use filters to provide examples of yes and no
values. For example, select Stage Equals Closed Won to filter for examples of Yes.

433
Salesforce Spring ’20 Release Notes Einstein Prediction Builder: Try Einstein Prediction Builder,
Make Informed Predictions with Trusted AI Help, and Build
Filter-Based Predictions

Select Stage Equals Closed Lost to filter for examples of No.

Records that you don’t include in your example set are the records that Einstein provided predicted values for.

Show Top Predictors on Records with Einstein Prediction Builder


Now you and your users can gain insights on which predictors are most influential at the record level, not just for the entire model. You
can show top predictors on records to see which field values have the biggest impact on a specific record’s score.
Where: This change applies to Lightning Experience in Enterprise and Developer editions.
Who: This feature is available to admins with the Einstein Analytics Plus or Einstein Predictions license. Additionally, admins need a
permission set that includes the ViewInsightObject and CreateInsightObject permissions. For users to view the component, they need
the same permissions as well as CRUD access on the AIRecordInsight and AIInsightReason objects.
How: When you build your prediction, on the page where you name the custom field that stores your prediction results, set Show Top
Predictors on Records to On.

434
Salesforce Spring ’20 Release Notes Einstein Prediction Builder: Try Einstein Prediction Builder,
Make Informed Predictions with Trusted AI Help, and Build
Filter-Based Predictions

Add the Einstein Predictions component to all the record page layouts where you want to show top predictors. When you view a record
that has a prediction score, you can see the Einstein Predictions component on the record page with the top predictors that influence
the score.

Note: Showing top predictors on records works only for binary classification (yes/no) predictions. It’s not available for numeric
predictions.

Try Einstein Prediction Builder At No Additional Cost


Turn on Einstein Prediction Builder without spending a dime to see how your business can benefit from custom predictions. Decide
later whether to upgrade.

435
Salesforce Spring ’20 Release Notes Einstein Prediction Builder: Try Einstein Prediction Builder,
Make Informed Predictions with Trusted AI Help, and Build
Filter-Based Predictions
Where: This change applies to Lightning Experience in Enterprise and Unlimited editions. You can also sign up for a Developer Edition
org with Einstein Prediction Builder included at no additional cost.
How: From Setup, look for Einstein Prediction Builder. Click Get Started to get to a page to review terms and conditions. If you agree,
click another Get Started button to set up Einstein Prediction Builder.

The Try Einstein experience lets you build up to 10 total predictions and enable one of them. After you build your first prediction, the
Predictions list view in Setup shows your total and enabled predictions, and how many you have left.

To show top predictors on records, you can upgrade to the paid version.

Make Informed Predictions with Trusted AI Help in Einstein Prediction Builder


Learn as you build with the Trusted AI sidebar help. Trusted AI helps you identify and mitigate potential bias in your data, making your
predictions less error prone.
Where: This change applies to Lightning Experience in Enterprise and Developer editions.
Who: This feature is available to admins with the Einstein Analytics Plus, Einstein Predictions, or EinsteinBuilderFree license.

436
Salesforce Spring ’20 Release Notes Einstein Next Best Action: Analyze Recommendation Strategy
Metrics, Create Recommendations from the Records of Any
Salesforce Object, and Launch a Flow when
How: Use the Guide tab (1) for the same sidebar content you already rely on: Data Checker (2), Prediction Settings (3), and helpful
Recommendations aretipsRejected
for building your prediction (4). Refer to the new Trusted AI tab (5) where it appears on key steps in the setup flow for advice as you go.

Einstein Next Best Action: Analyze Recommendation Strategy Metrics,


Create Recommendations from the Records of Any Salesforce Object, and
Launch a Flow when Recommendations are Rejected
Analyze metrics at both the strategy and the recommendation level. Discover how many served recommendations in an org were
accepted and rejected. Declaratively create recommendations from the records of any Salesforce object. Serve recommendations from
accounts, contacts, opportunities, and products. Launch a flow when a user rejects a recommendation and display a questionnaire or
run an automated process.

IN THIS SECTION:
Analyze Next Best Action Usage with Recommendation Strategy Metrics
Now you can track the aggregate usage of Next Best Action in a Salesforce org. Analyze metrics at the strategy and the recommendation
level. Compare the relative performance of two strategies. For a given calendar month, see the total number of recommendations
an org’s strategies served. Find out how many served recommendations agents accepted and rejected.
Create Recommendations from the Records of Any Salesforce Object
Declaratively create recommendations from the records of any Salesforce object, either standard or custom. Serve recommendations
from accounts, contacts, opportunities, and products. Load and filter the records of any Salesforce object, and convert them into
recommendations at the end of the strategy. Previously, when you created recommendations declaratively, you were limited to
using only Recommendation objects. You could programmatically convert the records of other objects into recommendations, but
you used Apex code with the Generate element.
Launch Flows When Recommendations are Rejected
Now you can launch a flow when a user rejects a recommendation, which gives you more flexibility. For example, a flow can run an
automated process, write to another system, or create a reminder email when a recommendation is rejected. Previously, Next Best
Action launched a flow only when a user accepted a recommendation.

437
Salesforce Spring ’20 Release Notes Einstein Next Best Action: Analyze Recommendation Strategy
Metrics, Create Recommendations from the Records of Any
Salesforce Object, and Launch a Flow when
Changes to Platform Status Alert Events Recommendations are Rejected
Access to platform status alert events is available for users with the Modify All Data, Manage Next Best Action Strategies, or Customize
Application permission.
Encrypt Recommendation Description Information
To address HIPAA requirements, Next Best Action has made it possible to encrypt recommendation description information using
Shield Platform Encryption.

Analyze Next Best Action Usage with Recommendation Strategy Metrics


Now you can track the aggregate usage of Next Best Action in a Salesforce org. Analyze metrics at the strategy and the recommendation
level. Compare the relative performance of two strategies. For a given calendar month, see the total number of recommendations an
org’s strategies served. Find out how many served recommendations agents accepted and rejected.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
Who: To view recommendation metrics data, users need the Modify All Data or Manage Next Best Action Strategies user permission.
Why: Salesforce updates recommendation strategy metrics each time a strategy is executed or a recommendation is accepted or rejected.
Analyze usage metrics to better understand how your strategies are performing. Use this knowledge to improve your strategies’ logic
and increase their effectiveness.
For example, run A/B tests on two different strategies and compare their relative performance. If your service agents accept more
recommendations served from Strategy B, use metrics to discover why.
How: Create a custom report type using the new Recommendation Strategy Metrics primary object. Combine fields from the primary
object (such as Recommendation Source ID and Accepted Count) and the related recommendation strategy (like Context Record Type
and Description). Users can run reports and create dashboards from the custom report type.

Note: Use the Recommendation Strategy Metrics primary object for strategy-level data that’s aggregated for each calendar month.
For recommendation-level details, use the Recommendation Reactions primary object instead.
To analyze a strategy’s performance, group your strategy executions by recommendation source ID, and the number of times a
recommendation was served, accepted, and rejected. To compare performance between two different strategies, group your strategy
executions by recommendation source ID. Add useful metadata to your report, such as recommendation description and create date.

438
Salesforce Spring ’20 Release Notes Einstein Next Best Action: Analyze Recommendation Strategy
Metrics, Create Recommendations from the Records of Any
Salesforce Object, and Launch a Flow when
Recommendations are Rejected

Create Recommendations from the Records of Any Salesforce Object


Declaratively create recommendations from the records of any Salesforce object, either standard or custom. Serve recommendations
from accounts, contacts, opportunities, and products. Load and filter the records of any Salesforce object, and convert them into
recommendations at the end of the strategy. Previously, when you created recommendations declaratively, you were limited to using
only Recommendation objects. You could programmatically convert the records of other objects into recommendations, but you used
Apex code with the Generate element.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
Why: You can use objects such as Account, Product, and Opportunity when building strategies for recommendations. For example,
direct users to a set of products without recreating each product as a recommendation record by loading the product data directly into
a strategy. Then dynamically map that data into recommendations. Previously, you had to create a recommendation for each product.
How: In Strategy Builder, drag a Load element on the canvas.

439
Salesforce Spring ’20 Release Notes Einstein Next Best Action: Analyze Recommendation Strategy
Metrics, Create Recommendations from the Records of Any
Salesforce Object, and Launch a Flow when
Recommendations are Rejected

Load recommendations from the records of any object. Choose criteria for when to load a recommendation. Filter out certain records
from a strategy. Sort the order of your records by choosing a value from the object to sort on. A strategy treats another object the same
as it does a Recommendation object until the end, when it converts it into a recommendation.
At the end of the strategy, convert the filtered records into recommendations that are surfaced via the Next Best Action component and
your own apps. To do this, add a Map element before the Output element. Use the Map element to map fields from the records to
required fields on the Recommendation object. For example, map the product Title field to the recommendation Name field.

Launch Flows When Recommendations are Rejected


Now you can launch a flow when a user rejects a recommendation, which gives you more flexibility. For example, a flow can run an
automated process, write to another system, or create a reminder email when a recommendation is rejected. Previously, Next Best Action
launched a flow only when a user accepted a recommendation.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
Why: Ask a service agent why they rejected a recommendation, or why a recommendation doesn’t make sense. For example, at a
telecommunications company, the admin configures the Next Best Action component to display recommendations to its customer
service representatives (CSRs). When an agent accepts a recommendation for a customer who wants to purchase a discounted service,
a flow is launched to calculate the discount on the purchase. After analyzing the reactions to the recommendation, the admin is confused
about why the CSRs are rejecting it. To help get answers, the admin has Next Best Action launch a questionnaire flow every time the
recommendation is rejected.
Or say that a company wants to stream accepted and rejected recommendation signals to a third-party machine-learning tool. The tool
learns optimal recommendations based on this data, and the admin uses those results to create new and improved recommendations.
This feature is available for:
• The Einstein Next Best Action component used with Lightning record pages
• The Suggested Actions component used in Experience Builder

440
Salesforce Spring ’20 Release Notes Einstein Next Best Action: Analyze Recommendation Strategy
Metrics, Create Recommendations from the Records of Any
Salesforce Object, and Launch a Flow when
• The Actions and Recommendations component used with Lightning console apps Recommendations are Rejected
How: In Flow Builder, configure a flow that’s associated to a recommendation. Create the Boolean isRecommendationAccepted
input variable. Add the isRecommendationAccepted variable to a Decision element. Decide what the flow does when the
recommendation is accepted and what it does when the recommendation is rejected.

Add a flow action. When you add the Next Best Action component to a Lightning record page, select Launch Flow on Rejection.

441
Salesforce Spring ’20 Release Notes Einstein Next Best Action: Analyze Recommendation Strategy
Metrics, Create Recommendations from the Records of Any
Salesforce Object, and Launch a Flow when
Recommendations are Rejected

Changes to Platform Status Alert Events


Access to platform status alert events is available for users with the Modify All Data, Manage Next Best Action Strategies, or Customize
Application permission.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.

Encrypt Recommendation Description Information


To address HIPAA requirements, Next Best Action has made it possible to encrypt recommendation description information using Shield
Platform Encryption.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
How: On the Encryption Policy page in Setup, click Encrypt Fields, and encrypt the Recommendation Description field.

SEE ALSO:
Encrypt the Next Best Action Recommendation Description Field

442
Salesforce Spring ’20 Release Notes Lightning App Builder: Mobile Enhancements for All, Guidance
for App Builder, and Increased Component Capacity in Page
Regions
Lightning App Builder: Mobile Enhancements for All, Guidance for App
Builder, and Increased Component Capacity in Page Regions
Design better and more efficient Lightning pages for desktop and mobile with mobile-related enhancements to the Lightning App
Builder UI, and with tips delivered via in-app guidance. Include up to 100 components in a single page region.

IN THIS SECTION:
Design Record Pages, Choose Templates, and Configure Components with Mobile in Mind
All admins can now take advantage of the Lightning App Builder features that we introduced in Winter ’20 to go along with the
new Salesforce mobile app. Configure record pages, page templates, and component visibility rules for use on a phone, and see
new form factor support icons on page templates and on components in the palette.
Improve Your Lightning Pages with Guidance for App Builder
Get suggestions to improve your Lightning pages just when you need them. Guidance for App Builder gives you feedback for
enhancing performance and usability when you design a page, via tips in a docked prompt.
Add More Components to a Lightning Page Region
We increased the number of components that you can put into a Lightning page region from 25 to 100. This increase also applies
to the number of tabs that you can add to a Tabs component and the number of sections in an Accordion component.
Display Order Details with Order Management Components
Salesforce Order Management provides the Order Product Summaries by Recipient and Order Summary Totals components for use
on Order Summary record pages.

Design Record Pages, Choose Templates, and Configure Components with Mobile
in Mind
All admins can now take advantage of the Lightning App Builder features that we introduced in Winter ’20 to go along with the new
Salesforce mobile app. Configure record pages, page templates, and component visibility rules for use on a phone, and see new form
factor support icons on page templates and on components in the palette.
Where: This change applies to Lightning Experience in Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.
Why:
• Lightning record pages are no longer limited to Lightning Experience on desktop. You can see the same record pages on desktop
and in the mobile app. Or you can address the needs of different users by assigning a custom record page for desktop users and
another for mobile app users. See which of your pages are assigned to which form factor on the Lightning Record Pages screen in
the Object Manager.
• In the Lightning page creation wizard, page templates have an icon and description text that indicate whether the template supports
desktop, phone, or both.
• Each component in the palette has an icon representing the form factors that it supports. Before adding a component to a Lightning
page, you can see right away whether the component appears when the page is rendered on a specific form factor. You can also
use the palette settings menu to refresh the component list and show or hide the form factor icons.
• When editing a Lightning app, the Pages menu shows which record pages are assigned as the app default for each form factor.
• You can show or hide a standard or custom component on a record page based on the device it’s viewed on.

443
Salesforce Spring ’20 Release Notes Lightning App Builder: Mobile Enhancements for All, Guidance
for App Builder, and Increased Component Capacity in Page
Regions
How: Orgs that didn’t opt in to the new Salesforce mobile app in Winter ’20 now have these mobile-related enhancements available in
the Lightning App Builder. They already are enabled if your org opted in to the new Salesforce mobile app in Winter ’20.

SEE ALSO:
Welcome to the New Salesforce Mobile App
Winter ’20 Release Note: Customize Lightning Record Pages for the Phone Form Factor
Winter ’20 Release Note: Select a Lightning Page Template Based on Form Factor
Winter ’20 Release Note: View Supported Form Factors in the Component Palette
Winter ’20 Release Note: View App Default Form Factor Assignments from the Pages Menu
Winter ’20 Release Note: Set Record Page Component Visibility Rules Based on Device

Improve Your Lightning Pages with Guidance for App Builder


Get suggestions to improve your Lightning pages just when you need them. Guidance for App Builder gives you feedback for enhancing
performance and usability when you design a page, via tips in a docked prompt.
Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.
How: Tips are available for categories such as performance, usability, and structural issues. Some issues that the tips cover are also
captured in the Salesforce Optimizer report. For example, if two components on a page are identical, you see a tip that tells you so. After
you fix the issue, the tip disappears.

If there are tips available for your page, you see an indicator icon on the Help menu.

444
Salesforce Spring ’20 Release Notes External Data: Private Connect Pilot, Changed Encryption for
External Credentials

To hide the tips docked prompt while you design your page, go to the Help menu and select Mute Tips. You can reopen the tips prompt
by selecting View Tips.

Add More Components to a Lightning Page Region


We increased the number of components that you can put into a Lightning page region from 25 to 100. This increase also applies to
the number of tabs that you can add to a Tabs component and the number of sections in an Accordion component.
Where: This change applies to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer
editions.

Display Order Details with Order Management Components


Salesforce Order Management provides the Order Product Summaries by Recipient and Order Summary Totals components for use on
Order Summary record pages.
Where: This change applies to Lightning Experience in all Salesforce Order Management editions.

External Data: Private Connect Pilot, Changed Encryption for External


Credentials
Use Private Connect to integrate third-party services with Salesforce without exposure to the public internet. Your external data credentials
are now encrypted with an updated framework for added security.

Available in: Developer Edition


Available for an extra cost in: Enterprise, Performance, and Unlimited Editions

IN THIS SECTION:
Integrate with Third-Party Services without Exposure to Public Internet (Pilot)
When you want to integrate third-party services with Salesforce, it’s essential to be able to communicate securely. With Private
Connect, you can increase security on your HTTP/s traffic by setting up a fully managed secure connection between Salesforce data
centers and Amazon Web Services (AWS). API calls that run through AWS PrivateLink don’t traverse the internet, reducing exposure
to outsider security threats.
Changed Encryption Method for External Data Credentials
Credentials stored within three external data entities—NamedCredential, ExternalDataUserAuth, and ExternalDataSource—are now
encrypted under a framework that is consistent with other encryption frameworks on the platform. Salesforce encrypts your credentials
using org-based keys instead of pod or instance-level keys, giving your third-party data an extra layer of security.

Integrate with Third-Party Services without Exposure to Public Internet (Pilot)


When you want to integrate third-party services with Salesforce, it’s essential to be able to communicate securely. With Private Connect,
you can increase security on your HTTP/s traffic by setting up a fully managed secure connection between Salesforce data centers and
Amazon Web Services (AWS). API calls that run through AWS PrivateLink don’t traverse the internet, reducing exposure to outsider
security threats.
Where: This change applies to Lightning Experience and Salesforce classic in all editions.

445
Salesforce Spring ’20 Release Notes Permission Set Groups: Greater Flexibility in Granting
Permissions (Generally Available)

Note: We provide Private Connect to selected customers through a pilot program that requires agreement to specific terms and
conditions. To be nominated to participate in the program, contact your Account Executive. Pilot programs are subject to change,
and we can’t guarantee acceptance. Private Connect isn’t generally available unless or until Salesforce announces its general
availability in documentation or in press releases or public statements. We can’t guarantee general availability within any particular
time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
How: To use Private Connect, your org must be enrolled in the Private Connect pilot. For information about joining the pilot, contact
your Account Executive.

SEE ALSO:
Trailblazer Community: Salesforce Private Connect for AWS (needs Trailblazer Community account)

Changed Encryption Method for External Data Credentials


Credentials stored within three external data entities—NamedCredential, ExternalDataUserAuth, and ExternalDataSource—are now
encrypted under a framework that is consistent with other encryption frameworks on the platform. Salesforce encrypts your credentials
using org-based keys instead of pod or instance-level keys, giving your third-party data an extra layer of security.
Where: This change applies to Lightning Experience and Salesforce classic in all editions.
How: Your secret keys are auto-created by the new encryption framework. Credentials encrypted using the previous encryption scheme
are being migrated to the new framework. All new credentials will use the new framework.

SEE ALSO:
Salesforce Help: Named Credentials (can be outdated or unavailable during release preview)
Salesforce Help: Store Authentication Settings for External Systems(can be outdated or unavailable during release preview)

Permission Set Groups: Greater Flexibility in Granting Permissions (Generally


Available)
Permission set groups are an ideal way to consistently and reliably assign permissions to a group of users. Assign users a single permission
set group instead of multiple permission sets. Permission set groups combine selected permission sets to provide all the permissions
that users need for their job function. Remove individual permissions from a group with the muting permission set feature to ensure
that permissions do not exceed user job [Link] change applies to Lightning Experience and Salesforce Classic.

IN THIS SECTION:
Group Permission Sets Based on User Job Function for Easier Assignment (Generally Available)
Now you can assign users a single permission set group instead of multiple permission sets. Permission set groups combine selected
permission sets to provide all the permissions that users need for their job. Similarly, remove individual permissions from a group
with the permission muting feature to ensure that users do not get permissions that are not relevant to their job functions. A new
user interface helps you create and manage permission set groups.
Track Permission Set Edits with a New Confirmation Menu
It just got easier to track bulk edits on permissions. We’ve improved readability and security so that multiple-selection permissions
and any permission dependencies are summarized on a separate page. With the Permission Changes Confirmation page, you can
easily identify and review all added and removed permissions before they become part of your permission ecosystem. Previewing
the permission edits summary helps you better manage and maintain security control for your users and organization.

446
Salesforce Spring ’20 Release Notes Permission Set Groups: Greater Flexibility in Granting
Permissions (Generally Available)

Manage Permissions in Permission Set Groups with a Muting Permission Set (Generally Available)
A muting permission set is a handy way to increase security and ensure that only components that are required by your organization
and users are accessible and, conversely, those components that shouldn’t be accessed are not available. When used along with
permissions, a muting permission set gives you granular control over permissions and helps make sure you're complying with the
principle of least privilege.

Group Permission Sets Based on User Job Function for Easier Assignment (Generally
Available)
Now you can assign users a single permission set group instead of multiple permission sets. Permission set groups combine selected
permission sets to provide all the permissions that users need for their job. Similarly, remove individual permissions from a group with
the permission muting feature to ensure that users do not get permissions that are not relevant to their job functions. A new user interface
helps you create and manage permission set groups.
Where: This change applies to Salesforce Classic (not available in all orgs), Lightning Experience. Enterprise, Performance, Unlimited,
and Developer editions.
Why: Suppose that you have employees in your sales department who work with Sales Cloud Analytics templates and apps. They also
create, edit, and delete surveys and read, create, edit, and delete accounts. You have three permission sets that contain the permissions
needed: Sales Cloud Einstein, Survey Creator, and a permission set based on the Standard User Profile. You assign each permission set
separately to your users.

You can combine the permission sets into one meaningful permission set group and then assign the permission set group to the sales
employees. In this example, the permission set group Sales Staff Users contains the combined permissions of all the permission sets that
you added to the group. Salesforce also aggregates and resolves permissions across all permission sets in the permission set group to
ensure that inheritance and dependencies are maintained.

447
Salesforce Spring ’20 Release Notes Permission Set Groups: Greater Flexibility in Granting
Permissions (Generally Available)

How: From Setup, choose Permission Set Groups to view your permission set groups and create groups.

On the Permission Set Group detail page, assign the permission set group to users (1). Select the permission sets to include in the
permission set group (2), and choose which permissions, if appropriate, to mute (3). View the combined permissions in a group (4).

Track Permission Set Edits with a New Confirmation Menu


It just got easier to track bulk edits on permissions. We’ve improved readability and security so that multiple-selection permissions and
any permission dependencies are summarized on a separate page. With the Permission Changes Confirmation page, you can easily
identify and review all added and removed permissions before they become part of your permission ecosystem. Previewing the permission
edits summary helps you better manage and maintain security control for your users and organization.
Where: This change applies to Salesforce Classic (not available in all orgs), Lightning Experience. Enterprise, Performance, Unlimited,
and Developer editions.
How: From Setup, choose Permission Sets, modify permissions, and click save to review your choices on Permission Changes Confirmation
page.

448
Salesforce Spring ’20 Release Notes Permission Set Groups: Greater Flexibility in Granting
Permissions (Generally Available)

Manage Permissions in Permission Set Groups with a Muting Permission Set (Generally
Available)
A muting permission set is a handy way to increase security and ensure that only components that are required by your organization
and users are accessible and, conversely, those components that shouldn’t be accessed are not available. When used along with
permissions, a muting permission set gives you granular control over permissions and helps make sure you're complying with the
principle of least privilege.
Where: This change applies to Salesforce Classic (not available in all orgs), Lightning Experience. Enterprise, Performance, Unlimited,
and Developer editions.
Why: Suppose that your Sales Staff Users permission group contains three permission sets. And one of those three permission sets
contains a Delete permission that you no longer want all group members to have. To complicate things, you also have a Managers
permission set group that references the Sales Staff Users permission set. What can you do to implement this permission restriction?
Instead of creating another permission set, you can use a muting permission set to constrain the Delete permission. The muting permission
set contains the Delete permission that you want to disable. When you add the muting permission set to the Sales Staff Users group,
those members no longer have the delete permission, but the Managers members do.

Note: You can add only one muting permission set to a permission set group.

449
Salesforce Spring ’20 Release Notes Sharing: Enhancements to External Organization-Wide
Defaults

Sharing: Enhancements to External Organization-Wide Defaults


To better secure your data, the External Sharing Model is enabled by default in all Salesforce orgs created in Spring ’20 or later and can
no longer be disabled. Plus, you can now set external access levels for the Lead and Campaign objects.

IN THIS SECTION:
External Org-Wide Defaults Are Enabled by Default in All New Orgs
To better secure your data, the External Sharing Model is enabled by default in all Salesforce orgs created in Spring ’20 or later.
External org-wide defaults let you set more restrictive levels of access for external users, instead of giving internal and external users
the same default access. In these newly created orgs, external access levels are initially set to Private for all objects.
The External Sharing Model Can No Longer Be Disabled
To better protect your Salesforce org’s data, you can no longer disable the external sharing model after it's enabled in your org.
Safeguard Your Data by Setting External Access Levels for the Lead and Campaign Objects (Generally Available)
You can now set external access levels for the Lead object, which was previously in beta, and the Campaign object. Select more
restrictive access for external users without changing the default internal access level. The objects available for external org-wide
defaults vary depending on your Salesforce org’s licenses and other settings.
Changes to Sharing API Access
Access to sharing rules and sharing sets through the Salesforce API is available for users with the View Setup and Configuration
permission. Editing sharing rules and sharing sets through the API is available for users with the Manage Sharing permission.

External Org-Wide Defaults Are Enabled by Default in All New Orgs


To better secure your data, the External Sharing Model is enabled by default in all Salesforce orgs created in Spring ’20 or later. External
org-wide defaults let you set more restrictive levels of access for external users, instead of giving internal and external users the same
default access. In these newly created orgs, external access levels are initially set to Private for all objects.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and
Developer editions.

450
Salesforce Spring ’20 Release Notes Sharing: Enhancements to External Organization-Wide
Defaults

How: We recommend that you maintain a strict access level for external users, but you can edit your external org-wide defaults. From
Setup, enter Sharing Settings in the Quick Find box, then select Sharing Settings. Under Organization-Wide Defaults, edit the
default external access.

SEE ALSO:
Salesforce Help: External Organization-Wide Defaults Overview (can be outdated or unavailable during release preview)

The External Sharing Model Can No Longer Be Disabled


To better protect your Salesforce org’s data, you can no longer disable the external sharing model after it's enabled in your org.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and
Developer editions.
How: The external sharing model allows you to customize the access levels for internal and external users. We recommend setting
org-wide defaults to Private for external users.
From Setup, enter Sharing Settings in the Quick Find box, then select Sharing Settings. Under Organization-Wide Defaults,
edit the Default Internal and External Access as required by your business needs.

SEE ALSO:
Salesforce Help: External Organization-Wide Defaults Overview (can be outdated or unavailable during release preview)

Safeguard Your Data by Setting External Access Levels for the Lead and Campaign
Objects (Generally Available)
You can now set external access levels for the Lead object, which was previously in beta, and the Campaign object. Select more restrictive
access for external users without changing the default internal access level. The objects available for external org-wide defaults vary
depending on your Salesforce org’s licenses and other settings.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and
Developer editions.
How: To set external org-wide defaults, from Setup, enter Sharing Settings in the Quick Find box, then select Sharing Settings.
Under Organization-Wide Defaults, edit the default external access.

SEE ALSO:
Salesforce Help: External Organization-Wide Defaults Overview (can be outdated or unavailable during release preview)

Changes to Sharing API Access


Access to sharing rules and sharing sets through the Salesforce API is available for users with the View Setup and Configuration permission.
Editing sharing rules and sharing sets through the API is available for users with the Manage Sharing permission.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and
Developer editions.

451
Salesforce Spring ’20 Release Notes AppExchange: Support for [Link] and Enhanced
Salesforce Consultant Reviews

AppExchange: Support for [Link] and Enhanced Salesforce


Consultant Reviews
Use your [Link] account to manage your installs, subscriptions, and settings on AppExchange. Learn more about a Salesforce
consultant’s past performance with verified project reviews and enhanced community feedback.

IN THIS SECTION:
Manage AppExchange Installs and Settings with Ease Using [Link]
AppExchange now supports [Link], your reinvented resume and unified profile across the Salesforce ecosystem. With
[Link] on AppExchange, you can view the installs and subscriptions that are associated with your connected accounts with
a single login. You can also manage your AppExchange notifications from [Link], which puts all your account settings in one
place.
Hire Confidently with Enhanced Salesforce Consultant Reviews on AppExchange
AppExchange reviews for Salesforce consultants now tell you more about the work they delivered, such as the industry. You can
also consider a new type of feedback when you hire a consultant: verified project reviews. Verified reviews are based on customer
feedback provided directly to Salesforce about a consultant’s project performance.

Manage AppExchange Installs and Settings with Ease Using [Link]


AppExchange now supports [Link], your reinvented resume and unified profile across the Salesforce ecosystem. With [Link]
on AppExchange, you can view the installs and subscriptions that are associated with your connected accounts with a single login. You
can also manage your AppExchange notifications from [Link], which puts all your account settings in one place.
Where: [Link] is available to AppExchange, Events, IdeaExchange, Trailblazer Community, and Trailhead users. Partner Community
doesn't use [Link] features, but [Link] shares some profile data with the Partner Community profile.
When: [Link] is generally available in January 2020.
Why: [Link] is all about simplifying your Salesforce identity, and we’re extending that idea to AppExchange.

The AppExchange account switcher (1) streamlines how you manage installs and subscriptions from multiple orgs, such as production
environments and sandboxes. After you connect a Salesforce account to [Link], the related org appears in the account switcher.

452
Salesforce Spring ’20 Release Notes AppExchange: Support for [Link] and Enhanced
Salesforce Consultant Reviews

To view an account’s installs and subscriptions, click the associated username (2). If an account is missing, check that it’s connected to
[Link]. Then verify that the account has been assigned the “Manage Billing” permission in the related org.

With [Link], you now manage all your account settings from one place, including the notifications that you receive from
AppExchange (3). To update your notification preferences, go to the Email Preferences page on your [Link] profile.

Hire Confidently with Enhanced Salesforce Consultant Reviews on AppExchange


AppExchange reviews for Salesforce consultants now tell you more about the work they delivered, such as the industry. You can also
consider a new type of feedback when you hire a consultant: verified project reviews. Verified reviews are based on customer feedback
provided directly to Salesforce about a consultant’s project performance.
Where: This change applies to the AppExchange website.
Why: When you shop for a product, you often want to hear about others’ experiences before you make a purchase. That’s where reviews
come in, and they’re equally important when you hire a Salesforce consultant. The new consultant review experience on AppExchange
makes it easier than ever to add community feedback to your hiring process.

453
Salesforce Spring ’20 Release Notes AppExchange: Support for [Link] and Enhanced
Salesforce Consultant Reviews

Reviews from AppExchange community members now provide more details about the work the consultant performed. For example, a
community member can specify the products used in the implementation, the project length, and an industry (1). These details can
help you identify the reviews that are most relevant to the project you’re hiring for.

Verified project reviews complement feedback from individual members of the AppExchange community (2). Verified project reviews
are based on customer satisfaction surveys administered directly by Salesforce. Here's how the process works. A consultant lets us know

454
Salesforce Spring ’20 Release Notes General Setup: Custom Settings Enhancements and Improved
Connections with Enhanced External Services

that they finished a project. We ask the consultant's customer about the experience. Then, we share the customer's feedback on the
Reviews tab of the consultant's AppExchange listing. These reviews are designated by the Salesforce Verified label.

General Setup: Custom Settings Enhancements and Improved Connections


with Enhanced External Services
Protect and control who has access to custom settings. Create better connections to outside services with Enhanced External Services.

IN THIS SECTION:
Require Customize Application Permission for Direct Read Access to Custom Settings (Critical Update, Enforced)
Access for users without the Customize Application permission to read unprotected custom settings is revoked as part of this critical
update. Using different APIs that are provided by Salesforce, users without the Customize Application permission could read
unprotected custom settings. Following the “secure by default” approach, this access is revoked.
Protect Custom Settings in Developer and Scratch Orgs
The Visibility field is now only available in developer or scratch orgs, where managed packages can be created. When you create a
custom setting, the package type and the Visibility field determine whether the custom setting is public or private. You can only
create protected custom settings in a developer or scratch org that are then deployed in a managed package. In addition, the Visibility
field must be set to protected.
Control Who Gets Read Access to Custom Settings
You can now control the access of custom settings at a granular level by granting direct Read access to specific custom settings
through profiles and permission sets.
Make More Connections the Enhanced External Services Way (Generally Available)
Enhanced External Services is generally available and enabled by default. It's easy to use, and provides more ways to create and
connect to outside services. Now, when you register a service, you get support for more complex OpenAPI 2.0 schema, nested object
types, and send parameters as headers within the HTTP requests.
Require Permission to View Record Names in Lookup Fields (Critical Update)
To better protect your Salesforce org’s data, we restrict who can view record names in lookup fields. Beginning in Winter ’21, users
must have read access to these records or the View All Lookup Record Names permission to view this data. This critical update also
applies to system fields, such as Created By and Last Modified By.
Secure Your Sandbox Data with Salesforce Data Mask
Salesforce Data Mask is a powerful new data security resource for Salesforce admins and developers. Instead of manually securing
data and access for sandbox orgs, admins can use Data Mask to automatically mask the data in a sandbox.
Permission Changes for Administrator Tasks
To access permissions or permission set groups, users must have the View Setup and Configuration permission or the equivalent
permissions to manage permission sets or users, including Manage Session Permission Set Activations, Manage Users, and Assign
Permission Sets.
Changes to Managing User Preferences
Access to UserPreference records of other users in the SOAP API is available for users with the View All Data or Manage Users
permission, but all users can access their own UserPreference record.

455
Salesforce Spring ’20 Release Notes General Setup: Custom Settings Enhancements and Improved
Connections with Enhanced External Services

Require Customize Application Permission for Direct Read Access to Custom Settings
(Critical Update, Enforced)
Access for users without the Customize Application permission to read unprotected custom settings is revoked as part of this critical
update. Using different APIs that are provided by Salesforce, users without the Customize Application permission could read unprotected
custom settings. Following the “secure by default” approach, this access is revoked.
Where: This change applies to Lightning Experience and Salesforce Classic in Contact Manager, Essentials, Professional, Enterprise,
Performance, Unlimited, and Developer editions.
When: This critical update is scheduled to be enforced on sandbox instances on January 2, 2020 in the Spring ’20 release. It will not be
rolled out to all instances on January 2, 2020. Sandbox instances are upgraded 4–6 weeks before a release goes into production. To find
the exact activation date for your instance, refer to [Link]
How: When this critical update is enforced on the instance, users without the Customize Application permission can no longer access
custom settings. To minimize the impact on your users, admins with the Customize Application permission can grant read access to
specific custom settings, or to all custom settings.
To grant a specific profile or permission set read access to custom settings.
1. Go to the profile or permission set that you want to grant access to.
2. Click the Custom Setting Definitions permission.
3. Click Edit, add the custom setting to the Enabled Custom Setting Definitions list, then click Save.
To grant profiles or permission sets read access to all custom settings.
1. Search for Profiles or Permission Sets from Setup, then click the name of the profile or permission set and click Edit.
2. In the Administrative Permissions section, check View All Custom Settings.
3. Click Save.
With the Restrict access to custom settings permission enabled, permissions are enforced as follows.
• Customize Application permission—Read and write access to all custom settings.
• Custom Setting Definitions—Read access to specific custom settings outside of System context. Users must be granted access
through profiles and permission sets.
• View All Custom Settings permission—Read access to all custom settings outside of System context.
• View Setup and Configuration permission—Read access to custom settings in Setup. Users must be granted access to specific custom
settings through profiles and permission sets, or be granted the View All Custom Settings permission.
Apex generally runs in system mode so the current user's permissions and field-level security aren’t considered during code execution.
The critical update doesn’t affect the accessibility of custom settings from system mode. Calling Apex methods such as isAccessible
indicate whether the running user has access outside of system mode. After activating this critical update, if the user isn’t granted access
to an object, calling isAccessible returns false. For example, if a user isn’t granted access through a profile to Contact,
isAccessible returns false.
While not recommended, you can disable this critical update by turning off the Schema Settings: “Restrict access to custom settings”
permission. This Schema Settings permission corresponds to the security org-wide critical update.
1. Go to Setup and search for Schema Settings.
2. Turn off Restrict access to custom settings.

456
Salesforce Spring ’20 Release Notes General Setup: Custom Settings Enhancements and Improved
Connections with Enhanced External Services

Protect Custom Settings in Developer and Scratch Orgs


The Visibility field is now only available in developer or scratch orgs, where managed packages can be created. When you create a custom
setting, the package type and the Visibility field determine whether the custom setting is public or private. You can only create protected
custom settings in a developer or scratch org that are then deployed in a managed package. In addition, the Visibility field must be set
to protected.
Where: This change applies to Lightning Experience and Salesforce Classic in Contact Manager, Essentials, Professional, Enterprise,
Performance, Unlimited, and Developer editions.
How: When storing sensitive information, create protected custom settings in a developer or scratch org, set the Visibility field to protect,
then deploy them in a managed package.

• Custom settings that are set to Protected and deployed as a manage package are not accessible from subscribing organizations.
However, the information is accessible from the Apex code that is part of the managed package.

• Custom settings that are set to Public, or contained in an unmanaged package, are visible through Enterprise WSDL files. Subscribing
organizations can access and edit the values using Apex and SOAP API.

Control Who Gets Read Access to Custom Settings


You can now control the access of custom settings at a granular level by granting direct Read access to specific custom settings through
profiles and permission sets.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, and Unlimited
editions.
When: This feature is a late-breaking addition to the Winter ’20 release.
Who: Users with the Customize Application permission can grant read access to specific custom settings through profiles and permission
sets.
How: To grant a Profile or Permission Set read access to specific custom settings, enable the Restrict access to custom settings org
permission. Then enable access to specific custom settings.
1. From Setup, search for Schema Settings and make sure that the Restrict access to custom settings org permission is enabled.

457
Salesforce Spring ’20 Release Notes General Setup: Custom Settings Enhancements and Improved
Connections with Enhanced External Services

2. From the Setup up page for Profiles or Permission Sets, click Custom Setting Definitions.

3. Add the custom setting to the Enabled Custom Setting Definitions list.

With Restrict access to custom settings enabled, permissions are enforced as follows.
• Customize Application permission—Read and Write access to all custom settings.

458
Salesforce Spring ’20 Release Notes General Setup: Custom Settings Enhancements and Improved
Connections with Enhanced External Services

• Custom Setting Definitions—Read access to specific custom settings outside of System context. Users must be granted access
through profiles and permission sets.
• View All Custom Settings permission—Read access to all custom settings outside of System context.
• View Setup and Configuration permission—Read access to custom settings in Setup. Users must be granted access to specific custom
settings through profiles and permission sets, or be granted the View All Custom Settings permission.

Make More Connections the Enhanced External Services Way (Generally Available)
Enhanced External Services is generally available and enabled by default. It's easy to use, and provides more ways to create and connect
to outside services. Now, when you register a service, you get support for more complex OpenAPI 2.0 schema, nested object types, and
send parameters as headers within the HTTP requests.
Where: This change applies to Lightning Experience in Enterprise, Performance, Unlimited, and Developer editions.
How: After turning on Enhanced External Services, register new external services the same way you did before. Actions generated by
your schema are created as External Service Actions in Flow Builder.
Existing registrations are not automatically migrated to Enhanced External Services. For existing registrations to use the new features in
Enhanced External Services, you must re-register the schema, update the flows that use the old Apex Action to the new Enhanced
External Service Action and delete the old registration.

Require Permission to View Record Names in Lookup Fields (Critical Update)


To better protect your Salesforce org’s data, we restrict who can view record names in lookup fields. Beginning in Winter ’21, users must
have read access to these records or the View All Lookup Record Names permission to view this data. This critical update also applies to
system fields, such as Created By and Last Modified By.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions.
When: This critical update is enforced with the rollout of the Winter ’21 release.
How: Admins can enable the View All Lookup Record Name permission in custom profiles or permission sets. Only enable this permission
for users who must see record names in all lookup and system fields, regardless of sharing settings.
We recommend that you test this update in a sandbox or Developer Edition org before enabling it in your production org.
To activate this critical update before Winter ’21, from Setup, enter Critical Updates in the Quick Find box, then select Critical
Updates. For Require Permission to View Record Names in Lookup Fields, click Activate.

SEE ALSO:
Critical Updates and Security Alerts

Secure Your Sandbox Data with Salesforce Data Mask


Salesforce Data Mask is a powerful new data security resource for Salesforce admins and developers. Instead of manually securing data
and access for sandbox orgs, admins can use Data Mask to automatically mask the data in a sandbox.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions.
Why: Data Mask uses platform-native obfuscation technology to mask sensitive data in any full or partial sandboxes. The masking process
lets you mask some or all sensitive data with different levels of masking, depending on the sensitivity of the data. Once the data is masked,
you can’t unmask it. This irreversible process ensures that the data is not replicated in a readable or recognizable way into another
environment.

459
Salesforce Spring ’20 Release Notes Security, Privacy, and Identity: More Identity Verification
Options, My Domain Changes, Real-Time Event Monitoring
Threat Detection (Beta), and Encryption for Platform Events
How: Data Mask is a managed package that you install in a production org. You then run the masking process from any sandbox created
from the production org.

Permission Changes for Administrator Tasks


To access permissions or permission set groups, users must have the View Setup and Configuration permission or the equivalent
permissions to manage permission sets or users, including Manage Session Permission Set Activations, Manage Users, and Assign
Permission Sets.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, Developer,
and [Link] editions.

Changes to Managing User Preferences


Access to UserPreference records of other users in the SOAP API is available for users with the View All Data or Manage Users permission,
but all users can access their own UserPreference record.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and
Developer editions.

Security, Privacy, and Identity: More Identity Verification Options, My


Domain Changes, Real-Time Event Monitoring Threat Detection (Beta),
and Encryption for Platform Events
Give your users more authentication options by allowing them to authenticate with their Apple ID, Face ID, or Touch ID. Or set stricter
requirements by only allowing authentication by SMS. Restrict external user access to Salesforce APIs through connected apps. My
Domain certificates and URL formats are changing. Use Real-Time Event Monitoring platform events to detect common threats to your
org (Beta). And Encrypt all your platform events including Salesforce Event Monitoring streamed events.

IN THIS SECTION:
Authentication and Identity: Apple Sign-In, Identity Verification, and API Access Control
Enable Apple sign-in for your orgs and communities, allowing users to authenticate with their Apple ID, Face ID, or Touch ID. Enhance
identity verification security by storing domain verification files for external services and enabling verification methods that are more
secure than email. Restrict external user access to Salesforce APIs through connected apps that are installed in your org or community.
And apply the Request Signature Methods to single logout, have extra time to approve OAuth authentication requests, and
troubleshoot bridged OAuth sessions.
Domains: Custom Domains for Sandboxes (Pilot), Salesforce Edge, and Instanceless URLs
Test your Salesforce Sites and Communities in a sandbox using custom domains (Pilot). Customers with a My Domain can accelerate
domain requests with Salesforce Edge. Remove instance names from My Domain URLs through critical updates or sandbox refreshes.
Salesforce Shield: Real-Time Event Monitoring Threat Detection (Beta), Event Monitoring Analytics App Improvements, and Platform
Encryption for Platform Events
Use Real-Time Event Monitoring platform events to detect common threats to your org (Beta). We improved the performance of
the Event Monitoring Analytics app. The legacy transaction security policy framework will be retired in Summer ’20. Shield Platform
Encryption now supports Platform Events in addition to Change Data Capture Events.

460
Salesforce Spring ’20 Release Notes Authentication and Identity: Apple Sign-In, Identity Verification,
and API Access Control

Data Protection and Privacy: Party Consent, Communication Subscription, and Contact Point Objects
Store data related to your customers' general consent preferences and the communications that they subscribe to. You can also
associate multiple email addresses or phone numbers to individuals or person accounts, and manage their preferred time and
consent to be contacted.
Edit Data Classification for Custom Fields in Managed Packages
Now your users can customize data classification settings for custom fields in the managed packages they install.
Other Security Changes: Guest User Record Assignment, External URL Whitelist, and Setup Enhancements
Set up a default owner for any records created by guest users in Salesforce Sites. Whitelist external URLs that users are allowed to
navigate to directly. Plus, we made improvements to Session Security Level Policies and the Setup Audit Trail.

Authentication and Identity: Apple Sign-In, Identity Verification, and API


Access Control
Enable Apple sign-in for your orgs and communities, allowing users to authenticate with their Apple ID, Face ID, or Touch ID. Enhance
identity verification security by storing domain verification files for external services and enabling verification methods that are more
secure than email. Restrict external user access to Salesforce APIs through connected apps that are installed in your org or community.
And apply the Request Signature Methods to single logout, have extra time to approve OAuth authentication requests, and troubleshoot
bridged OAuth sessions.

IN THIS SECTION:
Let Users Log In to Salesforce with Their Apple ID
Using the new Apple authentication provider, your customers can log in to a Salesforce org or community with their Apple ID.
Verify Your Domain Name for External Services
Some external services require you to prove control over your domain name. You can now verify your domain name from the
Domains Setup page.
Prevent Identity Verification by Email
All new Salesforce orgs are now set up so that identity verification by email occurs only if the user has no other identity verification
methods registered. Possible identity verification methods include Salesforce Authenticator, SMS, time-based one-time password
(TOTP), physical key (U2F), and email. The new setting, Prevent identity verification by email when other methods are registered,
appears on Identity Verification and Session Settings Setup pages. To increase security in your existing orgs, Salesforce recommends
that you enable this setting.
Limit API Access for External Users
To enhance security, you can restrict community and portal (external) user access to Salesforce APIs through connected apps that
are installed in your org. Previously, you weren’t able to restrict only external user access to Salesforce APIs.
Apply the Request Signature Method to Your Single Logout Settings
For single sign-on, the Request Signature Method (RSM) applies a hashing algorithm—either RSA-SHA1 or RSA-SHA256—for
encrypted requests. You can now apply the selected single sign-on RSM to your single logout (SLO) settings.
The OAuth Approval Page Timeout Has Increased
You now have two hours to approve access to connected apps on the OAuth Approval page. Previously, the page timed out after
15 minutes.

461
Salesforce Spring ’20 Release Notes Authentication and Identity: Apple Sign-In, Identity Verification,
and API Access Control

Discover the Session Status for Content, Visualforce, and Lightning Pages
If a Salesforce content, Visualforce, or Lightning page doesn’t load, you can use a new child_session parameter in the
Salesforce OpenID Connect token introspection endpoint to discover its session status. For example, a page with a status of inactive
(an expired session) or missing (a non-existent session) no longer has an authorized session, so the user must log back in to the
Salesforce org.
Allow Users to Connect Orgs as a Data Source to Cross-Cloud Applications
As a Salesforce admin, you can grant designated admins permission to connect Salesforce orgs as data sources to cross-cloud
Salesforce applications, such as Customer 360 Data Manager. Connecting an org as a data source lets you connect customer data
across your enterprise to create a single view of your customer. For example, service agents can view a customer’s order history in
Service Console without swiveling their chairs to Commerce Cloud.
Use an Updated API Version for Social Sign-On
The Salesforce default authentication provider for Facebook Social Sign-On now uses Facebook’s Graph API v. 5.0. With the updated
Facebook API, access tokens expire if you don’t log in to the app for 90 days. Also, the link and locale fields are deprecated.
This update doesn’t change the user login experience.

Let Users Log In to Salesforce with Their Apple ID


Using the new Apple authentication provider, your customers can log in to a Salesforce org or community with their Apple ID.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
How: To let users log in with their Apple ID, create an Apple authentication provider from the Salesforce Auth. Providers Setup page.
After configuring the authentication provider and adding the Apple sign-in button to your Salesforce and Communities login pages,
users can log in with their Apple credentials.

462
Salesforce Spring ’20 Release Notes Authentication and Identity: Apple Sign-In, Identity Verification,
and API Access Control

Note: You can only create an Apple authentication provider from the Setup page, not the API.

SEE ALSO:
Salesforce Help: Configure an Apple Auth. Provider (can be outdated or unavailable during release preview)
Salesforce Help: External Authentication Providers (can be outdated or unavailable during release preview)

Verify Your Domain Name for External Services


Some external services require you to prove control over your domain name. You can now verify your domain name from the Domains
Setup page.
Where: This change applies to Lightning communities accessed through Lightning Experience and Salesforce Classic in Enterprise,
Essentials, Performance, Unlimited, and Developer editions.
Why: External services use various methods to prove domain ownership. Some external services, such as Sign In with Apple, provide
you with a verification file that you download to your computer. Store the file on your domain at a location specified by the external
service. If the service can locate the file, your domain is verified.
How: You verify your My Domain or community domain from the Domains Setup page. Next to the domain, select Verify, and then
choose the verification file that you downloaded from the external service. Salesforce then stores the file at the location specified by the
external service.

SEE ALSO:
Salesforce Help: Verify a Domain with an External Service (can be outdated or unavailable during release preview)

Prevent Identity Verification by Email


All new Salesforce orgs are now set up so that identity verification by email occurs only if the user has no other identity verification
methods registered. Possible identity verification methods include Salesforce Authenticator, SMS, time-based one-time password (TOTP),
physical key (U2F), and email. The new setting, Prevent identity verification by email when other methods are registered, appears on
Identity Verification and Session Settings Setup pages. To increase security in your existing orgs, Salesforce recommends that you enable
this setting.
Where: This feature applies to all editions of Salesforce Classic and Lightning Experience. It also applies to all Lightning and Salesforce
Tabs + Visualforce communities accessed through Lightning Experience and Salesforce Classic in Essentials, Enterprise, Performance,
Unlimited, and Developer editions. SMS verification messaging is available in Lightning Experience, Salesforce Classic, and all versions
of the Salesforce app. The Identity Verification Credits add-on license is available for purchase for all editions.
Who: Customers who have an Identity Verification Credits license and use device activation by text message can enable identity verification
by text message. If you don’t know your org’s limit of SMS messages for identity verification, contact your Salesforce account rep. On
external users’ profiles, the option Enable Device Activation allows external users to verify their identity by text message.
How: From Setup, in the Quick Find box, enter Identity Verification, and then select Prevent identity verification by
email when other methods are registered.

SEE ALSO:
Salesforce Help: Configure When Users Are Prompted to Verify Identity (can be outdated or unavailable during release preview)

463
Salesforce Spring ’20 Release Notes Authentication and Identity: Apple Sign-In, Identity Verification,
and API Access Control

Limit API Access for External Users


To enhance security, you can restrict community and portal (external) user access to Salesforce APIs through connected apps that are
installed in your org. Previously, you weren’t able to restrict only external user access to Salesforce APIs.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and
Developer editions.
Who: This feature applies to external users only.
How: Contact Salesforce Customer Support to enable API Access Control for your org. Then enable For external users,
limit API access to only installed connected apps. Install a connected app on the Connected Apps OAuth
Usage page.

SEE ALSO:
Salesforce Help: Manage API Access (can be outdated or unavailable during release preview)
Salesforce Help: Manage OAuth Access Policies for a Connected App (can be outdated or unavailable during release preview)

Apply the Request Signature Method to Your Single Logout Settings


For single sign-on, the Request Signature Method (RSM) applies a hashing algorithm—either RSA-SHA1 or RSA-SHA256—for encrypted
requests. You can now apply the selected single sign-on RSM to your single logout (SLO) settings.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions for Federated Authentication, and in Professional,
Enterprise, Performance, Unlimited, Developer, and [Link] editions for Delegated Authentication.
How: Select Use Selected Request Signature Method for Single Logout to apply the selected Request
Signature Method during SLO. If you don’t select this option, the default RSM (RSA-SHA1) is applied.

464
Salesforce Spring ’20 Release Notes Authentication and Identity: Apple Sign-In, Identity Verification,
and API Access Control

SEE ALSO:
Salesforce Help: Configure SAML Settings for Single Logout When Salesforce Is the Service Provider (can be outdated or unavailable
during release preview)

The OAuth Approval Page Timeout Has Increased


You now have two hours to approve access to connected apps on the OAuth Approval page. Previously, the page timed out after 15
minutes.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions.

Discover the Session Status for Content, Visualforce, and Lightning Pages
If a Salesforce content, Visualforce, or Lightning page doesn’t load, you can use a new child_session parameter in the Salesforce
OpenID Connect token introspection endpoint to discover its session status. For example, a page with a status of inactive (an expired
session) or missing (a non-existent session) no longer has an authorized session, so the user must log back in to the Salesforce org.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions.

465
Salesforce Spring ’20 Release Notes Authentication and Identity: Apple Sign-In, Identity Verification,
and API Access Control

Why: OAuth supports the extension of access tokens as a bridge to other authorization frameworks. In Salesforce, this extension is
implemented when users access Salesforce content, Visualforce, and Lightning pages after successfully logging in to a Salesforce org.
These pages launch as child sessions, using the org’s authenticated session as a bridge. However, if the child sessions don’t have a current
access token from the org’s session, they fail to launch.
How: Include the new child_sessions parameter in POST requests to the Salesforce OpenID Connect token introspection endpoint.
You can only include this parameter for introspection of active org sessions. It doesn’t work with introspection of refresh tokens.

SEE ALSO:
Salesforce Help: OpenID Connect Dynamic Client Registration for External API Gateways (can be outdated or unavailable during
release preview)

Allow Users to Connect Orgs as a Data Source to Cross-Cloud Applications


As a Salesforce admin, you can grant designated admins permission to connect Salesforce orgs as data sources to cross-cloud Salesforce
applications, such as Customer 360 Data Manager. Connecting an org as a data source lets you connect customer data across your
enterprise to create a single view of your customer. For example, service agents can view a customer’s order history in Service Console
without swiveling their chairs to Commerce Cloud.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions.
When: This user permission was added in the Winter ’20 release.
Who: The Connect Org to Customer 360 Data Manager permission is automatically enabled for Salesforce admins.
How: In your org, create a permission set that grants the Connect Org to Customer 360 Data Manager permission. Assign the permission
set to the designated admin who is creating the connection. The admin is required to log in to the org to create the connection.

SEE ALSO:
Salesforce Help: Connect Data Sources (can be outdated or unavailable during release preview)
Salesforce Help: Connect an Org as a Data Source (can be outdated or unavailable during release preview)
Salesforce Help: Permission Sets (can be outdated or unavailable during release preview)

Use an Updated API Version for Social Sign-On


The Salesforce default authentication provider for Facebook Social Sign-On now uses Facebook’s Graph API v. 5.0. With the updated
Facebook API, access tokens expire if you don’t log in to the app for 90 days. Also, the link and locale fields are deprecated. This
update doesn’t change the user login experience.
Where: This change applies to both Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer
Editions.

466
Salesforce Spring ’20 Release Notes Domains: Custom Domains for Sandboxes (Pilot), Salesforce
Edge, and Instanceless URLs

How: The global authentication provider for Facebook gives your users the option to log in to your org using their Facebook account.
If you create your own authentication provider to enable social sign-on from Facebook, you control the version of the Facebook API that
you want to use.

Domains: Custom Domains for Sandboxes (Pilot), Salesforce Edge, and


Instanceless URLs
Test your Salesforce Sites and Communities in a sandbox using custom domains (Pilot). Customers with a My Domain can accelerate
domain requests with Salesforce Edge. Remove instance names from My Domain URLs through critical updates or sandbox refreshes.

IN THIS SECTION:
Use Custom Domains for Sandboxes (Pilot)
Develop and test your Salesforce Sites and communities within your sandboxes using custom domains. This feature allows you to
test new custom domains in a sandbox before deploying them to Salesforce production.
Route My Domains Through Salesforce Edge (Previously Released Critical Update)
We’re accelerating domain requests for My Domains. With this update, you keep the same My Domain address, but requests go
through Salesforce Edge. Salesforce Edge uses machine-learning technology to improve connectivity and performance. You can
acknowledge this update to let Salesforce move your org’s My Domain to the new service before the July 2020 auto-activation date.
This critical update was first made available in Winter ’20.
Stabilize the Hostname for My Domain URLs in Sandboxes (Previously Released Critical Update)
We’re removing instance names from MyDomain URLs for sandboxes. The instance name identifies where your Salesforce sandbox
org is hosted. Removing the instance name makes the URL cleaner and easier for users to remember. For example,
[Link] replaces
[Link]. This critical update was first made available in Summer ’18.
Stabilize URLs for Visualforce, Experience Builder, [Link] Studio, and Content Files (Previously Released Critical Update)
We’re removing the instance names from Visualforce, Experience Builder, [Link] Studio, and content file URLs. An instance name
identifies where your Salesforce org is hosted. Instanceless domains are cleaner and easier for users to remember. This critical update
applies to orgs that have a deployed My Domain. After this update, a URL that includes the instance name, such as a bookmark,
automatically redirects to the new hostname. This critical update was first made available in Spring ’18.
Get Stabilized My Domain URLs in New and Refreshed Sandboxes
As part of our effort to stabilize domains by removing instance names from their URLs, the My Domain URL format is changing for
sandboxes. When you create or refresh a sandbox with a deployed My Domain, the sandbox name within the hostname becomes
lowercase. Also, the “Stabilize the Hostname for My Domain URLs in Sandboxes” and “Remove Instance Names From URLs for
Visualforce, Experience Builder, [Link] Studio, and Content Files” critical updates are automatically activated. These critical updates
remove the instance name from the sandbox URLs.

Use Custom Domains for Sandboxes (Pilot)


Develop and test your Salesforce Sites and communities within your sandboxes using custom domains. This feature allows you to test
new custom domains in a sandbox before deploying them to Salesforce production.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

Note: We provide Custom Domains for Sandboxes to selected customers through a pilot program that requires agreement to
specific terms and conditions. To be nominated to participate in the program, contact Salesforce. Pilot programs are subject to
change, and we can’t guarantee acceptance. Custom Domains for Sandboxes isn’t generally available unless or until Salesforce
announces its general availability in documentation or in press releases or public statements. We can’t guarantee general availability

467
Salesforce Spring ’20 Release Notes Domains: Custom Domains for Sandboxes (Pilot), Salesforce
Edge, and Instanceless URLs

within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and
features. You can provide feedback and suggestions for Custom Domains for sandboxes in the Custom Domains for Sandboxes
Pilot group in the Trailblazer Community.
How: From Setup in production, in the Quick Find box, enter Domains, and then select Domains. Click Add to add a domain or Edit
to edit an existing domain. On the Domain screen, select an HTTPS option other than the Salesforce CDN. Select your sandbox in the
new Associated Org field and click Save.
To finish adding your custom domain, activate the domain and log in to the sandbox to finish updating the sandbox Sites and communities
domains.

SEE ALSO:
Salesforce Help: Test Your Custom Domains in a Sandbox (Pilot) (can be outdated or unavailable during release preview)

Route My Domains Through Salesforce Edge (Previously Released Critical Update)


We’re accelerating domain requests for My Domains. With this update, you keep the same My Domain address, but requests go through
Salesforce Edge. Salesforce Edge uses machine-learning technology to improve connectivity and performance. You can acknowledge
this update to let Salesforce move your org’s My Domain to the new service before the July 2020 auto-activation date. This critical update
was first made available in Winter ’20.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and
[Link] editions.
When: You can acknowledge this update in Winter ’20. Otherwise, we auto-activate it on July 13, 2020.
Who: Only customers with a My Domain or Custom Domain can be moved to Salesforce Edge. Salesforce Government Cloud orgs are
currently excluded from the move to Salesforce Edge.
How: To acknowledge this critical update, from Setup, enter Critical Updates in the Quick Find box, and select Critical Updates.
Next to Route My Domains Through Salesforce Edge, click Acknowledge.

SEE ALSO:
Winter ’20 Release Notes: Route My Domains Through Salesforce Edge (Critical Update) (can be outdated or unavailable during release
preview)
Critical Updates and Security Alerts

Stabilize the Hostname for My Domain URLs in Sandboxes (Previously Released Critical
Update)
We’re removing instance names from MyDomain URLs for sandboxes. The instance name identifies where your Salesforce sandbox org
is hosted. Removing the instance name makes the URL cleaner and easier for users to remember. For example,
[Link] replaces [Link].
This critical update was first made available in Summer ’18.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, and
[Link] editions.
When: This critical update is activated automatically in production orgs on July 11, 2020 and in sandbox orgs when they are created or
refreshed.
How: We recommend that you test this update in a sandbox to ensure that the new URL works with firewalls and proxy servers in the
network path between your users and Salesforce.

468
Salesforce Spring ’20 Release Notes Domains: Custom Domains for Sandboxes (Pilot), Salesforce
Edge, and Instanceless URLs

To activate this critical update, from Setup, enter Critical Updates in the Quick Find Box, and select Critical Updates. For
Stabilize the Hostname for My Domain URLs in Sandboxes, click Activate.
If you use service provider (SP) initiated SAML to log into your sandbox, work with your identity provider (IdP) to use the sandbox’s
stabilized My Domain hostname.
If you have existing sandbox orgs, activate the critical update in those sandbox orgs. Activating this critical update in a production org
applies the update to new and refreshed sandbox orgs.

SEE ALSO:
Summer ’18 Release Notes: Stabilize the Hostname for My Domain URLs in Sandboxes (Critical Update) (can be outdated or unavailable
during release preview)
Critical Updates and Security Alerts

Stabilize URLs for Visualforce, Experience Builder, [Link] Studio, and Content Files
(Previously Released Critical Update)
We’re removing the instance names from Visualforce, Experience Builder, [Link] Studio, and content file URLs. An instance name
identifies where your Salesforce org is hosted. Instanceless domains are cleaner and easier for users to remember. This critical update
applies to orgs that have a deployed My Domain. After this update, a URL that includes the instance name, such as a bookmark,
automatically redirects to the new hostname. This critical update was first made available in Spring ’18.
Where: This change applies to Lightning Experience and Salesforce Classic in Contact Manager, Group, Professional, Enterprise,
Performance, Unlimited, and Developer editions.
When: The critical update is activated automatically in production orgs on July 11, 2020 and in sandbox orgs when they are created or
refreshed.
Why: When we remove the instance name from your URLs, your hostnames change. For example:
• [Link] replaces [Link]
• [Link] replaces [Link]
All *.[Link] URLs are replaced with *.[Link].
How: We recommend that you test this update in a sandbox to ensure that the new URLs work with firewalls and proxy servers in the
network path between your users and Salesforce. Firewalls and proxy servers that filter by hostname must also trust the following:
• *.[Link]
• *.[Link]
• *.[Link]
To activate this critical update, from Setup, enter Critical Updates in the Quick Find Box and select Critical Updates. For Remove
Instance Names from URLs for Visualforce, Experience Builder, [Link] Studio, and Content Files, click Activate.

Note: This update can log out users who are accessing Visualforce, Experience Builder, [Link] Studio, and content file URLs. To
minimize disruption, consider activating this critical update during off-peak hours.

SEE ALSO:
Spring ’18 Release Notes: Remove Instance Names from URLs for Visualforce, Experience Builder, [Link] Studio, and Content Files
(Critical Update) (can be outdated or unavailable during release preview)
Critical Updates and Security Alerts

469
Salesforce Spring ’20 Release Notes Salesforce Shield: Real-Time Event Monitoring Threat
Detection (Beta), Event Monitoring Analytics App
Improvements, and Platform Encryption for Platform Events
Get Stabilized My Domain URLs in New and Refreshed Sandboxes
As part of our effort to stabilize domains by removing instance names from their URLs, the My Domain URL format is changing for
sandboxes. When you create or refresh a sandbox with a deployed My Domain, the sandbox name within the hostname becomes
lowercase. Also, the “Stabilize the Hostname for My Domain URLs in Sandboxes” and “Remove Instance Names From URLs for Visualforce,
Experience Builder, [Link] Studio, and Content Files” critical updates are automatically activated. These critical updates remove the
instance name from the sandbox URLs.
Where: This change applies to Lightning Experience and Salesforce Classic in Contact Manager, Group, Professional, Enterprise,
Performance, Unlimited, Developer, and [Link] editions.
Who: Customers with a deployed My Domain in their sandbox’s source org.
Why: Removing the instance name makes a URL cleaner and easier for users to remember. When you create or refresh a sandbox, the
URL hostname format changes. For example:
• [Link] replaces
[Link]
• [Link] replaces [Link]
• [Link] replaces [Link]
All *.[Link] URLs are replaced with *.[Link].
How: We recommend that you test the new URLs after creating or refreshing your sandbox. Ensure that they work with firewalls and
proxy servers in the network path between your users and Salesforce.
If you use service provider (SP) initiated SAML to log into your sandbox, work with your identity provider (IdP) to use the sandbox’s
stabilized My Domain hostname.
Firewalls and proxy servers that filter by hostname must also trust the following:
• *.[Link]
• *.[Link]
• *.[Link]

SEE ALSO:
Stabilize the Hostname for My Domain URLs in Sandboxes (Previously Released Critical Update)
Stabilize URLs for Visualforce, Experience Builder, [Link] Studio, and Content Files (Previously Released Critical Update)

Salesforce Shield: Real-Time Event Monitoring Threat Detection (Beta), Event


Monitoring Analytics App Improvements, and Platform Encryption for
Platform Events
Use Real-Time Event Monitoring platform events to detect common threats to your org (Beta). We improved the performance of the
Event Monitoring Analytics app. The legacy transaction security policy framework will be retired in Summer ’20. Shield Platform Encryption
now supports Platform Events in addition to Change Data Capture Events.

IN THIS SECTION:
Shield Platform Encryption: Encryption for Platform Events
Shield Platform Encryption now supports Platform Events, adding an extra layer of protection for events that involve sensitive
information. Remove the Manage Encryption Keys permission from system admin profile with a critical update.

470
Salesforce Spring ’20 Release Notes Salesforce Shield: Real-Time Event Monitoring Threat
Detection (Beta), Event Monitoring Analytics App
Improvements, and Platform Encryption for Platform Events
Event Monitoring: New Threat Detection Real-Time Events (Beta), Legacy Transaction Security Retiring, Event Monitoring Analytics
App Improvements
Detect threats to your org, such as report execution anomalies and credential stuffing, with three new Real-Time Event Monitoring
events. We are retiring the legacy transaction security framework in the Summer ’20 release, so migrate your existing policies to the
enhanced framework. Also, we improved the performance of the Event Monitoring Analytics app.

Shield Platform Encryption: Encryption for Platform Events


Shield Platform Encryption now supports Platform Events, adding an extra layer of protection for events that involve sensitive information.
Remove the Manage Encryption Keys permission from system admin profile with a critical update.

IN THIS SECTION:
Encrypt Platform Events
Rest easy knowing that sensitive data captured by your platform events have an extra layer of protection thanks to Shield Platform
Encryption. In addition to Change Data Capture events, now you can encrypt all of your platform events including Real-Time Event
Monitoring streamed events. When you enable Shield Platform Encryption for platform events, event messages are encrypted at
rest in the event bus with a dedicated Event Bus key. Events stay encrypted for their duration in the event bus.
Remove the Manage Encryption Keys Permission from the System Admin Profile (Previously Released Critical Update)
Admins must actively assign the ability to perform key management roles. The Manage Encryption Keys permission is revoked for
the standard admin profile when you activate this Critical Update. Custom profiles that include the Manage Encryption Keys permission
are not affected. Any user who has the permission through a custom profile or permission still has the permission. This critical update
was first made available in Spring ’16 and applies only to customers who enabled Shield Platform Encryption before the Spring ’16
release.
Encrypt the Next Best Action Recommendation Description Field
To address HIPAA requirements, Next Best Action has made it possible to encrypt recommendation description information using
Shield Platform Encryption. When you use probabilistic encryption, you can’t use encrypted fields like Recommendation Description
when you specify conditions to load recommendations. When you use deterministic encryption, you can use encrypted fields in
load conditions only with the equals or not equals operator.

Encrypt Platform Events


Rest easy knowing that sensitive data captured by your platform events have an extra layer of protection thanks to Shield Platform
Encryption. In addition to Change Data Capture events, now you can encrypt all of your platform events including Real-Time Event
Monitoring streamed events. When you enable Shield Platform Encryption for platform events, event messages are encrypted at rest in
the event bus with a dedicated Event Bus key. Events stay encrypted for their duration in the event bus.
Where: This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions that have both Financial Services
Cloud and Shield Platform Encryption enabled.
How: To enable encryption and delivery of platform events, first create an event bus tenant secret on the Key Management page in
Setup. Then enable encryption of platform events on the Encryption Policy page.

SEE ALSO:
Encrypt Platform Event Messages in the Event Bus
Salesforce Help: Encrypt Event Bus Data (can be outdated or unavailable during release preview)

471
Salesforce Spring ’20 Release Notes Salesforce Shield: Real-Time Event Monitoring Threat
Detection (Beta), Event Monitoring Analytics App
Improvements, and Platform Encryption for Platform Events
Remove the Manage Encryption Keys Permission from the System Admin Profile (Previously Released
Critical Update)
Admins must actively assign the ability to perform key management roles. The Manage Encryption Keys permission is revoked for the
standard admin profile when you activate this Critical Update. Custom profiles that include the Manage Encryption Keys permission are
not affected. Any user who has the permission through a custom profile or permission still has the permission. This critical update was
first made available in Spring ’16 and applies only to customers who enabled Shield Platform Encryption before the Spring ’16 release.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
When: This critical update is automatically activated in Spring ’29.
Who: This critical update applies to customers who enabled Shield Platform Encryption before the Spring ’16 release. Customers who
enabled Shield Platform Encryption after the Spring ’16 release are unaffected by this critical update.

SEE ALSO:
Critical Updates and Security Alerts

Encrypt the Next Best Action Recommendation Description Field


To address HIPAA requirements, Next Best Action has made it possible to encrypt recommendation description information using Shield
Platform Encryption. When you use probabilistic encryption, you can’t use encrypted fields like Recommendation Description when you
specify conditions to load recommendations. When you use deterministic encryption, you can use encrypted fields in load conditions
only with the equals or not equals operator.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Professional, Enterprise, Performance, Unlimited,
and Developer editions.
How: On the Encryption Policy page in Setup, click Encrypt Fields, and encrypt the Recommendation Description field.

Event Monitoring: New Threat Detection Real-Time Events (Beta), Legacy Transaction
Security Retiring, Event Monitoring Analytics App Improvements
Detect threats to your org, such as report execution anomalies and credential stuffing, with three new Real-Time Event Monitoring
events. We are retiring the legacy transaction security framework in the Summer ’20 release, so migrate your existing policies to the
enhanced framework. Also, we improved the performance of the Event Monitoring Analytics app.

IN THIS SECTION:
Detect Threats to Your Org (Beta)
Track threats to your org’s security with three new Real-Time Event Monitoring events. Salesforce generates these events, aided by
machine learning algorithms, to identify anomalies in your users’ behavior and unauthorized access to your org
Determine If an Apex Request Is Counted as a Long-Running Request in the EventLogFile
Use the IS_LONG_RUNNING_REQUEST field of the Apex Execution event type to determine if a request is counted against your org’s
concurrent long-running Apex request limit. Use this field instead of checking all requests that run for more than 5 seconds.
Migrate Legacy Policies to the Enhanced Transaction Security Framework (Previously Released Critical Update)
With Salesforce’s enhanced transaction security policy framework, you can create transaction security policies that execute actions
on any standard or custom object. Now that the new framework is generally available, we no longer allow users to create legacy
transaction security policies. We're retiring the legacy framework in the Summer ’20 release. To prepare for this retirement and take
advantage of the new features, migrate your legacy transaction security policies to the new framework as soon as possible. This
critical update was first made available in Winter ’20.

472
Salesforce Spring ’20 Release Notes Salesforce Shield: Real-Time Event Monitoring Threat
Detection (Beta), Event Monitoring Analytics App
Improvements, and Platform Encryption for Platform Events
Detect Threats to Your Org (Beta)
Track threats to your org’s security with three new Real-Time Event Monitoring events. Salesforce generates these events, aided by
machine learning algorithms, to identify anomalies in your users’ behavior and unauthorized access to your org
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions
where Event Monitoring is enabled.

Note: As a beta feature, the threat detection event objects are previews and not part of the “Services” under your master subscription
agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally
available products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame
or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as
is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions,
Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content
apply equally to your use of this feature. You can provide feedback and suggestions for this feature in the Salesforce Official: Shield
group in the Trailblazer Community. For information on enabling this feature in your org, contact Salesforce.
Who: Event Monitoring is available to customers who already purchased Salesforce Shield or Event Monitoring add-on subscriptions.
Why: Use these new Real-Time Event Monitoring platform events to detect common threats to your org:
• ReportAnomalyEvent (Beta): Tracks anomalies in how users run or export reports.
• SessionHijackingEvent (Beta): Tracks when unauthorized users try to hijack Salesforce sessions.
• CredentialStuffingEvent (Beta): Tracks when a user successfully logs into Salesforce during an identified credential stuffing attack, or
when large-scale automated login requests occur using stolen user credentials.
How: New customers enable the beta by contacting Salesforce.

SEE ALSO:
Salesforce Help: Threat Detection (Beta) (can be outdated or unavailable during release preview)
Platform Events Developer Guide: Real-Time Event Monitoring Objects

Determine If an Apex Request Is Counted as a Long-Running Request in the EventLogFile


Use the IS_LONG_RUNNING_REQUEST field of the Apex Execution event type to determine if a request is counted against your org’s
concurrent long-running Apex request limit. Use this field instead of checking all requests that run for more than 5 seconds.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
Who: Available to customers who purchased a Salesforce Shield or Salesforce Event Monitoring add-on subscription and use the
EventLogFile to monitor events.

SEE ALSO:
Object Reference for Salesforce and Lightning Platform: Apex Execution Event Type

Migrate Legacy Policies to the Enhanced Transaction Security Framework (Previously Released
Critical Update)
With Salesforce’s enhanced transaction security policy framework, you can create transaction security policies that execute actions on
any standard or custom object. Now that the new framework is generally available, we no longer allow users to create legacy transaction
security policies. We're retiring the legacy framework in the Summer ’20 release. To prepare for this retirement and take advantage of
the new features, migrate your legacy transaction security policies to the new framework as soon as possible. This critical update was
first made available in Winter ’20.

473
Salesforce Spring ’20 Release Notes Data Protection and Privacy: Party Consent, Communication
Subscription, and Contact Point Objects

Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions
where Event Monitoring is enabled.
When: After we retire the legacy framework in the Summer ’20 release, the legacy policies will be permanently disabled and you won’t
be able to update them. Your legacy policies continue to work correctly until the Summer ’20 release.
Who: Event Monitoring is available to customers who purchased Salesforce Shield or Event Monitoring add-on subscriptions.
How: To determine if your security policies are using the legacy framework, check their associated Apex classes. Legacy policies implement
the [Link] interface.
To migrate a legacy policy, create one in the new enhanced framework that mimics the old behavior. Although a legacy policy can’t run
in the new framework, it’s still visible, so you can examine its logic to reproduce it in the new policy.
If you like using a point-and-click tool, Condition Builder provides most of the functionality to create a policy in the new framework. If
you prefer to code or require more functionality than Condition Builder provides, implement the Apex class with the new
[Link] interface.
We welcome feedback about the migration and any issues that you encounter so that we can improve the transition for all Event
Monitoring customers. You can provide feedback and suggestions for this feature in the Salesforce Official: Shield group in the Trailblazer
Community.

SEE ALSO:
Critical Updates and Security Alerts
Salesforce Help: Migrate Legacy Policies to the Enhanced Transaction Security Framework (can be outdated or unavailable during
release preview)
Salesforce Help: Enhanced Transaction Security Policy Enforcement (can be outdated or unavailable during release preview)

Data Protection and Privacy: Party Consent, Communication Subscription,


and Contact Point Objects
Store data related to your customers' general consent preferences and the communications that they subscribe to. You can also
associate multiple email addresses or phone numbers to individuals or person accounts, and manage their preferred time and consent
to be contacted.

IN THIS SECTION:
Keep Track of Customer Consent Preferences
Use the Party Consent object to store information related to your customers’ general consent preferences, such as whether they
agree to have their data collected or shared. Indicate when and how you captured consent as well. You can associate multiple party
consent records to an individual or person account record.
Manage Your Customers’ Communication Subscriptions
Keep track of data related to the communications your customers subscribe to, such as newsletters or appointment reminders. Store
when and how your customers consented to be contacted and information on their preferred timing. You can also record the
channels, such as email addresses and phone numbers, through which you can reach them.

474
Salesforce Spring ’20 Release Notes Edit Data Classification for Custom Fields in Managed
Packages

Store Multiple Contact Points and Customer Consent Information


To help you better reach your customers, you can now specify multiple email addresses or phone numbers for an individual or
person account. Previously, our data model only allowed for one phone number or email to be associated to a single customer. Now,
using contact point email and contact point phone, you can also add details such as the best time to reach out to a contact or how
they prefer to be contacted. Plus, you can reference these records from a contact point consent record to store your customer’s
consent to being contacted this way.

Keep Track of Customer Consent Preferences


Use the Party Consent object to store information related to your customers’ general consent preferences, such as whether they agree
to have their data collected or shared. Indicate when and how you captured consent as well. You can associate multiple party consent
records to an individual or person account record.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions.

SEE ALSO:
Salesforce Help: Fields in Party Consent Records (can be outdated or unavailable during release preview)

Manage Your Customers’ Communication Subscriptions


Keep track of data related to the communications your customers subscribe to, such as newsletters or appointment reminders. Store
when and how your customers consented to be contacted and information on their preferred timing. You can also record the channels,
such as email addresses and phone numbers, through which you can reach them.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions.

SEE ALSO:
Salesforce Help: Communication Subscription Objects (can be outdated or unavailable during release preview)

Store Multiple Contact Points and Customer Consent Information


To help you better reach your customers, you can now specify multiple email addresses or phone numbers for an individual or person
account. Previously, our data model only allowed for one phone number or email to be associated to a single customer. Now, using
contact point email and contact point phone, you can also add details such as the best time to reach out to a contact or how they prefer
to be contacted. Plus, you can reference these records from a contact point consent record to store your customer’s consent to being
contacted this way.
Where: This change applies to Salesforce Classic and Lightning Experience in all editions.
How: Contact point phone and contact point email are displayed on the Individual object's layout by default. You must add them to
the Account object's layout in Object Manager.

SEE ALSO:
Salesforce Help: Fields in Contact Point Email and Contact Point Phone Records (can be outdated or unavailable during release
preview)

Edit Data Classification for Custom Fields in Managed Packages


Now your users can customize data classification settings for custom fields in the managed packages they install.

475
Salesforce Spring ’20 Release Notes Other Security Changes: Guest User Record Assignment,
External URL Whitelist, and Setup Enhancements

Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions.
Who: To edit or view data classification fields, you must have the Customize Application or Modify Data Classification permission.
How: Update your packages to support these changes.
In the Object Manager, find the object that you want to edit, and select Fields & Relationships from the sidebar. Select the field where
you want to set up data classification, and click Edit. Select the value for each Data Classification metadata field from the picklists, and
save your changes.

Other Security Changes: Guest User Record Assignment, External URL


Whitelist, and Setup Enhancements
Set up a default owner for any records created by guest users in Salesforce Sites. Whitelist external URLs that users are allowed to navigate
to directly. Plus, we made improvements to Session Security Level Policies and the Setup Audit Trail.

IN THIS SECTION:
Automatically Assign Records Created by Guest Users in Salesforce Sites to a Default Owner
To increase the security of your Salesforce data, set up your org so that guest users are no longer automatically the owner of records
they create in Salesforce Sites. When a guest user creates a record in a Salesforce Site, the record is assigned to a default active user,
who becomes the owner.
Allow Redirects to External URLs Without a Warning Message
Whitelist URLs outside the Salesforce domain that your users can navigate to directly when the Warn users before they are redirected
outside of Salesforce setting is enabled. For URLs that you don't whitelist, users see a warning message before they get redirected.
Changes to Session-Security-Level Policies
To better secure sensitive operations in the Users Setup page, you can require users to have a high-assurance session level before
accessing the page. Also, we removed the View Event Log Files setting from the Session Security Level Policies section.
Monitor More Changes in the Setup Audit Trail
To help you track the recent setup changes that you and other admins make to your Salesforce org, we added new events to the
Setup Audit Trail.
Changes to Named Credentials
Access to named credentials through the Salesforce API is available for users with the View Setup and Configuration permission.

Automatically Assign Records Created by Guest Users in Salesforce Sites to a Default


Owner
To increase the security of your Salesforce data, set up your org so that guest users are no longer automatically the owner of records
they create in Salesforce Sites. When a guest user creates a record in a Salesforce Site, the record is assigned to a default active user, who
becomes the owner.
Where: This change applies to orgs with active Salesforce Sites in Essentials, Unlimited, Performance, and Developer editions.
Why: To follow Salesforce security best practices, designate an internal org user to be the owner of records created by guest users. While
we strongly encourage you to assign a default owner, changing record ownership can affect your guest users’ ability to access records.
Test all changes in a sandbox environment to see the effects on data sharing and visibility before you change your implementation in
production.
How: From Setup, in the Quick Find box, enter Sites, and then select Sites. Select Reassign new records created by guest users
to the default owner. Click Save.

476
Salesforce Spring ’20 Release Notes Other Security Changes: Guest User Record Assignment,
External URL Whitelist, and Setup Enhancements

If no default owner is chosen in the org, Salesforce automatically assigns the Salesforce Site owner as the owner of records created by
guest users.

SEE ALSO:
Salesforce Help: Best Practices and Considerations When Working with the Site User Record (can be outdated or unavailable during
release preview)

Allow Redirects to External URLs Without a Warning Message


Whitelist URLs outside the Salesforce domain that your users can navigate to directly when the Warn users before they are redirected
outside of Salesforce setting is enabled. For URLs that you don't whitelist, users see a warning message before they get redirected.
Where: This change applies to Salesforce Classic in all editions.
How: From Setup, in the Quick Find box, enter Whitelisted URLs for Redirects, and then select Whitelisted URLs for
Redirects. Click New URL.

SEE ALSO:
Salesforce Help: Manage Redirects to External URLs (can be outdated or unavailable during release preview)

Changes to Session-Security-Level Policies


To better secure sensitive operations in the Users Setup page, you can require users to have a high-assurance session level before
accessing the page. Also, we removed the View Event Log Files setting from the Session Security Level Policies section.
Where: This change applies to Salesforce Classic and Lightning Experience in all editions.
How: From Setup, in the Quick Find box, enter Identity Verification, and then select Identity Verification. In the Session
Security Level Policies section, for Manage Users, select Raise session to high assurance. Click Save.

477
Salesforce Spring ’20 Release Notes Other Security Changes: Guest User Record Assignment,
External URL Whitelist, and Setup Enhancements

SEE ALSO:
Salesforce Help: Require High-Assurance Session Security for Sensitive Operations (can be outdated or unavailable during release
preview)

Monitor More Changes in the Setup Audit Trail


To help you track the recent setup changes that you and other admins make to your Salesforce org, we added new events to the Setup
Audit Trail.
Where: This change applies to the Setup Audit Trail, available in Lightning Experience and Salesforce Classic in Contact Manager,
Essentials, Group, Professional, Enterprise, Performance, Unlimited, Developer, and [Link] editions.
Why: Track changes to:
• Email Deliverability—Your access to send email in Salesforce, set through the Access level field on the Deliverability Setup page.
• Connected Apps—Your connected app’s PIN length and inactivity timeout, set in the Mobile Integration section of your connected
app’s settings. Access these settings from the Manage Connected Apps Setup page.
• Notifications—Your notification delivery settings for custom notification types, set from the Custom Notifications Setup page, and
for standard notification types, set from the Notification Delivery Settings Setup page. You can track changes to mobile, desktop,
and connected app delivery settings.

478
Salesforce Spring ’20 Release Notes Deployment: Faster Availability of Uploaded Change Sets
and New Change Set Components

How: To view the audit history, from Setup, in the Quick Find box, enter View Setup Audit Trail, and then select View Setup
Audit Trail.

SEE ALSO:
Salesforce Help: Monitor Setup Changes (can be outdated or unavailable during release preview)
IdeaExchange: Email Deliverability Changes Not Tracked in Audit Log

Changes to Named Credentials


Access to named credentials through the Salesforce API is available for users with the View Setup and Configuration permission.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions.

Deployment: Faster Availability of Uploaded Change Sets and New


Change Set Components
Uploaded change sets are available for deployment sooner. New change set components are available.

IN THIS SECTION:
Deploy Customizations Sooner After Uploading a Change Set
It used to take a while before freshly uploaded change sets were available for deployment. Now, uploaded change sets are available
for deployment sooner.
New and Changed Components for Change Sets
The components available for a change set vary by edition. These components are now available for change sets.

Deploy Customizations Sooner After Uploading a Change Set


It used to take a while before freshly uploaded change sets were available for deployment. Now, uploaded change sets are available for
deployment sooner.

New and Changed Components for Change Sets


The components available for a change set vary by edition. These components are now available for change sets.
Email Service
Represents an email service.
Lightning Community Template
Represents a template used to create and export customized communities and to distribute custom components for others to use,
Lightning Community Theme
Represents layouts and styles (colors, fonts, and images) to customize the appearance and structure of pages in a community.
Community themes are pre-built (Customer Service, Partner Central, Customer Account Portal, and Build Your Own) or can be
customized.
Lightning Message Channel
Represents a secure channel to communicate across UI technologies (Lightning Web Components, Aura Components, and Visualforce).

479
Salesforce Spring ’20 Release Notes Development: Create Your Own Salesforce App

Managed Content Type


Represents the definition of custom content types for use with Salesforce CMS. Custom content types are displayed as forms with
defined fields.
Whitelisted URL for Redirects
Represents a whitelisted URL that users can navigate to without being shown a warning message.

Development: Create Your Own Salesforce App


Whether you’re using Lightning components, Visualforce, Apex, or our APIs with your favorite programming language, these enhancements
help you develop amazing applications, integrations, and packages for resale to other organizations.

IN THIS SECTION:
Lightning Components: Simplified Reactivity, Style Lightning Web Components with Custom Aura Design Tokens, Source Tracking
for Lightning Web Components in Scratch Orgs
All fields in a Lightning web component are now reactive. Use a custom Aura design token in Lightning web components. Track
changes for Lightning web components in a scratch org when you use Salesforce command-line interface (CLI). We improved
controls for Content Security Policy (CSP) and we have several critical updates.
Einstein Platform Services: Image Recognition and Natural Language Processing
Not a data scientist or machine-learning expert, but still want to integrate AI into your apps? Use the Einstein Platform Services APIs
to AI-enable your apps with image recognition and natural language processing. Using the Einstein Vision APIs, you can leverage
pre-trained classifiers or train custom classifiers to solve an array of image recognition use cases. With the Einstein Language APIs,
you can harness the power of natural language processing to analyze text and infer the sentiment or intent behind the text. Make
your apps smarter and look like a genius at the same time.
Einstein Platform: Prediction Insight Details
Are you interested in expanding the way you use Einstein AI features, like Prediction Builder, in your org? Einstein Platform is the
Salesforce layer that Prediction Builder and many other Einstein features use to run powerful AI jobs. Use new Einstein Platform APIs
to access prediction insights and apply the power of Einstein features in your own AI solutions.
Visualforce: Introducing Lightning Message Service (Beta), Type Checking for Remote Methods with ID Parameters
Communicate across Visualforce, Aura, and Lightning Web Components with Lightning Message Service. Visualforce now checks
that strings are properly formatted as valid Apex IDs in its JavaScript remoting tool.
Apex
Apex security features WITH SECURITY_ENFORCED and [Link] are now generally available.
The new [Link] interface (pilot) allows you to attach actions to queueable, asynchronous jobs. A critical update
enables strict enforcement of Apex type visibility rules with the [Link] method. The getDescribe method
in the Schema namespace has a parameter that determines whether to front-load child relationships. Use the toString method
to obtain the string representation of a Map, List, or Set class in the System namespace.
API
In API version 48.0, find related object documentation more easily, get a symbol table without non-global implementation details
in managed packages, and use more API calls.
Custom Metadata Types
To better secure your data, we added new settings and enabled restrictions that allow you to protect potentially sensitive information.

480
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
Salesforce CLI: Autocompletion, Enhanced DX Templates, Progress Bar, Code Coverage
The Salesforce command-line interface (CLI) continues to evolve with more features and commands that support the Salesforce
development models. Use it to create environments for development and testing, synchronize source code, run tests, and control
the full application life cycle.
Scratch Orgs: New Features
A scratch org is a dedicated and configurable Salesforce environment that you can quickly spin up for many different purposes. It
can be your own personal development environment, or you can create a headless scratch org for automated tests. You can create
scratch orgs if you turned on Dev Hub in your production org or a Developer Edition org, or have a Dev Hub trial org. We continually
add support for new features.
Sandboxes: Enhanced Sandbox Cloning and Data Security
More cloning options and increased data security are now available for sandboxes.
AppExchange Partners: AppExchange App Analytics for Lightning Apps and Pages
Learn how subscribers use your Lightning apps and pages by exploring AppExchange App Analytics data.
Packaging: Faster Package Creation, New Skip Validation Option, and Changes to Flows and External Sharing Settings
Now it takes less time to create or install package versions. You can skip validation when creating new package versions. And we
made changes to flows in unlocked packages, and changes to the default external sharing settings that may affect your packages.
Change Data Capture: More Object Support and Event Enrichment (Pilot)
Receive change notifications for more objects, and enrich your event messages with fields (pilot).
Platform Events: Encryption Support
Enable the encryption of platform event messages in the event bus. Also, use a new REST API limit for accurate CometD event delivery
usage.
New and Changed Items for Developers
Here is where you can find new and changed objects, calls, classes, components, commands, and more that help you customize
Salesforce features.

Lightning Components: Simplified Reactivity, Style Lightning Web


Components with Custom Aura Design Tokens, Source Tracking for
Lightning Web Components in Scratch Orgs
All fields in a Lightning web component are now reactive. Use a custom Aura design token in Lightning web components. Track changes
for Lightning web components in a scratch org when you use Salesforce command-line interface (CLI). We improved controls for Content
Security Policy (CSP) and we have several critical updates.

Note: Looking for new and changed Lightning web components, Aura components, and Aura component interfaces? We
consolidated the lists of new and changed items at the end of the Development section.

IN THIS SECTION:
The @track Decorator Is No Longer Required for Lightning Web Components
No more guessing about whether to use @track to make a field reactive. All fields in a Lightning web component class are reactive.
If a field’s value changes, and the field is used in a template or in a getter of a property that’s used in a template, the component
rerenders and displays the new value.

481
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
Wire Adapters Not Guaranteed to Emit Objects with Strict Equality
When Lightning Data Service provisions a stream of data, there’s no guarantee that the data is strictly equal (JavaScript’s ===
operator), even when a wire adapter's configuration object is equivalent.
Style Lightning Web Components with Custom Aura Design Tokens
A Lightning web component’s CSS file can use a custom Aura token created in your org or installed from an unmanaged package.
Tokens make it easy to ensure that your design is consistent, and even easier to update it as your design evolves.
Smarter Source Tracking for Lightning Web Components in Scratch Orgs
Salesforce command-line interface (CLI) now tracks changes to Lightning web components in a scratch org. The CLI output lists any
changes, and alerts you to any conflicts between your local project and a scratch org.
Lightning Base Components: Open Source
Base components for the Lightning Web Components framework are now open source. Explore the source code and customize
base components for your own apps.
Aura Components in the ui Namespace Are Deprecated
We plan to end support for the deprecated components on May 1, 2021.
Aura’s JavaScript API Reference Documentation Moved to the Developer Guide
We retired the legacy Aura reference doc app, which housed the JavaScript API documentation. Find this information in the Reference
section of the Lightning Aura Components Developer Guide instead. All the other information from the Aura reference doc app is
already available in the Component Library, your hub for Lightning components documentation.
Manage Resource Loading for CSP Trusted Sites
Control which resources a Lightning component can load from a Content Security Policy (CSP) Trusted Site. For example, you can
allow the Lightning component to load images, style sheets, and fonts, but not audio or video from the site.
Use Components in Lightning Communities with Lightning Locker Disabled
To enable components installed from a managed package to run in a community that has Lightning Locker disabled, in the
component’s configuration file, use the lightningCommunity__RelaxedCSP tag.
Navigate Users to a Record’s Create Page with Default Field Values
Use the new lightning/pageReferenceUtils module or lightning:pageReferenceUtils Aura component
to build navigation links in your components that prepopulate a record’s create page with default field values. Prepopulated values
can accelerate data entry, improve data consistency, and otherwise make the process of creating a record easier.
Lightning Locker Sanitizes insertHTML Content
Lightning Locker now sanitizes HTML that’s inserted using [Link](insertHTML) to remove potentially
malicious executable script content.
Communicate Across Salesforce UI Technologies with Lightning Message Service (Beta)
Use the Lightning Message Service API to communicate across the DOM, between Aura components, Visualforce pages, and Lightning
web components. Lightning Message Service also enables communication between a component in a main Lightning page with
one in a pop-out utility bar. If you’re switching from Salesforce Classic to Lightning Experience, you can now build Lightning web
components that can communicate with existing Visualforce pages or Aura components.
Increase Productivity with Local Development for Lightning Web Components (Beta)
Lightning Web Components now offers Local Development so that you can build component modules and view your changes live
without publishing your components to an org. Our new Salesforce CLI plugin lwc-dev-server configures and runs a Lightning
Web Components-enabled server on your computer. You can access the local development server from the command line and the
Lightning Web Components Extension for VS Code.

482
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
DOM API Changes May Require UI Test Updates
The content and structure of HTML, CSS, and the DOM in Lightning Experience can change at any time and can’t be considered a
stable API. Automated UI tests that use tools like Selenium WebDriver to reach into component internals require your ongoing
maintenance. We’re here to help you adapt your automated UI tests for this release.
Update Attribute Values for Snapshots Created by Jest Tests
When you create snapshots with Jest for testing Lightning web components, Lightning Web Components inserts placeholder values
for some element attributes. This replacement may result in test failures because the attribute values change. Solve this problem
with the --updateSnapshot command option.
Freeze JavaScript Prototypes Session Setting Removed
The Freeze JavaScript Prototypes setting is removed from Session Settings. This experimental setting was introduced in Winter ’19
and was disabled by default. When enabled by some customers, this setting caused issues in production orgs. We’re exploring other
ways to prevent modification of global JavaScript prototypes.
Install Linting in Salesforce DX Projects with Ease
A Salesforce DX project’s [Link] file now includes the ESLint dependencies for Lightning Web Components. To install
linting, run npm install in your project.
Critical Updates: Profile-Based Access for @AuraEnabled Apex Classes, and More
We have several critical updates.
Security Alerts: Restricted Access to @AuraEnabled Apex Methods Based on User Profile
We added a few security alerts.

SEE ALSO:
Lightning Web Components Developer Guide
Lightning Aura Components Developer Guide

The @track Decorator Is No Longer Required for Lightning Web Components


No more guessing about whether to use @track to make a field reactive. All fields in a Lightning web component class are reactive.
If a field’s value changes, and the field is used in a template or in a getter of a property that’s used in a template, the component rerenders
and displays the new value.
Where: This change applies to Lightning web components in Lightning Experience and all versions of the Salesforce app.
Why: It was difficult for developers to know which fields to decorate with @track. When a field’s value changed, developers couldn’t
easily predict when the component would rerender and display the new value.
How: The framework observes changes to a field’s value, rerenders the component, and displays the new value. All expressions in the
component are also evaluated. In fact, since all fields are reactive, we no longer need to use the term “reactive field.”
Before Spring ’20, to make a field reactive, you had to decorate it with @track. You see this approach used in older code samples, and
it’s still supported.
@track firstName = '';

Now, use the @track decorator only in one use case, which we explain later.
Let’s look at some sample code. This component has two input fields: First Name and Last Name. When you enter a name in either field,
the component converts it to uppercase and displays it.
<!-- [Link] -->

483
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
<template>
<lightning-input
name="firstName"
label="First Name"
onchange={handleChange}
></lightning-input>
<lightning-input
name="lastName"
label="Last Name"
onchange={handleChange}
></lightning-input>
<p>
Uppercased Full Name: {uppercasedFullName}
</p>
</template>

The component’s class defines the firstName and lastName fields. Like all fields as of Spring ’20, they’re reactive. Because they’re
used in the getter of a property that’s used in the template (uppercasedFullName), the component rerenders when their values
change.
// [Link]

import { LightningElement } from 'lwc';

export default class HelloExpressions extends LightningElement {


firstName = '';
lastName = '';

handleChange(event) {
const field = [Link];
if (field === 'firstName') {
[Link] = [Link];
} else if (field === 'lastName') {
[Link] = [Link];
}
}

get uppercasedFullName() {
return `${[Link]} ${[Link]}`.trim().toUpperCase();
}
}

Before Spring ’20, to make the component rerender when a user entered a first or last name, you had to decorate the fields with @track.
@track firstName = '';
@track lastName = '';

Observe an Object’s Properties or an Array’s Elements


There is still one use case for @track. When a field contains an object or an array, there’s a limit to the depth of changes that are
tracked. To tell the framework to observe changes to the properties of an object or to the elements of an array, decorate the field with
@track.
Without using @track, the framework observes changes that assign a new value to a field. If the new value is not === to the previous
value, the component rerenders.

484
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
To understand, let’s declare the fullName field, which contains an object with two properties, firstName and lastName.
fullName = { firstName : '', lastName : '' };

The framework observes changes that assign a new value to fullName. This code assigns a new value to the fullName field, so
the component rerenders.
// Component rerenders.
[Link] = { firstName : 'John', lastName : 'Doe' };

However, if we assign a new value to one of the object’s properties, the component doesn't rerender because the properties aren’t
observed.
// Component doesn't rerender.
[Link] = 'John';

The framework observes changes that assign a new value to the fullName field. This code doesn't do that, instead it assigns a new
value to the firstName property of the fullName object.
To tell the framework to observe changes to the object's properties, decorate the fullName field with @track. Now if we change
either property, the component rerenders.
// Component rerenders.
@track fullName = { firstName : '', lastName : '' };
[Link] = 'John';

Tip: The helloExpressions code sample is from the lwc-recipes GitHub repo. You can also experiment with similar code
in playgrounds in the open-source LWC Developer Guide.

Wire Adapters Not Guaranteed to Emit Objects with Strict Equality


When Lightning Data Service provisions a stream of data, there’s no guarantee that the data is strictly equal (JavaScript’s === operator),
even when a wire adapter's configuration object is equivalent.
Where: This change applies to Lightning web components in Lightning Experience and all versions of the Salesforce app.
How: Previously, specifying equivalent configuration values for wire adapters could result in the wire adapters provisioning strictly equal
values, as denoted by JavaScript’s === operator. The data that’s provisioned is no longer guaranteed to be strictly equal. Lightning Data
Service may generate a unique value to provision per wire adapter.

Style Lightning Web Components with Custom Aura Design Tokens


A Lightning web component’s CSS file can use a custom Aura token created in your org or installed from an unmanaged package. Tokens
make it easy to ensure that your design is consistent, and even easier to update it as your design evolves.
Where: This change applies to Lightning web components in Lightning Experience and all versions of the Salesforce app.
Why: Capture the essential values of your visual design into custom Aura tokens. Define a token value once and reuse it in your Lightning
component’s CSS.
How: Create a custom Aura token in the Developer Console by creating a Lightning Tokens bundle. For example, this tokens bundle
has a custom Aura token called myBackgroundColor.
<aura:tokens>
<aura:token name="myBackgroundColor" value="#f4f6f9"/>
</aura:tokens>

485
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
Custom Aura tokens aren’t new, but now you can use them in a Lightning web component’s CSS file by using the standard var()
CSS function. Prepend --c- to the custom Aura token.
// [Link]
color: var(--c-myBackgroundColor);

SEE ALSO:
Lightning Aura Components Developer Guide: Styling with Design Tokens

Smarter Source Tracking for Lightning Web Components in Scratch Orgs


Salesforce command-line interface (CLI) now tracks changes to Lightning web components in a scratch org. The CLI output lists any
changes, and alerts you to any conflicts between your local project and a scratch org.
Where: This change applies to Lightning web components in scratch orgs.
When: This change is available in Salesforce CLI with salesforcedx v48, which releases on February 15, 2020. A pre-release version
of salesforcedx v48 is available on December 5, 2019.
Why: Until now, CLI commands tracked source changes for Lightning web components in a local project, but didn't track changes to
Lightning web components in a scratch org.
How: We enhanced these CLI commands to support source tracking for Lightning web components in a scratch org and to report any
conflicts.
sfdx force:source:pull
Pulls changed source from a scratch org to your project.
sfdx force:source:push
Pushes changed source from your project to a scratch org.
sfdx force:source:status
Tracks changes between your project and a scratch org.

SEE ALSO:
Salesforce DX Developer Guide: Scratch Orgs

Lightning Base Components: Open Source


Base components for the Lightning Web Components framework are now open source. Explore the source code and customize base
components for your own apps.
Why: You can use the base components source code to build custom components that meet your own requirements. The Base
Components Recipes GitHub repository provides you read access to a subset of the components shown in the Component Library.
Components that are currently not available in open source contain internal dependencies and cannot be open sourced at this time.
However, it is our long term goal to open source all base components.
How: We transpiled the base components from the lightning namespace to the c namespace. This gives you the freedom to use
and change the c namespace base components however you like in your own projects. A c component can also contain components
in the lightning namespace. To develop on-platform components using base components, see the Salesforce Lightning Web
Components Developer Guide. The off-platform usage for base components is currently experimental and isn’t generally available yet.

486
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
Aura Components in the ui Namespace Are Deprecated
We plan to end support for the deprecated components on May 1, 2021.
Where: This change applies to orgs with Lightning components in Lightning Experience, Salesforce Classic, and all versions of the
Salesforce app.
When: Salesforce plans to end support for Aura components in the ui namespace on May 1, 2021. You can continue to use these
components beyond May 1, 2021, but we won’t accept support cases for them after that date.
Why: Retiring our legacy components enables us to focus on components that match the latest web standards in performance,
accessibility, user experience, and internationalization.
How: Replace the deprecated components with their counterparts in the lightning namespace. These components are faster,
more efficient, and they implement Lightning Design System styling out-of-the-box.

Note: Components in the lightning namespace are available in two versions—as Aura components and Lightning web
components. We recommend using Lightning web components whenever possible. Lightning web components are custom
HTML elements built using HTML and modern JavaScript. Lightning web components and Aura components can coexist and
interoperate on a page. To admins and end users, they both appear as Lightning components. See the Lightning Web Components
Developer Guide for more information.
The deprecated Aura components and their recommended alternatives are listed as follows.
ui:actionMenuItem
Use lightning:menuItem with lightning:buttonMenu instead.
ui:button
Use lightning:button, lightning:buttonIcon, or lightning:buttonIconStateful. For button groups,
use lightning:buttonGroup.
ui:checkboxMenuItem
Use lightning:menuItem with lightning:buttonMenu instead.
ui:inputCheckbox
Use lightning:input with checkbox, toggle, or checkbox-button type instead. For checkbox groups, use
lightning:checkboxGroup.
ui:inputCurrency
Use lightning:input with number type and currency formatter instead.
ui:inputDate
Use lightning:input with date type instead.
ui:inputDateTime
Use lightning:input with datetime type instead.
ui:inputDefaultError
Use lightning:input with built-in field validation instead.
ui:inputEmail
Use lightning:input with email type instead.
ui:inputNumber
Use lightning:input with number type instead.
ui:inputPhone
Use lightning:input with phone type instead.
ui:inputRadio
Use lightning:input with radio type instead. For radio groups, use lightning:radioGroup.

487
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
ui:inputRichText
Use lightning:inputRichText instead.
ui:inputSecret
Use lightning:input with password type instead.
ui:inputSelect
Use lightning:select or lightning:combobox instead.
ui:inputSelectOption
Use lightning:select or lightning:combobox instead.
ui:inputText
Use lightning:input with text type instead.
ui:inputTextArea
Use lightning:textarea instead.
ui:inputURL
Use lightning:input with url type instead.
ui:menu
Use lightning:buttonMenu instead.
ui:menuItem
Use lightning:menuItem with lightning:buttonMenu instead.
ui:menuItemSeparator
Use lightning:menuDivider with lightning:buttonMenu instead.
ui:menuList
Use lightning:buttonMenu instead.
ui:menuTrigger
Use lightning:buttonMenu instead.
ui:menuTriggerLink
Use lightning:buttonMenu instead.
ui:message
Use lightning:notificationsLibrary instead.
ui:outputCheckbox
Use lightning:input with checkbox type and set readonly to true.
ui:outputCurrency
Use lightning:formattedNumber with style set to currency.
ui:outputDate
Use lightning:formattedDateTime instead.
ui:outputDateTime
Use lightning:formattedDateTime or lightning:formattedTime instead.
ui:outputEmail
Use lightning:formattedEmail instead.
ui:outputNumber
Use lightning:formattedNumber instead.
ui:outputPhone
Use lightning:formattedPhone instead.

488
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
ui:outputRichText
Use lightning:formattedRichText instead.
ui:outputText
Use lightning:formattedText instead.
ui:outputTextArea
Use lightning:formattedText instead.
ui:outputURL
Use lightning:formattedUrl instead.
ui:radioMenuItem
Use lightning:menuItem with lightning:buttonMenu instead.
ui:spinner
Use lightning:spinner instead.

Aura’s JavaScript API Reference Documentation Moved to the Developer Guide


We retired the legacy Aura reference doc app, which housed the JavaScript API documentation. Find this information in the Reference
section of the Lightning Aura Components Developer Guide instead. All the other information from the Aura reference doc app is already
available in the Component Library, your hub for Lightning components documentation.
Where: This change applies to Aura components in Lightning Experience, Salesforce Classic, and all versions of the Salesforce app.

SEE ALSO:
Lightning Aura Components Developer Guide: Reference

Manage Resource Loading for CSP Trusted Sites


Control which resources a Lightning component can load from a Content Security Policy (CSP) Trusted Site. For example, you can allow
the Lightning component to load images, style sheets, and fonts, but not audio or video from the site.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the mobile app in all editions.
How: From Setup, enter CSP Trusted Sites in the Quick Find box, then select CSP Trusted Sites. Click Edit for the Trusted Site
you want to modify, then select the directives for which to whitelist the site.

489
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs

SEE ALSO:
Lightning Aura Components Developer Guide: Create CSP Trusted Sites to Access Third-Party APIs

Use Components in Lightning Communities with Lightning Locker Disabled


To enable components installed from a managed package to run in a community that has Lightning Locker disabled, in the component’s
configuration file, use the lightningCommunity__RelaxedCSP tag.
Where: This change applies to Lightning web components installed from a managed package that run in Lightning communities.
Why: When Lightning Locker is disabled in a community, only components with the lightningCommunity__RelaxedCSP
capability are rendered at runtime and available in design time.
How: Add lightningCommunity__RelaxedCSP in the new <capabilities> tag of your Lightning web component’s
configuration file.
<capabilities>
<capability>lightningCommunity__RelaxedCSP</capability>
</capabilities>

SEE ALSO:
Switch Lightning Locker On and Off in the UI
Lightning Communities Developer Guide: Lightning Locker in Communities
Lightning Web Components Developer Guide: Configuration File Tags

Navigate Users to a Record’s Create Page with Default Field Values


Use the new lightning/pageReferenceUtils module or lightning:pageReferenceUtils Aura component to
build navigation links in your components that prepopulate a record’s create page with default field values. Prepopulated values can
accelerate data entry, improve data consistency, and otherwise make the process of creating a record easier.
Where: This change applies to Lightning Experience in all editions. This change doesn’t apply to Lightning Out, Lightning communities,
or the Salesforce mobile app.
How: This component provides utilities for encoding and decoding default field values. Pass this string into the new
[Link] attribute on standard__objectPage page reference types. Using

490
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
this component alongside the existing lightning:navigation component, you can launch a record’s create page with
prepopulated field values.
We recommend using lightning/pageReferenceUtils and lightning/navigation to navigate to a record’s create
page instead of force:createRecord.

SEE ALSO:
Navigate to a Record’s Create Page with Default Field Values

Lightning Locker Sanitizes insertHTML Content


Lightning Locker now sanitizes HTML that’s inserted using [Link](insertHTML) to remove potentially
malicious executable script content.
Where: This change applies to Lightning Experience, Lightning Communities, and all versions of the mobile app in all editions.

Communicate Across Salesforce UI Technologies with Lightning Message Service


(Beta)
Use the Lightning Message Service API to communicate across the DOM, between Aura components, Visualforce pages, and Lightning
web components. Lightning Message Service also enables communication between a component in a main Lightning page with one
in a pop-out utility bar. If you’re switching from Salesforce Classic to Lightning Experience, you can now build Lightning web components
that can communicate with existing Visualforce pages or Aura components.
A Lightning web component uses a Lightning Message Channel to access the Lightning Message Service API. Reference Lightning
Message Channel with the scoped module @salesforce/messageChannel. In Visualforce, use the global variable
$MessageChannel. In Aura, use lightning:messageChannel in your component.
Where: This feature is available in Lightning Experience. To create a Lightning message channel, use Enterprise, Performance, Unlimited,
and Developer editions.

Note: As a beta feature, Lightning Message Service is a preview and isn’t part of the “Services” under your master subscription
agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally
available products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame
or at all, and we can discontinue it at any time. Lightning Message Service is for evaluation purposes only, not for production use.
It’s offered as is and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it.
All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications
and Content apply equally to your use of this feature. You can provide feedback and suggestions for Lightning Message Service
in the Lightning Platform group in the Trailblazer Community.
Why: In Lightning Experience, you often have multiple components on a page. Previously, if you wanted a Visualforce page to communicate
with a Lightning web component in Lightning Experience, you needed to implement a custom publish-subscribe solution. Now, you
can use the Lightning Message Service API to handle that communication.
How: Assuming you created a message channel called SampleMessageChannel__c using the Metadata API, here's how to
subscribe a Visualforce page to a message channel on which a Lightning web component publishes.
Create a Lightning web component called publisherComponent that publishes on SampleMessageChannel__c, which
is the API name of the message channel. The component imports methods to publish on a message channel from the
lightning/messageService module. This module accesses the Lightning Message Service API. Next, import the message
channel from @salesforce/messageChannel/SampleMessageChannel__c and assign it to the identifier SAMPLEMC.

491
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
The handleClick() method holds the data to be published on the message channel. Here, the data is a recordId with the
value "some string" and recordData, whose value is the key-value pair value: "some data". Publish the data by calling the publish()
method imported from the lightning/messageService module.
// [Link]
import { LightningElement, wire } from 'lwc';
import { publish, MessageContext } from 'lightning/messageService';
import SAMPLEMC from "@salesforce/messageChannel/SampleMessageChannel__c";

export default class PublisherComponent extends LightningElement {


@wire(MessageContext)
messageContext;

handleClick() {
const message = {
recordId: "some string",
recordData: {
value: "some data"
}
};
publish([Link], SAMPLEMC, message);
}
}

In your component’s HTML template file, include a Publish button that calls the handleClick() method. Clicking the button
publishes the record data to SampleMessageChannel__c. The subscribing Visualforce page then receives that data.
<-- [Link] -->
<template>
<lightning-card title="MyLwcPublisher" icon-name="custom:custom14">
<div class="slds-m-around_medium">
<p>MessageChannel: SampleMessageChannel</p>
<br>
<lightning-button label="Publish" onclick={handleClick}></lightning-button>
</div>
</lightning-card>
</template>

Here’s how to subscribe and unsubscribe a Visualforce page from a message channel SampleMessageChannel__c on which a
Lightning web component publishes.
<apex:page>
<div>
<p>Subscribe to SampleMessageChannel</p>
<button onclick="subscribeMC()">Subscribe</button>
<p>Unsubscribe from SampleMessageChannel</p>
<button onclick="unsubscribeMC()">Unsubscribe</button>
<br/>
<br/>
<p>Received message:</p>
<textarea id="MCMessageTextArea" rows="10"
style="disabled:true;resize:none;width:100%;"/>
</div>
<script>
// Load the MessageChannel token in a variable

492
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
var SAMPLEMC = "{!$MessageChannel.SampleMessageChannel__c}";
var subscriptionToMC;
// Display message in the textarea field
function onMCPublished(message) {
var textArea = [Link]("#MCMessageTextArea");
[Link] = message ? [Link](message, null, '\t') : 'no message
payload';
}

function subscribeMC() {
if (!subscriptionToMC) {
subscriptionToMC = [Link](SAMPLEMC, onMCPublished, {scope:
"APPLICATION"});
}
}

function unsubscribeMC() {
if (subscriptionToMC) {
[Link](subscriptionToMC);
subscriptionToMC = null;
}
}
</script>

</apex:page>

Important: If you worked with Lightning Message Service in developer preview, note the following breaking change in the beta
release. The Lightning Message Service API’s subscribe() method now includes a scope parameter. By setting the scope
to application, the subscribing component can receive messages on a message channel from anywhere in the application.
Application is the only available value. Here are the updated method signatures for subscribe().
Visualforce
subscribe(channelName, listenerMethod, {scope: "APPLICATION"})
Aura
<lightning:messageChannel onMessage="{![Link]}" scope="APPLICATION"/>
Lightning Web Components
subscribe(messageContext, channelName, listenerMethod, {scope: APPLICATION_SCOPE})
See the developer guides for more information.

SEE ALSO:
Lightning Web Components Developer Guide (can be outdated or unavailable during release preview)
Lightning Aura Components Developer Guide (can be outdated or unavailable during release preview)
Visualforce Developer Guide (can be outdated or unavailable during release preview)
Salesforce Help: Using Pop-Out Utilities

493
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
Increase Productivity with Local Development for Lightning Web Components (Beta)
Lightning Web Components now offers Local Development so that you can build component modules and view your changes live
without publishing your components to an org. Our new Salesforce CLI plugin lwc-dev-server configures and runs a Lightning
Web Components-enabled server on your computer. You can access the local development server from the command line and the
Lightning Web Components Extension for VS Code.
Where: This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise, Performance, Unlimited, and
Developer editions.

Note: Local Development is in beta and has been released early so we can collect your feedback. It may contain significant
problems, undergo major changes, or be discontinued. If you encounter any problems, or want to request an enhancement, open
a GitHub issue. The use of this feature is governed by the [Link] Program Agreement.
How: To install the local development server, make sure that you have the Salesforce CLI installed, a Developer Hub-enabled org, and
the most recent stable version of Chrome, Firefox, Safari, or Edge web browser.

Install the Local Development Server


1. Open a new terminal window and run the following command to install the local development server.
sfdx plugins:install @salesforce/lwc-dev-server

2. Check for updates to the local development server.


sfdx plugins:update

3. Navigate to your SFDX project, or clone one that has Lightning web components. In this example, we use lwc-recipes.
git clone git@[Link]:trailheadapps/[Link]

4. If you're not in the lwc-recipes root directory already, cd into it.


cd lwc-recipes

5. Add the .localdevserver folder in your SFDX project to your .gitignore file. This folder contains the local development
configuration. Don't modify files inside this folder.
6. Authorize a Developer Hub (Dev Hub) by following the steps in Enable Dev Hub In Your Org in the Salesforce DX Developer Guide. A
Dev Hub is the main Salesforce org that you and your team use to create and manage your scratch orgs, which are temporary
environments for developing on the Salesforce platform. You need a Dev Hub to create a scratch org in a later step.
7. Following the instructions in the Salesforce DX Developer Guide, log in using your Dev Hub credentials. Running the following command
opens a login window in your browser.

sfdx force:auth:web:login -d -a myhuborg

8. In local development, requests to Lightning Data Service and Apex go to scratch orgs, similar to how they go to your production
org. To create a scratch org, run this command from the command line.
sfdx force:org:create -s -f config/[Link] -a "LWC"

"LWC" is an alias for the scratch org that you can use in other Salesforce CLI commands.

Note: Don’t connect to a production Salesforce org with the local development server. Local development uses data in real
time. If you authenticate to a production org, then you will modify or overwrite data in production.

494
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
To create a scratch org, specify a scratch org definition file. This example uses the scratch org definition file,
[Link] that is included in lwc-recipes. For other projects, create your own. For more information,
see the instructions for Create Scratch Orgs in the Salesforce DX Developer Guide.

9. Push your code to your scratch org.


sfdx force:source:push

10. Start the server.


sfdx force:lightning:lwc:start

11. View the server at [Link]


For more information on local development commands, view the local development documentation by running sfdx
force:lightning:lwc:commandName --help.

Access the Local Development Server from VS Code


You can access the local development server's SFDX commands from VS Code's command palette by pressing command + shift + p.
By typing in "local development," all three commands are visible.

To preview Lightning web components, right-click any line of code in the component's HTML, CSS, or JavaScript files. You can also
right-click any of the HTML, CSS, or JavaScript filenames or the component folder.
Preview c-hello from the HTML code.

495
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs

Preview c-hello from the HTML file.

Here's a preview of the component on the local development server.

SEE ALSO:
Salesforce Extensions for Visual Studio Code: Local Development (Beta)
Lightning Web Components Developer Guide: Develop Locally
Salesforce DX Setup Guide: Install the Salesforce CLI

496
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
DOM API Changes May Require UI Test Updates
The content and structure of HTML, CSS, and the DOM in Lightning Experience can change at any time and can’t be considered a stable
API. Automated UI tests that use tools like Selenium WebDriver to reach into component internals require your ongoing maintenance.
We’re here to help you adapt your automated UI tests for this release.
Why: We’re calling out the fragility of these tests due to changes as Lightning Experience continues to evolve with modern web standards.
We understand the value that you gain from automated UI testing, and the maintenance burden these changes put on you. Salesforce
has never guaranteed backward-compatible HTML, CSS, or DOM.
How: If your UI tests from the previous release have issues, see this knowledge article, which includes steps and a custom tool to help
you fix them.

Update Attribute Values for Snapshots Created by Jest Tests


When you create snapshots with Jest for testing Lightning web components, Lightning Web Components inserts placeholder values
for some element attributes. This replacement may result in test failures because the attribute values change. Solve this problem with
the --updateSnapshot command option.
Why: We’re making it easier to avoid test failures when snapshot testing your UI with Jest. The rendered values of a UI element’s attributes
can change depending on the ordering of tests or component refactoring by other components or by Lightning Web Components. This
refactoring includes changes to attributes such as id, for, href, the set of ARIA attributes that reference id values, and more.
How: Lightning Web Components replaces these values with stable placeholders. For example, an attribute id value, which formerly
appeared as a transformed value, now appears as a placeholder such as id="[shadow:guid]". Jest can automatically update
snapshots to replace the placeholders if you pass the --updateSnapshot or -u option to the test command, so you don’t have
to keep editing the values.
jest --updateSnapshot -t="ColorPicker"

For more information, see Jest CLI Options.

Freeze JavaScript Prototypes Session Setting Removed


The Freeze JavaScript Prototypes setting is removed from Session Settings. This experimental setting was introduced in Winter ’19 and
was disabled by default. When enabled by some customers, this setting caused issues in production orgs. We’re exploring other ways
to prevent modification of global JavaScript prototypes.
Where: This change applies to orgs with Lightning components in Lightning Experience, Salesforce Classic, and all versions of the mobile
app.

Install Linting in Salesforce DX Projects with Ease


A Salesforce DX project’s [Link] file now includes the ESLint dependencies for Lightning Web Components. To install linting,
run npm install in your project.
Where: This change applies to Lightning Experience and all versions of the Salesforce app in Enterprise, Performance, Unlimited, and
Developer editions.
How:

Install Linting in a New Project


1. Create a Salesforce DX project using the sfdx force:project:create command or using the SFDX: Create Project
Visual Studio Code command.

497
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
The project contains a [Link] file with eslint-config-lwc and eslint included in devDependencies.
The eslint-config-lwc includes a dependency on eslint-plugin-lwc in its own [Link] file. When you
install eslint-config-lwc, eslint-plugin-lwc installs as well.

2. To install the linting packages and all the dependencies in [Link], run npm install on your project directory.

Install Linting in an Existing Project


1. Verify that your project has a [Link] file with these configurations. If it doesn’t, run npm install eslint
@salesforce/eslint-config-lwc --save-dev in your project directory.

"scripts": {
"lint": "npm run lint:lwc",
"lint:lwc": "eslint force-app/main/default/lwc"
}

"devDependencies" {
"@salesforce/eslint-config-lwc": "0.4.0",
"eslint": "^5.16.0"
}

2. If your project doesn't have a [Link] file, copy this [Link] template, and add it to your project directory. Run npm
install.
3. Verify that your project has this .eslintignore file. This file specifies which files not to lint. If your project doesn't have it, add it to your
project directory.
4. Verify that your project has this .[Link] file. This file specifies your linting configuration level. If your project doesn't have it, add
it to your /force-app/main/default/lwc directory.

SEE ALSO:
Salesforce Extensions for Visual Studio Code: Linting
Lightning Web Components Developer Guide: Set Up Editor, Linter, Org

Critical Updates: Profile-Based Access for @AuraEnabled Apex Classes, and More
We have several critical updates.

IN THIS SECTION:
API Only Users Can Access Only Salesforce APIs (Critical Update, Enforced)
API Only Users Can Access Only Salesforce APIs was a critical update in Spring ’19 and is enforced in Spring ’20. If a user has the API
Only User permission, they can access Salesforce only via APIs, regardless of their other permissions. This restriction already applies
to other Salesforce features, but this critical update enforces the restriction in Lightning Out.
Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile (Critical Update, Postponed)
This critical update is postponed to Winter ’21. It was scheduled for auto-activation in Spring ’20. This critical update gives you more
control over which guest, portal, or community users can access Apex classes containing @AuraEnabled methods. Add guest
user profile access to any @AuraEnabled Apex class used by a community or portal. When this critical update is activated, a
guest, portal, or community user can access an @AuraEnabled Apex method only when the user’s profile or an assigned
permission set allows access to the Apex class.

498
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
Use with sharing for @AuraEnabled Apex Controllers with Implicit Sharing (Critical Update, Postponed)
This critical update is postponed to Spring ’21. It was scheduled for auto-activation in Spring ’20. This critical update changes the
behavior of @AuraEnabled Apex controllers that don’t specify with sharing or without sharing to default to
with sharing. This critical update applies only to orgs created after Spring ’18 or orgs that activated the retired “Use without
sharing for @AuraEnabled Apex Controllers with Implicit Sharing” critical update that had the opposite effect and set the
default to without sharing. Orgs created before Spring ’18 already default to with sharing. Those orgs don't see the
critical update unless they enabled the now retired without sharing critical update.
Disable Access to Non-global Apex Controller Methods in Managed Packages (Critical Update, Postponed)
This critical update is postponed to Summer ’21. Released in Summer ’17, it was scheduled for auto-activation in Winter ’20. The
critical update corrects access controls on Apex controller methods in managed packages. When this update is enabled, only methods
marked with the global access modifier are accessible by Aura components from outside the package namespace. These access
controls prevent you from using unsupported API methods that the package author didn’t intend for global access.
Enable Dependency Access Checks In Lightning Components (Critical Update, Postponed)
This critical update is postponed to Winter ’21. It was scheduled for auto-activation in Summer ’20. This critical update improves
Lightning component access checks by checking the access level of all component dependencies. A dependency is any resource
used within a top-level component. For example, a component can use or extend another component in its markup or implement
an interface.
Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile (Critical Update, Postponed)
This critical update is postponed to Winter ’21. It was scheduled for auto-activation in Summer ’20. This critical update gives you
more control over which authenticated users can access Apex classes containing @AuraEnabled methods. When this critical
update is activated, an authenticated user can access an @AuraEnabled Apex method only when the user’s profile or an assigned
permission set allows access to the Apex class.
Enforce Access Modifiers on Apex Properties in Lightning Component Markup (Critical Update, Postponed)
This critical update is postponed to Summer ’21. It was scheduled for auto-activation in Summer ’20. This critical update makes
Lightning components consistent with the use of Apex properties in other contexts. For example, a markup expression can no longer
access an Apex property with a private Apex getter. This critical update was first made available in Winter ’20.
Prevent Creation of Function Expressions in Dynamically Created Aura Components (Previously Released Critical Update)
To improve security and stability, this critical update prevents attribute values passed to $[Link]() or
$[Link]() from being interpreted as Aura function expressions. This critical update was first made available
in Summer ’19.

API Only Users Can Access Only Salesforce APIs (Critical Update, Enforced)
API Only Users Can Access Only Salesforce APIs was a critical update in Spring ’19 and is enforced in Spring ’20. If a user has the API Only
User permission, they can access Salesforce only via APIs, regardless of their other permissions. This restriction already applies to other
Salesforce features, but this critical update enforces the restriction in Lightning Out.
Where: This change applies only to Lightning Out.
When: This critical update will be automatically activated when your sandbox or production org is upgraded to Spring ’20. Since
auto-activation doesn't happen on one specific date for all orgs, you can ignore the Auto-Activation Date listed on the Critical Updates
page in Setup.
Who: This change affects users with the API Only User permission.

SEE ALSO:
Critical Updates and Security Alerts
Lightning Aura Components Developer Guide: Add Aura Components to Any App with Lightning Out (Beta)

499
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile
(Critical Update, Postponed)
This critical update is postponed to Winter ’21. It was scheduled for auto-activation in Spring ’20. This critical update gives you more
control over which guest, portal, or community users can access Apex classes containing @AuraEnabled methods. Add guest user
profile access to any @AuraEnabled Apex class used by a community or portal. When this critical update is activated, a guest, portal,
or community user can access an @AuraEnabled Apex method only when the user’s profile or an assigned permission set allows
access to the Apex class.
Where: This change applies to Aura components, Lightning web components, and flows in Lightning communities, portals, and Salesforce
Sites.
When: This critical update is enforced when a sandbox or production org is upgraded to Winter ’21. Enforcement starts on August 9,
2020 and takes effect when your instance is upgraded to Winter ’21. To find the exact activation date for your instance, refer to
[Link]
Why: When this critical update is activated, a guest, portal, or community user can access an @AuraEnabled Apex method only
when the user’s profile or a permission set allows access to the Apex class. This critical update enforces user profile and permission set
restrictions for Apex classes used by Aura and Lightning web components.

Note: To enable access to a public Apex controller that’s part of a managed package, a subscriber org must use a permission
set. You can’t enable access to a public Apex controller from a managed package using a user profile.
How: To test this critical update, we recommend working in a sandbox to complete testing before the initial enforcement date of August
9, 2020, which is the Auto-Activation Date in the UI. After August 9, you can no longer activate or deactivate the critical update and you
can test behavior only in a sandbox that’s already been upgraded to Winter ’21. If you don’t activate the critical update before May 7, it
will be automatically activated when your instance is upgraded to Winter ’21.
1. From Setup, enter Critical Updates in the Quick Find box.
2. Select Critical Updates.
3. Review the details for the “Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile”
critical update.
4. Click Activate.
5. Test that custom Aura components, Lightning web components, and flows that you’ve developed are working correctly for guest,
portal, and community users.

SEE ALSO:
Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile (Critical Update, Postponed)
Apex Developer Guide: Class Security
Salesforce Help: Configure the Guest User Profile
Critical Updates and Security Alerts

500
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
Use with sharing for @AuraEnabled Apex Controllers with Implicit Sharing (Critical Update,
Postponed)
This critical update is postponed to Spring ’21. It was scheduled for auto-activation in Spring ’20. This critical update changes the behavior
of @AuraEnabled Apex controllers that don’t specify with sharing or without sharing to default to with sharing.
This critical update applies only to orgs created after Spring ’18 or orgs that activated the retired “Use without sharing for
@AuraEnabled Apex Controllers with Implicit Sharing” critical update that had the opposite effect and set the default to without
sharing. Orgs created before Spring ’18 already default to with sharing. Those orgs don't see the critical update unless they
enabled the now retired without sharing critical update.
Where: This change applies to Aura and Lightning web components in Lightning Experience, Salesforce Classic, Lightning communities,
and all versions of the Salesforce app.
When: This critical update is enforced when a sandbox or production org is upgraded to Spring ’21. Enforcement starts on November
29, 2020 and takes effect when your instance is upgraded to Spring ’21. To find the exact activation date for your instance, refer to
[Link]
Why: An @AuraEnabled Apex class that doesn’t explicitly set with sharing or without sharing uses a default or implicit
value of with sharing. The purpose of the retired “Use without sharing for @AuraEnabled Apex Controllers with
Implicit Sharing” critical update was to make Apex controllers for Aura components default to without sharing. This behavior
made Apex controllers consistent in Aura components and Visualforce pages.
After further consideration, we decided to ensure that Lightning components are secure by default. So we created this new critical
update that defaults to with sharing for @AuraEnabled Apex classes used by Aura components or Lightning web components.
Apex classes generally run in system mode. Consequently, the current user’s credentials aren’t used to execute Apex logic, and the user’s
permissions and field-level security aren’t automatically applied.
You can choose whether an Apex class enforces sharing rules by using the with sharing or without sharing keywords.
Enforcing sharing rules by using the with sharing keyword doesn’t enforce the user’s permissions and field-level security. You
must manually enforce CRUD permissions and field-level security separately in your Apex classes.
How: The best way to prepare for this critical update is to ensure that all your @AuraEnabled Apex code explicitly controls sharing
behavior using the with sharing or without sharing keywords. If all your @AuraEnabled code explicitly sets sharing
behavior, this critical update has no effect.
To test this critical update, we recommend working in a sandbox to complete testing before the initial enforcement date of November
29, 2020, which is the Auto-Activation Date in the UI. After November 29, you can no longer activate or deactivate the critical update
and you can test behavior only in a sandbox that's already been upgraded to Spring ’21. If you don't activate the critical update before
November 29, it will be automatically activated when your instance is upgraded to Spring ’21.
1. From Setup, enter Critical Updates in the Quick Find box.
2. Select Critical Updates.
3. Review the details for the “Use with sharing for @AuraEnabled Apex Controllers with Implicit Sharing” critical update.
4. Click Activate.
5. Test the behavior of components that use Apex classes that don’t include the with sharing or without sharing
keywords.

SEE ALSO:
Apex Developer Guide: Enforcing Sharing Rules
Winter '20 Release Notes: Use without sharing for @AuraEnabled Apex Controllers with Implicit Sharing (Critical Update, Retired)

501
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
Disable Access to Non-global Apex Controller Methods in Managed Packages (Critical Update,
Postponed)
This critical update is postponed to Summer ’21. Released in Summer ’17, it was scheduled for auto-activation in Winter ’20. The critical
update corrects access controls on Apex controller methods in managed packages. When this update is enabled, only methods marked
with the global access modifier are accessible by Aura components from outside the package namespace. These access controls
prevent you from using unsupported API methods that the package author didn’t intend for global access.
Where: This change applies to orgs with Aura components in Lightning Experience, Salesforce Classic, and all versions of the Salesforce
app.
When: This critical update is enforced when a sandbox or production org is upgraded to Summer ’21. Enforcement starts on April 4,
2021 and takes effect when your instance is upgraded to Summer ’21. To find the exact activation date for your instance, refer to
[Link]
Why: When added to a managed package, only Apex controller methods marked global are accessible by Aura components outside
of that managed package’s namespace. Methods marked public in their Apex definitions are accessible only to Aura components
included in the package’s namespace. When this critical update is enabled, these rules are enforced.
Prior to this update, Aura components outside of the package namespace could access non-global methods (Apex controller methods
not marked with the global access modifier).
When this update is enabled, if your code incorrectly depends on non-global Apex methods in a managed package, server actions
that call those methods fail. Update your code to use only the supported API methods provided by the package as global methods.

Note: An Aura component outside the package can access a public Apex method installed from a non-namespaced unlocked
package. The Aura component can be installed from another package or created in the org. For accessing Apex methods, a
non-namespaced unlocked package is treated the same as an unmanaged package.
How: To test this critical update, we recommend working in a sandbox to complete testing before the initial enforcement date of April
4, 2021, which is the Auto-Activation Date in the UI. After April 4, you can no longer activate or deactivate the critical update and you
can test behavior only in a sandbox that's already been upgraded to Summer ’21. If you don't activate the critical update before April 4,
it will be automatically activated when your instance is upgraded to Summer ’21.
1. From Setup, enter Critical Updates in the Quick Find box.
2. Select Critical Updates.
3. Review the details for the “Disable Access to Non-global Controller Methods in Managed Packages” critical update.
4. Click Activate.
5. Test that your custom Aura components are working correctly.

SEE ALSO:
Critical Updates and Security Alerts

Enable Dependency Access Checks In Lightning Components (Critical Update, Postponed)


This critical update is postponed to Winter ’21. It was scheduled for auto-activation in Summer ’20. This critical update improves Lightning
component access checks by checking the access level of all component dependencies. A dependency is any resource used within a
top-level component. For example, a component can use or extend another component in its markup or implement an interface.
Where: This change applies to Aura components and Lightning web components in Lightning Experience, Salesforce Classic, Lightning
communities, and all versions of the Salesforce app.

502
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
When: This critical update is enforced when a sandbox or production org is upgraded to Winter ’21. Enforcement starts on August 9,
2020 and takes effect when your instance is upgraded to Winter ’21. To find the exact activation date for your instance, refer to
[Link]
Why: Aura enables you to control access to your applications, attributes, components, events, interfaces, and methods via the access
system attribute. The access system attribute indicates whether the resource can be used outside of its own namespace. An Aura or
Lightning web component can also require a permission to access the component.
When the critical update is activated, the framework checks the access allowed for the top-level component and each component
dependency, including any permissions needed to access each component. When the critical update isn't activated, the framework
checks access for the top-level component only.
How: To test this critical update, we recommend working in a sandbox to complete testing before the initial enforcement date of August
9, 2020, which is the Auto-Activation Date in the UI. After August 9, you can no longer activate or deactivate the critical update and you
can test behavior only in a sandbox that's already been upgraded to Winter ’21. If you don't activate the critical update before August
9, it will be automatically activated when your instance is upgraded to Winter ’21.
1. From Setup, enter Critical Updates in the Quick Find box.
2. Select Critical Updates.
3. Review the details for the “Enable Dependency Access Checks in Lightning Components” critical update.
4. Click Activate.
5. If you have installed any packages that contain a Lightning component, upgrade to the latest version.
6. Test that your custom Lightning components are working correctly.

SEE ALSO:
Lightning Aura Components Developer Guide: Controlling Access

Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile
(Critical Update, Postponed)
This critical update is postponed to Winter ’21. It was scheduled for auto-activation in Summer ’20. This critical update gives you more
control over which authenticated users can access Apex classes containing @AuraEnabled methods. When this critical update is
activated, an authenticated user can access an @AuraEnabled Apex method only when the user’s profile or an assigned permission
set allows access to the Apex class.
Where: This change applies to Aura components, Lightning web components, and flows in Lightning Experience, Salesforce Classic,
Lightning communities, and all versions of the Salesforce app.
When: This critical update is enforced when a sandbox or production org is upgraded to Winter ’21. Enforcement starts on August 9,
2020 and takes effect when your instance is upgraded to Winter ’21. To find the exact activation date for your instance, refer to
[Link]
Why: This critical update enforces user profile and permission set restrictions for Apex classes used by Aura and Lightning web components.

Note: To enable access to a public Apex controller that’s part of a managed package, a subscriber org must use a permission
set. You can’t enable access to a public Apex controller from a managed package using a user profile.
How: To test this critical update, we recommend working in a sandbox to complete testing before the initial enforcement date of August
9, 2020, which is the Auto-Activation Date in the UI. After August 9, you can no longer activate or deactivate the critical update and you
can test behavior only in a sandbox that’s already been upgraded to Winter ’21. If you don’t activate the critical update before August
9, it will be automatically activated when your instance is upgraded to Winter ’21.
1. From Setup, enter Critical Updates in the Quick Find box.

503
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
2. Select Critical Updates.
3. Review the details for the “Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile” critical
update.
4. Click Activate.
5. Test that custom Aura components, Lightning web components, and flows that you’ve developed are working correctly for
authenticated users.

SEE ALSO:
Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile (Critical Update, Postponed)
Apex Developer Guide: Class Security
Critical Updates and Security Alerts

Enforce Access Modifiers on Apex Properties in Lightning Component Markup (Critical Update,
Postponed)
This critical update is postponed to Summer ’21. It was scheduled for auto-activation in Summer ’20. This critical update makes Lightning
components consistent with the use of Apex properties in other contexts. For example, a markup expression can no longer access an
Apex property with a private Apex getter. This critical update was first made available in Winter ’20.
Where: This change applies to Aura and Lightning web components in Lightning Experience, Salesforce Classic, Lightning communities,
and all versions of the Salesforce app.
When: This critical update is enforced when a sandbox or production org is upgraded to Summer ’21. Enforcement starts on April 4,
2021 and takes effect when your instance is upgraded to Summer ’21. To find the exact activation date for your instance, refer to
[Link]
Why: Let’s look at an example for an Apex class with a private getter for a counter class property.
public class EnforcePrivateGetter {
@AuraEnabled

public Integer counter { private get; set; }

@AuraEnabled
public static EnforcePrivateGetter GetRepro2()
{
EnforcePrivateGetter result = new EnforcePrivateGetter();
[Link] = 2;
return result;
}
}

With the critical update enabled, this Aura component can’t access the private getter with the {![Link]}
expression. The same restriction applies for a Lightning web component.
<aura:component controller="EnforcePrivateGetter" access="global">
<aura:handler name="init" value="{!this}" action="{![Link]}"/>

<aura:attribute type="EnforcePrivateGetter" name="apexObject" />

counter = {![Link]} <br></br>


</aura:component>

504
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
Here’s the JavaScript controller.
({
doInit : function(cmp, ev) {
var action = [Link]("c.GetRepro2");

[Link](this, function(response) {
var state = [Link]();
if (state === "SUCCESS") {
[Link]('[Link]', [Link]());
}
else if (state === "ERROR") {
[Link]('Error : ' + [Link](errors));
}
});
$[Link](action);
}
})

With the critical update enabled, the fix is to remove the private access modifier on the getter and change the class variable definition
to:
public Integer counter { get; set; }

To make an Apex property readable outside the Apex class, the property can’t have a private or protected access modifier.
How: To test this critical update, we recommend working in a sandbox to complete testing before the initial enforcement date of April
4, 2021, which is the Auto-Activation Date in the UI. After April 4, you can no longer activate or deactivate the critical update and you
can test behavior only in a sandbox that's already been upgraded to Summer ’21. If you don't activate the critical update before April 4,
it will be automatically activated when your instance is upgraded to Summer ’21.
1. From Setup, enter Critical Updates in the Quick Find box.
2. Select Critical Updates.
3. Review the details for the “Enforce Access Modifiers on Apex Properties in Lightning Component Markup” critical update.
4. Click Activate.
5. Test the behavior of components that use Apex classes with private or protected access modifiers on getters.

SEE ALSO:
Critical Updates and Security Alerts

Prevent Creation of Function Expressions in Dynamically Created Aura Components (Previously


Released Critical Update)
To improve security and stability, this critical update prevents attribute values passed to $[Link]() or
$[Link]() from being interpreted as Aura function expressions. This critical update was first made available in
Summer ’19.
Where: This change applies to orgs with Lightning components in Lightning Experience, Salesforce Classic, and all versions of the
Salesforce app.
When: Salesforce will automatically activate this critical update on the auto-activation date listed on the Critical Updates page in Setup.

505
Salesforce Spring ’20 Release Notes Lightning Components: Simplified Reactivity, Style Lightning
Web Components with Custom Aura Design Tokens, Source
Tracking for Lightning Web Components in Scratch Orgs
Why: When the critical update is activated, using the key-value pair {"exprType": "FUNCTION"} in an object passed as an
attribute value to $[Link]() or $[Link]() throws an error instead of triggering unpredictable
behavior.
How: To test this critical update, we recommend working in a sandbox.
1. From Setup, enter Critical Updates in the Quick Find box.
2. Select Critical Updates.
3. Review the details for the “Prevent Creation of Function Expressions When Using $[Link]() or
$[Link]() in Aura Components” critical update.
4. Click Activate.
5. Test that custom Aura components that you’ve developed are working correctly.

SEE ALSO:
Lightning Aura Components Developer Guide: Dynamically Creating Components
Critical Updates and Security Alerts

Security Alerts: Restricted Access to @AuraEnabled Apex Methods Based on User


Profile
We added a few security alerts.

IN THIS SECTION:
Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile (Security Alert)
This security alert is related to a critical update that gives you more control over which guest, portal, and community users can access
Apex classes with @AuraEnabled methods in Aura and Lightning web components.
Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile (Security Alert)
This security alert is related to a critical update that gives you more control over which authenticated users can access Apex classes
with @AuraEnabled methods in Aura and Lightning web components.

Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile
(Security Alert)
This security alert is related to a critical update that gives you more control over which guest, portal, and community users can access
Apex classes with @AuraEnabled methods in Aura and Lightning web components.
Where: This change applies to Aura and Lightning web components in Lightning communities, portals, and Salesforce Sites.
Why: When the associated critical update is activated, a guest, portal, or community user can access an @AuraEnabled Apex method
only when the user’s profile allows access to the Apex class. The critical update enforces user profile restrictions for Apex classes used
by Aura and Lightning web components.

506
Salesforce Spring ’20 Release Notes Einstein Platform Services: Image Recognition and Natural
Language Processing

How: To view the security alert and see recommendations for your org, enter Security Alerts in the Quick Find box in Setup
and select Security Alerts.

SEE ALSO:
Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile (Critical Update, Postponed)
Critical Updates and Security Alerts

Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile
(Security Alert)
This security alert is related to a critical update that gives you more control over which authenticated users can access Apex classes with
@AuraEnabled methods in Aura and Lightning web components.
Where: This change applies to Aura and Lightning web components in Lightning Experience, Salesforce Classic, Lightning communities,
and all versions of the Salesforce app.
Why: When the associated critical update is activated, an authenticated user can access an @AuraEnabled Apex method only when
the user’s profile allows access to the Apex class. This critical update enforces user profile restrictions for Apex classes used by Aura and
Lightning web components.
How: To view the security alert and see recommendations for your org, enter Security Alerts in the Quick Find box in Setup
and select Security Alerts.

SEE ALSO:
Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile (Critical Update, Postponed)
Critical Updates and Security Alerts

Einstein Platform Services: Image Recognition and Natural Language


Processing
Not a data scientist or machine-learning expert, but still want to integrate AI into your apps? Use the Einstein Platform Services APIs to
AI-enable your apps with image recognition and natural language processing. Using the Einstein Vision APIs, you can leverage pre-trained
classifiers or train custom classifiers to solve an array of image recognition use cases. With the Einstein Language APIs, you can harness
the power of natural language processing to analyze text and infer the sentiment or intent behind the text. Make your apps smarter and
look like a genius at the same time.

IN THIS SECTION:
Einstein Vision: More Detailed Error Messages
Calls to the Einstein Object Detection training APIs now return more descriptive error messages.
Einstein Language: New Model Metrics
Calls to the Einstein Language APIs that return model metrics information now contain the macroF1 field, the precision
array, and the recall array.

Einstein Vision: More Detailed Error Messages


Calls to the Einstein Object Detection training APIs now return more descriptive error messages.

507
Salesforce Spring ’20 Release Notes Einstein Platform Services: Image Recognition and Natural
Language Processing

IN THIS SECTION:
Get More Detailed Error Messages for Einstein Object Detection Training API Calls
When you train an object detection dataset and the training process encounters an error, the API now returns more descriptive error
messages. In most cases, the error message specifies the issue that caused the error and how to fix it.

SEE ALSO:
Einstein Platform Services Developer Guide: Introduction to Salesforce Einstein Vision
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

Get More Detailed Error Messages for Einstein Object Detection Training API Calls
When you train an object detection dataset and the training process encounters an error, the API now returns more descriptive error
messages. In most cases, the error message specifies the issue that caused the error and how to fix it.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in Group, Professional,
Enterprise, Performance, Unlimited, Developer, and Contact Manager editions.
How: The improved errors are returned for these API endpoints when the dataset type is image-detection.
• Train a dataset—POST /v2/vision/train
• Retrain a dataset—POST /v2/vision/retrain

SEE ALSO:
Einstein Platform Services Developer Guide: Train a Dataset
Einstein Platform Services Developer Guide: Retrain a Dataset

Einstein Language: New Model Metrics


Calls to the Einstein Language APIs that return model metrics information now contain the macroF1 field, the precision array,
and the recall array.

IN THIS SECTION:
Better Understand Your Model with New Elements in Language API Model Metrics Response
New elements returned in the model metrics let you better understand your model’s performance. The response JSON for an Einstein
Language API call that returns model metrics information contains three new elements: the macroF1 field, the precision
array, and the recall array.

SEE ALSO:
Einstein Platform Services Developer Guide: Introduction to Salesforce Einstein Language
Salesforce Einstein: Talk to Salesforce with Einstein Voice Assistant (Beta), Resolve Cases Faster with Article Recommendations, and
Predict the Future Using Filters

508
Salesforce Spring ’20 Release Notes Einstein Platform Services: Image Recognition and Natural
Language Processing

Better Understand Your Model with New Elements in Language API Model Metrics Response
New elements returned in the model metrics let you better understand your model’s performance. The response JSON for an Einstein
Language API call that returns model metrics information contains three new elements: the macroF1 field, the precision array,
and the recall array.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in Group, Professional,
Enterprise, Performance, Unlimited, Developer, and Contact Manager editions.
When: This change applies to all language models created after September 30, 2019. If you want to see these changes for models created
before that date, retrain the dataset and create a new model.
How: The new field and arrays appear in the response for these calls when the model type is text-intent or text-sentiment.
• Get model metrics—GET /v2/language/models/<MODEL_ID>
• Get model learning curve—GET /v2/language/models/<MODEL_ID>/lc
The call to return the model metrics looks similar to this JSON. The confusion matrix and precision recall curve data is removed for brevity.
{
"id": "XTRMEB5KGSS2IL2JMSJSOWG108",
"metricsData": {
"f1": [
0.8333333333333333,
0.4,
0.9333333333333332
],
"labels": [
"hourly-forecast",
"five-day-forecast",
"current-weather"
],
"recall": [
1,
0.3333333333333333,
0.875
],
"macroF1": 0.7222222222222223,
"testLoss": 0.44152334332466125,
"precision": [
0.7142857142857143,
0.5,
1
],
"threshold": {
"current-weather": 0.41057,
"hourly-forecast": 0.98462,
"five-day-forecast": 0.9775
},
"testAccuracy": 0.8125,
"trainingLoss": 0.2154673933982849,
"confusionMatrix": [],
"trainingAccuracy": 0.9122806787490844,
"precisionRecallCurve": {}
},
"createdAt": "2019-11-19T22:27:57.000+0000",

509
Salesforce Spring ’20 Release Notes Einstein Platform: Prediction Insight Details

"language": "en_US",
"algorithm": "intent",
"object": "metrics"
}

SEE ALSO:
Einstein Platform Services Developer Guide: Get Model Metrics
Einstein Platform Services Developer Guide: Get Model Learning Curve

Einstein Platform: Prediction Insight Details


Are you interested in expanding the way you use Einstein AI features, like Prediction Builder, in your org? Einstein Platform is the Salesforce
layer that Prediction Builder and many other Einstein features use to run powerful AI jobs. Use new Einstein Platform APIs to access
prediction insights and apply the power of Einstein features in your own AI solutions.

IN THIS SECTION:
Run Einstein Predictions in a Sandbox Org
Build and run predictions in a sandbox org to experiment with different settings.

Run Einstein Predictions in a Sandbox Org


Build and run predictions in a sandbox org to experiment with different settings.
Where: This change applies to Lightning Experience in Enterprise and Developer editions.
Who: This feature is available to admins with the Einstein Analytics Plus or Einstein Predictions license.
How: Build new predictions in the sandbox org for testing before running the predictions in production.

Visualforce: Introducing Lightning Message Service (Beta), Type Checking


for Remote Methods with ID Parameters
Communicate across Visualforce, Aura, and Lightning Web Components with Lightning Message Service. Visualforce now checks that
strings are properly formatted as valid Apex IDs in its JavaScript remoting tool.
For more information on features affected by these enhancements, refer to the Visualforce Developer Guide.

IN THIS SECTION:
Communicate Across Salesforce UI Technologies with the Lightning Message Service API (Beta)
Use the Lightning Message Service API to communicate across the DOM, between Aura components, Visualforce pages, and Lightning
web components. If you’re switching from Salesforce Classic to Lightning Experience, you can now build Lightning web components
that can communicate with existing Visualforce pages or Aura components. For more information, see the Lightning Components
section of the release notes.
Prevent Security Vulnerabilities with Type Checking for Remote Methods with ID Parameters
To mitigate against SOQL injection vulnerabilities, Visualforce now checks that strings are properly formatted as valid Apex IDs in its
JavaScript remoting tool. It throws a RemoteObjectExeption error when there is an invalid string.

510
Salesforce Spring ’20 Release Notes Visualforce: Introducing Lightning Message Service (Beta),
Type Checking for Remote Methods with ID Parameters

Remove Instance Names from URLs for Visualforce, Experience Builder, [Link] Studio, and Content Files (Previously Released Critical
Update)
As announced in the Spring ’18 release, we’re removing the instance names from Visualforce, Experience Builder, [Link] Studio,
and content file URLs.
Permission Changes for Visualforce Access Metrics
Users must have the Customize Application permission to access metrics for Visualforce pages through the SOAP API.

Communicate Across Salesforce UI Technologies with the Lightning Message Service


API (Beta)
Use the Lightning Message Service API to communicate across the DOM, between Aura components, Visualforce pages, and Lightning
web components. If you’re switching from Salesforce Classic to Lightning Experience, you can now build Lightning web components
that can communicate with existing Visualforce pages or Aura components. For more information, see the Lightning Components
section of the release notes.

Prevent Security Vulnerabilities with Type Checking for Remote Methods with ID
Parameters
To mitigate against SOQL injection vulnerabilities, Visualforce now checks that strings are properly formatted as valid Apex IDs in its
JavaScript remoting tool. It throws a RemoteObjectExeption error when there is an invalid string.
Where: This change applies to Lightning Experience and Salesforce Classic in Contact Manager, Group, Professional, Enterprise,
Performance, Unlimited, and Developer editions.
Why: JavaScript remoting is a tool that front-end developers can use to make an AJAX request from a Visualforce page directly to an
Apex controller. When a string object is passed through a remoting call to a @RemoteAction, the expected parameter type is Id.
In this change, Visualforce checks that the ID follows the correct format to prevent security vulnerabilities. The JavaScript console logs
any errors and exceptions. To view this update, your Apex Controller class must be API version 48.0 or later.

SEE ALSO:
Visualforce Developer Guide: JavaScript Remoting for Apex Controllers

Remove Instance Names from URLs for Visualforce, Experience Builder, [Link]
Studio, and Content Files (Previously Released Critical Update)
As announced in the Spring ’18 release, we’re removing the instance names from Visualforce, Experience Builder, [Link] Studio, and
content file URLs.
Where: This change applies to Lightning Experience and Salesforce Classic in Contact Manager, Group, Professional, Enterprise,
Performance, Unlimited, and Developer editions.

SEE ALSO:
Stabilize URLs for Visualforce, Experience Builder, [Link] Studio, and Content Files (Previously Released Critical Update)
Critical Updates and Security Alerts
Critical Updates and Security Alerts

511
Salesforce Spring ’20 Release Notes Apex

Permission Changes for Visualforce Access Metrics


Users must have the Customize Application permission to access metrics for Visualforce pages through the SOAP API.
Where: This change applies to Lightning Experience and Salesforce Classic in all editions.

Apex
Apex security features WITH SECURITY_ENFORCED and [Link] are now generally available.
The new [Link] interface (pilot) allows you to attach actions to queueable, asynchronous jobs. A critical update
enables strict enforcement of Apex type visibility rules with the [Link] method. The getDescribe method in the
Schema namespace has a parameter that determines whether to front-load child relationships. Use the toString method to obtain
the string representation of a Map, List, or Set class in the System namespace.
For more information on these enhancements, refer to the Apex Developer Guide.

IN THIS SECTION:
Enable Field- and Object-Level Permissions Checking Using WITH SECURITY_ENFORCED in SOQL Queries (Generally Available)
SOQL queries using WITH SECURITY_ENFORCED is now generally available. Use the WITH SECURITY_ENFORCED clause
to enable field and object level security permissions checking for SOQL SELECT queries in Apex code, including subqueries and
cross-object relationships. The WITH SECURITY_ENFORCED clause is available only in Apex.
Enforce Field- and Object-Level Security in Apex (Generally Available)
The [Link] method for field- and object-level data protection is now generally available. Use the
stripInaccessible method to strip fields that the current user can’t access from query and subquery results. Use the method
to remove inaccessible fields from sObjects before a DML operation to avoid exceptions. Also, use the stripInaccessible
method to sanitize sObjects that have been deserialized from an untrusted source.
Attach Actions to Asynchronous Apex Jobs Using Transaction Finalizers (Pilot)
With Spring ’20, we introduce a way to attach actions to queueable, asynchronous jobs using a new [Link]
interface. A specific use case is to design recovery action when a queueable job fails.
Restrict Reflective Access to Non-Global Constructors in Packages (Critical Update)
When this critical update is enabled, regardless of API version, you can initiate only Apex classes that have a no-arguments constructor
that is visible to the code running [Link].
Enable Improved Caching of Org Schema (Critical Update)
Improved caching of org schema resolves known issues with version-specific object and field handling.
Use Generic sObject Data Types in Invocable Methods and Invocable Variables
Methods annotated with @InvocableMethod and variables annotated with @InvocableVariable now support the
generic sObject and List<sObject> data types.
Use Event Monitoring Logs to Track CPU Time Consumed by Apex Triggers
Use the Apex Trigger Events field CPU_TIME to track app CPU time for triggers. In prior releases, this field existed in the schema
but was not populated.

SEE ALSO:
Apex: New and Changed Items

512
Salesforce Spring ’20 Release Notes Apex

Enable Field- and Object-Level Permissions Checking Using WITH


SECURITY_ENFORCED in SOQL Queries (Generally Available)
SOQL queries using WITH SECURITY_ENFORCED is now generally available. Use the WITH SECURITY_ENFORCED clause to
enable field and object level security permissions checking for SOQL SELECT queries in Apex code, including subqueries and cross-object
relationships. The WITH SECURITY_ENFORCED clause is available only in Apex.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
How: We don’t recommend using WITH SECURITY_ENFORCED in Apex classes or triggers with an API version earlier than 45.0.
There is a new restriction while querying polymorphic lookup fields using WITH SECURITY_ENFORCED. Polymorphic lookup fields
are relationship fields that can point to more than one entity.
• Traversing a polymorphic field’s relationship is not supported in queries using WITH SECURITY_ENFORCED. For example, you
cannot use WITH SECURITY_ENFORCED in this query, which returns the Id and Owner names for User and Calendar entities:
SELECT Id, [Link] FROM Event WHERE [Link] IN ('User','Calendar').
• Using TYPEOF expressions with an ELSE clause is not supported in queries using WITH SECURITY_ENFORCED. TYPEOF
is used in a SELECT query to specify the fields to be returned for a given type of a polymorphic relationship. For example, you cannot
use WITH SECURITY_ENFORCED in this query. The query specifies certain fields to be returned for Account and Opportunity
objects, and Name and Email fields to be returned for all other objects.
SELECT
TYPE OF What
WHEN Account THEN Phone
WHEN Opportunity THEN Amount
ELSE Name,Email
END
FROM Event

• The Owner, CreatedBy, and LastModifiedBy polymorphic lookup fields are exempt from this restriction, and do allow
polymorphic relationship traversal.
• For AppExchange Security Review, you must use API version 48.0 or later when using WITH SECURITY_ENFORCED. You cannot
use API versions where the feature was in beta or pilot.

Enforce Field- and Object-Level Security in Apex (Generally Available)


The [Link] method for field- and object-level data protection is now generally available. Use the
stripInaccessible method to strip fields that the current user can’t access from query and subquery results. Use the method
to remove inaccessible fields from sObjects before a DML operation to avoid exceptions. Also, use the stripInaccessible method
to sanitize sObjects that have been deserialized from an untrusted source.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
How: The stripInaccesible method checks the source records for fields that don’t meet the field- and object-level security check
for the current user and creates a return list of sObjects. The return list is identical to the source records, except that fields inaccessible
to the current user are removed.

Attach Actions to Asynchronous Apex Jobs Using Transaction Finalizers (Pilot)


With Spring ’20, we introduce a way to attach actions to queueable, asynchronous jobs using a new [Link] interface.
A specific use case is to design recovery action when a queueable job fails.

513
Salesforce Spring ’20 Release Notes Apex

Where: This change applies to Lightning Experience and Salesforce Classic only in scratch orgs that have enabled the feature during
org creation. Because finalizers are currently in pilot and are available only in scratch orgs, do not attempt to package finalizers.

Note: The TransactionFinalizers feature is available as a pilot program only in scratch orgs that have enabled the feature during
org creation. The functionality of this feature is subject to change, and is not available for production organizations while in pilot.
Pilot programs are subject to change. This feature isn’t generally available unless or until Salesforce announces its general availability
in documentation or in press releases or public statements. We can’t guarantee general availability within any particular time frame
or at all. Make your purchase decisions only on the basis of generally available products and features. You can provide feedback
and suggestions for this feature in the TransactionFinalizers group in the IdeaExchange.
Why: Currently, there is no direct way for you to specify actions to be taken when asynchronous jobs succeed or fail. You can only poll
the status of asyncapexjob using a SOQL query, and re-enqueue the job if it fails. With transaction finalizers, you can attach a
post-action sequence to an asynchronous job and take relevant actions based on the job execution result.
How: First, implement a class that implements the [Link] interface. Then, attach a finalizer within a queueable job’s
execute method by invoking the [Link] method with an argument of the instantiated class that implements
the finalizer interface. Only one finalizer can be attached to any queueable job. You can enqueue a single asynchronous Apex job
(queueable, future, or batch) in your finalizer. You can also make callouts in the finalizer.
An execute (FinalizerContext ctx) method is called for every enqueued job with a finalizer attached. Within the execute
method, you can define the actions to be taken at the end of the queueable job. The [Link] class is created and
injected by the Apex runtime engine as an argument to the execute method. You must not create or derive an instance of this class.
The [Link] enum represents the result of the parent asynchronous Apex queueable job to
which the finalizer is attached. The enum takes these values: SUCCESS, UNHANDLED_EXCEPTION.
This example implements the Finalizer interface to identify how far a queueable job proceeds before an unforeseen, uncatchable error
occurs, and also obtains details of the error.
public class AccountUpdateLoggingFinalizer implements Finalizer {
// Used to maintain progress
List<String> acctNames;

public AccountUpdateLoggingFinalizer() {
acctNames = new List<String>();
}

public void execute(FinalizerContext ctx) {


Id parentQueueableJobId = [Link]();
[Link]('Executing Finalizer that was attached to Queueable Job ID: ' +
parentQueueableJobId);
if ([Link]() == [Link]) {
// Queueable executed successfully
[Link]('Parent Queueable (Job ID: ' + parentQueueableJobId + '): completed
successfully!');
} else {
// Queueable failed
// Log some additional information.
[Link]('Parent Queueable (Job ID: ' + parentQueueableJobId + '): FAILED!');

[Link]('Parent Queueable Exception: ' +


[Link]().getMessage());

// Show the accounts that were processed before Queueable Job encountered the
exception
[Link]('Parent Queueable processed following accounts:');

514
Salesforce Spring ’20 Release Notes Apex

for (String acctName : acctNames) {


[Link](acctName);
}
}
}

public void reportProgress(Account acct) {


[Link]([Link]);
}
}

public class FollowupActionQueueable implements Queueable {


public void execute(QueueableContext ctx) {
[Link]('FollowupActionQueueable is executing');
}
}

public class AccountUpdateQueueable implements Queueable {

public void execute(QueueableContext ctx) {

// Create a transaction finalizer


AccountUpdateLoggingFinalizer finalizer = new AccountUpdateLoggingFinalizer();

// Attach the transaction finalizer to this queueable


[Link](finalizer);

// Do some (partial) work


Account acct = new Account();
[Link] = '1st Account';
insert(acct);

// Send some status update to the finalizer


[Link](acct);

// do some work that results in an unforeseen, uncatchable exception


someWork();

// Attempt to do some more work


Account acct2 = new Account();
[Link] = '2nd Account';
insert(acct2);

// Report more progress


[Link](acct2);
}

private void someWork() {


// regular implementation that could result in an un-catchable
// exception e.g. [Link] due to CPU usage over limits

// for demonstration, try to enqueue 2 jobs so this method results in


// [Link] because more than one job cannot be enqueued
// from a Queueable

515
Salesforce Spring ’20 Release Notes Apex

[Link](new FollowupActionQueueable());
[Link](new FollowupActionQueueable());
}
}

Restrict Reflective Access to Non-Global Constructors in Packages (Critical Update)


When this critical update is enabled, regardless of API version, you can initiate only Apex classes that have a no-arguments constructor
that is visible to the code running [Link].
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
When: This update is automatically enforced on August 18, 2020.
How: This critical update enables strict enforcement of Apex type visibility rules for the [Link] method. It also removes
the legacy compatibility behavior supporting these rules in API version 28.0 and earlier. Apex classes contained in second-generation
packages can instantiate public classes from other packages in the same namespace only if they are annotated @NamespaceAccessible.
Also, regardless of API version, construction of abstract classes or interfaces is no longer allowed even when the type is visible and can
be referenced using [Link]. Such instantiation fails with this message: "ApexType does not have a no-arg constructor"
where ApexType is the type you want to create using the [Link] method.
To enable this feature programmatically with the Metadata API, see ApexSettings in the Metadata API Developer Guide.

Note: Global classes are unchanged and remain available across all namespaces.

Enable Improved Caching of Org Schema (Critical Update)


Improved caching of org schema resolves known issues with version-specific object and field handling.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
Why: This critical update fixes known bugs by improving internal systems that define and cache org schema, including standard objects,
custom objects, and their fields. The documented behavior of your org’s schema remains unchanged. The update fixes bugs where the
documentation doesn’t match the known behavior. This update also resolves rare, intermittent cases where undocumented object types
are visible in Apex describe result methods or where version-specific schema details are improperly reused.

Note: This update was briefly available in Summer ’19 and described in the release notes, but was removed prior to customer
release. This is the first release this update has been available for activation.

Use Generic sObject Data Types in Invocable Methods and Invocable Variables
Methods annotated with @InvocableMethod and variables annotated with @InvocableVariable now support the generic
sObject and List<sObject> data types.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

SEE ALSO:
Build Invocable Actions That Work for Multiple Objects

Use Event Monitoring Logs to Track CPU Time Consumed by Apex Triggers
Use the Apex Trigger Events field CPU_TIME to track app CPU time for triggers. In prior releases, this field existed in the schema but
was not populated.

516
Salesforce Spring ’20 Release Notes API

Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
How: For more information on Apex Trigger Events, see Apex Trigger Event Type in the Object Reference for Salesforce and Lightning
Platform.

API
In API version 48.0, find related object documentation more easily, get a symbol table without non-global implementation details in
managed packages, and use more API calls.

IN THIS SECTION:
Find Related Object Documentation More Easily
We removed redundant object documentation and grouped related objects together, so it’s easier to find what you want.
Untangle Your Dependencies with MetadataComponentDependency Queries in Production and Sandbox Orgs (Beta)
Many orgs are cluttered with different metadata components that are no longer in use, such as custom objects and fields. The
Dependency API feature, which uses the Tooling API MetadataComponentDependency object, can be used to view the dependency
relationships between metadata components in your org. This information helps you determine whether components are safe to
delete. Finding dependencies among components also helps you break up your metadata into packages. Working with a set of
packages rather than with one monolithic org makes it easier to manage change, use a version control system, or use a continuous
integration system.
Improved Symbol Table Generation
The symbol table no longer includes non-global implementation details for managed packages. This change ensures that the symbol
table doesn’t expose extra information that shouldn’t be available in a managed package.
Use More API Calls
The default daily API request allocation has been raised from 15,000 to 100,000.
No Maximum Daily Cap for API Calls
The maximum daily cap of 1,000,000 API requests has been removed.
View Monthly API Calls with a New Usage-Based Entitlement
Your org can now exceed its API daily request limit without being blocked (subject to system health). A hard cap is in place to
safeguard platform resources. A new usage-based entitlement shows the total number of API requests aggregated over 30 days.

Find Related Object Documentation More Easily


We removed redundant object documentation and grouped related objects together, so it’s easier to find what you want.
Why: Let’s say you’re working with the WorkType object and trying to find all the related object documentation. Previously, the table
of contents in the Object Reference for Salesforce and Lightning Platform developer guide included all the parent and associated objects.

517
Salesforce Spring ’20 Release Notes API

It’s difficult to understand at a glance which objects are parent objects and which are associated objects. In addition, many associated
objects have the same supported calls and fields. For example, the documentation for the WorkTypeHistory, WorkTypeGroupHistory,
and WorkTypeGroupMemberHistory objects is identical, so documenting each object separately is redundant. To solve these issues, we
created an Associated Objects chapter in the developer guide with a single topic for each type of associated object: Feed, History,
OwnerSharingRule, and Share.

Each associated object topic includes the object’s supported calls and fields. Then we removed the redundant object documentation.
Now the table of contents for the WorkType object shows only the parent objects.

Documentation for parent objects has a new Associated Objects section with a convenient list of links. For example, the WorkType object
has this list.

SEE ALSO:
Object Reference for Salesforce and Lightning Platform
SOAP API Developer Guide

Untangle Your Dependencies with MetadataComponentDependency Queries in


Production and Sandbox Orgs (Beta)
Many orgs are cluttered with different metadata components that are no longer in use, such as custom objects and fields. The Dependency
API feature, which uses the Tooling API MetadataComponentDependency object, can be used to view the dependency relationships
between metadata components in your org. This information helps you determine whether components are safe to delete. Finding
dependencies among components also helps you break up your metadata into packages. Working with a set of packages rather than
with one monolithic org makes it easier to manage change, use a version control system, or use a continuous integration system.

518
Salesforce Spring ’20 Release Notes API

Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in Professional, Enterprise,
Performance, Unlimited, and Developer editions. Available in sandbox and production (Prod) orgs.

Note: As a Beta feature, MetadataComponentDependency (Dependency API) is a preview and isn’t part of the “Services” under
your master subscription agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions
based on the generally available products and features. Salesforce doesn’t guarantee general availability of this feature within any
particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production
use. It’s offered as is and isn’t supported. Salesforce has no liability for any harm or damage arising out of the use of this feature.
All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications
and Content apply equally to your use of this feature. You can provide feedback and suggestions in the Dependency API/Field
Usage (Beta) Trailblazer Community group page.
How: Use SOQL queries to get the relationships between the metadata components in your org. The query results include one row for
each relationship. You can get up to 2,000 records per query. Keep your queries specific enough to return accurate results within this
record count.
{
"size" : 132,
"totalSize" : 132,
"done" : true,
"queryLocator" : null,
"entityTypeName" : "MetadataComponentDependency",
"records" : [ {
"attributes" : {
"type" : "MetadataComponentDependency",
"url" :
"/services/data/v47.0/tooling/sobjects/MetadataComponentDependency/000000000000000AAA"
},
"RefMetadataComponentId" : "00NXXXXXXXXXXXXXXX",
"RefMetadataComponentName" : "acctTime",
"MetadataComponentName" : "acctTimeReport",
"MetadataComponentType" : "Report"
}, {
"attributes" : {
"type" : "MetadataComponentDependency",
"url" :
"/services/data/v47.0/tooling/sobjects/MetadataComponentDependency/000000000000000AAA"
},
"RefMetadataComponentId" : "00XXXXXXXXXXXXXXXX",
"RefMetadataComponentName" : "acctTime",
"MetadataComponentName" : "formulaTime",
"MetadataComponentType" : "CustomField"
},...

The following queries are not supported.


• SOQL ORDER BY clause
• SOQL SELECT clause—count() function
• SOQL queryMore()
• SOQL WHERE clause—Any type of filter with MetadataComponentName
• SOQL WHERE clause—Any type of filter with RefMetadataComponentName
• SOQL WHERE clause—Contains operators other than =, !=, AND, or OR
• SOQL WHERE clause—Filter by (RefMetadataComponentType = 'StandardEntity')

519
Salesforce Spring ’20 Release Notes API

• SOQL WHERE clause—Use of the LIKE operator with either the MetadataComponentType field or RefMetadataComponentType
field
• SOQL OFFSET clause
For more information, see MetadataComponentDependency.

Improved Symbol Table Generation


The symbol table no longer includes non-global implementation details for managed packages. This change ensures that the symbol
table doesn’t expose extra information that shouldn’t be available in a managed package.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
Why: With the improved process, the symbol table in managed packages includes only those implementation details for which the
modifier is explicitly set to global. All the other details are hidden.
Here’s some info about what’s included and what’s not in the symbol table:
• Parameters: Not included because they don’t inherit the modifier of constructors or methods.
• References: No longer includes misidentified internal references. The symbol table generation now correctly identifies whether
a reference is internal or external.
• Local Variables: Not included because they can’t be set to global. Local variables are hidden even if the parent
implementation is global.

Use More API Calls


The default daily API request allocation has been raised from 15,000 to 100,000.
Where: This change applies to the Enterprise Edition, Professional Edition with API access enabled, Unlimited Edition, and Performance
Edition.
Why: This change provides paid orgs with additional API calls by default in order to better support integrations with Salesforce.

No Maximum Daily Cap for API Calls


The maximum daily cap of 1,000,000 API requests has been removed.
Where: This change applies to the Enterprise Edition and to the Professional Edition with API access enabled.
Why: This change allows you to make more API calls without exceeding your allocation.

View Monthly API Calls with a New Usage-Based Entitlement


Your org can now exceed its API daily request limit without being blocked (subject to system health). A hard cap is in place to safeguard
platform resources. A new usage-based entitlement shows the total number of API requests aggregated over 30 days.
Where: This change applies to Enterprise Edition, Performance Edition, Unlimited Edition, and Professional Edition with API access
enabled.
When: This entitlement will be rolled out gradually over the next few months.
Why: By seeing a monthly view of your org’s API calls, you can manage your API request consumption more effectively. And because
requests that exceed the daily limit are allowed to proceed, your org won’t be blocked by unexpected spikes in workload.
How: To view your usage of this entitlement:
1. From Setup, enter Company Information in the Quick Find box, then select Company Information.

520
Salesforce Spring ’20 Release Notes Custom Metadata Types

2. At the bottom of the Company Information page, view the API Request Limit per Month information in the Usage-Based Entitlements
list.

Custom Metadata Types


To better secure your data, we added new settings and enabled restrictions that allow you to protect potentially sensitive information.

IN THIS SECTION:
Require Customize Application Permission for Direct Read Access to Custom Metadata Types (Critical Update, Enforced)
Access for users without the Customize Application permission to read unprotected custom metadata types is revoked as part of
this critical update. Using different APIs that are provided by Salesforce, users without the Customize Application permission could
read unprotected custom metadata types. Following the “secure by default” approach, this access is revoked.
Protect Custom Metadata Types in Developer and Scratch Orgs
The Visibility field is now only available in developer or scratch orgs, where managed packages can be created. When you create a
custom metadata type, the package type and the Visibility field determine whether the custom metadata type is public or private.
You can only create protected custom metadata types in a developer or scratch org that are then deployed in a managed package.
In addition, the Visibility field must be set to package protected.

SEE ALSO:
Salesforce Help: Custom Metadata Types

Require Customize Application Permission for Direct Read Access to Custom Metadata
Types (Critical Update, Enforced)
Access for users without the Customize Application permission to read unprotected custom metadata types is revoked as part of this
critical update. Using different APIs that are provided by Salesforce, users without the Customize Application permission could read
unprotected custom metadata types. Following the “secure by default” approach, this access is revoked.
Where: This change applies to Lightning Experience and Salesforce Classic in Professional, Enterprise, Performance, Unlimited, Developer,
and [Link] editions. Professional Edition orgs can create, edit, and delete custom metadata records only from types in installed
packages. This change also affects Visualforce pages and Lightning components that directly reference custom metadata types.
When: This critical update is scheduled to be enforced on sandbox instances on January 2, 2020 in the Spring ’20 release. It will not be
rolled out to all instances on January 2, 2020. Sandbox instances are upgraded 4–6 weeks before a release goes into production. To find
the exact activation date for your instance, refer to [Link]
How: When this critical update is enforced on the instance, users without the Customize Application permission can no longer access
custom metadata types. To minimize the impact on your users, admins with the Customize Application permission can grant read access
through profile or permission sets.
1. Go to the profile or permission set that you want to grant access to.
2. Under Enabled Custom Metadata Type Access, click Edit.
3. Add the custom metadata type to the list of enabled custom metadata types.

Note: This change doesn’t affect accessibility of custom metadata types from Apex or system mode contexts. Custom metadata
types retrieved using your custom Apex code continue to work after this update.
While not recommended, you can disable this critical update by turning off the Schema Settings: “Restrict access to custom metadata
types” permission. This Schema Settings permission corresponds to the security org-wide critical update.

521
Salesforce Spring ’20 Release Notes Custom Metadata Types

1. Go to Setup and search for Schema Settings.


2. Turn off Restrict access to custom metadata types.

Protect Custom Metadata Types in Developer and Scratch Orgs


The Visibility field is now only available in developer or scratch orgs, where managed packages can be created. When you create a custom
metadata type, the package type and the Visibility field determine whether the custom metadata type is public or private. You can only
create protected custom metadata types in a developer or scratch org that are then deployed in a managed package. In addition, the
Visibility field must be set to package protected.
Where: This change applies to Lightning Experience and Salesforce Classic in Contact Manager, Essentials, Professional, Enterprise,
Performance, Unlimited, and Developer editions.
How: When storing sensitive information, create protected custom metadata types in a developer or scratch org, set the Visibility field
to package protected, then deploy them in a managed package.

Visibility Options API Equivalent


All Apex code and APIs can use the type, and it’s Public—Anyone can see it.
visible in Setup.

Only Apex code in the same namespace can see Protected—Code that’s in the same namespace as the custom metadata types
the type. The name of the type and the record are can read the records. Code that’s in a namespace that doesn’t contain the type
visible if they are referenced in a formula. or the protected record can’t read the protected records.

Only Apex code in the same managed package can PackageProtected—Only code in the same managed package can read the records.
see the type. The name of the type and the record Code that’s in the package that doesn’t contain the type or the protected record
are visible if they are referenced in a formula. can’t read the protected records.

SEE ALSO:
Salesforce Help: Component Behavior in Packages

522
Salesforce Spring ’20 Release Notes Salesforce CLI: Autocompletion, Enhanced DX Templates,
Progress Bar, Code Coverage

Salesforce CLI: Autocompletion, Enhanced DX Templates, Progress Bar,


Code Coverage
The Salesforce command-line interface (CLI) continues to evolve with more features and commands that support the Salesforce
development models. Use it to create environments for development and testing, synchronize source code, run tests, and control the
full application life cycle.
We release changes to Salesforce CLI regularly. Read the weekly release notes to learn about recent updates for v48 of the core CLI
plug-ins. For more information about all CLI commands, see Salesforce CLI Command Reference.

IN THIS SECTION:
Save Time and Reduce Errors with Autocomplete
With the new autocomplete feature installed, you can type a CLI command and then press Tab to autocomplete a partially typed
command, or press Tab to see all available commands, parameters, and file names.
View Progress When Deploying Metadata
If you run force:source:deploy, force:source:push or force:mdapi:deploy you see a progress bar that
highlights the progress of the deployment.
Eliminate the Guesswork with Enhanced Standard DX Templates
We added SOQL and Apexfiles to the standard template for a DX project when you run sfdx force:project:create. We
also added a new analytics template: to access, run force:project:create --template analytics.
Get Improved Code Coverage Results for Your Apex Tests
We improved the force:apex:test:run and force:apex:test:report commands to provide more accurate code
coverage results. Previously, running these commands with the codecoverage flag returned results across multiple test runs.
Now, the results show only the classes that a test execution entered during the run. And, the coverage calculations factor only these
classes.

SEE ALSO:
Discover New and Changed CLI Commands

Save Time and Reduce Errors with Autocomplete


With the new autocomplete feature installed, you can type a CLI command and then press Tab to autocomplete a partially typed
command, or press Tab to see all available commands, parameters, and file names.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions.
How: To install this feature:
1. Run sfdx plugins:install @oclif/plugin-autocomplete.
2. Run sfdx autocomplete, then follow the instructions.

View Progress When Deploying Metadata


If you run force:source:deploy, force:source:push or force:mdapi:deploy you see a progress bar that highlights
the progress of the deployment.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions.
How: This feature is enabled by default. You can disable the progress bar using either method:

523
Salesforce Spring ’20 Release Notes Scratch Orgs: New Features

• To set globally: SFDX_USE_PROGRESS_BAR=false.


• To set for a single command: SFDX_USE_PROGRESS_BAR=false sfdx force:source:deploy.

Eliminate the Guesswork with Enhanced Standard DX Templates


We added SOQL and Apexfiles to the standard template for a DX project when you run sfdx force:project:create. We also
added a new analytics template: to access, run force:project:create --template analytics.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions.
How: Learn more about templates in the Salesforce DX Developer Guide.

Get Improved Code Coverage Results for Your Apex Tests


We improved the force:apex:test:run and force:apex:test:report commands to provide more accurate code
coverage results. Previously, running these commands with the codecoverage flag returned results across multiple test runs. Now,
the results show only the classes that a test execution entered during the run. And, the coverage calculations factor only these classes.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions.
How: The code coverage results are now scoped to the tests in a given test run. For example, if you run TestClassA and TestClassB, and
TestClassA executes code only in ClassA and TestClassB executes only ClassB. The code coverage result for the first run includes only
ClassA, and the second run includes only ClassB.
To enable this new behavior, set the environment variable SFDX_IMPROVED_CODE_COVERAGE to true. When you run the
force:apex:test:run and force:apex:test:report CLI commands after enabling the new behavior, you’ll notice
changes in your code coverage numbers. The new numbers reflect a more accurate code coverage result.

Scratch Orgs: New Features


A scratch org is a dedicated and configurable Salesforce environment that you can quickly spin up for many different purposes. It can
be your own personal development environment, or you can create a headless scratch org for automated tests. You can create scratch
orgs if you turned on Dev Hub in your production org or a Developer Edition org, or have a Dev Hub trial org. We continually add support
for new features.
For more information, see Scratch Orgs in the Salesforce DX Developer Guide.

IN THIS SECTION:
Create Scratch Orgs with More Features
We’re providing more configurable features for scratch orgs.

Create Scratch Orgs with More Features


We’re providing more configurable features for scratch orgs.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in Developer, Enterprise,
Group, and Professional editions.
How: Add the features to your scratch org definition file.
• BigObjectsBulkAPI
• CalloutSizeMB:<value>
• ChangeDataCapture

524
Salesforce Spring ’20 Release Notes Scratch Orgs: New Features

• CMSMaxContType
• CMSMaxNodesPerContType
• CMSUnlimitedUse
• ConAppPluginExecuteAsUser
• ConcStreamingClients:<value>
• ConnectedAppToolingAPI
• ConsolePersistenceInterval:<value>
• DataMaskUser
• DensityValue
• DeviceTrackingEnabled
• DisableManageIdConfAPI
• DurableClassicStreamingAPI
• DurableGenericStreamingAPI
• DynamicClientCreationLimit
• EinsteinArticleRecommendations
• EmbeddedLoginForIE
• EmpPublishRateLimit:<value>
• EnableManageIdConfUI
• EnablePRM
• ExperienceBundle
• FinancialServicesCommunityUser:<value>
• GenericStreaming
• GenStreamingEventsPerDay:<value>
• HoursBetweenCoverageJob:<value>
• IdentityProvisioningFeatures
• IgnoreQueryParamWhitelist
• IndustriesManufacturingCmty
• IndustriesMfgAccountForecast
• LegacyLiveAgentRouting
• ListCustomSettingCreation
• MaxAudTypeCriterionPerAud
• MaxFavoritesAllowed:<value>
• MaxNoOfLexThemesAllowed:<value>
• MaxStreamingTopics:<value>
• MaxUserNavItemsAllowed:<value>
• MaxUserStreamingChannels:<value>
• MedVisDescriptorLimit:<value>
• MobileExtMaxFileSizeMB:<value>
• MobileSecurity
• MultiLevelMasterDetail

525
Salesforce Spring ’20 Release Notes Scratch Orgs: New Features

• MutualAuthentication
• NumPlatformEvents:<value>
• OutboundMessageHTTPSession
• PardotScFeaturesCampaignInfluence
• PlatformConnect
• PlatformEventsPerDay
• RefreshOnInvalidSession
• S1ClientComponentCacheSize
• SalesCloudEinstein
• SalesforceIdentityForCommunities
• SAML20SingleLogout
• SCIMProtocol
• SecurityEventEnabled
• SessionIdInLogEnabled
• SingleSignOn
• StreamingAPI
• StreamingEventsPerDay
• SubPerStreamingChannel
• SubPerStreamingTopic
• SustainabilityCloud
• TransactionFinalizers
• WorkThanksPref

Renamed Scratch Org Features


These scratch org features were renamed in Spring ’20. If your scratch org definition file specifies one of these features, update the file
with the new feature name. Scratch org creation fails if the definition file includes the old feature name.
• AddHistoryFieldsPerEntity is now AdditionalFieldHistory
• RetainFieldHistory is now FieldAuditTrail

Deprecated Scratch Org Features


These scratch org features were deprecated in Spring ’20. If your scratch org definition file specifies one of these features, delete the
feature from the file. Scratch org creation fails if the definition file specifies a deprecated feature.
• ChatterAnswersUser
• CustomerSelfService
• DecisionStudio
• EinsteinAssistant
• ExternalAccountHierarchy
• MobileUser
• OfflineUser
• SiteDotCom (Replace with Communities)

526
Salesforce Spring ’20 Release Notes Sandboxes: Enhanced Sandbox Cloning and Data Security

• SiteForceContributor (Replace with Communities)


• SurveyCreatorUser (Enabled by default in Enterprise and Developer edition scratch orgs)

Sandboxes: Enhanced Sandbox Cloning and Data Security


More cloning options and increased data security are now available for sandboxes.

IN THIS SECTION:
Clone a Sandbox with a Version Different from Production
You can now clone a sandbox that’s on a different major Salesforce release version than your production org. Previously, a sandbox
that was on a different version from the production org due to a release transition couldn’t be cloned, and the clone link in the UI
was disabled. Now you can clone preview sandboxes for development, testing, and training.
Secure Your Sandbox Data with Salesforce Data Mask
Salesforce Data Mask is a powerful new data security resource for Salesforce admins and developers. Instead of manually securing
data and access for sandbox orgs, admins can use Data Mask to automatically mask the data in a sandbox.

Clone a Sandbox with a Version Different from Production


You can now clone a sandbox that’s on a different major Salesforce release version than your production org. Previously, a sandbox that
was on a different version from the production org due to a release transition couldn’t be cloned, and the clone link in the UI was disabled.
Now you can clone preview sandboxes for development, testing, and training.

Secure Your Sandbox Data with Salesforce Data Mask


Salesforce Data Mask is a powerful new data security resource for Salesforce admins and developers. Instead of manually securing data
and access for sandbox orgs, admins can use Data Mask to automatically mask the data in a sandbox.
Where:
This change applies to Lightning Experience in Enterprise, Performance, and Unlimited editions.
Why:
Data Mask uses platform-native obfuscation technology to mask sensitive data in any full or partial sandboxes. The masking process
lets you mask some or all sensitive data with different levels of masking, depending on the sensitivity of the data. Once the data is
masked, you can’t unmask it. This irreversible process ensures that the data is not replicated in a readable or recognizable way into
another environment.
How:
Data Mask is a managed package that you install in a production org. You then run the masking process from any sandbox created
from the production org.

AppExchange Partners: AppExchange App Analytics for Lightning Apps


and Pages
Learn how subscribers use your Lightning apps and pages by exploring AppExchange App Analytics data.

527
Salesforce Spring ’20 Release Notes Packaging: Faster Package Creation, New Skip Validation
Option, and Changes to Flows and External Sharing Settings

IN THIS SECTION:
Analyze Lightning Page Usage and Company Information with AppExchange App Analytics
AppExchange App Analytics help you gain insight into how subscribers are using your managed packages. The available usage data
for your managed package now includes Lightning apps and pages, and company information of subscribers who download your
app.

Analyze Lightning Page Usage and Company Information with AppExchange App
Analytics
AppExchange App Analytics help you gain insight into how subscribers are using your managed packages. The available usage data for
your managed package now includes Lightning apps and pages, and company information of subscribers who download your app.
Where: This change applies to Lightning Experience and Salesforce Classic in Developer Edition.
How: To activate AppExchange App Analytics, log a case in the Salesforce Partner Community. AppExchange App Analytics is available
only for managed packages that have passed security review.

Packaging: Faster Package Creation, New Skip Validation Option, and


Changes to Flows and External Sharing Settings
Now it takes less time to create or install package versions. You can skip validation when creating new package versions. And we made
changes to flows in unlocked packages, and changes to the default external sharing settings that may affect your packages.

IN THIS SECTION:
Skip Validation to Quickly Iterate Package Development
Iterate package development more efficiently by skipping validation of dependencies, package ancestors, and metadata during
package version creation. You can use the skip validation parameter with second-generation managed packages and unlocked
packages. Skipping validation reduces the time it takes to create a new package version, but package versions created without
validation can’t be promoted to the released state.
Create and Install Package Versions Faster
The wait time is now much less when you create a new package version immediately after creating a new package. Also, the time
between when a package version is created and when it's available to install is also much less. After promoting a package version
to released, you can now install it in a production org without delay. In most scenarios, you don’t need the publishwait CLI
parameter.
Update Managed Packages for External Sharing Model Changes
Ensure that your managed packages are up-to-date for changes to the external sharing model. The external sharing model is
automatically enabled in Salesforce orgs created in Spring ’20 or after. Also, external access levels are initially set to Private for all
objects in these orgs. These changes don’t affect existing customers.
View More Packaging Details in List and Report Salesforce CLI Commands
We expanded the package:version:list and package:version:report commands to show information on code
coverage, package ancestor, and whether validation was skipped.
Determine How Many Components Display in Package Manager
Adjust how many components show in your packages in the Package Manager page in Setup. By default, packages with less than
10,000 components display all components. And packages with over 10,000 components are paginated by default.

528
Salesforce Spring ’20 Release Notes Packaging: Faster Package Creation, New Skip Validation
Option, and Changes to Flows and External Sharing Settings

Update Flows in Unlocked Packages


Ensure that your unlocked packages that contain flows work with the changes we made to how API names are handled, and how
to delete flows.

Skip Validation to Quickly Iterate Package Development


Iterate package development more efficiently by skipping validation of dependencies, package ancestors, and metadata during package
version creation. You can use the skip validation parameter with second-generation managed packages and unlocked packages. Skipping
validation reduces the time it takes to create a new package version, but package versions created without validation can’t be promoted
to the released state.
Where: This change applies to package versions created using Salesforce CLI or Tooling API.
Who: Users need the System Administrator profile or the Create and Update Second-Generation Packages permission.
How: In Salesforce CLI run: sfdx force:package:version:create --skipvalidation. In Tooling API, use the
SkipValidation field on the Package2VersionCreate object.

Note: You can't specify both skip validation and code coverage, because code coverage is calculated during validation.

Create and Install Package Versions Faster


The wait time is now much less when you create a new package version immediately after creating a new package. Also, the time
between when a package version is created and when it's available to install is also much less. After promoting a package version to
released, you can now install it in a production org without delay. In most scenarios, you don’t need the publishwait CLI parameter.
Where: This change applies to managed and unlocked package versions created using Salesforce CLI or Tooling API.
Who: Users need the System Administrator profile or the Create and Update Second-Generation Packages permission.
Why: If you have a continuous integration (CI) process, validation during package version creation may duplicate your CI steps and
increase the time it takes for end-to-end CI.
If you aren’t integrating with a CI process, it’s a best practice to create package versions without skipping validation to catch errors that
you might otherwise miss.

Update Managed Packages for External Sharing Model Changes


Ensure that your managed packages are up-to-date for changes to the external sharing model. The external sharing model is automatically
enabled in Salesforce orgs created in Spring ’20 or after. Also, external access levels are initially set to Private for all objects in these orgs.
These changes don’t affect existing customers.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Group, Professional, Enterprise, Performance,
Unlimited, and Developer editions. Dev Hub is available in Developer, Enterprise, Performance, and Unlimited editions.
Why: Packages that depend on an object’s external access level being anything other than Private don’t always work as expected in
orgs created in Spring ’20 or after.
How: Update your packages to support these changes by modifying org-wide defaults.

SEE ALSO:
External Org-Wide Defaults Are Enabled by Default in All New Orgs

529
Salesforce Spring ’20 Release Notes Packaging: Faster Package Creation, New Skip Validation
Option, and Changes to Flows and External Sharing Settings

View More Packaging Details in List and Report Salesforce CLI Commands
We expanded the package:version:list and package:version:report commands to show information on code
coverage, package ancestor, and whether validation was skipped.
Where: This change applies to package versions created using Salesforce CLI or Tooling API.
Why: Find out quickly if the package version passed code coverage, and which package version is the ancestor.
Output from package:version:report CLI command.

Output from package:version:list CLI command. Use --verbose to view code coverage information.

Note: Ancestor information is available for package versions created in Spring ‘20 or after.

Determine How Many Components Display in Package Manager


Adjust how many components show in your packages in the Package Manager page in Setup. By default, packages with less than 10,000
components display all components. And packages with over 10,000 components are paginated by default.
Where: This change applies to managed and unlocked packages in Lightning Experience and Salesforce Classic. Dev Hub is available
in Developer, Enterprise, Performance, and Unlimited editions.
How: From Setup, enter Package Manager in Quick Find box. Select your package, and then adjust the pagination using the
dropdown menu located below the list of components.

Update Flows in Unlocked Packages


Ensure that your unlocked packages that contain flows work with the changes we made to how API names are handled, and how to
delete flows.
Where: This change applies to Lightning Experience and Salesforce Classic in Essentials, Group, Professional, Enterprise, Performance,
Unlimited, and Developer editions. Dev Hub is available in Developer, Enterprise, Performance, and Unlimited editions.
Why:
• A flow installed from an unlocked package with the same API name overrides the existing flow in the target org.
• Delete flows from an unlocked package manually—you can’t delete them by removing them from the unlocked package.

SEE ALSO:
Help: Packaging Considerations for Flows
Help: Considerations for Installed Flows

530
Salesforce Spring ’20 Release Notes Change Data Capture: More Object Support and Event
Enrichment (Pilot)

Change Data Capture: More Object Support and Event Enrichment (Pilot)
Receive change notifications for more objects, and enrich your event messages with fields (pilot).

IN THIS SECTION:
Expanded Object Support for Change Data Capture
You can now receive event notifications of record changes for many more objects.
Enrich Change Event Messages with Fields That Are Always Included (Pilot)
Change event messages include values for new and changed fields, but sometimes unchanged field values are needed for processing
or replicating data. For example, a replication app needs an external ID field to match the record in an external system. You can now
select which fields to always include in change event messages when non-empty.
Change Events Are No Longer Blocked When Encryption Is Not Enabled
In an org with Shield Platform Encryption, if you don’t enable encryption of change events, event messages are stored in the event
bus in clear text for up to three days. Previously, change events were blocked and not delivered until you enabled event encryption.

Expanded Object Support for Change Data Capture


You can now receive event notifications of record changes for many more objects.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
How: These are the new objects that now support Change Data Capture.
• ActionCadence
• ActionCadenceStep
• ActionCadenceStepTracker
• ActionCadenceTracker
• AssignedResource
• CallTemplate
• ContactPointConsent
• ContactPointEmail
• ContactPointPhone
• EmailMessage
• EmailTemplate
• Location
• Macro
• MacroInstruction
• MaintenanceAsset
• MaintenancePlan
• OpportunitySplit
• PartyConsent
• Pricebook2
• ProductConsumed
• ProductItem

531
Salesforce Spring ’20 Release Notes Change Data Capture: More Object Support and Event
Enrichment (Pilot)

• ProductRequest
• ProductRequestLineItem
• ProductTransfer
• QuickText
• Recommendation
• ResourceAbsence
• ReturnOrder
• ReturnOrderLineItem
• ServiceAppointment
• ServiceCrew
• ServiceCrewMember
• ServiceResource
• ServiceTerritory
• ServiceTerritoryMember
• Shipment
• SocialPost
• TimeSheet
• TimeSheetEntry
• VoiceCall
• VoiceCallRecording
• WorkOrder
• WorkOrderLineItem
• WorkType
Select the objects that you want to get notifications for on the Change Data Capture page in Setup. For a full list of enabled objects for
Change Data Capture, see Change Event Object Support in the Change Data Capture Developer Guide.

Note: Not all objects may be available in your org. Some objects require specific feature settings and permissions to be enabled.

Enrich Change Event Messages with Fields That Are Always Included (Pilot)
Change event messages include values for new and changed fields, but sometimes unchanged field values are needed for processing
or replicating data. For example, a replication app needs an external ID field to match the record in an external system. You can now
select which fields to always include in change event messages when non-empty.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.

Note: We provide Change Data Capture Enrichment to selected customers through a pilot program that requires agreement to
specific terms and conditions. To be nominated to participate in the program, contact Salesforce. Pilot programs are subject to
change, and we can’t guarantee acceptance. Change Data Capture Enrichment isn’t generally available unless or until Salesforce
announces its general availability in documentation or in press releases or public statements. We can’t guarantee general availability
within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and
features. You can provide feedback and suggestions for Change Data Capture Enrichment in the Trailblazer Community.
How: To select fields for change event enrichment, use the PlatformEventChannelMember object in Tooling API or Metadata API.

532
Salesforce Spring ’20 Release Notes Platform Events: Encryption Support

Change Events Are No Longer Blocked When Encryption Is Not Enabled


In an org with Shield Platform Encryption, if you don’t enable encryption of change events, event messages are stored in the event bus
in clear text for up to three days. Previously, change events were blocked and not delivered until you enabled event encryption.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
How: To enable encryption of change events, first create an event bus tenant secret on the Key Management page in Setup. Then enable
encryption of change events on the Encryption Policy page.

Warning: You must create an event bus tenant secret before enabling encryption. From Setup, the encryption setting is available
only after you create an event bus tenant secret. In Metadata API, if you enable encryption using PlatformEncryptionSettings
without having the tenant secret, change events are blocked.

Platform Events: Encryption Support


Enable the encryption of platform event messages in the event bus. Also, use a new REST API limit for accurate CometD event delivery
usage.

IN THIS SECTION:
Encrypt Platform Event Messages in the Event Bus
For added security, you can now enable encryption of platform event messages at rest while they’re stored in the event bus in a
Shield Encryption org.
Get Your Platform Event Entitlement Based on Your Contract Start Date
If you have a high-volume platform event add-on license, use the new MonthlyPlatformEventsUsageEntitlement
value in the limits REST API resource. This new value returns CometD client delivery usage, which is correctly based on your
contract start date instead of the first of the month.

Encrypt Platform Event Messages in the Event Bus


For added security, you can now enable encryption of platform event messages at rest while they’re stored in the event bus in a Shield
Encryption org.
Where: This change applies to Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
How: To enable encryption of platform events, first create an event bus tenant secret on the Key Management page in Setup. Then
enable encryption of platform events on the Encryption Policy page.
When you enable encryption of platform events in a Shield Encryption org, event messages are encrypted using the key that is based
on the event bus tenant secret type. The encrypted event messages are stored in the event bus for up to 3 days (or 1 day for
standard-volume events). The encryption applies to all custom and standard platform events, including Real-Time Event Monitoring
streamed events.
Before delivering a platform event message to a subscribed client, the event payload is decrypted using the encryption key. The platform
event message is sent over a secure channel using HTTPS and TLS, which ensures that the data is protected and encrypted while in
transit.

SEE ALSO:
Encrypt Platform Events

533
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Get Your Platform Event Entitlement Based on Your Contract Start Date
If you have a high-volume platform event add-on license, use the new MonthlyPlatformEventsUsageEntitlement value
in the limits REST API resource. This new value returns CometD client delivery usage, which is correctly based on your contract start
date instead of the first of the month.
Where: This change applies to Enterprise, Performance, Unlimited, and Developer editions.
Why: MonthlyPlatformEventsUsageEntitlement is more accurate than MonthlyPlatformEvents in previous
API versions, which is based on the first of the month instead of the contract start date.
MonthlyPlatformEventsUsageEntitlement replaces MonthlyPlatformEvents in API version 48.0 and later.
How: Make a GET request to /services/data/v48.0/limits.

New and Changed Items for Developers


Here is where you can find new and changed objects, calls, classes, components, commands, and more that help you customize Salesforce
features.

IN THIS SECTION:
Lightning Components: New and Changed Items
Build UI easily with these new and changed resources.
Apex: New and Changed Items
These classes, enums, and interfaces are new or have changes.
ConnectApi (Chatter in Apex): New and Changed Classes and Enums
Create custom experiences in Salesforce using Chatter in Apex. Get, create, update, and delete personalization audiences and targets.
API: New and Changed Items
Access more data objects, metadata types, REST resources, and more in API version 48.0.
Salesforce CLI: New and Changed Commands
Use Salesforce CLI to create environments for development and testing, synchronize source code, run tests, and control your
application lifecycle. Read the weekly release notes to learn about recent updates to v48 of the Salesforce CLI.

Lightning Components: New and Changed Items


Build UI easily with these new and changed resources.

IN THIS SECTION:
New and Changed Lightning Web Components
Build UI more efficiently with these new and changed components.
New and Changed Modules for Lightning Web Components
Modules enable you to do more with Lightning web components.
New and Changed Aura Components
Build UI more efficiently with these new and changed components.

534
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

New and Changed Lightning Web Components


Build UI more efficiently with these new and changed components.

New Components
The following component is new and requires API version 48.0 and later.
lightning-progress-ring
Displays a circular progress bar to indicate the progress of an operation.

Changed Lightning Web Components


The following components have changed.
lightning-button-menu
The following attribute on the lightning-menu-subheader child component has changed.
• label—The text is now bold and no longer transformed to all caps.
lightning-datatable
Primitive cell elements are no longer used, which improves the overall performance of this component. The generated markup of
a component can change, so don’t depend on it for custom styling and functional hooks.
The text type now supports the linkify attribute. To enable link conversions in text:
var columns = [
{
label: 'Comments', fieldName: 'comments', type: 'text',
typeAttributes: { linkify: true }
},
// other column data
]

The following custom event has changed.


• resize—The isUserTriggered parameter is new. This boolean specifies whether a user action with a mouse or keyboard
caused the column resize.
The following attribute is new.
• wrap-text-max-lines—This value specifies the number of lines after which the content will be cut off and hidden. It
must be at least 1 or more. The text in the last line is truncated and shown with an ellipsis.
The following property for the columns attribute is new.
• wrapText—Specifies whether text in a column is wrapped when the table renders. Wrapped text expands a row to reveal
its full content. Use with wrapTextMaxLines to display a number of lines and hide the rest.
The following property for custom template definition is new.
• standardCellLayout—Specifies whether custom cells use the standard layout. The default layout for custom cells is the
bare layout.
lightning-input
The following custom event is new.
• commit—Dispatched with the following user actions.
– Change the input value and press Enter or move focus away from the input, for all input types.
– Press Up or Down arrow keys in number input types.

535
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

– Click the X button in search input types to clear the search.

The input type number has changed.


• As you enter numbers, the component now uses your Salesforce locale for formatting. Previously, the component used the
region setting of the mobile device or desktop OS for number entry formatting. The Salesforce locale was used for number
display when the field lost focus. Now the experience is more consistent.
• You can include the number separators (commas or periods) for your Salesforce locale when entering numbers.
• Arabic, Hindu, and Persian numbers are supported.
• With validation errors, the invalid input is preserved in the input field to let you correct the input instead of reentering.
• Buttons for changing the number value are removed. In addition, if you scroll using the mouse in the input field, the number
no longer changes. You can use Up and Down arrow keys to increase and decrease the number.
• Very long number input is no longer rounded off automatically. However, if you use the Up and Down arrow keys to change the
number, rounding still occurs.
• Percent formatting no longer displays extra decimal digits. For example, a value of 0.50 displays as 50% instead of 50.00%.
• The change event is dispatched each time the value of the input changes, and that now includes when the value is set to
an empty string. The input component sets the value to an empty string when the number input becomes invalid. You can now
reset the field in your onchange handler when the input is invalid.
The input types date and datetime have changed.
• As you enter or select a date and time, the component now uses your Salesforce locale for formatting. Previously, the component
used the region setting of the mobile device or desktop OS for data and time entry formatting. The Salesforce locale was used
for date and time display when the field lost focus. Now the experience is more consistent.
• Arabic, Hindu, and Persian numbers are supported.
• When your Salesforce locale is Thai, the Buddhist calendar system and Buddhist year are shown.
lightning-input-field
The changes to lightning-input for fields of type number, date, and datetime also apply to
lightning-input-field.
The following attribute has changed.
• readonly—The form now displays a read-only field as read-only instead of disabled. If you use inline edit on the form, the
display of the read-only field remains unchanged.
lightning-map
The following attribute is new.
• selected-marker-value—Provides the value of the currently selected marker. Returns undefined if you don’t pass
a value to map-markers
The following event handler is new.
• onmarkerselect—The markerselect event is dispatched when you select a marker. Select a marker by clicking it on
the map or on the list of locations.
lightning-menu-item
The following attribute is new.
• download—Specifies the name of a file to download when clicking a link in the menu item. The name is used when the file
is saved in the download location and is not necessarily the name of the original file. Use download with the href attribute.
lightning-output-field
Email addresses are no longer displayed with an email icon to be consistent with the email addresses displayed on record detail
pages.

536
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

lightning-pill
The following attribute has changed.
• has-error—The (warning) icon has been replaced by the (error) icon.
lightning-progress-indicator
The following attribute has changed.
• has-error—The (warning) icon has been replaced by the (error) icon.
lightning-record-form
If a field is read-only, the form now displays the field as read-only instead of disabled. If you use inline edit on the form, the display
of the read-only field remains unchanged.
lightning-tree
The items array has changed. To expand or collapse a branch, get the tree items and modify the expanded property.
// expand the first branch
[Link]('lightning-tree').items[0].expanded = true;

// collapse the first branch


[Link]('lightning-tree').items[0].expanded = false;

lightning-tree-grid
Primitive cell elements are no longer used, which improves the overall performance of this component. The generated markup of
a component can change, so don’t depend on it for custom styling and functional hooks.
The text type now supports the linkify attribute. To enable link conversions in text:
var columns = [
{
label: 'Comments', fieldName: 'comments', type: 'text',
typeAttributes: { linkify: true }
},
// other column data
]

The following attribute has changed.


• label—The text is now bold and no longer transformed to all caps.
lightning-vertical-navigation-section
The following attribute has changed.
• label—The text is now bold and no longer transformed to all caps.

SEE ALSO:
Component Library

New and Changed Modules for Lightning Web Components


Modules enable you to do more with Lightning web components.

New Modules
The following modules are now available.

537
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

lightning/pageReferenceUtils
Provides utilities for encoding and decoding default field values. To generate a URL for or navigate to a record’s create page with
prepopulated field values, pass this string into the [Link] attribute on
standard__objectPage page reference types. You decode the string only when using override actions. We recommend
using lightning/pageReferenceUtils with lightning/navigation to navigate to a record’s create page instead
of using force:createRecord. For more information, see Navigate Users to a Record with Default Field Values on page 490.
lightningsnapin/minimized
Enables customization of the user interface for the minimized state. Your custom component should specify the
lightningSnapin__Minimized target in the [Link] configuration file. For more information, see Customize
Chat with Lightning Web Components on page 223.
@salesforce/messageChannel (Beta)
A string indicating the name of the Lightning message channel, used together with the lightning/messageService
module. A Lightning web component uses a Lightning message channel to access the Lightning Message Service API. Use the
Lightning Message Service API to communicate across the DOM, between Aura components, Visualforce pages, and Lightning web
components.
// Syntax
import channelName from '@salesforce/messageChannel/channelReference';

// Syntax for resources in a managed package


import channelName from '@salesforce/messageChannel/namespace__channelReference';

// Example
import SAMPLEMC from '@salesforce/messageChannel/SampleMessageChannel__c';

• channelName—An imported symbol that identifies the message channel.


• channelReference—The API name of the message channel.
• namespace—If the message channel is in a managed package, this value is the namespace of the managed package. If the
message channel is not in a managed package, omit the namespace.
For more information, see Communicate Across Salesforce UI Technologies with Lightning Message Service (Beta).
lightning/messageService (Beta)
Provides access to Lightning Message Service API methods and resources. To subscribe to or unsubscribe from a message channel,
import the following.
// Subscribe/unsubscribe example
import { subscribe, unsubscribe, APPLICATION_SCOPE, MessageContext } from
'lightning/messageService';

To publish on a message channel, import the publish() method and MessageContext.


// Publish example
import { publish, MessageContext } from 'lightning/messageService';

For more information, see Communicate Across Salesforce UI Technologies with Lightning Message Service (Beta).
lightningsnapin/basePrechat
Enables customization of the user interface for the prechat form. Your custom component should specify the
lightningSnapin_PreChat target in the [Link] configuration file. For more information, see Customize Chat
with Lightning Web Components on page 223.

538
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Changed Modules
The following modules have changed.
lightning/uiListApi (Beta)
This module now returns records containing the fields specified by:
• The list view metadata, returned by displayColumns
• The fields and optionalFields parameters, assuming the user has access to them
• The object’s system fields, if the object has them, such as CreatedDate, Id, LastModifiedById,
LastModifiedDate, and SystemModstamp
Previously, the records returned by lightning/uiListApi contain all of the above and also additional fields not requested
by the @wire definition nor defined by the list view. If your component requires specific field values that are not returned by
lightning/uiListApi, use the fields or optionalFields parameter to include those fields.

New and Changed Aura Components


Build UI more efficiently with these new and changed components.

New Aura Components


The following components are new and require API version 48.0 and later.
lightning:pageReferenceUtils
This component provides utilities for encoding and decoding default field values. To generate a URL for or navigate to a record’s
create page, pass the encoded string into the new [Link] attribute on
standard__objectPage page reference types. You decode the string only when using override actions. We recommend
using lightning:pageReferenceUtils with lightning:navigation to navigate to a record’s create page instead
of using force:createRecord. For more information, see Navigate Users to a Record with Default Field Values on page 490.
lightning:progressRing
Displays a circular progress bar to indicate the progress of an operation.
lightning:messageChannel (Beta)
Provides access to the Lightning Message Service API. Use Lightning Message Service to publish and subscribe to messages across
the DOM and between Aura components, Visualforce pages, and Lightning web components. For more information, see Communicate
Across Salesforce UI Technologies with Lightning Message Service (Beta).

Changed Aura Components


The following components have changed.
forceCommunity:navigationMenuBase
The following attribute is new.
• navigationLinkSetId—The ID or developer name of the NavigationLinkSet type to be rendered in the component.
NavigationLinkSet represents the navigation menu in a community.
lightning:breadcrumb
The following attribute has changed.
• label—The text label is no longer transformed to all caps.
lightning:buttonMenu
The following attribute on the lightning:menuSubheader child component has changed.

539
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• label—The text is now bold and no longer transformed to all caps.


lightning:card
The following attribute has changed.
• title—This attribute is no longer required.
lightning:datatable
Primitive cell elements are no longer used, which improves the overall performance of this component. The generated markup of
a component can change, so don’t depend on it for custom styling and functional hooks.
The text type now supports the linkify attribute. To enable link conversions in text:
var columns = [
{
label: 'Comments', fieldName: 'comments', type: 'text',
typeAttributes: { linkify: true }
},
// other column data
]

The following attribute has changed.


• onresize—The isUserTriggered parameter is new. This boolean specifies whether a user action with a mouse or
keyboard caused the column resize.
The following attribute is new.
• wrapTextMaxLines—This value specifies the number of lines after which the content is cut off and hidden. It must be at
least 1 or more. The text in the last line is truncated and shown with an ellipsis.
The following property for the columns attribute is new.
• wrapText—Specifies whether text in a column is wrapped when the table renders. Wrapped text expands a row to reveal
its full content. Use with wrapTextMaxLines to display a number of lines and hide the rest.
lightning:input
The following custom event is new.
• commit—Dispatched with the following user actions.
– Change the input value and press Enter or move focus away from the input, for all input types.
– Press Up or Down arrow keys in number input types.
– Click the X button in search input types to clear the search.

The input type number has changed.


• As you enter numbers, the component now uses your Salesforce locale for formatting. Previously, the component used the
region setting of the mobile device or desktop OS for number entry formatting. The Salesforce locale was used for number
display when the field lost focus. Now the experience is more consistent.
• You can include the number separators (commas or periods) for your Salesforce locale when entering numbers.
• Arabic, Hindu, and Persian numbers are supported.
• With validation errors, the invalid input is preserved in the input field to let you correct the input instead of reentering.
• Buttons for changing the number value are removed. In addition, if you scroll using the mouse in the input field, the number
no longer changes. You can use Up and Down arrow keys to increase and decrease the number.
• Very long number input is no longer rounded off automatically. However, if you use the Up and Down arrow keys to change the
number, rounding still occurs.
• Percent formatting no longer displays extra decimal digits. For example, a value of 0.50 displays as 50% instead of 50.00%.

540
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• The change event is dispatched each time the value of the input changes, and that now includes when the value is set to
an empty string. The input component sets the value to an empty string when the number input becomes invalid. You can now
reset the field in your onchange handler when the input is invalid.
The input types date and datetime have changed.
• As you enter or select a date and time, the component now uses your Salesforce locale for formatting. Previously, the component
used the region setting of the mobile device or desktop OS for data and time entry formatting. The Salesforce locale was used
for date and time display when the field lost focus. Now the experience is more consistent.
• Arabic, Hindu, and Persian numbers are supported.
• When your Salesforce locale is Thai, the Buddhist calendar system and Buddhist year are shown.
lightning:inputField
The changes to lightning:input for fields of type number, date, and datetime also apply to
lightning:inputField.
The following attribute has changed.
• readonly—The form now displays a read-only field as read-only instead of disabled. If you use inline edit on the form, the
display of the read-only field remains unchanged.
lightning:map
The following attribute is new.
• selectedMarkerValue—Provides the value of the currently selected marker. Returns undefined if you don’t pass a
value to mapMarkers.
The following event handler is new.
• onmarkerselect—The markerselect event is dispatched when you select a marker. Select a marker by clicking it on
the map or on the list of locations.
lightning:menuItem
The following attribute is new.
• download—Specifies the name of a file to download when clicking a link in the menu item. The name is used when the file
is saved in the download location and is not necessarily the name of the original file. Use download with the href attribute.
lightning:outputField
Email addresses are no longer displayed with an email icon to be consistent with the email addresses displayed on record detail
pages.
lightning:pill
The following attribute has changed.
• hasError—The (warning) icon has been replaced by the (error) icon.
lightning:progressIndicator
The following attribute has changed.
• hasError—The (warning) icon has been replaced by the (error) icon.
lightning:recordForm
If a field is read-only, the form now displays the field as read-only instead of disabled. If you use inline edit on the form, the display
of the read-only field remains unchanged.
lightning:treeGrid
Primitive cell elements are no longer used, which improves the overall performance of this component. The generated markup of
a component can change, so don’t depend on it for custom styling and functional hooks.

541
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

The text type now supports the linkify attribute. To enable link conversions in text:
var columns = [
{
label: 'Comments', fieldName: 'comments', type: 'text',
typeAttributes: { linkify: true }
},
// other column data
]

The following property for the columns attribute has changed.


• label—The text is now bold and no longer transformed to all caps.
lightning:verticalNavigationSection
The following attribute has changed.
• label—The text is now bold and no longer transformed to all caps.

SEE ALSO:
Component Library

Apex: New and Changed Items


These classes, enums, and interfaces are new or have changes.
For more information, refer to the Apex Developer Guide.

IN THIS SECTION:
Auth Namespace
The Auth namespace has these new or changed classes, methods, interfaces, enums, or exceptions.
Reports Namespace
The Reports namespace has these new or changed classes, methods, interfaces, enums, or exceptions.
Schema Namespace
The Schema namespace has these new or changed classes, methods, interfaces, enums, or exceptions.
System Namespace
The System namespace has these new or changed classes, methods, interfaces, enums, or exceptions.

SEE ALSO:
Apex: New Features

Auth Namespace
The Auth namespace has these new or changed classes, methods, interfaces, enums, or exceptions.

New or Changed Methods in Existing Classes


Get the single sign-on URL for a community subdomain
Use the new getAuthProviderSsoDomainUrl(communityUrl, startUrl, developerName) method in
the [Link] class.

542
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Reports Namespace
The Reports namespace has these new or changed classes, methods, interfaces, enums, or exceptions.

New or Changed Methods in Existing Classes


Obtain the report filter type
Use the new getFilterType([Link]) method in the [Link] class.
Set the report filter type
Use the new setFilterType([Link]) method in the [Link] class.
Obtain the string representation of the report filter type
Use the new toString() method in the [Link] class.

New Enums
Specify the type of report filter used by the getFilterType([Link]) and
setFilterType([Link]) methods
Use the ReportFilterType enum.

Schema Namespace
The Schema namespace has these new or changed classes, methods, interfaces, enums, or exceptions.

New or Changed Methods in Existing Classes


Obtain the describe sObject result for a field, determining whether to load child relationships or not based on the parameter
value.
Use the new getDescribe(options)method in the [Link] class.

System Namespace
The System namespace has these new or changed classes, methods, interfaces, enums, or exceptions.

New or Changed Methods in Existing Classes


Specify a redirect code to control page URL redirects
Use the new setRedirectCode(redirectCode) method in the PageReference class to specify a redirectCode
of 301, 302, 303, 307, or 308. The new getRedirectCode() method returns the PageReference redirectCode.
Obtain the string representation of the List collection type
Use the new toString() method in the [Link] class.
Obtain the string representation of the Map collection type
Use the new toString() method in the [Link] class.
Obtain the string representation of the Set type
Use the new toString() method in the [Link] class.
Obtain the string representation of a Cookie’s SameSite attribute
Use the new getSameSite() method in the [Link] class.

543
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

ConnectApi (Chatter in Apex): New and Changed Classes and Enums


Create custom experiences in Salesforce using Chatter in Apex. Get, create, update, and delete personalization audiences and targets.
Many Chatter REST API resource actions are exposed as static methods on Apex classes in the ConnectApi namespace. These methods
use other ConnectApi classes to input and return information. The ConnectApi namespace is referred to as Chatter in Apex.
In Apex, you can access some Chatter data using SOQL queries and objects. However, it’s simpler to expose Chatter data in ConnectApi
classes, and data is localized and structured for display. For example, instead of making several calls to access and assemble a feed, you
can do it with a single call.

Note: To integrate mobile apps, intranet sites, and third-party web applications with Chatter and Communities, use Chatter REST
API.

IN THIS SECTION:
New Chatter in Apex Classes
These classes are new.
New Chatter in Apex Input Classes
These input classes are new.
New and Changed Chatter in Apex Output Classes
These output classes are new or have changes.
New and Changed Chatter in Apex Enums
These enums are new or have changes.

New Chatter in Apex Classes


These classes are new.

Managed Content
These new methods are in the [Link] class.

Note: As a beta feature, this API is a preview and isn’t part of the “Services” under your master subscription agreement with
Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available
products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all,
and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t
supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce
reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply
equally to your use of this feature.
Get all managed content versions for a channel
• getAllContent(channelId, pageParam, pageSize, language, managedContentType,
includeMetadata, startDate, endDate)
Get all managed content versions for a channel using a list of managed content IDs
• getContentByIds(channelId, managedContentIds, pageParam, pageSize, language,
managedContentType, includeMetadata, startDate, endDate)
Get managed content delivery channels for the context user
• getAllDeliveryChannels(pageParam, pageSize)

544
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Order Management
New methods for working with Salesforce Order Management are in the [Link],
[Link], [Link], and [Link]
classes.
These new methods are in the [Link] class.
Cancel FulfillmentOrderLineItems from a FulfillmentOrder
• cancelFulfillmentOrderLineItems(fulfillmentOrderId,
cancelFulfillmentOrderLineItemsInput)
Create FulfillmentOrders
• createFulfillmentOrders(fulfillmentOrderInput)
Create an invoice for a FulfillmentOrder
• createInvoice(fulfillmentOrderId, invoiceInput)
This new method is in the [Link] class.
Create an OrderPaymentSummary
• createOrderPaymentSummary(orderPaymentSummaryInput)
These new methods are in the [Link] class.
Create a Credit Memo for change orders on an OrderSummary
• createCreditMemo(orderSummaryId, creditMemoInput)
Asynchronously ensure funds for an invoice
• ensureFundsAsync(orderSummaryId, ensureFundsInput)
Asynchronously ensure refunds for a credit memo
• ensureRefundsAsync(orderSummaryId, ensureRefundsInput)
Preview the expected change order for a proposed cancel action
• previewCancel(orderSummaryId, changeInput)
Preview the expected change order for a proposed return action
• previewReturn(orderSummaryId, changeInput)
Submit a cancel action
• submitCancel(orderSummaryId, changeInput)
Submit a return action
• submitReturn(orderSummaryId, changeInput)
This new method is in the [Link] class.
Create an OrderSummary
• createOrderSummary(orderSummaryInput)

Personalization
These new methods are in the Personalization class.

545
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Get audiences
• getAudience(communityId, audienceId, includeAudienceCriteria)
• getAudienceBatch(communityId, audienceIds)
• getAudiences(communityId, ipAddress, domain, userId, publishStatus,
includeAudienceCriteria, targetTypes)
Create audiences
• createAudience(communityId, audience)
Update audiences
• updateAudience(communityId, audienceId, audience)
Delete audiences
• deleteAudience(communityId, audienceId)
Get targets
• getTarget(communityId, targetId)
• getTargets(communityId, ipAddress, domain, userId, publishStatus, recordId,
targetTypes, includeAudience, includeAllMatchingTargetsWithinGroup, groupNames)
Create targets
• createTargets(communityId, target)
Update targets
• updateTargets(communityId, target)
Delete targets
• deleteTarget(communityId, targetId)

New Chatter in Apex Input Classes


These input classes are new.

Order Management
[Link]
This new input class has this property.
• changeItems—List of changes to OrderItemSummaries.
[Link]
This new input class has these properties.
• orderItemSummaryId—ID of the OrderItemSummary.
• quantity—Quantity to change. Use a positive value. For example, a value of 2 means “cancel or return 2 units.”
• reason—Reason for the change. The value must match one of the picklist values on the Reason field of the
OrderItemSummaryChange object.
• shippingReductionFlag—Specifies whether to prorate the shipping charge.
[Link]
This new input class has this property.
• changeOrderIds—List of IDs of the change orders.

546
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

[Link]
This new input class has these properties.
• orderSummaryId—ID of the OrderSummary.
• paymentAuthorizationId—ID of the payment authorization.
• paymentIds—List of IDs of the payments.
[Link]
This new input class has this property.
• invoiceId—ID of the invoice.
[Link]
This new input class has this property.
• creditMemoId—ID of the credit memo.
[Link]
This new input class has these properties.
• fulfilledFromLocationId—ID of the fulfillment location.
• fulfillmentType—Fulfillment type. One of the Type field values defined for FulfillmentOrders.
• orderItemSummaries—List of OrderItemSummaries.
[Link]
This new input class has these properties.
• fulfillmentGroups—List of fulfillment groups that specify the OrderItemSummaries and fulfillment locations.
• orderDeliveryGroupSummaryId—ID of the OrderDeliveryGroupSummary.
• orderSummaryId—ID of the OrderSummary.
[Link]
This new input class does not have any properties.
[Link]
This new input class has these properties.
• fulfillmentOrderLineItemId—ID of the FulfillmentOrderLineItem.
• quantity—Quantity to cancel.
[Link]
This new input class has this property.
• fulfillmentOrderLineItemsToCancel—List of FulfillmentOrderLineItems and quantities.
[Link]
This new input class has these properties.
• orderItemSummaryId—ID of the OrderItemSummary.
• quantity—Quantity to include.
[Link]
This new input class has this property.
• orderId—ID of the original order.

547
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Personalization
[Link]
This new input class has these properties.
• criterion—List of mappings of audience criteria fields and values.
• criterionNumber—Number associated with the audience criterion in a formula. For example, (1 AND 2) OR 3. If unspecified,
criteria are assigned numbers in the order that they’re added.
• criterionOperator—Operator used in the personalization audience criterion. Values are:
– Contains
– Equal
– GreaterThan
– GreaterThanOrEqual
– Includes
– LessThan
– LessThanOrEqual
– NotEqual
– NotIncludes
– StartsWith

• criterionType—Type of personalization audience criterion. Values are:


– Default—Audience has no criteria.
– Domain—Audience criterion is based on domain.
– FieldBased—Audience criterion is based on object fields.
– GeoLocation—Audience criterion is based on location.
– Permission—Audience criterion is based on standard or custom permissions.
– Profile—Audience criterion is based on profile.

[Link]
This new input class has these properties.
• city—City of a user.
• country—Country of a user.
• domainId—Domain ID of a user.
• entityField—Field of an object.
• entityType—Type of object.
• fieldValue—Value of a field.
• isEnabled—Specifies whether the permission is enabled (true) or not (false) for a user.
• permission—Valid API name of a standard user or custom permission.
• profileId—Profile ID of a user.
• subdivision—Subdivision of a user.
[Link]
This new input class has these properties.
• criteria—List of audience criteria to update or add.

548
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• customFormula—Custom formula for the audience criteria. For example, (1 AND 2) OR 3.


• formulaFilterType—Formula filter type for the personalization audience. Values are:
– AllCriteriaMatch—All audience criteria are true (AND operation).
– AnyCriterionMatches—Any audience criterion is true (OR operation).
– CustomLogicMatches—Audience criteria match the custom formula (for example, (1 AND 2) OR 3).

• name—Name of the audience.


[Link]
This new input class has these properties.
• audienceId—ID of the audience to assign to the target.
• groupName—Group name of the target. Groups bundle related target and audience pairs.
• priority—Priority of the target. Within a group, priority determines which target is returned if the user matches more than
one audience.
• publishStatus—Publish status of the target. Values are:
– Draft
– Live

• targetType—Type of target, indicating the nature of the data being targeted.


• targetValue—Value of the target.
[Link]
This new input class has this property.
• targets—List of targets to create.
[Link]
This new input class has this property.
• targets—List of targets to update.
[Link]
This new input class has these properties.
• audienceId—ID of the audience to assign to the target.
• priority—Priority of the target. Within a group, priority determines which target is returned if the user matches more than
one audience.
• targetId—ID of the target to update.

New and Changed Chatter in Apex Output Classes


These output classes are new or have changes.

Managed Content
[Link] (Beta)
This new output class has these properties.
• channelId—ID of the managed content channel.
• channelName—Name of the managed content channel.
• channelType—Type of managed content channel. Values are:

549
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

– CloudToCloud
– Community
– ConnectedApp

• isChannelSearchable—Specifies whether the text contents of the channel are searchable (true) or not (false).
[Link] (Beta)
This new output class has these properties.
• channels—List of managed content channels.
• currentPageUrl—Chatter REST API URL identifying the current page.
• nextPageUrl—Chatter REST API URL identifying the next page, or null if there isn’t a next page.
• previousPageUrl—Chatter REST API URL identifying the previous page, or null if there isn’t a previous page.
• totalChannels—Total number of managed content channels.
[Link]
This new output class is a subclass of [Link]. It has these properties.
• dateTimeValue—UTC date and time value of the managed content node.
• timeZone—Time zone in which the date and time is authored.
[Link]
This new output class is a subclass of [Link]. It has this property.
• value—Date value of the managed content node.
[Link]
This output class has these new properties.
• fileName—File name of the managed content node.
• resourceUrl—Resource URL of the asset file.
• unauthenticatedUrl—Unauthenticated URL of the asset file or null if the asset file isn’t visible to external users.
[Link]
This output class has these new properties.
• contentUrlName—Content URL name of the managed content version.
• language—Language of the managed content version.

Order Management
[Link]
This new output class has these properties.
• errors—Any errors that were returned.
• success—Indicates whether the transaction was successful.
[Link]
This new output class has these properties.
• grandTotalAmount—Change to the GrandTotalAmount field.
• totalAdjustedDeliveryAmount—Change to the TotalAdjustedDeliveryAmount field.
• totalAdjustedDeliveryTaxAmount—Change to the TotalAdjustedDeliveryTaxAmount field.
• totalAdjustedProductAmount—Change to the TotalAdjustedProductAmount field.
• totalAdjustedProductTaxAmount—Change to the TotalAdjustedProductTaxAmount field.

550
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• totalAdjustmentDistributedAmount—Change to the TotalAdjustmentDistributedAmount field.


• totalAdjustmentDistributedTaxAmount—Change to the TotalAdjustmentDistributedTaxAmount field.
• totalAmount—Change to the TotalAmount field.
• totalExcessFundsAmount—The amount of excess funds available on the OrderPaymentSummaries related to the
OrderSummary.
• totalRefundableAmount—The total amount available to be refunded. It is the sum of the totalExcessFundsAmount
field and the portion of the grandTotalAmount field that applies to post-fulfillment changes.
• totalTaxAmount—Change to the TotalTaxAmount field.
[Link]
This new output class is a subclass of [Link] and has this property.
• creditMemoId—ID of the created Credit Memo.
[Link]
This new output class is a subclass of [Link] and has this property.
• orderPaymentSummaryId—ID of the Order Payment Summary.
[Link]
This new output class is a subclass of [Link] and has this property.
• backgroundOperationId—ID of the background operation.
[Link]
This new output class is a subclass of [Link] and has this property.
• backgroundOperationId—ID of the background operation.
[Link]
This new output class has these properties.
• errorCode—Error code.
• message—More error detail, if available.
[Link]
This new output class is a subclass of [Link] and does not have any properties. It
only wraps the base output.
[Link]
This new output class is a subclass of [Link] and has this property.
• invoiceId—ID of the created invoice.
[Link]
This new output class is a subclass of [Link] and has this property.
• fulfillmentOrderIds—A list of IDs of created Fulfillment Orders.
[Link]
This new output class is a subclass of [Link] and has this property.
• orderSummaryId—ID of the Order Summary.
[Link]
This new output class is a subclass of [Link] and has these properties.
• changeBalances—Expected change order financial values for the cancel action.
• orderSummaryId—ID of the OrderSummary.

551
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

[Link]
This new output class is a subclass of [Link] and has these properties.
• changeBalances—Expected change order financial values for the return action.
• orderSummaryId—ID of the OrderSummary.
[Link]
This new output class is a subclass of [Link] and has these properties.
• changeBalances—Financial values from the created change order.
• changeOrderId—ID of the created change order.
[Link]
This new output class is a subclass of [Link] and has these properties.
• changeBalances—Financial values from the created change order.
• changeOrderId—ID of the created change order.

Personalization
[Link]
This new output class has these properties.
• criteria—Criteria details for the audience.
• customFormula—Custom formula for the audience criteria. For example, (1 AND 2) OR 3.
• formulaFilterType—Formula filter type for the personalization audience. Values are:
– AllCriteriaMatch—All audience criteria are true (AND operation).
– AnyCriterionMatches—Any audience criterion is true (OR operation).
– CustomLogicMatches—Audience criteria match the custom formula (for example, (1 AND 2) OR 3).

• id—ID of the audience.


• name—Name of the audience.
• targets—Target assignments for the audience.
• url—URL to this audience.
[Link]
This new output class has this property.
• audiences—Collection of audiences.
[Link]
This new output class has these properties.
• criterion—List of mappings of audience criteria fields and values.
• criterionNumber—Number associated with the audience criterion in a formula. For example, (1 AND 2) OR 3. If unspecified,
criteria are assigned numbers in the order that they’re added.
• criterionOperator—Operator used in the personalization audience criterion. Values are:
– Contains
– Equal
– GreaterThan
– GreaterThanOrEqual

552
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

– Includes
– LessThan
– LessThanOrEqual
– NotEqual
– NotIncludes
– StartsWith

• criterionType—Type of personalization audience criterion. Values are:


– Default—Audience has no criteria.
– Domain—Audience criterion is based on domain.
– FieldBased—Audience criterion is based on object fields.
– GeoLocation—Audience criterion is based on location.
– Permission—Audience criterion is based on standard or custom permissions.
– Profile—Audience criterion is based on profile.

[Link]
This new output class has this property.
• value—Mapping of an audience criterion value and field.
[Link]
This new output class has these properties.
• audienceName—Name of the audience assigned to the target.
• id—ID of the audience assigned to the target.
• url—URL to the audience assigned to the target.
[Link]
This new output class has these properties.
• groupName—Group name of the target. Groups bundle related target and audience pairs.
• id—ID of the target.
• isMatch—Specifies whether the target matches the current context (true) or doesn’t (false).
• priority—Priority of the target. Within a group, priority determines which target is returned if the user matches more than
one audience.
• publishStatus—Publish status of the target. Values are:
– Draft
– Live

• targetType—Type of target, indicating the nature of the data being targeted.


• targetValue—Value of the target.
• url—URL to the target.
[Link]
This new output class has these properties.
• name—Name of the scope for the target.
• value—Value of the scope for the target.

553
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

[Link]
This new output class has these properties.
• audience—Audience assigned to the target.
• groupName—Group name of the target. Groups bundle related target and audience pairs.
• id—ID of the target.
• priority—Priority of the target. Within a group, priority determines which target is returned if the user matches more than
one audience.
• publishStatus—Publish status of the target. Values are:
– Draft
– Live

• scope—List of scopes for the target.


• targetType—Type of target, indicating the nature of the data being targeted.
• targetValue—Value of the target.
• url—URL to the target.
[Link]
This new output class has this property.
• targets—List of personalization targets.

New and Changed Chatter in Apex Enums


These enums are new or have changes.
For information about these enums, see ConnectApi Enums in the Apex Developer Guide.
[Link]
This new enum has these values.
• Contains
• Equal
• GreaterThan
• GreaterThanOrEqual
• Includes
• LessThan
• LessThanOrEqual
• NotEqual
• NotIncludes
• StartsWith
[Link]
This new enum has these values.
• Default—Audience has no criteria.
• Domain—Audience criterion is based on domain.
• FieldBased—Audience criterion is based on object fields.
• GeoLocation—Audience criterion is based on location.

554
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• Permission—Audience criterion is based on standard or custom permissions.


• Profile—Audience criterion is based on profile.
[Link]
This new enum has these values.
• AllCriteriaMatch—All audience criteria are true (AND operation).
• AnyCriterionMatches—Any audience criterion is true (OR operation).
• CustomLogicMatches—Audience criteria match the custom formula (for example, (1 AND 2) OR 3).
[Link]
This new enum has these values.
• CloudToCloud
• Community
• ConnectedApp
[Link]
This enum has these new values.
• Date
• DateTime
• Url
[Link]
This new enum has these values.
• Draft
• Live

API: New and Changed Items


Access more data objects, metadata types, REST resources, and more in API version 48.0.

IN THIS SECTION:
New and Changed Objects
Access more data through these new and changed standard objects.
New and Changed Standard Platform Events
Receive real-time notifications from Salesforce by subscribing to the channels of these new and changed standard platform events.
SOQL
Salesforce Object Query Language (SOQL) includes changes to limits and calls
SOSL
Salesforce Object Search Language (SOSL) includes changes to limits.
REST API
REST API includes new, changed, and deprecated resources.
Chatter REST API
Integrate mobile apps, intranet sites, and third-party web applications with Salesforce using Chatter REST API. Personalization is
generally available, and you can now get audience information for a batch of audiences. Search managed content in a community
or channel. Increase view counts on knowledge articles.

555
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Reports and Dashboards REST API


Reports and Dashboards REST API enhancements include new properties that describe subscription email attachments and report
field to sObject relationships.
User Interface API
Work with new objects, access the record type ID for every record in a response, and get the case status in a picklist.
Tooling API
Tooling API includes new and changed objects.
Metadata API
Metadata API includes new and changed types and fields.

New and Changed Objects


Access more data through these new and changed standard objects.

Salesforce Overall
Query deleted records through DeleteEvent
Use the new DeleteEvent object to query and filter on records in your org’s Recycle Bin. DeleteEvent works with all standard objects
that support the Recycle Bin and all custom objects.
In-App Guidance includes translation, videos, and profile filtering
Use the new PromptLocalization and PromptVersionLocalization objects to organize translated prompt labels.
Change the default global delay time between prompts with the PromptDelayTime field on the LightningOnboardingConfig
object. Or, ignore the global delay between prompts for a specific prompt with the shouldIgnoreGlobalDelay field in the
PromptVersion object. To show prompts to specific profiles, use the userProfileAccess field on the PromptVersion object.
Add videos with the videoLink field of the PromptVersion object.
There were also some smaller changes made to the PromptVersion object:
• The Group property is no longer supported for the ActionButtonLink field.
• The Update property is no longer supported for the ParentId field.
• The PublishedByUserId field was changed to a reference type.
The undelete call is no longer supported for the PromptAction object.
Users no longer need the View Setup and Configuration permission to see prompts that are only visible with specific permissions.
Identify the functions supported in a formula.
Use the new FormulaFunctionAllowedType object to identify the functions supported in a specified formula type.
Use the FormulaFunctionAllowedType object instead of the FormulaFunction object fields IsAllowedInEntityContext,
IsAllowedInFlowContext, and IsAllowedInVisualforceContext. These fields are removed in API version 48.0
and later.
Specify multiple emails to an individual or personal account
Use the new ContactPointEmail object.
Get info on changes to values in the fields to a contact point’s email
Use the new ContactPointEmailHistory object.
Get info on rules for sharing a ContactPointEmail object with users other than the owner
Use the new ContactPointEmailOwnerSharingRule object.

556
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Get info on the list of access levels to a contact point’s email


Use the new ContactPointEmailShare object.
Specify multiple phone numbers to an individual or personal account
Use the new ContactPointPhone object.
Get info on changes to values in the fields to a contact point’s phone number
Use the new ContactPointPhoneHistory object.
Get info on rules for sharing a ContactPointPhone object with users other than the owner
Use the new ContactPointPhoneOwnerSharingRule object.
Get info on the list of access levels to a contact point’s phone number
Use the new ContactPointPhoneShare object.
Support end user use of Einstein Voice Assistant
AssistantText, AssistantResolvedContextItem, and AssistantTextRange objects are for internal use
only.

Sales
Learn about one of your sales cadences, including its name, ID, description, and state.
Use the new ActionCadence object.
Learn which steps belong to a sales cadence, and how the steps are connected to each other.
Use the new ActionCadenceStep object.
Learn about a branch step, including its logic and what the next step is.
Use the new ActionCadenceRule object.
Learn what the logical operator is for a branch step.
Use the new ActionCadenceRuleCondition object.
Learn about an active sales cadence, including the state, current step, assigned prospect, and reason for completion.
Use the new ActionCadenceTracker object.
Learn about the currently active step in your sales cadence.
Use the new ActionCadenceStepTracker object to find information such as the step's state, completion reason, type, and assigned
prospect.
Learn whether a sales cadence automated email step is in the send queue.
Use the new Queued value for the State field on the ActionCadenceStepTracker object.
Learn which sales cadence a lead is assigned to.
Use the new ActionCadenceId field on the Lead object.
Learn which user is the target assignee of a prospect in a sales cadence.
Use the new ActionCadenceAssigneeId field on the Lead object.
Learn when the first call was placed to a lead.
Use the new FirstCallDateTime field on the Lead object.
Learn when the first email was sent to a lead.
Use the new FirstEmailDateTime field on the Lead object.
Create and distribute object calendars
Use the new CalendarView object to view, create, and distribute object calendars for your users.
Get info on call scripts that users read when making calls
Use the new CallTemplate object.

557
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

See when enhanced notes were last modified


Use the new ContentModifiedDate field on the ContentNote object.
Assign tasks to a queue
Use the new Group ID value for the existing OwnerId field on the Task object. The queue’s Group ID is also available as a read-only
value on the OpenActivity, ActivityHistory, and LookedUpFromActivity objects.
Get info on the list of work items in the My Feed tab for High Velocity Sales users
Use the new UserWorkList object.
Get info on individual work items in the My Feed tab for High Velocity Sales users
Use the new UserWorkListItem object.
Store information about the legal entities that an organization comprises
Use the new LegalEntity object.
See when the first call was placed to a contact.
Use the new FirstCallDateTime field on the Contact object.
See when the first email was sent to a contact.
Use the new FirstEmailDateTime field on the Contact object.

Salesforce Einstein
Five New Fields in the AIInsightReason Object
• FeatureType
• FeatureValue
• FieldName
• FieldValue
• Operator
See the Object Reference for Salesforce and Lightning Platform for additional details.
BEHAVIOR CHANGE: Pardot and High Velocity Sales no longer have access to Sales Cloud Einstein objects
If you use Pardot or High Velocity Sales but don't use Sales Cloud Einstein, you no longer have access to the following Sales Cloud
Einstein objects: AccountInsight, ContactSuggestionInsight, OpportunityInsights, OpportunityContactRoleSuggestionInsight,
SalesAIScoreCycle, SalesAIScoreModelFactor. If you have stored metadata or APEX code that expects access to Sales Cloud Einstein
objects, you could see a regression.
REMOVED: Fields were removed from the OpportunityContactRoleSuggestionInsight object
The ContactTitle, Email, FirstName, LastName, and Phone fields are no longer available on the
OpportunityContactRoleSuggestionInsight object.

Salesforce Surveys
Associate Financial Services Cloud object records with survey invitations and responses
Use the new BusinessMilestone, Claim, ClaimParticipant, InsurancePolicy,
InsurancePolicyParticipant, PersonalLifeEvent, and Producer picklist values on the
SubjectEntityType field in the SurveySubject object.

Service
Automatically minimize the Omni-Channel widget when agents accept work
Use the new DoesMinimizeWidgetOnAccept field on the existing ServiceChannel object.

558
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Represent a secondary routing priority field-value mapping


Use the new ServiceChannelFieldPriority object. Introduced in API version 47.0, this type has been added to the Omni-Channel
Developer Guide.
Specify the field used for secondary routing priority
Use the new SecRoutingPriorityField field on the existing ServiceChannel object. Introduced in API version 47.0, this
type has been added to the Omni-Channel Developer Guide.
Indicate the secondary routing priority so that work is routed by secondary priority and shown in the correct order in the
Omni-Channel widget
Use the new SecondaryRoutingPriority field on the existing AgentWork object. Introduced in API version 47.0, this type
has been added to the Omni-Channel Developer Guide.
Log Messaging conversation entry end times
Use the new EntryEndTime field on the existing ConversationEntry object.
Configure the consent framework for your Messaging channels
Use the new MsgChannelLanguageKeyword object.
Add new consent requirements to your Messaging channels
Use the new ConsentType, DoubleOptInPrompt, IsRequireDoubleOptIn, and OptInPrompt fields on the
existing Messaging Channel object. The OptInResponse and OptOutResponse fields are available until API version 48.0.
Ensure that your Messaging users have consented to receiving messages
Use the new IsFullyOptedIn, IsoCountryCode, and MessagingConsentStatus fields on the existing
MessagingEndUser object.
Log Messaging sessions that weren't assigned to an agent or bot
Use the new supported value System in the existing AgentType field on the MessagingSession object.
Prevent cross-site scripting (XSS) and other code injection attacks when accessing third-party APIs.
Use the CspTrustedSite object.

Field Service (Lightning)


Record the status of the digital tracking of an asset
Use picklist options On, Off, Warning, and Error for the DigitalAssetStatus of the Asset object.

Chatter
Edit subject data for direct message conversations
Use the DirectMessage object. Introduced in API version 38.0, this object has been added to the Object Reference for Salesforce and
Lightning Platform.

Event Monitoring
Determine if an Apex request is counted as long-running in the EventLogFile
Use the new IS_LONG_RUNNING_REQUEST field of the Apex Execution event type.
Distinguish Bulk API and Bulk API 2.0 calls in Apex Execution event types in the EventLogFile
Events for Apex calls to Bulk API and Bulk API 2.0 are now designated with quiddity “B” instead of “R” (synchronous uncategorized).
For details on the QUIDDITY field, see EventLogFile and Apex Execution Event Type in the Object Reference.

559
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Field Service Lightning


REMOVED: Feature to create work type-based scheduling limits retired
These objects are no longer available: WorkCapacityLimit, WorkCapacityUsage, and
ServiceAppointmentCapacityUsage.

Lightning Flow
Get information about the context that a flow runs in
Use the new runInMode field on the FlowVersionView object.

Security, Privacy, and Identity


Apply the selected Request Signature Method (RSM) during single logout
Use the new OptionsUseConfigRequestMethod field on the SamlSsoConfig object.
View the context under which a Setup change was made
Use the new CreatedByContext field on the SetupAuditTrail object.
Select Apple as a third-party authentication provider
Select the new Apple value in the existing ProviderType field on the AuthProvider object. After selecting Apple as a third-party
authentication provider, specify values for the new AppleTeam and EcKey fields on the AuthProvider object.
Manage a customer’s preferences for a specific communication
Use the new CommSubscription object.
Specify the engagement channels through which you can reach a customer for a communication subscription
Use the new CommSubscriptionChannelType object.
Get info on the feed activity of a communication subscription channel type record
Use the new CommSubscriptionChannelTypeFeed object.
Get info on the changes to values in the fields of a communication subscription channel type record
Use the new CommSubscriptionChannelTypeHistory object.
Get info on rules for sharing a communication subscription channel type object with users other than the owner
Use the new CommSubscriptionChannelTypeOwnerSharingRule object.
Get info on the list of access levels to a communication subscription channel type record
Use the new CommSubscriptionChannelTypeShare object.
Store your customer’s consent to a communication subscription
Use the new CommSubscriptionConsent object.
Get info on the feed activity of a communication subscription consent record
Use the new CommSubscriptionConsentFeed object.
Get info on the changes to values in the fields of a communication subscription consent record
Use the new CommSubscriptionConsentHistory object.
Get info on rules for sharing a communication subscription consent object with users other than the owner
Use the new CommSubscriptionConsentOwnerSharingRule object.
Get info on the list of access levels to a communication subscription consent record
Use the new CommSubscriptionConsentShare object.
Get info on the feed activity of a communication subscription record
Use the new CommSubscriptionFeed object.

560
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Get info on the changes to values in the fields of a communication subscription record
Use the new CommSubscriptionHistory object.
Get info on rules for sharing a communication subscription object with users other than the owner
Use the new CommSubscriptionOwnerSharingRule object.
Get info on the list of access levels to a communication subscription record
Use the new CommSubscriptionShare object.
Store your customer’s timing preferences for receiving a communication subscription
Use the new CommSubscriptionTiming object.
Get info on the feed activity of a communication subscription timing record
Use the new CommSubscriptionTimingFeed object.
Get info on the changes to values in the fields of a communication subscription timing record
Use the new CommSubscriptionTimingHistory object.
Store a customer’s consent to be contacted via a contact point
Use the new ContactPointConsent object.
Get info on the changes to values in the fields of a contact point consent record
Use the new ContactPointConsentHistory object.
Get info on rules for sharing a contact point consent object with users other than the owner
Use the new ContactPointConsentOwnerSharingRule object.
Get info on the list of access levels to a contact point consent record
Use the new ContactPointConsentShare object.
Indicate a channel on which a customer can be reached for communication
Use the new EngagementChannelType object.
Get info on the feed activity of an engagement channel type record
Use the new EngagementChannelTypeFeed object.
Get info on the changes to values in the fields of an engagement channel type record
Use the new EngagementChannelTypeHistory object.
Get info on rules for sharing an engagement channel type object with users other than the owner
Use the new EngagementChannelTypeOwnerSharingRule object.
Get info on the list of access levels to an engagement channel type record
Use the new EngagementChannelTypeShare object.
Manage privacy consent settings for an Individual
Use the new PartyConsent object.
Get info on the feed activity of a party consent record
Use the new PartyConsentFeed object.
Get info on the changes to values in the fields of a party consent record
Use the new PartyConsentHistory object.
Get info on rules for sharing a party consent object with users other than the owner
Use the new PartyConsentOwnerSharingRule object.
Get info on the list of access levels to a party consent record
Use the new PartyConsentShare object
Whitelist trusted URLs that users can navigate to without being shown a warning message
Use the new RedirectWhitelistUrl object.

561
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Commerce Orders
Get information on adjustments that were applied to the order
Use the new OrderAdjustmentGroup object.
Organize order items that share a payment method and delivery address
Use the new OrderDeliveryGroup object.
Get information on the customizations that a buyer requested for their order
Use the new OrderDeliveryMethod object.
Get information on an adjustment made to the order item
Use the new OrderItemAdjustmentLineItem object.
Get information on tax applied to an order item
Use the new OrderItemTaxLineItem object.

Commerce Payments
Get information on customer card payment methods
Use the new CardPaymentMethod object.
Get information on customer payments
Use the new Payment object.
Get information on payment events where users captured or reversed a payment against a reserve of funds
Use the new PaymentAuthorization object to store information on reversed or captured payments.
Set up connections to an external payment gateway
Use the new PaymentGateway object.
Get information on communications made between the Salesforce payments platform and an external payment gateway
Use the new PaymentGatewayLog object.
Define the connection to a payment gateway adapter APEX class
Use the new PaymentGatewayProvider object to set up your payment gateway connections.
Organize payment transactions that have been processed against an order or contract
Use the new PaymentGroup object.
Get information on payments allocated to or unallocated from an invoice
Use the new PaymentLineInvoice object.
Store credit card details for a customer and pass them to the payment gateway during payment processing
Use the new PaymentMethod object.
Get information on refunds made against a payment
Use the new Refund object.
Get information on refund lines applied to payments
Use the new RefundLinePayment object.

Order Management
Trigger actions when the Status field on a FulfillmentOrder object changes
Use the new FOStatusChangedEvent object.
Manage and track the order fulfillment workflow
Use the new FulfillmentOrder object.

562
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Get information about adjustments made to fulfillment order items


Use the new FulfillmentOrderItemAdjustment object.
Get information about tax on fulfillment order items
Use the new FulfillmentOrderItemTax object.
Get information about items in fulfillment orders
Use the new FulfillmentOrderLineItem object.
Get information about adjustments made to order summaries
Use the new OrderAdjustmentGroupSummary object.
Get information about order item summaries that share a delivery method and recipient
Use the new OrderDeliveryGroupSummary object.
Get information about adjustments made to order item summaries
Use the new OrderItemAdjustmentLineSummary object.
Get information about products in order summaries
Use the new OrderItemSummary object.
Get information about changes requested or made on order item summaries
Use the new OrderItemSummaryChange object.
Get information about tax on order item summaries
Use the new OrderItemTaxLineItemSummary object.
Get information about payments associated with order summaries
Use the new OrderPaymentSummary object.
Manage and track the order summary workflow
Use the new OrderSummary object.
Trigger actions when OrderSummary objects are created
Use the new OrderSummaryCreatedEvent object.
Trigger actions when the Status field on an OrderSummary object changes
Use the new OrderSumStatusChangedEvent object.
Get information on a sales channel
Use the new SalesChannel object.

Site
Specify an owner for records created by [Link] guest users
Use the GuestRecordDefaultOwnerId field to specify an active user in your Salesforce org as the owner of records created
by guest and unauthenticated users of your [Link] site.

Analytics
Query and create auto install requests for Analytics applications
Use the WaveAutoInstallRequest object. Introduced in API version 43.0, this object has been added to the Object Reference.

New and Changed Standard Platform Events


Receive real-time notifications from Salesforce by subscribing to the channels of these new and changed standard platform events.

563
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Salesforce Order Management


Start a process, resume a flow, or be notified when a fulfillment order’s status changes
Subscribe to the new FOStatusChangedEvent. This event is part of Salesforce Order Management.
Start a process, resume a flow, or be notified when an order summary is created
Subscribe to the new OrderSummaryCreatedEvent. This event is part of Salesforce Order Management.
Start a process, resume a flow, or be notified when an order summary’s status changes
Subscribe to the new OrderSumStatusChangedEvent. This event is part of Salesforce Order Management.

Customization
Get more details in notifications about screen flow runtime errors
Use these new fields of the FlowExecutionErrorEvent event object: ContextObject, ContextRecordId, FlowVersionNumber, and
InterviewStartedById.
BEHAVIOR CHANGE: These existing fields of the FlowExecutionErrorEvent event object now always contain values: EventType,
FlowApiName, InterviewGuid, and InterviewStartDate. Previously, the fields were nillable.

Security and Identity


Track anomalies in how users run or export reports
Use the new ReportAnomalyEvent (Beta) event and ReportAnomalyEventStore (Beta) object. These objects are part of Real-Time
Event Monitoring.
Track when unauthorized users try to hijack Salesforce sessions
Use the new SessionHijackingEvent (Beta) event and SessionHijackingEventStore (Beta) object. These objects are part of Real-Time
Event Monitoring.
Track when unauthorized users try to access Salesforce through large-scale automated login requests using stolen user
credentials
Use the new CredentialStuffingEvent (Beta) event and CredentialStuffingEventStore (Beta) object. These objects are part of Real-Time
Event Monitoring.
SUPPORT CHANGE: The SessionLevel field of the LightningUriEvent and LightningUriEventStream event objects is now
supported
The SessionLevel field was reserved for future use in Winter ’20. The LightningUriEvent and LightningUriEventStream event objects
are part of Real-Time Event Monitoring.

SOQL
Salesforce Object Query Language (SOQL) includes changes to limits and calls

Changed Limits
Use longer SOQL queries
The maximum length of SOQL statements has been increased from 20,000 to 100,000.
Use more relationships in queries
The maximum number of child-to-parent relationships in a query has been increased from 35 to 55.

564
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Changed Calls
Select items based on visibility
Use the new RecordVisibilityContext clause to filter WITH queries.

SOSL
Salesforce Object Search Language (SOSL) includes changes to limits.

Changed Limits
Use longer SOSL queries
The maximum length of SOSL statements has been increased from 20,000 to 100,000.

REST API
REST API includes new, changed, and deprecated resources.

Customization
Custom Invocable Actions
The describe response body has one new property, category, which specifies the category of a custom invocable action. This
change affects Apex actions.

Development
BEHAVIOR CHANGE: Get your platform event entitlement based on your contract start date
If you have a high-volume platform event add-on license, use the new MonthlyPlatformEventsUsageEntitlement
value in the limits REST API resource. This new value returns the CometD client delivery usage based on your contract start date.
This value is more accurate than the MonthlyPlatformEvents value in previous API versions, which was based on the first
of the month. MonthlyPlatformEventsUsageEntitlement replaces MonthlyPlatformEvents in API version
48.0 and later.
Make a GET request to /services/data/v48.0/limits to obtain the
MonthlyPlatformEventsUsageEntitlement value.

Lightning Scheduler
Get appointment slots for multi-resource scheduling specifying a primary resource
Use primaryResourceId to specify the primary resource in multi-resource scheduling.
BEHAVIOUR CHANGE: Get appointment slots with skill matching for single- and multi-resource scheduling
Make a GET request to /services/data/v48.0/scheduling/getAppointmentSlots to obtain these values.

Salesforce Surveys
Get the translation of a survey field in a particular language
Use /services/data/vXX.X/localizedvalue/record/developerName/language to get the translated
value of a survey field for the language you specify in the call.
Add or change the translation for a survey field
Use /services/data/vXX.X/localizedvalue/record/ to post the translated value of a survey field or update its
translated value.

565
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Delete the translation of a survey field


Use /services/data/vXX.X/localizedvalue/record/developerName/language to delete the translated
value of a particular flow field for the language you specify.
Get the translated values of multiple survey fields
Use /services/data/vXX.X/localizedvalue/records/get to get the translated values of multiple flow fields
for one or more languages.
Add or update the translated value of multiple survey fields
Use /services/data/vXX.X/localizedvalue/records/upsert to post the translated values of multiple flow
fields or update the translated values in one or more languages.
Delete the translated values of multiple survey fields
Use /services/data/vXX.X/localizedvalue/records/delete to delete the translated values of multiple flow
fields for one or more languages.

Search
Search for Dynamic Fields in Autocomplete and Instant Results
Use dynamicFields to return additional dynamic fields. For example, if dynamicFields=secondaryField then each
suggested record in the results contains an extra field besides Id and Name (or Title) based on the next eligible field in the
search layout.

New, Changed, and Deprecated Calls


These calls are new, changed, or deprecated in API version 48.0.

Changed Calls
Improve the performance of Composite requests
Use the new collateSubrequests field when creating Composite requests (vXX.X/composite). When this field is set
to true, the API collates and bulkifies unrelated subrequests to increase processing speed. (If you need to control the order of
execution of the subrequests, set this to false, which is the default.)

Chatter REST API


Integrate mobile apps, intranet sites, and third-party web applications with Salesforce using Chatter REST API. Personalization is generally
available, and you can now get audience information for a batch of audiences. Search managed content in a community or channel.
Increase view counts on knowledge articles.

Note: To create custom Chatter and communities experiences in Salesforce, use ConnectApi (Chatter in Apex): New and Changed
Classes and Enums.

IN THIS SECTION:
New and Changed Chatter REST API Resources
These resources are new and changed.
New and Changed Chatter REST API Request Bodies
These request bodies are new or have changes.
New and Changed Chatter REST API Response Bodies
These response bodies are new or have changes.

566
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

New and Changed Chatter REST API Resources


These resources are new and changed.

Commerce Payments
Note: To access Commerce Payments resources, you need the following permissions.
• Salesforce Order Management License.
• PaymentsAPIUser user permission. This permission is available with the Salesforce Order Management License. Your Salesforce
admin assigns it to your user profile.
• PaymentsAPIAccess org permission. Users should request this permission by logging a ticket with Salesforce Tier 3 Support.

Payment Authorization, Capture


Make a POST request to /commerce/payments/authorizations/authorizationId/capture with the new
Capture Input request body.
Payment, Create Refund
Make a POST request to /commerce/payments/payments/paymentId/refund with the new Referenced Refund
Input request body.

Files
Retiring support for Adobe Flash renditions
In Summer ’20, the /connect/files/fileId/rendition resource stops creating Adobe Flash renditions by default. In
Winter ’21, the resource no longer returns Adobe Flash renditions. Start using the
/connect/files/fileId/previews/previewFormat resource to get an SVG rendition.

Knowledge
Increase the view count of a knowledge article by one
Make a PATCH request to /connect/knowledge/article/view-stat with the new Knowledge Article View Stat Input
request body or with the articleOrVersionId request parameter.

Lightning Scheduler
Create service appointments
Make a POST request to /connect/scheduling/service-appointments to create a service appointment for an
account, asset, lead, opportunity, work order, or work order line item. This method also assigns a service resource to the appointment
and creates a lead record for guest users.
Get service territories using WorkType
Make a GET request to /connect/scheduling/service-territories to get service territories using WorkType
or WorkTypeGroup.

Managed Content
Search managed content in a community
Make a GET request to
/connect/communities/communityId/managed-content/delivery/contents/search with the
queryTerm request parameter.

567
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Search managed content in a channel


Make a GET request to /connect/cms/delivery/channels/channelId/contents/search with the queryTerm
request parameter.
Get managed content delivery channels for the context user (beta)

Note: As a beta feature, this API is a preview and isn’t part of the “Services” under your master subscription agreement with
Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available
products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at
all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as is
and isn’t supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions,
Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and
Content apply equally to your use of this feature.
Make a GET request to /connect/cms/delivery/channels.
Get published managed content versions for a channel (beta)
Make a GET request to /connect/cms/delivery/channels/channelId/contents/query. Set the required
managedContentType parameter to the developer name of the content version.

Order Management
Note: To access Order Management resources, you need a Salesforce Order Management license.

Cancel an item from a FulfillmentOrder


Make a POST request to
/commerce/fulfillment/fulfillment-orders/fulfillmentOrderId/actions/cancel-item with
the new Fulfillment Order Line Items to Cancel Input request body.
Create a credit memo for an OrderSummary
Make a POST request to
/commerce/order-management/order-summaries/orderSummaryId/actions/create-credit-memo
with the new Create Credit Memo Input request body.
Create FulfillmentOrders
Make a POST request to /commerce/fulfillment/fulfillment-orders with the new Fulfillment Order Input request
body.
Create an invoice for a FulfillmentOrder
Make a POST request to
/commerce/fulfillment/fulfillment-orders/fulfillmentOrderId/actions/create-invoice
with the new Fulfillment Order Invoice Input request body.
Create an OrderPaymentSummary for an OrderSummary
Make a POST request to /commerce/order-management/order-payment-summaries with the new Create Order
Payment Summary Input request body.
Create an OrderSummary
Make a POST request to /commerce/order-management/order-summaries with the new Order Summary Input
request body.
Ensure funds or capture payment for an invoice
Make a POST request to
/commerce/order-management/order-summaries/orderSummaryId/async-actions/ensure-funds-async
with the new Ensure Funds Async Input request body.

568
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Ensure refunds for a credit memo


Make a POST request to
/commerce/order-management/order-summaries/orderSummaryId/async-actions/ensure-refunds-async
with the new Ensure Refunds Async Input request body.
Preview the expected results of a cancel products action on an OrderSummary
Make a POST request to
/commerce/order-management/order-summaries/orderSummaryId/actions/preview-cancel with
the new Change Input request body.
Preview the expected results of a return products action on an OrderSummary
Make a POST request to
/commerce/order-management/order-summaries/orderSummaryId/actions/preview-return with
the new Change Input request body.
Cancel products from an OrderSummary
Make a POST request to
/commerce/order-management/order-summaries/orderSummaryId/actions/submit-cancel with
the new Change Input request body.
Return products from an OrderSummary
Make a POST request to
/commerce/order-management/order-summaries/orderSummaryId/actions/submit-return with
the new Change Input request body.

Personalization (Generally Available)


Get audience information for a comma-separated list of audience IDs
Make a GET request to
/connect/communities/communityId/personalization/audiences/batch/audienceIds.

New and Changed Chatter REST API Request Bodies


These request bodies are new or have changes.

Commerce Payments
Capture Input
This new request body has these properties.
• accountId—ID of the account that must be linked to this capture request.
• additionalData—Allows users to enter additional data, if needed for a payment request. The additionalData object consists
of entries, each of which includes a key and value. Supports up to five key-value pairs. Each key and each value can contain up
to 255 characters.
• amount—Amount that must be captured from the previous authorization.
• comments—Comments for payment capture.
• effectiveDate—The date that the payment becomes effective.
• email—Email of the client that initiated the request.
• idempotencyKey—Idempotency key used for the payment request. Can be provided in the payload or the header, but not
in both places at once.
• ipAddress—IP address of the client from which the request is made.

569
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• macAddress—MAC address of the client from which the request is made.


• paymentGroup—Payment group details associated with the payment request.
• phone—Phone of the client that initiated the request.
Payment Group Input
This new request body has these properties.
• createPaymentGroup—Flag to indicate if Payment Group needs to be created.
• currencyIsoCode—Must match the payment’s currencyIsoCode. In single currency orgs, must also match the org’s
default currency.
• Id—If ID has a value, the payment capture is using an active PaymentGroup. If ID is null and other parameters have values, the
payment capture creates a new payment group. If a payment group ID exists, currencyIsoCode and sourceObjectId
parameters must be null, and createPaymentGroup can be absent or false.
• sourceObjectId—Order object ID for linking an order to a payment group.
Referenced Refund Input
This new request body has these properties.
• accountId—Reference to Account.
• amount—Refund amount.
• comments—Comments for refund.
• effectiveDate—Date that the refund amount becomes effective against the target payment or payment line.
• email—Email of the client who initiated the request.
• idempotencyKey—Idempotency key used for the payment request. Can be provided in the payload or the header, but not
in both places at once.
• ipAddress—IP address of the client who initiated the request.
• macAddress—MAC address of the client who initiated the request.
• paymentGroup—Payment group associated with the refund.
• phone—Phone number of the client who initiated the request.

Knowledge
Knowledge Article View Stat Input
This new request body has this property.
• articleOrVersionId—ID of the knowledge article or knowledge article version to increase the view count by one.

Lightning Scheduler
Assigned Resource Input
This new request body has these properties.
• extendedFields—Custom fields.
• isPrimaryResource—Indicates whether the assigned resource is the primary resource. For multi-resource appointments,
only one resource can be a primary resource.
• isRequiredResource—Indicates whether the assigned resource is a required resource.
• serviceResourceId—Resource who is assigned to the service appointment.
Extended Fields Input
This new request body has these properties.

570
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• name—Name of the custom field.


• value—Value of the custom field.
Lead Input
This new request body has these properties.
• company—Lead’s company.
• email—Lead’s email address.
• extendedFields—Custom fields.
• firstName—Lead’s first name.
• lastName—Lead’s last name.
• phone—Lead’s phone number.
Service Appointment Input
This new request body has these properties.
• additionalInformation—Additional information about the service appointment.
• appointmentType—Represents the type of appointment.
• city—City where the appointment is completed.
• comments—Comments about the appointment.
• contactId—Contact associated with the parent record.
• country—Country where the appointment is completed.
• description—Description of the appointment.
• extendedFields—Custom fields.
• parentRecordId—Parent record associated with the appointment.
• postalCode—Postal code where the appointment is completed.
• schedEndTime—Time at which the appointment is scheduled to end.
• schedStartTime—Time at which the appointment is scheduled to start.
• serviceTerritoryId—Service territory associated with the appointment.
• state—State where the service appointment is completed.
• street—Street number and name where the service appointment is completed.
• subject—Short phrase describing the appointment.
• workTypeId—Work type associated with the service appointment. If specified, it is added to the service appointment record.
Service Appointments Input
This new request body has these properties.
• assignedResources—Service resource who is assigned to a service appointment.
• lead—Prospect or lead.
• schedulingPolicyId—The ID of the AppointmentSchedulingPolicy object. If no scheduling policy is passed
in the request body, the default configurations are used. The only scheduling policy configuration that is used in determining
time slots is the enforcement of account visiting hours,
• serviceAppointment—Appointment to complete a service work for a customer.

571
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Order Management
Change Input
This new request body has the following property.
• changeItems—List of changes to OrderItemSummaries.
Change Item Input
This new request body has the following properties.
• orderItemSummaryId—ID of the OrderItemSummary.
• quantity—Quantity to change. Use a positive value. For example, a value of 2 means “cancel or return 2 units.”
• reason—Reason for the change. The value must match one of the picklist values on the Reason field of the
OrderItemSummaryChange object.
• shippingReductionFlag—Specifies whether to prorate the shipping charge.
Create Credit Memo Input
This new request body has the following property.
• changeOrderIds—List of IDs of the change orders.
Create Order Payment Summary Input
This new request body has the following properties.
• orderSummaryId—ID of the OrderSummary.
• paymentAuthorizationId—ID of the payment authorization.
• paymentIds—List of IDs of the payments.
Ensure Funds Async Input
This new request body has the following property.
• invoiceId—ID of the invoice.
Ensure Refunds Async Input
This new request body has the following property.
• creditMemoId—ID of the credit memo.
Fulfillment Group Input
This new request body has the following properties.
• fulfilledFromLocationId—ID of the fulfillment location.
• fulfillmentType—Fulfillment type. One of the Type field values defined for FulfillmentOrders.
• orderItemSummaries—List of OrderItemSummaries.
Fulfillment Order Input
This new request body has the following properties.
• fulfillmentGroups—List of fulfillment groups that specify the OrderItemSummaries and fulfillment locations.
• orderDeliveryGroupSummaryId—ID of the OrderDeliveryGroupSummary.
• orderSummaryId—ID of the OrderSummary.
Fulfillment Order Invoice Input
This new request body has no properties.
Fulfillment Order Line Item Input
This new request body has the following properties.
• fulfillmentOrderLineItemId—ID of the FulfillmentOrderLineItem.

572
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• quantity—Quantity to cancel.
Fulfillment Order Line Items To Cancel Input
This new request body has the following property.
• fulfillmentOrderLineItemsToCancel—List of FulfillmentOrderLineItems and quantities.
Order Item Summary Input
This new request body has the following properties.
• orderItemSummaryId—ID of the OrderItemSummary.
• quantity—Quantity to include.
Order Summary Input
This new request body has the following property.
• orderId—ID of the original order.

Personalization (Generally Available)


Audience Criterion Input
This request body has this change.
• criterion—The type of this property changed to Audience Criteria Value Input.
Audience Criterion Value Input
This new request body has these properties.
• city—City of a user.
• country—Country of a user.
• domainId—Domain ID of a user.
• entityField—Field of an object.
• entityType—Type of object.
• fieldValue—Value of a field.
• isEnabled—Specifies whether the permission is enabled (true) or not (false) for a user.
• permission—Valid API name of a standard user or custom permission.
• profileId—Profile ID of a user.
• subdivision—Subdivision of a user.

New and Changed Chatter REST API Response Bodies


These response bodies are new or have changes.

Commerce Payments
Capture Output
This new response body has these properties.
• error—Error response representation for capture.
• gatewayResponse—Gateway log response containing details about gateway logs created during the processing of the
capture request.
• payment—Payment response object for the capture request. Contains the information related to a payment object created
during request processing.

573
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• paymentGatewayLogs—Payment gateway log response containing details of the PaymentGatewayLog entity records
created during the processing of the capture request.
• paymentGroup—Contains details related to the payment group record.
Gateway Log Output
This new response body has these properties.
• createdDate—Date indicating when the gateway log was created.
• gatewayResultCode—The gateway sends result codes to show the status of a transaction as it is passed to the financial
institution and then returned to the client.
• id—ID of the gateway log record.
• interactionStatus—Gateway interaction status. Current supported values are SUCCESS, FAILED, or TIMEOUT.
Payment Group Output
This new response body has these properties.
• currencyIsoCode—Three-letter ISO 4217 currency code associated with the payment group record.
• id—ID of the payment group record.
• sourceObjectId—Source object ID of the Payment group record. Supports only OrderId.
Payment Output
This new response body has these properties.
• accountId—ID of the account related the payment record.
• amount—Total amount of the payment transaction performed in the payment request.
• currencyIsoCode—Three-letter ISO 4217 currency code associated with the payment output.
• effectiveDate—Date that the payment becomes effective.
• id—ID of the payment record.
• paymentNumber—Number of the payment record created as a result of the request processing.
• requestDate—Date when the payment transaction occurred.
• status—Status of the payment new payment entity record.
Referenced Refund Service Output
This new response body has these properties.
• error—Error response representation for refund.
• gatewayResponse—Gateway response received for the refund request processed.
• paymentGatewayLogs—Gateway log collection representation for refund.
• paymentGroup—Payment group associated with refund.
• paymentRefund—Refund response representation.
Refund Gateway Response Output
This new response body has these properties.
• gatewayAvsCode—Code sent by gateways that use an address verification system.
• gatewayDate—The date and time that of the gateway communication that lead to the creation of this gateway log.
• gatewayMessage—Information or error messages sent from the gateway.
• gatewayReferenceDetails—Gateway reference details.
• gatewayReferenceNumber—Unique transaction ID created by the payment gateway.
• gatewayResultCode—Gateway-specific result code. Must be mapped to a Salesforce-specific result code.

574
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• gatewayResultCodeDescription—Description of the gateway’s result code.


• salesforceResultCode—Salesforce-specific result code that can map to one or more gateway result codes.
Refund Output
This new response body has these properties.
• accountId—ID of the account related to the refund record.
• amount—Total amount of the refund transaction performed in the payment request.
• currencyIsoCode—Three-letter ISO 4217 currency code associated with the refund service output.
• effectiveDate—Date that the refund becomes effective.
• id—ID of the Refund record.
• refundNumber—Number of the refund record that was created as a result of the request processing.
• requestDate—Date when the refund occurred.
• status—Indicates the results of processing the refund transaction in the gateway.

Lightning Scheduler
Service Appointment Output
This new response body has this property.
• result—Result of the POST method.
Service Appointment Result
This new response body has these properties.
• assignedResourceIds—IDs of the assigned resources
• parentRecordId—ID of the parent record.
• serviceAppointmentId—ID of the service appointment created.
Service Territories List Result
This new response body has this property.
• serviceTerritories—List of service territories.
Service Territories Output
This new response body has this property.
• result—Result of the GET method.
Service Territories Result
This new response body has these properties.
• city—Service territory city.
• country—Service territory country.
• id—ID of the service territory.
• latitude—Latitude of the service territory.
• longitude—Longitude of the service territory.
• name—Name of the service territory.
• operatingHoursId—ID of the service territory operatingHours record.
• postalCode—Service territory postal code.
• state—Service territory state.
• street—Service territory street.

575
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Managed Content
Managed Content Channel (Beta)
This new response body has these properties.
• channelId—ID of the managed content channel.
• channelName—Name of the managed content channel.
• channelType—Type of managed content channel. Values are:
– CloudToCloud
– Community
– ConnectedApp

• isChannelSearchable—Specifies whether the text contents of the channel are searchable (true) or not (false).
Managed Content Channel Collection (Beta)
This new response body has these properties.
• channels—List of managed content channels.
• currentPageUrl—Chatter REST API URL identifying the current page.
• nextPageUrl—Chatter REST API URL identifying the next page, or null if there isn’t a next page.
• previousPageUrl—Chatter REST API URL identifying the previous page, or null if there isn’t a previous page.
• totalChannels—Total number of managed content channels.
Managed Content Date and Time Node Value
This new response body has these properties.
• dateTimeValue—UTC date and time value of the managed content node.
• nodeType—Type of managed content node. Value is DateTime.
• timeZone—Time zone in which the date and time is authored.
Managed Content Date Node Value
This new response body has these properties.
• nodeType—Type of managed content node. Value is Date.
• value—Date value of the managed content node.
Managed Content Media Node Value
This response body has these new properties.
• fileName—File name of the managed content node.
• resourceUrl—Resource URL of the asset file.
• unauthenticatedUrl—Unauthenticated URL of the asset file or null if the asset file isn’t visible to external users.
Managed Content Search Result
This new response body has these properties.
• contentType—Content type of the managed content.
• id—ID of the managed content.
• publishDate—Publish date of the managed content.
• title—Title of the managed content.
• urlName—URL name of the managed content version.
Managed Content Search Result Collection
This new response body has these properties.

576
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• count—Total number of search results.


• currentPageUri—Chatter REST API URL identifying the current page.
• items—Collection of search results.
• nextPageUri—Chatter REST API URL identifying the next page, or null if there isn’t a next page.
Managed Content Search Result Content Type
This new response body has these properties.
• developerName—Developer name of the managed content type.
• label—Label of the managed content type.
Managed Content Version
This response body has these new and changed properties.
• contentNodes—This property’s type now supports maps of Managed Content Date and Time Node Value and Managed
Content Date Node Value.
• contentUrlName—Content URL name of the managed content version.
• language—Language of the managed content version.

Order Management
Change Item Output
This new response body has the following properties.
• grandTotalAmount—Change to the GrandTotalAmount field.
• totalAdjustedDeliveryAmount—Change to the TotalAdjustedDeliveryAmount field.
• totalAdjustedDeliveryTaxAmount—Change to the TotalAdjustedDeliveryTaxAmount field.
• totalAdjustedProductAmount—Change to the TotalAdjustedProductAmount field.
• totalAdjustedProductTaxAmount—Change to the TotalAdjustedProductTaxAmount field.
• totalAdjustmentDistributedAmount—Change to the TotalAdjustmentDistributedAmount field.
• totalAdjustmentDistributedTaxAmount—Change to the TotalAdjustmentDistributedTaxAmount field.
• totalAmount—Change to the TotalAmount field.
• totalExcessFundsAmount—The amount of excess funds available on the OrderPaymentSummaries related to the
OrderSummary.
• totalRefundableAmount—The total amount available to be refunded. It is the sum of the totalExcessFundsAmount
field and the portion of the grandTotalAmount field that applies to post-fulfillment changes.
• totalTaxAmount—Change to the TotalTaxAmount field.
Create Credit Memo Output
This new response body has the following property.
• creditMemoId—ID of the created Credit Memo.
• errors—Any errors that were returned.
• success—Indicates whether the transaction was successful.
Create Order Payment Summary Output
This new response body has the following property.
• errors—Any errors that were returned.
• orderPaymentSummaryId—ID of the Order Payment Summary.

577
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• success—Indicates whether the transaction was successful.


Ensure Funds Async Output
This new response body has the following property.
• backgroundOperationId—ID of the background operation.
• errors—Any errors that were returned.
• success—Indicates whether the transaction was successful.
Ensure Refunds Async Output
This new response body has the following property.
• backgroundOperationId—ID of the background operation.
• errors—Any errors that were returned.
• success—Indicates whether the transaction was successful.
Fulfillment Order Cancel Line Items Output
This new response body has the following properties.
• errors—Any errors that were returned.
• success—Indicates whether the transaction was successful.
Fulfillment Order Invoice Output
This new response body has the following property.
• errors—Any errors that were returned.
• invoiceId—ID of the created invoice.
• success—Indicates whether the transaction was successful.
Fulfillment Order Output
This new response body has the following property.
• errors—Any errors that were returned.
• fulfillmentOrderIds—A list of IDs of created Fulfillment Orders.
• success—Indicates whether the transaction was successful.
Order Summary Output
This new response body has the following property.
• errors—Any errors that were returned.
• orderSummaryId—ID of the Order Summary.
• success—Indicates whether the transaction was successful.
Preview Cancel Output
This new response body has the following properties.
• changeBalances—Expected change order financial values for the cancel action.
• errors—Any errors that were returned.
• orderSummaryId—ID of the OrderSummary.
• success—Indicates whether the transaction was successful.
Preview Return Output
This new response body has the following properties.
• changeBalances—Expected change order financial values for the return action.
• errors—Any errors that were returned.

578
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• orderSummaryId—ID of the OrderSummary.


• success—Indicates whether the transaction was successful.
Submit Cancel Output
This new response body has the following properties.
• changeBalances—Financial values from the created change order.
• changeOrderId—ID of the created change order.
• errors—Any errors that were returned.
• success—Indicates whether the transaction was successful.
Submit Return Output
This new response body has the following properties.
• changeBalances—Financial values from the created change order.
• changeOrderId—ID of the created change order.
• errors—Any errors that were returned.
• success—Indicates whether the transaction was successful.

Personalization (Generally Available)


Audience Criteria Details
This response body has this change.
• criterion—The type of this property changed to Audience Criterion Details.
Audience Criterion Details
This new response body has this property.
• value—Mapping of an audience criterion value and field.
Audience Target Assignment
This response body has these new properties.
• id—ID of the target.
• priority—Priority of the target. Within a group, priority determines which target is returned if the user matches more than
one audience.
• publishStatus—Publish status of the target. Values are:
– Draft
– Live

• url—URL to the target.

Reports and Dashboards REST API


Reports and Dashboards REST API enhancements include new properties that describe subscription email attachments and report field
to sObject relationships.

Changed Resources
New properties describe subscription email attachments and relationships between report type fields and sObject fields.

579
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Reports (/services/data/48.0/analytics/reports/{report_id}/ and


/services/data/48.0/analytics/reports/{report_id}/describe/)
The reportExtendedMetadata and reportTypeMetadata have a new property.

Property Type Description


entityColumnName String Describes the relationship between an sObject and a report field by
returning the sObject and sObject field name that a report field maps
to.
The value returned is formatted as [Link] field.
The property is part of an object that describes a report field, such as
an object in the columns[] array of a report type object from
reportTypeMetadata.
For example, on the LAST_UPDATE_BY column, the value of
entityColumnName is “[Link]”, which tells us that it’s
mapped to the Name field on the User sObject.
"reportTypeMetadata" : {
"categories" : [ {
"columns" : {
"LAST_UPDATE_BY" : {
"allowedInCustomDetailFormula" :
true,
"bucketable" : true,
"dataType" : "string",
"entityColumnName" : "[Link]",
"fieldToFieldFilterable" : false,
"filterValues" : [ ],
"filterable" : true,
"inactiveFilterValues" : [ ],
"isCustom" : false,
"isLookup" : true,
"label" : "Last Modified By",
"maxLength" : null,
"uniqueCountable" : true
}
}
} ]
}

Note: Row-level formulas aren’t directly mapped to sObject


fields like report fields, but they still have an
entityColumnName property. For row-level formulas,
the value of entityColumnName is CDF1.

Notifications (/services/data/48.0/analytics/notifications?source=lightningReportSubscribe)
The thresholds object has a new property.

580
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Property Type Description


attachment String Specifies whether a Lightning Experience report subscription includes
an attachment. If it includes an attachment, it also specifies the file
attachment.
There is only one valid value:
• excel—Attach report results to the email as a spreadsheet
formatted as a .XLSX file. Do not include record-level details
in the subscription email.
If the Lightning report subscription does not include an attachment,
then the attachment property is not returned. When the
attachment property is not returned, HTML-formatted report
results are included directly in the subscription email body.

SEE ALSO:
Reports and Dashboards REST API Developer Guide (can be outdated or unavailable during release preview)

User Interface API


Work with new objects, access the record type ID for every record in a response, and get the case status in a picklist.
List Record Collection Response Includes More Details
The List Record Collection response body now includes the properties fields, optionalFields, listReference,
pageSize, and sortBy.
List View Summary Collection Response Includes More Details
The List View Summary Collection response body now includes the properties objectApiName, pageSize, queryString,
and recentListsOnly.
Picklist Response Includes Case Status
The Picklist Value response body now includes information about whether a case status is closed or not.
Record Response Includes recordTypeId
The Record response body includes a new recordTypeId property, which is the ID of the record’s record type. Use this property
instead of recordTypeInfo, which is returned for only two levels of nested records.
Record Response Includes weakEtag
To determine whether a record has changed, compare the value of this property between responses. If the value is larger, this record
is newer. If the value is smaller, this record is older. If the value is the same, the records are the same. Not all record types are supported.
If a record type is unsupported, this value is 0.
Supported Objects
These objects are now supported by most User Interface API resources. List views resources and most recently used (MRU) list views
resources support a smaller set of objects, which are listed below.
• AccountForecast
• AccountForecastPeriodMetric
• AccountProductForecast
• AccountProductPeriodForecast
• BasicDataRecord

581
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

• DataExportDefinition
• DeleteEvent
• DigitalSignature
• KnowledgeArticleVersion—DELETE is not supported
• LoyaltyProgramCurrency
• LoyaltyProgramMember
• LoyaltyTier
• LoyaltyTierGroup
• OpportunityLineItemSchedule
• Product2DataTranslation
• ProductCategoryDataTranslation
List views resources now support these objects.
• AccountForecast
• BasicDataRecord
• DeleteEvent
• LoyaltyProgramCurrency
• LoyaltyProgramMember
• LoyaltyTier
• LoyaltyTierGroup
Most recently used (MRU) list views resources now support these objects.
• AccountForecast
• LoyaltyProgramCurrency
• LoyaltyTier
• LoyaltyTierGroup

Tooling API
Tooling API includes new and changed objects.

Salesforce Overall
Fine-tune search results layouts for an object for each profile in your org
Use the new Profile, ProfileName, and ListLayout fields on the SearchLayout object.
Identify the functions supported in a specified formula type
Use the new FormulaFunctionAllowedType object.
REMOVED: The IsAllowedInEntityContext, IsAllowedInFlowContext, and
IsAllowedInVisualforceContext fields have been removed from the FormulaFunction object
Use the new FormulaFunctionAllowedType instead.
Support configuration of Einstein Voice Assistant
AssistantContextItem, AssistantDefinition, AssistantSkillQuickAction, AssistantSkillSobjectAction, and AssistantVersion are visible but
for internal use only. Introduced in API version 47.0, these objects have been added to the Tooling API Developer Guide.

582
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Packaging
Skip validation of dependencies, package ancestors, and metadata during package version creation
Use the new SkipValidation field on the Package2VersionCreateRequest object.

Service
Indicate that time sheet templates can be added to managed packages
Use two new fields on the TimeSheetTemplate object, ManageableState and NamespacePrefix.
Use time sheet template assignments to link time sheets with profiles
Use the new TimeSheetTemplateAssignment object.

Lightning Flow
Set the context that a flow runs in
Use the new RunInMode field on the Flow object.

Development
Improved symbol table generation
The symbol table is generated to ensure that non-global implementation details aren’t included in managed packages. For details,
see Improved Symbol Table Generation.
Specify URLs that your Salesforce org can use to access resources for Lightning components
Use the CspTrustedSite object. Introduced in API version 39.0, this object has been added to the Tooling API Developer Guide.
BEHAVIOR CHANGE: Required permissions changed for accessing some Tooling objects
Some objects have additional access requirements in Spring ’20 and later.
• To access ApexClassMember or ApexTriggerMember, users must have the View All Data and Author Apex permissions.
• To access ApexComponentMember, ApexPageMember, or ContainerAsyncRequest, users must have both the View All Data and
Customize Application permissions.
• To access MetadataContainer, users must have the View All Data and either the Author Apex or Customize Application permissions.
• To access OperationLog, users must have the View Setup and Configuration permission.
BEHAVIOR CHANGE: Changed permissions for Change Data Capture channel access
To get PlatformEventChannel and PlatformEventChannelMember objects by ID, the View Setup and Configuration permission is
now enforced. This permission was already enforced for querying the objects.
Indicate whether a field is a compound field
Use the isCompound field on the FieldDefinition and EntityParticle objects. Introduced in API version 38.0, this field has been
added to the Tooling API Developer Guide.

Metadata API
Metadata API includes new and changed types and fields.

Salesforce Overall
Specify the name of the theme that is active in the org
Use the new activeThemeName field on the existing LightningExperienceSettings metadata type.

583
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Turn on Skype in your org


Use the enableSkypeChatEnabled field on the existing LightningExperienceSettings metadata type.
Turn on Webex Teams and Webex Meetings in your org
Use the enableSparkConversationEnabled and enableWebExEnabled fields on the existing
LightningExperienceSettings metadata type.
Give all users access to Webex Teams and Webex Meetings
Use the new enableSparkAllUsers and enableWebexAllUsers fields on the existing LightningExperienceSettings
metadata type.
Give all users access to Lightning Extension features
Use the new isLEXExtensionOff, isLEXExtensionDarkModeOff,
isLEXExtensionComponentCustomizationOff, and isLEXExtensionLinkGrabberOff fields on the existing
LightningExperienceSettings metadata type.
Assign records created by guest users of a Salesforce site to a default owner in the org
Use the new enableSitesRecordReassignOrgPref field on the existing SiteSettings metadata type.
Indicate whether a formal name is used for a person
Use the new enableInformalName field on the NameSettings type.
Store survey questions in different fields
Use the new ComponentChoice and ComponentInput values in the fieldType field (FlowScreenField subtype) on
the Flow metadata type.
Modify appointment details
Use the new ModifyAppointment value in the standardLabel field on the QuickAction metadata type. Introduced in
API version 47.0, this type has been added to the Metadata API Developer Guide.
Support configuration of Einstein Voice Assistant
AssistantContextItem, AssistantDefinition, AssistantSkillQuickAction, AssistantSkillSobjectAction, and AssistantVersion are visible but
for internal use only. Introduced in API version 47.0, these metadata types have been added to the Metadata API Developer Guide.

Search
Enable advanced search in the search sidebar in Salesforce Classic
Use the new enableAdvancedSearchInAlohaSidebar field on the SearchSettings type.
Enable Einstein Search Personalization in Lightning Experience
Use the new enableEinsteinSearchPersonalization field on the SearchSettings type.
Allow users to group records by theme with personal tags in Salesforce Classic
Use the new enablePersonalTagging field on the SearchSettings type.
Allow users to group records by theme with public tags in Salesforce Classic
Use the new enablePublicTagging field on the SearchSettings type.
Enable search synonyms
Use the new enableSalesforceGeneratedSynonyms field on the SearchSettings type.
Enable search term history in the global search box
Use the new enableSearchTermHistory field on the SearchSettings type.
Enable links to suggested knowledge articles from cases
Use the new enableSuggestArticlesLinksOnly on the SearchSettings type.
Enable use of the admin-specified default entity in sidebar search in Salesforce Classic
Use the new enableUseDefaultSearchEntity on the SearchSettings type.

584
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Mobile
REMOVED: The enableLightningOnMobile field on the MobileSettings type was removed
The enableLightningOnMobile field indicated whether an org was enabled for the new Salesforce mobile app during the
opt-in period in Winter ’20. All orgs are now enabled for the new Salesforce mobile app, so this field is no longer needed.
Turn on the new Salesforce mobile app tablet experience for all users
Use the new enableNewSalesforceMobileAppForTablet field on the existing MobileSettings metadata type.
View and modify org-level notification settings for standard and custom notification types
Use the new NotificationTypeConfigmetadata type.

Sales
Improve the quality of your imported data with sophisticated data cleansing tools.
Use the DataDotComSettings metadata type. This type is available in API version 47.0 and later.
BEHAVIOR CHANGE: For unlocked packaging, the Territory2 type now requires packages without a namespace in all API
versions
Territory2 depends on Territory2Type, which requires packages without a namespace. This change makes the behavior of Territory2
and Territory2Type consistent, so you can now use Territory2 in unlocked packages.
Customize the communication process between Salesforce and a payment gateway provider
Use the new PaymentGatewayProvider metadata type.
Enable better order processing
Use the new enableEnhancedCommerceOrders field on the OrderSettings type.
BEHAVIOR CHANGE: In all API versions, we removed namespace support for Territory2Model in unlocked packages
This change addresses a known issue where territory models were deployed with unlocked packaging but without a namespace.
Start a flow when a user rejects a recommendation in the Actions & Recommendations component
Use the new shouldLaunchActionOnReject field on the RecordActionDeployment type.
BEHAVIOR CHANGE: The field doesAutoAddSplitOwnerAsOpportunityTeamMember is no longer available in the
OpportunitySettings metadata type
Use Opportunity Split Settings in Setup to enable this feature. When this feature is enabled, members are automatically added to
opportunity teams when a user edits the opportunity splits. When this feature is disabled, users must use the opportunity team's
related list to add members. This feature is disabled by default.
Allow users to create sales cadence steps that automatically send an email
Use the new enableACAutoSendEmail field on the HighVelocitySalesSettings metadata type.
Create Microsoft Word documents from multiple records using mail merge
Use the new MailMergeSettings metadata type.
Sync calendar events and contacts between Salesforce and your Microsoft or Google accounts
Use the new enableContactAndEventSync field on the EmailIntegrationSettings metadata type.
Keep emails, events, and contacts in sync between your external accounts and Salesforce
Use the new EACSettings metadata type. Control whether emails and events from your Microsoft or Google account are added to
the activity timeline of related Salesforce records. Specify whether contact and event data is synced between your Microsoft or
Google account and Salesforce.
The read-only process type SalesEntryExperienceFlow is added to the FlowProcessType enumeration
This value is reserved for future use.
Configure Campaign Influence so that you can understand how your campaigns are affecting your opportunity pipeline.
Use the new CampaignSettings metadata type.

585
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Use Einstein Automated Contacts to find new contacts and opportunity contact roles
Use the new AutomatedContactsSettings metadata type to enable Einstein Automated Contacts. The settings control whether
Einstein suggests the new data to users or adds it automatically.
Use Einstein Opportunity Insights to get relevant updates about your opportunities
Use the new OpportunityInsightsSettings metadata type to enable Einstein Opportunity Insights.
Use Einstein Account Insights to help maintain relationships with customers
Use the new AccountInsightsSettings metadata type to enable Einstein Account Insights.
Make it easy for sales reps to create accounts, see relevant news articles, and add logos to account records
Use the new AccountIntelligenceSettings metadata type to enable Automated Account Fields, News, and Account Logos.

Commerce
Enable Salesforce Order Management
Use the new OrderManagementSettings metadata type.

Service
Control whether file attachments and field labels are included with inserted articles for Lightning Knowledge channel layouts
Use the new fields doesExcludeFieldLabels and doesExcludeFiles on the ChannelLayout type.
BEHAVIOR CHANGE: For social, chat, and messaging communication channels, field labels are included by default
Previously, article fields inserted into social, chat, and messaging channels didn't include field labels. This change adds the
doesExcludeFieldLabels field to ChannelLayout. The default value is false, so existing configurations for these channels
now include field labels.
Customize case management options
Use these new boolean fields on the CaseSettings type.
• enableEmailContactOnCasePost—Notify the case contact by email when someone makes an externally visible post
on a community case.
• enableEscalateQfiToCaseInternal—Let moderators create cases from Chatter questions in your organization.
• enableEscalateQfiToCaseNetworks—Let moderators create cases from Chatter questions in all communities where
Chatter Questions is enabled.
• enableExtNetworksCaseFeedEnabled—Let community members see case-related emails, comments, and updates
in the case feed.
• keepCaseMergeRecords—Keep duplicate case records after a case merge.
• visibleInCssCheckbox—Set the default visibility of a case in CSS.
Configure a setup node for creating a channel menu deployment
Use the new EmbeddedServiceMenuSettings metadata type.
Define the type of data within an entity in an Einstein Intent Set
Use the new dataType field on the existing MISlotClass metadata type.
Deliver knowledge articles to the bot based upon a end user entry
Use the new conversationRecordLookup field on the existing BotVersion metadata type.

Analytics
Deploy and retrieve Analytics recipes to create custom datasets
Use the new WaveRecipe metadata type.

586
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Associate a dataflow with the name of the Analytics application it's connected to
Use the new application field on the WaveDataflow type.
Enable the Customer 360 data validation dashboard connector
Use the new enableC360GlobalProfileData field on the AnalyticsSettings metadata type.
Enable Data Discovery live model metrics calculation
Use the new canEnableLiveMetrics field on the AnalyticsSettings metadata type.
Enable encryption for Analytics
Use the new enableAnalyticsEncryption field on the AnalyticsSettings metadata type.
Enable Analytics sharing
Use the new enableAnalyticsSharingEnable field on the AnalyticsSettings metadata type.
REMOVED: The enableAnalyticsSubtotals field on the AnalyticsSettings type has been removed
The enableAnalyticsSubtotals field was removed in API version 48.0.
Enable exporting a dashboard to a PDF
Use the new enableDashboardToPDFEnable field on the AnalyticsSettings metadata type.
Enable data blending
Use the new enableDataBlending field on the AnalyticsSettings metadata type.
Enable the Firebird Editor
Use the new enableFirebirdEditor field on the AnalyticsSettings metadata type.
Enable support of null values as a grouping key in an Analytics SAQL query
Use the new enableNullDimension field on the AnalyticsSettings metadata type.
Enable query of live connectors
Use the new enableQueryLiveConnectors field on the AnalyticsSettings metadata type.
REMOVED: The enableReportFieldToFieldPref field on the AnalyticsSettings type was removed
The enableReportFieldToFieldPref field was removed in API version 48.0
Enable report notifications
Use the new enableReportNotificationsEnable field on the AnalyticsSettings metadata type.
REMOVED: The enableReportUniqueRowCountPref field on the AnalyticsSettings type was removed
The enableReportUniqueRowCountPref field was removed in API version 48.0.
Enable EclairNG charts in S1 Mobile Analytics
Use the new enableS1AnalyticsEclairEnable field on the AnalyticsSettings metadata type.
Enable browser tab navigation for record actions
Use the new enableWaveRecordNavigation field on the AnalyticsSettings metadata type.
Enable medium visibility sharing inheritance for Analytics sharing inheritance on all Salesforce objects besides the Opportunity
object
Use the new inheritSharingForNonOpptyObjects field on the AnalyticsSettings metadata type.
Enable medium visibility sharing support for Analytics sharing inheritance on the Salesforce Opportunity object
Use the new inheritSharingForOpptyObject field on the AnalyticsSettings metadata type.
Enable the support of null values and make the implicit default value for blank measures null
Use the new replaceBlankMeasuresWithNulls field on the AnalyticsSettings metadata type.
Enable the timezone feature
Use the new turnOnTimeZones field on the AnalyticsSettings metadata type.

587
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Apply field-to-field filters to most report types


Use the new columnToColumn field with the existing ReportFilterItem field type. Field-to-field filters aren’t supported
for report types that refer to an external object or that have an outer join (“with or without”) relationship between objects.
View the index value the system assigns to an item in a list
Use the new sortIndex field on the existing WaveXmdRecordDisplayLookup metadata type.
Associate XMD with an Analytics application
Use the application field on the existing WaveXmd metadata type. Introduced in API version 43.0, this field has been added
to the Metadata API Developer Guide.
Determine the Analytics XMD type
Use the type field on the existing WaveXmd metadata type. Introduced in API version 43.0, this field has been added to the
Metadata API Developer Guide.
See the Analytics asset visualization of the XMD
Use the waveVisualization field on the existing WaveXmd metadata type. Introduced in API version 43.0, this field has been
added to the Metadata API Developer Guide.
Allow conditional formats to be set on XMD Dimension and Measure values
Use the conditionalFormatting field on the existing WaveXmdDimension and WaveXmdMeasure metadata types.
Introduced in API version 43.0, this field has been added to the Metadata API Developer Guide.
Create conditional formatting for XMD dimensions and measures
Use the new WaveXmdFormattingProperty metadata type. Introduced in API version 43.0, this type has been added to the Metadata
API Developer Guide.
Customize the decimal separator in the XMD measures format
Use the new formatDecimalSeparator field on the existing WaveXmd metadata type.
Customize the thousands separator in the XMD measures format
Use the new formatThousandsSeparator field on the existing WaveXmd metadata type.

Communities
Indicate whether the audience is the default audience
Use the new isDefaultAudience field on the Audience type.
Create a no-results page for B2B searches
Use the new CommNoSearchResultsPage value in the FlexiPageType field on the FlexiPage type.
See contacts from private accounts
Use the new enableCspContactVisibilityPref field on the CommunitiesSettings type.
Access notes and attachments associated with accounts and contacts
Use the new enableCspNotesOnAccConPref field on the CommunitiesSettings type.
Enable partner users
Use the new enableEnablePRM field on the CommunitiesSettings type.
Enable External Account Hierarchies
Use the new enableExternalAccHierPref field on the CommunitiesSettings type.
Set a default owner for records created by guest users
Use the new enableGuestRecordReassignOrgPref field on the CommunitiesSettings type.
Invite guest users to Chatter
Use the new enableInviteChatterGuestEnabled field on the CommunitiesSettings type. (Deprecated)

588
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Enable Experience Workspaces


Use the new enableCommunityWorkspaces field on the CommunitiesSettings type.
Let external users in communities run reports
Use the new enableNetPortalUserReportOpts field on the CommunitiesSettings type.
Enable Communities
Use the new enableNetworksEnabled field on the CommunitiesSettings type.
Use standard external profiles for self-registration and user creation
Use the new enableOotbProfExtUserOpsEnable field on the CommunitiesSettings type.
Change Case statuses as a Customer Community Plus user
Use the new enablePowerCustomerCaseStatus field on the CommunitiesSettings type.
Access Account Relationship and Account Relationship Data Sharing Rule setup options
Use the new enablePRMAccRelPref field on the CommunitiesSettings type.
Allow editing for Partner Account fields on opportunities and leads
Use the new enableRelaxPartnerAccountFieldPref field on the CommunitiesSettings type.
Display warnings for unsupported browsers in Communities
Use the new enableUnsupportedBrowserModalPref field on the CommunitiesSettings type.
Contain username uniqueness to the org level
Use the new enableUsernameUniqForOrgPref field on the CommunitiesSettings type.
Set the default view of a route
Use the new activeViewId property in the page_name.json files in the routes folder on the ExperienceBundle type.
Define a preferred domain to improve search engine results
Use the new preferredDomain property in the [Link] file in the config folder on the ExperienceBundle type.
REMOVED: The preferredDomainId field on the ExperienceBundle type has been removed
Use the new preferredDomain property instead.

Chatter
Set the Case feed item timestamp format to relative or absolute time
Use the new enableCaseFeedRelativeTimestamps field on the ChatterSettings type.
REMOVED: The allowSharingInChatterGroup field on the ChatterSettings type has been removed
The allowSharingInChatterGroup field has no effect on the org.

Files
Configure files settings
Use the new ContentSettings metadata type.

Customization
Indicate whether related lists of external objects are loaded asynchronously
Use the new enableExternalObjectAsyncRelatedLists field on the UserInterfaceSettings type. Salesforce Classic
only.
Indicate whether local names can be defined for standard objects
Use the new enableLocalNamesForStdObjects field on the LanguageSettings type.

589
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Indicate whether users must have read access to a record to see the record’s name in lookup and system fields
Use the new enableRestrictAccessLookupRecords field on the SharingSettings type.
Grant access to specific custom settings using profiles
Use the new customSettingAccesses field on the Profile type.
Grant access to specific custom settings using permission sets
Use the new customSettingAccesses field on the PermissionSet type.

In-App Guidance
Include videos in docked prompts
Add videos with the videoLink field on the Prompt type.
Filter prompts by profile
Show prompts to specific profiles with the userProfileAccess field on the Prompt type. The leftValue and rightValue
fields were also updated to reflect this.
Ignore the global delay time for a single prompt
Ignore the global delay between prompts for a specific prompt with the shouldIgnoreGlobalDelay field on the Prompt
type.
Organize translated prompt labels
Use the new prompt field on the Translations type.
BEHAVIOR CHANGE: User permissions and prompt visibility
Users no longer need the View Setup and Configuration permission to see prompts that are visible only with specific permissions.

Lightning Flow
Launch a flow when records are created or updated
Use the new RecordBeforeSave enum in the triggerType field and specify the enum Create, Update, or
CreateAndUpdate in the new recordTriggerType field on the Flow type. For more information, see Update New and
Changed Records 10 Times Faster by Using Before-Save Updates in Flows on page 406.
Implement flows for Order Management (orgs with Salesforce Order Management enabled)
Use the new enums for Order Management in the actionType field on Flow.
• cancelFulfillmentOrderItem
• cancelOrderItemSummariesPreview
• cancelOrderItemSummariesSubmit
• createCreditMemoOrderSummary
• createFulfillmentOrder
• createInvoiceFromFulfillmentOrder
• createOrderPaymentSummary
• createOrderSummary
• ensureFundsOrderSummaryAsync
• ensureRefundsOrderSummaryAsync
• returnOrderItemSummariesPreview
• returnOrderItemSummariesSubmit

590
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Indicate that variables and outputs are being handled automatically


Use the new storeOutputAutomatically field on the FlowRecordCreate and FlowActionCall subtypes of Flow.
Map generic sObject inputs or outputs to a specific object
Use the new dataTypeMappings field on the FlowActionCall subtype of Flow.
Set the context that a flow runs in
Use the new runInMode field on the FlowVersionView subtype of Flow.

Security, Privacy, and Identity


Prevent identity verification by email for users who have registered other verification methods
Use the new canConfirmIdentityBySmsOnly field on the SessionSettings subtype of the SecuritySettings type.
Apply the selected Request Signature Method (RSM) during single logout
Use the new useConfigRequestMethod field on the SamlSsoConfig type.
Limit external user access to Salesforce APIs
Use the new enableAdminApprovedAppsOnlyForExternalUser field on the ConnectedAppSettings type.
Select Apple as a third-party authentication provider
Use the new Apple value in the existing providerType field on the AuthProvider type.
Provide an identity-first login experience
Use the new MyDomainDiscoverableLogin type.
Whitelist trusted URLs that users can navigate to without being shown a warning message
Use the new RedirectWhitelistUrl metadata type.

Development
REMOVED: The OrgPreferenceSettings metadata type has been removed
Deprecated in API version 47.0, the OrgPreferenceSettings type is removed in API version 48.0 and later. Instead, use the appropriate
Settings type for the functionality you want to enable or disable. For more information and a list of available types, see Settings in
the Metadata API Developer Guide. See also the OrgPreferenceSettings reference topic, which includes links from each preferences
field value to its new location on another Settings type.
Enable Developer Hub (Dev Hub) and unlocked and second-generation managed packaging
Introduced in API version 47.0, the new DevHubSettings metadata type has been added to the Metadata API Developer Guide.
Indicate whether Apex type visibility rules are strictly enforced for the [Link] method
Use the new enableSecureNoArgConstructorPref field on the ApexSettings metadata type.
Grant access to specific custom settings using permission sets
Use the new customSettingsAccesses field on the PermissionSet type.
Grant access to specific custom settings using profiles
Use the new customSettingsAccesses field on the Profile type.
Indicate a capability for a Lightning web component
Use the new capabilities field on the LightningComponentBundle type.
Enable dependency access checks in Lightning components
Use the new enableAuraDepAccessChksCRUCPref field on the LightningExperienceSettings type, which corresponds
to the Enable Dependency Access Checks In Lightning Components critical update. This field improves Lightning component access
checks by checking the access level of all component dependencies. A dependency is any resource used within a top-level component.

591
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Specify which resources a Lightning component can load from a trusted site
Use the new isApplicableToConnectSrc, isApplicableToFrameSrc, isApplicableToImgSrc,
isApplicableToStyleSrc, isApplicableToFontSrc, and isApplicableToMediaSrc fields on the existing
CspTrustedSite metadata type.
BEHAVIOR CHANGE: Access rules changed for DeployMessage
Only authenticated users can access DeployMessage, a child of DeployResult.

Salesforce CMS
Identify URL, date, or datetime as the supported type of content in the node
Use the one of the new URL, DATE, or DATETIME values in the existing nodeType field on the ManagedContentType metadata
type.

Einstein Next Best Action


Load recommendations from the records of any object
Use the new object field on the StrategyNodeRecommendationLoad subtype of the RecommendationStrategy type.
Sort the order of the records by choosing a value from the object to sort on
Use the new sortField field on the StrategyNodeRecommendationLoad subtype of the RecommendationStrategy type.

Salesforce CLI: New and Changed Commands


Use Salesforce CLI to create environments for development and testing, synchronize source code, run tests, and control your application
lifecycle. Read the weekly release notes to learn about recent updates to v48 of the Salesforce CLI.

IN THIS SECTION:
Uninstall the Pre-Release Version of Salesforce CLI
If you have the pre-release version of the CLI, it no longer updates. Uninstall it and update the CLI so that you have the released
version.
Discover New and Changed CLI Commands
Here are the updates to Salesforce CLI v48. However, we release changes to the CLI regularly. Read the weekly release notes to learn
about updates to v48 of the Salesforce CLI commands.

Uninstall the Pre-Release Version of Salesforce CLI


If you have the pre-release version of the CLI, it no longer updates. Uninstall it and update the CLI so that you have the released version.
Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in all editions.
How:
Uninstall the pre-release and update to the released version:
sfdx plugins:uninstall salesforcedx
sfdx update

592
Salesforce Spring ’20 Release Notes New and Changed Items for Developers

Discover New and Changed CLI Commands


Here are the updates to Salesforce CLI v48. However, we release changes to the CLI regularly. Read the weekly release notes to learn
about updates to v48 of the Salesforce CLI commands.

New Commands
force:analytics:template:create
Allows you to create a simple analytics template in a specified directory.
force:community:create
Creates a community using a template.
force:community:publish
Publishes your Lightning community to make it live. Each time you publish, you update the live community with the most recent
updates.
force:community:template:list
Retrieves the list of templates available in your org for creating a community.

Changed Commands
force:package:version:list, force:package:version:report
Display columns that indicate if the package version has passed code coverage, and the code coverage percentage. We also added
columns to indicate the ancestor ID and ancestor version number for the package version’s ancestor. Ancestor ID and version number
display for package versions created in Spring ’20 and later.
force:project:create
The S1DesktopEnabled setting is automatically enabled when you create a scratch org. We removed the setting from the
sample scratch org definition file when you create a project.

New Parameters
force:package:version:create --skipvalidation
Skips validation during package version creation. Skipping validation allows you to create package versions faster, but you can’t
promote a package version that was created without validation.
force:source:delete --checkonly
Performs a test deployment (validation) in the non-sourced-tracked org without deleting the metadata. After the validation passes,
you can safely delete the metadata using this command.

Changed Parameters
These parameters were added to the force:source:convert and force:mdapi:convert commands in a weekly release
of salesforcedx
-x | --manifest
Specifies the complete path to the manifest ([Link]) file that specifies the metadata types to convert.
-m | --metadata
Specifies a comma-separated list of metadata component names to convert.
-p | --sourcepath
Specifies a comma-separated list of paths to the local source files to convert.

593
Salesforce Spring ’20 Release Notes Quip: Related Lists, Admin Insights, Filtered Salesforce
Reports, New Quip Process Builder and Flow Builder Actions,
Simplified Setup, and More
Deprecated Parameters
We removed the -a short version of the --apiversion parameter. The following commands were affected:
force:apex:class:create
force:apex:trigger:create
force:lightning:app:create
force:lightning:component:create
force:lightning:event:create
force:lightning:interface:create
force:visualforce:component:create
force:visualforce:page:create

SEE ALSO:
Programmatically Create and Publish Communities in Scratch Orgs
Skip Validation to Quickly Iterate Package Development
View More Packaging Details in List and Report Salesforce CLI Commands
Salesforce CLI: Autocompletion, Enhanced DX Templates, Progress Bar, Code Coverage

Quip: Related Lists, Admin Insights, Filtered Salesforce Reports, New


Quip Process Builder and Flow Builder Actions, Simplified Setup, and
More
Connect your Salesforce orgs to Quip faster than ever. Bring your filtered reports to Quip and embed them on Salesforce records to have
them filter dynamically. Automate your business workflows with new Quip actions in Process Builder and Flow Builder. View and edit
your related Salesforce lists views with the updated Salesforce List Live App.

IN THIS SECTION:
Import Related Lists into a Quip Document
Add record-specific related lists to a Quip document with the updated Salesforce List Live App. Embedded Quip documents
dynamically pull the related lists of the records they’re embedded on to save your users time. Your users can easily stay on top of
deals and cases with in-line editing, comments, and bi-directional syncing to Salesforce.
Get Insights on Quip for Customer 360 Usage
Measure user adoption with the new Quip for Customer 360 Insights dashboard in the Quip Admin Console. Use data to track
engagement with Salesforce integrations in Quip and to make the most of your Quip for Customer 360 licenses.
Dynamically Filter Live Salesforce Reports from Quip
Filter live Salesforce reports in Quip using your report’s custom filters. Create a standard template from a Quip document and add
it to a Salesforce record using the Quip Document component. Reports added to an embedded Quip document dynamically filter
based on the record’s data.

594
Salesforce Spring ’20 Release Notes Quip: Related Lists, Admin Insights, Filtered Salesforce
Reports, New Quip Process Builder and Flow Builder Actions,
Simplified Setup, and More
Get Summarized Salesforce Reports in Quip
Hide your report’s detail rows in Quip to improve report performance and to focus on key details like groupings, totals, subtotals,
and record counts. Use Summary view to get a high-level overview of your report, making it easier to collaborate without getting
stuck in the weeds.
Keep Your Quip Templates Up-to-Date with Dynamic Live Apps
Add Salesforce live apps to a Quip document embedded in a Salesforce record. Configure them to automatically update based on
the record’s data.
Automate Workflows with New Quip Process and Flow Builder Actions
Add users with different permissions to a Quip document. Lock document edits to mark a document as completed. Copy comments
from a Quip template to keep annotations top of mind. Trigger a process to remove members from a document or documents from
a folder. Automatically edit sections of a document with text detection.
Quip Component Is Now the Quip Associated Documents Component
We changed the name of the Quip Lightning component to the Quip Associated Documents component. We also added new
functionality. Now you can add the Quip Associated Documents component to your page layouts so that your users can easily access
documents linked to a record and its related records.
Use Ready-Made Quip Templates in Salesforce
Save time copying and pasting with Quip templates. Don’t know how? Now you can add ready-made Quip templates right from
the Lightning App Builder.
See Quip Documents Linked to Related Records
Access your linked documents and documents linked to related records from one place. With the new Quip Associated Documents
component, see all documents linked to an account so your users can find the right document at the right time.
Log In to Quip with Multiple SSOs
Users that belong to multiple Salesforce orgs can now use multiple Single Sign-ons (SSOs) to log in to the same Quip site, saving
them time and increasing productivity.
Use Salesforce Live Apps Without Reconnecting
After users connect their Salesforce orgs to Quip, they can add live Salesforce data to a Quip document without needing to reconnect.
No more logging in to each live app separately. They can even connect multiple Salesforce orgs to one Quip site, making it easier
to keep cross-cloud collaboration in context .
Set Up Quip for Salesforce In Fewer Steps
We cut down the number of steps to connect Quip to Salesforce—gone are the days of navigating to a separate site to download
the Connected App. Now you can connect your existing Quip site to Salesforce with just a few clicks, or start a free trial from the
Quip Setup page.
Add Quip Slides to Salesforce Records
Let your team collaborate more efficiently by attaching Quip slides to Salesforce records. Users can share slide decks with coworkers
or prospective customers by linking them to a Salesforce record. Set templates, control user access, and even view linked slides on
mobile.
Mail Merge Lookup Field Limit Removed
We removed the 20 lookup fields per template limit so you can better customize your Quip templates for your business.
Use Rich-Text Editing for Quip Documents from the Files Tab
View and edit your Quip documents from the Files tab without leaving Salesforce.

595
Salesforce Spring ’20 Release Notes Import Related Lists into a Quip Document

Import Related Lists into a Quip Document


Add record-specific related lists to a Quip document with the updated Salesforce List Live App. Embedded Quip documents dynamically
pull the related lists of the records they’re embedded on to save your users time. Your users can easily stay on top of deals and cases
with in-line editing, comments, and bi-directional syncing to Salesforce.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
When: Add related lists to your Quip documents starting in February 2020.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.
How: @mention Salesforce List in a Quip document and select Related List to get started.

Get Insights on Quip for Customer 360 Usage


Measure user adoption with the new Quip for Customer 360 Insights dashboard in the Quip Admin Console. Use data to track engagement
with Salesforce integrations in Quip and to make the most of your Quip for Customer 360 licenses.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
When: Get insights on your Salesforce integrations starting March 3 2020.
Who: Available in orgs with a Quip for Customer 360 plan or free trial.
Why: Quantify the number of active users who have opened a Quip document with Salesforce integrations. See how many Quip
documents are linked to Salesforce records or have embedded Salesforce live apps and live reports.
How: Log in to the Quip Admin Console. Under Insights, click Salesforce.

Dynamically Filter Live Salesforce Reports from Quip


Filter live Salesforce reports in Quip using your report’s custom filters. Create a standard template from a Quip document and add it to
a Salesforce record using the Quip Document component. Reports added to an embedded Quip document dynamically filter based on
the record’s data.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
When: You can filter reports in Quip starting in February 2020.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.
Why: Save time tailoring your master report to each individual by automatically filtering your reports based on your users, region, and
more. Embed a Quip document with a Salesforce report in a record and it dynamically filters based on that record.
How: To dynamically filter your reports based on a record, make sure that you added the Quip Document component to the record
page layout.
Import your live Salesforce report into a Quip document with a simple @Salesforce Report. To enable dynamic filtering, click the checkbox
Reapply report filters based on the Salesforce record.

Get Summarized Salesforce Reports in Quip


Hide your report’s detail rows in Quip to improve report performance and to focus on key details like groupings, totals, subtotals, and
record counts. Use Summary view to get a high-level overview of your report, making it easier to collaborate without getting stuck in
the weeds.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
When: Import summarized reports in Quip starting in February 2020.

596
Salesforce Spring ’20 Release Notes Keep Your Quip Templates Up-to-Date with Dynamic Live
Apps

Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.
How: @Mention Salesforce Report and click the checkbox Hide detail rows.

Keep Your Quip Templates Up-to-Date with Dynamic Live Apps


Add Salesforce live apps to a Quip document embedded in a Salesforce record. Configure them to automatically update based on the
record’s data.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
When: Add dynamic live apps to your Quip templates starting in February 2020. The dynamic Salesforce record live app will be available
by end of February.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.
Why: Add a Salesforce Related List to a Quip template embedded in an Account to see Opportunities related to that Account. You can
configure your desired output depending on the object when you set up the Quip template.

Automate Workflows with New Quip Process and Flow Builder Actions
Add users with different permissions to a Quip document. Lock document edits to mark a document as completed. Copy comments
from a Quip template to keep annotations top of mind. Trigger a process to remove members from a document or documents from a
folder. Automatically edit sections of a document with text detection.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.

IN THIS SECTION:
Add Users with Different Access Levels to a Quip Document
Automatically share a Quip document with users with different permissions using Process Builder. Get feedback from users with
comment access or collaborate on a document with edit or full-access users.
Mark a Document as Complete with Lock Edits
Trigger a process to finalize edits to contracts or other sensitive documents. Only users with full access to a Quip document can lock
or unlock edits.
Add Live Apps to a Quip Template
Automatically keep your templates up to date with the latest Salesforce data. Now you can use Process Builder and Flow Builder to
add live Salesforce records and list views to your Quip documents.
Update Cloned Documents Using Text Detection
Automate your document updates using Process Builder. Now you can update documents cloned from templates using text detection.
Keep your Account Plans up to date with the latest Salesforce data and update sections of cloned documents at scale.
Control When and Where Your Quip Content Is Shared
When there’s a Tier 3 escalation or a deal that’s about to fall through, cross-team collaboration gets the job done. But what happens
after the fire’s been put out? Trigger a process to auto-remove users from a document and documents from a folder to go about
business as normal.
Copy Comments from a Quip Template
Copy comments from a template’s source document to a newly created target document to keep annotations top of mind.

597
Salesforce Spring ’20 Release Notes Automate Workflows with New Quip Process and Flow Builder
Actions

Add Users with Different Access Levels to a Quip Document


Automatically share a Quip document with users with different permissions using Process Builder. Get feedback from users with comment
access or collaborate on a document with edit or full-access users.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free trial.
How: In Setup, enter Process Builder in the Quick Find box. You can define user access levels from the Add Members to
Document Quip action.

Mark a Document as Complete with Lock Edits


Trigger a process to finalize edits to contracts or other sensitive documents. Only users with full access to a Quip document can lock or
unlock edits.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free trial.
How: In Setup, enter Process Builder in the Quick Find box. Under the action type Quip, select Lock Document Edits.

598
Salesforce Spring ’20 Release Notes Automate Workflows with New Quip Process and Flow Builder
Actions

Add Live Apps to a Quip Template


Automatically keep your templates up to date with the latest Salesforce data. Now you can use Process Builder and Flow Builder to add
live Salesforce records and list views to your Quip documents.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free trial.

Update Cloned Documents Using Text Detection


Automate your document updates using Process Builder. Now you can update documents cloned from templates using text detection.
Keep your Account Plans up to date with the latest Salesforce data and update sections of cloned documents at scale.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free trial.
How: In Setup, enter Process Builder in the Quick Find box. Under the action type Quip, select Edit Document. Under Section
in Document, select Text Detection to add new content based on section text instead of an anchor link.

Control When and Where Your Quip Content Is Shared


When there’s a Tier 3 escalation or a deal that’s about to fall through, cross-team collaboration gets the job done. But what happens
after the fire’s been put out? Trigger a process to auto-remove users from a document and documents from a folder to go about business
as normal.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free trial.

599
Salesforce Spring ’20 Release Notes Quip Component Is Now the Quip Associated Documents
Component

Why: Remove users from a document when the collaboration is over. Make a shared document private again.

Copy Comments from a Quip Template


Copy comments from a template’s source document to a newly created target document to keep annotations top of mind.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free trial.
Why: Any Quip document can be used as a template to standardize business practices. Now you can copy comments from your templated
document so important notes don’t get left behind.

Quip Component Is Now the Quip Associated Documents Component


We changed the name of the Quip Lightning component to the Quip Associated Documents component. We also added new functionality.
Now you can add the Quip Associated Documents component to your page layouts so that your users can easily access documents
linked to a record and its related records.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.

Use Ready-Made Quip Templates in Salesforce


Save time copying and pasting with Quip templates. Don’t know how? Now you can add ready-made Quip templates right from the
Lightning App Builder.

600
Salesforce Spring ’20 Release Notes See Quip Documents Linked to Related Records

Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.
How: In the Lightning App Builder, click Tell Me More when setting up the Quip Document component to see a gallery of pre-made
templates. You can also go to [Link]

See Quip Documents Linked to Related Records


Access your linked documents and documents linked to related records from one place. With the new Quip Associated Documents
component, see all documents linked to an account so your users can find the right document at the right time.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.
Why: Documents linked to child accounts are easy to lose, which can lead to lost time, duplicate documents, and user frustration. The
new Associated Documents component not only surfaces the most relevant related documents, but also offers smart document
suggestions based on the record’s name.

How: To add the component, go to the Lightning App Builder. In Search Components, enter Quip Asssociated Documents,
and drag the component onto your page layout.

Log In to Quip with Multiple SSOs


Users that belong to multiple Salesforce orgs can now use multiple Single Sign-ons (SSOs) to log in to the same Quip site, saving them
time and increasing productivity.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.

SEE ALSO:
Best Practices and Tips for Implementing Single Sign-On

601
Salesforce Spring ’20 Release Notes Use Salesforce Live Apps Without Reconnecting

Use Salesforce Live Apps Without Reconnecting


After users connect their Salesforce orgs to Quip, they can add live Salesforce data to a Quip document without needing to reconnect.
No more logging in to each live app separately. They can even connect multiple Salesforce orgs to one Quip site, making it easier to
keep cross-cloud collaboration in context .
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
When: Seamlessly use live apps in Quip starting in late February 2020.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.

Set Up Quip for Salesforce In Fewer Steps


We cut down the number of steps to connect Quip to Salesforce—gone are the days of navigating to a separate site to download the
Connected App. Now you can connect your existing Quip site to Salesforce with just a few clicks, or start a free trial from the Quip Setup
page.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.
How: In Setup, enter Quip in the Quick Find box, and follow the new, simpler steps.

Add Quip Slides to Salesforce Records


Let your team collaborate more efficiently by attaching Quip slides to Salesforce records. Users can share slide decks with coworkers or
prospective customers by linking them to a Salesforce record. Set templates, control user access, and even view linked slides on mobile.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.

Mail Merge Lookup Field Limit Removed


We removed the 20 lookup fields per template limit so you can better customize your Quip templates for your business.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.

602
Salesforce Spring ’20 Release Notes Use Rich-Text Editing for Quip Documents from the Files Tab

Use Rich-Text Editing for Quip Documents from the Files Tab
View and edit your Quip documents from the Files tab without leaving Salesforce.
Where: This change applies to Lightning Experience in Professional, Performance, Unlimited, and Developer editions.
Who: Available in orgs with a Quip for Customer 360 plan or free Quip trial.

Marketing: Interactive Email, Data Mapping Visualizer, and Distributed


Marketing Quick Send for SMS
Marketing Cloud is the premier platform for delighting customers with 1:1 customer journeys. It enables you to build a single view of
your customer, leveraging data from any source. Plan and optimize unique customer journeys based on your business objectives. Deliver
personalized content across every channel and device at precisely the right time. Measure the impact of each interaction on your business
so that you can optimize your approach in real time and deliver better results.
Learn about our latest features and enhancements in Marketing Cloud Release Notes.
• March 2020 Release
• January 2020 Release
• October 2019 Release
• August 2019 Release
• June 2019 Release
• April 2019 Release
• January 2019 Release

SEE ALSO:
Marketing Cloud Overview
Marketing Cloud: Earlier Release Notes
Salesforce Marketing Cloud Facebook Page

Critical Updates and Security Alerts


Salesforce periodically releases updates that improve the performance, logic, and usability of Salesforce, but which can affect your existing
customizations. These are the updates available in the Critical Update Console in Spring ’20. Also review updates on the Security Alerts
page, and previously released and newly enforced critical updates.
To ensure a smooth transition, each critical update has an opt-in period, which ends on the auto-activation date that’s displayed on the
Critical Updates page in Setup. During this period, you can manually activate and deactivate each update as often as you need to evaluate
the impact on your org and modify affected customizations. After the opt-in period has passed, the update is permanently activated by
Salesforce. For more details, see Respond to Critical Updates.
The Security Alerts page in Setup gives a list of security alerts that affect your org. Each alert comes with step-by-step recommendations
for actions to take in your org.

New Critical Updates


These critical updates are new in Spring ’20.

603
Salesforce Spring ’20 Release Notes Critical Updates and Security Alerts

Opt Out of Turning Off Community-Specific Setting for Guest Users to See Other Members (Critical Update)
By activating this critical update, you opt out of turning off the community-specific Let guest users see other members of this
community setting in the Winter ’21 release.
Enforce Data Access in Flow Formulas (Critical Update)
This update enforces the running user’s data access when a flow uses a formula resource or a formula field on a record variable to
access a field on a record.
Make Flows Respect Access Modifiers for Legacy Apex Actions (Critical Update)
With this critical update enabled, developers can trust that their legacy Apex actions are properly protected and available only to
other components in their managed packages. This update makes a flow fail if it contains a public legacy Apex action.
Require Permission to View Record Names in Lookup Fields (Critical Update)
To better protect your Salesforce org’s data, we restrict who can view record names in lookup fields. Beginning in Winter ’21, users
must have read access to these records or the View All Lookup Record Names permission to view this data. This critical update also
applies to system fields, such as Created By and Last Modified By.
Enable the New Salesforce Mobile App (Critical Update)
This update upgrades all mobile users to the new Salesforce mobile app.
Restrict Reflective Access to Non-Global Constructors in Packages (Critical Update)
When this critical update is enabled, regardless of API version, you can initiate only Apex classes that have a no-arguments constructor
that is visible to the code running [Link].
Enable Improved Caching of Org Schema (Critical Update)
Improved caching of org schema resolves known issues with version-specific object and field handling.
Require Secure HTTPS Connections (Critical Update)
As part of updates related to Google Chrome’s SameSite cookie changes, HTTPS connections are required to access Salesforce. HTTP
connections are no longer permitted. This update enables the Require secure connections (HTTPS) setting on the Session Settings
Setup page and prevents it from being disabled. The Require secure connections (HTTPS) for all third-party domains setting isn’t
affected by this update.
Opt Out of Guest User Security Policies Before Summer ’20 (Critical Update) on page 324
By activating this update, you opt out of three policies aimed at increasing your data security with regards to guest, or unauthenticated,
users. Activating this critical update opts your org out of having the following settings automatically enabled with the Summer ’20
release: Secure guest user record access, Assign new records created by guest users to the default owner, and Assign new
records created by Salesforce Sites guest users. If your org already has these settings enabled, activating this critical update
doesn’t change your configuration.
Enforce Sharing Controlled by Parent for Google Docs Related to Salesforce Records (Critical Update)
This update enables admins to set sharing permissions to “Controlled by Parent” for Google Docs. Only users with access to a record
can see any Google documents related to the record.

Previously Released Critical Updates


These critical updates were announced in a previous release and are still available.
Open Hyperlinks in Formula Fields Correctly (Previously Released Critical Update)
If you have formula fields that contain a HYPERLINK function, Lightning Experience ignores the target value when attempting
to open the link. This critical update ensures that the target value for hyperlinks is honored, whether it’s explicitly configured or set
by default. This critical update was first made available in Winter ’19.
Enable ICU Locale Formats (Previously Released Critical Update)
To help you do business wherever you are, we’re adopting the International Components for Unicode (ICU) formats for dates and
times. These new formats replace Oracle’s Java 8 Development Kit (JDK8) formats. ICU sets the international standard for these

604
Salesforce Spring ’20 Release Notes Critical Updates and Security Alerts

formats for all locales. The new formats provide a consistent experience across the Salesforce platform and improve integration with
ICU-compliant applications across the globe. This critical update was first made available in Winter ’20.
Stabilize the Hostname for My Domain URLs in Sandboxes (Previously Released Critical Update)
We’re removing instance names from MyDomain URLs for sandboxes. The instance name identifies where your Salesforce sandbox
org is hosted. Removing the instance name makes the URL cleaner and easier for users to remember. For example,
[Link] replaces
[Link]. This critical update was first made available in Summer ’18.
Stabilize URLs for Visualforce, Experience Builder, [Link] Studio, and Content Files (Previously Released Critical Update)
We’re removing the instance names from Visualforce, Experience Builder, [Link] Studio, and content file URLs. An instance name
identifies where your Salesforce org is hosted. Instanceless domains are cleaner and easier for users to remember. This critical update
applies to orgs that have a deployed My Domain. After this update, a URL that includes the instance name, such as a bookmark,
automatically redirects to the new hostname. This critical update was first made available in Spring ’18.
Route My Domains Through Salesforce Edge (Previously Released Critical Update)
We’re accelerating domain requests for My Domains. With this update, you keep the same My Domain address, but requests go
through Salesforce Edge. Salesforce Edge uses machine-learning technology to improve connectivity and performance. You can
acknowledge this update to let Salesforce move your org’s My Domain to the new service before the July 2020 auto-activation date.
This critical update was first made available in Winter ’20.
Prevent Creation of Function Expressions in Dynamically Created Aura Components (Previously Released Critical Update)
To improve security and stability, this critical update prevents attribute values passed to $[Link]() or
$[Link]() from being interpreted as Aura function expressions. This critical update was first made available
in Summer ’19.
Migrate Legacy Policies to the Enhanced Transaction Security Framework (Previously Released Critical Update)
With Salesforce’s enhanced transaction security policy framework, you can create transaction security policies that execute actions
on any standard or custom object. Now that the new framework is generally available, we no longer allow users to create legacy
transaction security policies. We're retiring the legacy framework in the Summer ’20 release. To prepare for this retirement and take
advantage of the new features, migrate your legacy transaction security policies to the new framework as soon as possible. This
critical update was first made available in Winter ’20.
Keep Working with Tab-Focused Dialogs (Previously Released Critical Update)
In Lightning console apps, dialogs no longer stop you from interacting with the rest of the UI. This critical update limits the focus of
dialogs triggered by a workspace tab or subtab to only the tab that triggered it. This critical update was first made available in Winter
’20.
Evaluate Criteria Based on Original Record Values in Process Builder (Previously Released Critical Update)
This critical update ensures that a process with multiple criteria and a record update evaluates the original value of the field that
began the process with a value of null. This critical update was first made available in Summer ‘19.
Remove the Manage Encryption Keys Permission from the System Admin Profile (Previously Released Critical Update)
Admins must actively assign the ability to perform key management roles. The Manage Encryption Keys permission is revoked for
the standard admin profile when you activate this Critical Update. Custom profiles that include the Manage Encryption Keys permission
are not affected. Any user who has the permission through a custom profile or permission still has the permission. This critical update
was first made available in Spring ’16 and applies only to customers who enabled Shield Platform Encryption before the Spring ’16
release.

Enforced Critical Updates


These critical updates were announced in a previous release and are now enforced.

605
Salesforce Spring ’20 Release Notes Critical Updates and Security Alerts

Turn On Lightning Experience Critical Update Activates Starting January 7, 2020


Salesforce is turning on Lightning Experience for all orgs that don’t already have it enabled. The Turn on Lightning Experience Critical
Update begins activating on January 7, 2020. Orgs will be activated on a rolling basis, with all orgs expected to be activated by
January 31, 2020. After we turn on Lightning Experience, users still have access to Salesforce Classic. But Lightning Experience is
where everyone should be for driving business growth and improving productivity. To get ready, verify your org’s existing features
and customizations in the new interface, and prepare your users with change management best practices.
Enable Manual Account Sharing in Enterprise Territory Management (Critical Update, Enforced)
Enable Manual Account Sharing in Enterprise Territory Management was a critical update in Spring ’19 and is enforced in Spring ’20.
This critical update changes the TerritoryManual reason code in AccountShare records to
Territory2AssociationManual and is required to let users share accounts manually with territory groups.
API Only Users Can Access Only Salesforce APIs (Critical Update, Enforced)
API Only Users Can Access Only Salesforce APIs was a critical update in Spring ’19 and is enforced in Spring ’20. If a user has the API
Only User permission, they can access Salesforce only via APIs, regardless of their other permissions. This restriction already applies
to other Salesforce features, but this critical update enforces the restriction in Lightning Out.
Require Customize Application Permission for Direct Read Access to Custom Metadata Types (Critical Update, Enforced)
Access for users without the Customize Application permission to read unprotected custom metadata types is revoked as part of
this critical update. Using different APIs that are provided by Salesforce, users without the Customize Application permission could
read unprotected custom metadata types. Following the “secure by default” approach, this access is revoked.
Require Customize Application Permission for Direct Read Access to Custom Settings (Critical Update, Enforced)
Access for users without the Customize Application permission to read unprotected custom settings is revoked as part of this critical
update. Using different APIs that are provided by Salesforce, users without the Customize Application permission could read
unprotected custom settings. Following the “secure by default” approach, this access is revoked.
Make Actions & Recommendations Deployments Mandatory (Critical Update, Enforced)
This update requires that you select a deployment for the Actions & Recommendations component. When you configure Lightning
Flow for Service, a deployment lets you control the actions that agents can start when they need an action that doesn’t appear in
the component’s to-do list. Make Actions & Recommendations deployments mandatory was a critical update in Winter ’20 and is
enforced in Spring ’20.
Return Null Values in Process and Flow Formulas (Critical Update, Enforced)
Check for Null Record Variables or Null Values of Lookup Relationship Fields in Process and Flow Formulas was a critical update in
Spring ’19 and is enforced in Spring ’20, on February 18, 2020. This update enables process and flow formulas to return null values
when the calculations involve a null record variable or null lookup relationship field.
Enable Partial Save for Invocable Actions (Critical Update, Enforced)
Enable Partial Save for Invocable Actions was a critical update in Winter ‘20 and is enforced in Spring ’20, on April 9, 2020. This critical
update improves the behaviors and effects of failed invocable actions. It only affects external REST API calls to invocable actions done
in bulk. With this update, when invoking a set of actions in a single request, a single failed invocable action no longer causes the
entire transaction to fail. Without this update, if a single invocable action fails, other invocable actions within the transaction are
rolled back and the entire transaction fails.
Stop Automated Field Updates from Suppressing Email Notifications (Critical Update, Enforced)
Stop Automated Field Updates from Suppressing Email Notifications was a critical update in Summer ’17 and is enforced in Spring
’20, on March 1, 2020. For various operations, such as assigning a task to someone, you can choose to notify the affected user by
email. This update stops processes, workflow rules, and Apex triggers from suppressing these email notifications.
Prevent Using Standard External Profiles for Self-Registration and User Creation (Security Alert and Critical Update, Enforced)
This update restricts the use of standard external profiles for self-registration and assignment to users.

606
Salesforce Spring ’20 Release Notes Critical Updates and Security Alerts

Postponed Critical Updates


Disable Access to Non-global Apex Controller Methods in Managed Packages (Critical Update, Postponed)
This critical update is postponed to Summer ’21. Released in Summer ’17, it was scheduled for auto-activation in Winter ’20. The
critical update corrects access controls on Apex controller methods in managed packages. When this update is enabled, only methods
marked with the global access modifier are accessible by Aura components from outside the package namespace. These access
controls prevent you from using unsupported API methods that the package author didn’t intend for global access.
Use with sharing for @AuraEnabled Apex Controllers with Implicit Sharing (Critical Update, Postponed)
This critical update is postponed to Spring ’21. It was scheduled for auto-activation in Spring ’20. This critical update changes the
behavior of @AuraEnabled Apex controllers that don’t specify with sharing or without sharing to default to
with sharing. This critical update applies only to orgs created after Spring ’18 or orgs that activated the retired “Use without
sharing for @AuraEnabled Apex Controllers with Implicit Sharing” critical update that had the opposite effect and set the
default to without sharing. Orgs created before Spring ’18 already default to with sharing. Those orgs don't see the
critical update unless they enabled the now retired without sharing critical update.
Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile (Critical Update, Postponed)
This critical update is postponed to Winter ’21. It was scheduled for auto-activation in Spring ’20. This critical update gives you more
control over which guest, portal, or community users can access Apex classes containing @AuraEnabled methods. Add guest
user profile access to any @AuraEnabled Apex class used by a community or portal. When this critical update is activated, a
guest, portal, or community user can access an @AuraEnabled Apex method only when the user’s profile or an assigned
permission set allows access to the Apex class.
Enable Dependency Access Checks In Lightning Components (Critical Update, Postponed) on page 502
This critical update is postponed to Winter ’21. It was scheduled for auto-activation in Summer ’20. This critical update improves
Lightning component access checks by checking the access level of all component dependencies. A dependency is any resource
used within a top-level component. For example, a component can use or extend another component in its markup or implement
an interface.
Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile (Critical Update, Postponed)
This critical update is postponed to Winter ’21. It was scheduled for auto-activation in Summer ’20. This critical update gives you
more control over which authenticated users can access Apex classes containing @AuraEnabled methods. When this critical
update is activated, an authenticated user can access an @AuraEnabled Apex method only when the user’s profile or an assigned
permission set allows access to the Apex class.
Enforce Access Modifiers on Apex Properties in Lightning Component Markup (Critical Update, Postponed)
This critical update is postponed to Summer ’21. It was scheduled for auto-activation in Summer ’20. This critical update makes
Lightning components consistent with the use of Apex properties in other contexts. For example, a markup expression can no longer
access an Apex property with a private Apex getter. This critical update was first made available in Winter ’20.
Require User Access to Apex Classes Invoked by Flow (Critical Update, Postponed)
This critical update, released in Summer ’19, was scheduled for auto-activation in Winter ’20, but has been postponed to Spring ’21.
The critical update was previously called “Improve Security by Requiring User Access to Apex Classes Invoked by Flow.”

Retired Critical Updates


These critical updates were announced in a previous release but have been retired. They have been removed from the Critical Update
Console and won’t be activated.
Generate Valid HTML Output from Formulas in Processes and Flows (Critical Update, Retired)
This critical update was released and retired in Spring '20. This change affects your Salesforce org if you activated the critical update
in the short time that it was available. And, if you modified any HTML in your formulas to prepare for this critical update, this retirement
affects your org.

607
Salesforce Spring ’20 Release Notes Critical Updates and Security Alerts

New Security Alerts


These security alerts are new in Spring ’20.
Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile (Security Alert)
This security alert is related to a critical update that gives you more control over which guest, portal, and community users can access
Apex classes with @AuraEnabled methods in Aura and Lightning web components.
Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile (Security Alert)
This security alert is related to a critical update that gives you more control over which authenticated users can access Apex classes
with @AuraEnabled methods in Aura and Lightning web components.

Previously Released Security Alerts


These security alerts were announced in a previous release.
Automatically Assign Records Created by Guest Users to a Default Owner (Previously Released Security Alert)
To increase the security of your Salesforce data, set up your org so that guest users are no longer automatically the owner of records
they create. Instead, when a guest user creates a record, the record is assigned to a default active user in the org, who becomes the
owner.
View All Users and Other Permissions Disabled in Guest User Profiles (Security Alert, Enforced)
Guest users typically don’t need access to view all users in a Salesforce org, so to promote data security, we disabled the View All
Users permission in guest user profiles. If you have an org created before Winter ’20, we recommend that you check guest user
access and deselect the View All Users permission in all your guest user profiles. To enhance security, we also removed these
permissions from the guest user profile: Can Approve Feed Post and Comments, Enable UI Tier Architecture, Remove People from
Direct Messages, View Topics, and Send Non-Commercial Email.

Enforced Security Alerts


These security alerts were announced in a previous release and are now enforced.
Secure Guest Users’ Org-Wide Defaults and Sharing Model (Security Alert, Enforced)
Learn about the Secure guest user record access setting in this security alert, and how to safeguard your org’s data. This setting
enforces private org-wide defaults for guest users and restricts the sharing mechanisms that you can use to grant record access to
guest users. If you have a Salesforce org created before Winter ’20, we recommend that you review the external org-wide defaults,
public groups, queues, manual sharing, and Apex managed sharing that you use to grant access to guest users. Then replace the
access previously granted by these sharing mechanisms with guest user sharing rules before the security alert is enforced.
Block Certain Fields in the User Record for Orgs with Communities and Portals (Security Alert and Critical Update, Enforced)
Salesforce is giving customers the option to enable a user setting that allows the hiding of certain personal information fields on
the user records in orgs with communities or portals. The fields are hidden from view when external users are accessing user records.
External users can still see their own user records. This change doesn’t apply to queries running in System Mode.

SEE ALSO:
Remove the Manage Encryption Keys Permission from the System Admin Profile (Previously Released Critical Update)

608
Salesforce Spring ’20 Release Notes Spotlight on Content

Spotlight on Content
Learn about Salesforce in-app content, tips for transitioning to Lightning Experience, our new technical requirements and performance
best practices hub, and the Sustainability Cloud. We added Trailhead modules and projects, and updated instructional videos. We also
updated our Trust and Compliance documentation.

IN THIS SECTION:
Learn About Salesforce In-App Content
Introducing new documentation that lists the valuable in-app prompts, welcome mats, and popovers that Salesforce displays to
admins and end users. Use to avoid duplicating the same information as you create your own In-App Guidance prompts or other
in-app content.
Learn Tips as You Transition to Lightning Experience
A collection of tips and best practices for integrating data and business-critical customizations in Salesforce with Lightning Experience
features. Learn ways to avoid common gotchas and work around issues that can have you stumped.
Get the Most Out of Salesforce with the Technical Requirements and Performance Best Practices Hub
The new technical requirements and performance best practices hub is your one-stop shop for everything performance-related.
Learn what hardware we recommend, how to measure and improve your Salesforce org’s performance.
Reduce and Report Your Carbon Footprint with Sustainability Cloud
Introducing Salesforce Sustainability Cloud. Using global emission factors to calculate greenhouse gas emissions, Sustainability Cloud
helps you collect, categorize, and analyze energy usage and greenhouse gas emissions data throughout your organization’s business
activities. Data collection and auditing activities that once took months can be reduced to weeks.
Explore Features with Trailhead
Get familiar with Salesforce or discover a new feature with Trailhead, a fun, guided, and interactive tool. You can follow guided
learning paths for admins or developers, or choose your own adventure with self-paced modules.
Watch Videos (English Only)
We updated instructional videos to help your users learn about improved Salesforce features.
Review Trust and Compliance Documentation
We made seasonal updates to the Salesforce Trust and Compliance Documents.

Learn About Salesforce In-App Content


Introducing new documentation that lists the valuable in-app prompts, welcome mats, and popovers that Salesforce displays to admins
and end users. Use to avoid duplicating the same information as you create your own In-App Guidance prompts or other in-app content.
Where: This change applies to Lightning Experience in Essentials, Group, Professional, Enterprise, Performance, Unlimited, and Developer
editions.

Learn Tips as You Transition to Lightning Experience


A collection of tips and best practices for integrating data and business-critical customizations in Salesforce with Lightning Experience
features. Learn ways to avoid common gotchas and work around issues that can have you stumped.
Where: This change applies to Lightning Experience in Essentials, Group, Professional, Enterprise, Performance, Unlimited, and Developer
editions.

609
Salesforce Spring ’20 Release Notes Get the Most Out of Salesforce with the Technical
Requirements and Performance Best Practices Hub

Get the Most Out of Salesforce with the Technical Requirements and
Performance Best Practices Hub
The new technical requirements and performance best practices hub is your one-stop shop for everything performance-related. Learn
what hardware we recommend, how to measure and improve your Salesforce org’s performance.
Where: This change applies to Lightning Experience in all editions.

SEE ALSO:
Salesforce Help: Technical Requirements and Performance Best Practices (can be outdated or unavailable during release preview)

Reduce and Report Your Carbon Footprint with Sustainability Cloud


Introducing Salesforce Sustainability Cloud. Using global emission factors to calculate greenhouse gas emissions, Sustainability Cloud
helps you collect, categorize, and analyze energy usage and greenhouse gas emissions data throughout your organization’s business
activities. Data collection and auditing activities that once took months can be reduced to weeks.
Where: This change applies to Lightning Experience and the Salesforce mobile app in Enterprise, Performance, and Unlimited editions.

SEE ALSO:
Salesforce Help: Reduce and Report Your Carbon Footprint
Sustainability Cloud Trailblazer Community
Sustainability Cloud Partner Community

Explore Features with Trailhead


Get familiar with Salesforce or discover a new feature with Trailhead, a fun, guided, and interactive tool. You can follow guided learning
paths for admins or developers, or choose your own adventure with self-paced modules.
Check out Trailhead at [Link] and find the right trail for you. Here are the latest modules, trails, and projects.

Modules
Salesforce CMS Basics
Create and share content across channels with the Salesforce content management system.
User Engagement
Create in-app guidance to help users get the most value out of your Salesforce app.
Salesforce Licensing
Understand the relationship between licenses, permissions, editions, and add-ons.
Health Cloud Data Models
Learn how to use the various data models available in Health Cloud.
Insurance Agent Console for Sales and Service
Learn how the insurance platform can help deliver connected customer experiences.
Retail Execution in Consumer Goods Cloud
Turn every store into the perfect store through in-app customer visit management.

610
Salesforce Spring ’20 Release Notes Watch Videos (English Only)

Projects
Put Predictions into Action with Next Best Action
Use Einstein Prediction Builder to create predictions about customers, accounts, sales, and much more, and turn those predictions
into recommendations with Next Best Action.

Watch Videos (English Only)


We updated instructional videos to help your users learn about improved Salesforce features.
• We updated the Forecast Accurately with Collaborative Forecasts in Lightning Experience video to show recent improvements
to the forecasts page, such as inline editing, quick actions, and wrapped text in the opportunity list.

Review Trust and Compliance Documentation


We made seasonal updates to the Salesforce Trust and Compliance Documents.

Infrastructure and Sub-Processors


These changes have been made in the Infrastructure and Sub-Processors Documentation.
Sales Cloud, Service Cloud, Community Cloud, Chatter, Lightning Platform (including [Link]), IoT Explorer (including
IoT Plus), [Link], [Link], Einstein Analytics (including Einstein Discovery), [Link], Messaging, Financial Services
Cloud, Health Cloud, Sustainability Cloud, Consumer Goods Cloud, Manufacturing Cloud, Salesforce CPQ and Salesforce
Billing, Salesforce Maps, Salesforce Advisor Link, and foundationConnect
• Services Covered: Updated Services covered to include new Services (Sustainability Cloud, Consumer Goods Cloud, Manufacturing
Cloud) and new Einstein Features.
Einstein Platform
• Services Covered: Updated Services Covered to include new Einstein Features, including Einstein Opportunity Scoring, Einstein
Case Classifications, EInstein Article Recommendations, Einstein Object Detection, and Einstein Prediction Builder.
• Branding Change: Updated Einstein Agent to current feature name Einstein Case Classification.
• Data Hosting Location: Added new EU-based data centers for Einstein Case Classification and Einstein Prediction Builder.
Marketing Cloud
• Added two new Einstein features under the applicability of the Exact Target and Predictive Intelligence documentation.
• Google Cloud Services (GCP) was added as a sub-processor for ExactTarget services.

Security, Privacy, and Architecture


These changes have been made in the Security, Privacy, and Architecture Documentation.
Audience Studio
• Audits and Certifications: Updated Audits and Certifications to state that the Audience Studio Services are subject to Salesforce’s
Binding Corporate Rules (BCR) for Processors and PRP Certification under the APEC Privacy Framework.
• Deletion of Customer Data: Updated to clarify scope of data and time frame for deletion after termination of Audience Studio
Services.
• Personal and Sensitive Data: Updated for consistency with defined terms in the 2020 Network Advertising Initiative (NAI) Code
of Conduct.

611
Salesforce Spring ’20 Release Notes Review Trust and Compliance Documentation

Sales Cloud, Service Cloud, Community Cloud, Chatter, Lightning Platform (including [Link]), IoT Explorer (including
IoT Plus), [Link], [Link], Einstein Analytics (including Einstein Discovery), [Link], Messaging, Financial Services
Cloud, Health Cloud, Sustainability Cloud, Consumer Goods Cloud, Manufacturing Cloud, Salesforce CPQ and Salesforce
Billing, Salesforce Maps, Salesforce Advisor Link, and foundationConnect (“Covered Services”)
• Audits and Certifications: Updated and clarified the scope of certifications in this section . Added information about APEC Privacy
Recognition for Processors (PRP).
• Services Covered: Updated Services covered to include new Services (Sustainability Cloud, Consumer Goods Cloud, Manufacturing
Cloud) and new Einstein Features.
• Reliability and Backup: Updated to include Sustainability Cloud in the list of products for which replication and backups may not
be available under certain circumstances.
• Sensitive Data: Added Consumer Goods Cloud and Manufacturing Cloud to the list of Covered Services that are not permitted to
receive certain types of sensitive data.
B2B Commerce
• Updated Audits and Certifications to add Salesforce’s Binding Corporate Rules for Processors (BCR).
• Updated Audits and Certifications to add EU-U.S. and Swiss-U.S. Privacy Shield certifications.
• Updated Audits and Certifications to add APEC Privacy Recognition for Processors (PRP).
B2C Commerce/Commerce Cloud
• Updated Audits and Certifications to add Salesforce’s Binding Corporate Rules for Processors (BCR).
• Updated Audits and Certifications to add APEC Privacy Recognition for Processors (PRP).
Einstein Discovery Classic
• Certifications: Updated Audits and CertificationsDocumentation to state that Einstein Discovery Classic is covered by Salesforcethe
EU-U.S. and Swiss-U.S. Privacy Shield certifications, Binding Corporate Rules (BCRs), and APEC Privacy Recognition for Processors
(PRP).
Einstein Platform
• Services Covered: Updated Services Covered to include new Einstein Features, including Einstein Opportunity Scoring, Einstein
Case Classifications, EInstein Article Recommendations, Einstein Object Detection, and Einstein Prediction Builder.
• Branding Change: Updated Einstein Agent to current feature name Einstein Case Classification.
• Certifications: Updated Audits and CertificationsDocumentation to state that Covered Services are covered by Salesforce the EU-U.S.
and Swiss-U.S. Privacy Shield certifications, TRUSTe, and APEC Privacy Recognition for Processors (PRP).
• Certifications: Updated Audits and CertificationsDocumentation to state that all Covered Services are now covered by Salesforce’s
Binding Corporate Rules for Processors (BCR), other than those Covered Services specifically listed above as excluded Services.
[Link], Einstein Discovery, LiveMessage, Quip, myTrailhead, and SalesforceIQ CRM Services
• Audits and Certifications: Updated Audits and Certifications to state that Covered Services (excluding [Link], myTrailhead,
and SalesforceIQ CRM) are covered by Salesforce’s Binding Corporate Rules (BCR) for Processors and by the EU-U.S. and Swiss-U.S.
Privacy Shield certifications.
• Audits and Certifications: Updated Audits and Certifications to state that all Covered Services are now covered by APEC Privacy
Recognition for Processors (PRP) certification.
Heroku
• Audits and Certifications: Updated Audits and Certifications to add Salesforce’s Binding Corporate Rules (BCR) for Processors and
APEC Privacy Recognition for Processors (PRP) certification.
• Quota and Limits: Deleted Quota and Limits section because this information is stated in the Notices and License Information (NLI)
for Heroku.

612
Salesforce Spring ’20 Release Notes Review Trust and Compliance Documentation

IoT Cloud
• Audits and Certifications: Updated Audits and Certifications to add Salesforce’s Binding Corporate Rules for Processors (BCR),
EU-U.S. and Swiss-U.S. Privacy Shield certifications, and APEC Privacy Recognition for Processors (PRP) certification.
Marketing Cloud
• Updated Security Controls section.
• Services Covered: Updated the Predictive Intelligence Services to include new Einstein features, Einstein Copy Insights and Einstein
Messaging Insights.
MuleSoft
• Audits and Certifications: Added Salesforce’s Binding Corporate Rules (BCR) for Processors and APEC Privacy Recognition for
Processors (PRP).
• Deletion of Customer Data: Added clarification for data retention of Transaction Processing Information in MuleSoft Anypoint
Partner Manager.
Pardot
• Audits and Certifications: Updated Audits and Certifications to add Salesforce’s Binding Corporate Rules (BCR) for Processors and
APEC Privacy Recognition for Processors (PRP) certification.
• Data Encryption: Updated Data Encryption information to add additional encryption standards.

Notices and Licenses


These changes have been made in the Notices and Licenses Documentation.
Audience Studio
• Restricted Uses of Information and Compliance with Self-Regulatory Programs: Updated for consistency with defined terms
in the 2020 Network Advertising Initiative (NAI) Code of Conduct.
Salesforce
• Services Covered: Updated Services covered to include new Services (Sustainability Cloud, Consumer Goods Cloud, Manufacturing
Cloud) and new Einstein Features.
• foundationConnect: Clarified that foundationConnect uses the Consolidated Screening List API and is subject to the International
Trade Administration’s Terms of Service.
Einstein Analytics (including Einstein Discovery)
• Non-SFDC Applications: Updated section on Einstein Analytics Connectors to add Non-SFDC applications to which Salesforce
Customers can integrate.
“Einstein Platform” (Sales Cloud Einstein, Pardot Einstein, Salesforce Inbox, Einstein Engagement Scoring, Einstein Vision
and Language, Einstein Bots, Service Cloud Einstein, Einstein Prediction Builder, and Einstein Vision for Social Studios)
• Services Covered: Updated Services Covered to include new Einstein Features, including Einstein Opportunity Scoring, Einstein
Case Classifications, EInstein Article Recommendations, Einstein Object Detection, and Einstein Prediction Builder.
• Salesforce Inbox: Removed FullContact and Clearbit Non-SFDC Applications due to End of Life.
• Einstein Vision for Social Studios: Clarified that Einstein Vision for Social Studios uses Google Vision APIs and is subject to Google
terms.
Marketing Cloud
• Updated Restricted Uses of Information section for Social Studio to more clearly delineate use of cookies and/or other tracking
technologies in the platform.
• Updated Mentions section for Social Studio.

613
Salesforce Spring ’20 Release Notes Other Salesforce Products and Services

• Updated third party notices section for Social Studio to reflect current product offerings, including adding new third party content
providers, products, services and/or platforms.
• Services Covered: Updated the Predictive Intelligence Services to include new Einstein features, Einstein Copy Insights and Einstein
Messaging Insights.
myTrailhead
• Distributed Software: Updated Distributed Software to add Trailhead GO for iOS.
Salesforce Maps
• Updated to add new third-party data source.
Sustainability Cloud
• Updated to add third-party data sources used in Sustainability Cloud.

Other Salesforce Products and Services

Heroku
Heroku is a cloud-based application platform for building and deploying web apps.
For information on new features, go to the Heroku Changelog.

Success Cloud
The certified experts, consultants, and innovative tools of Salesforce Success Cloud are here to help with professional services, prescriptive
advice, and expertise at every stage of your journey.

IdeaExchange
The IdeaExchange is the home base for sharing ideas with the Trailblazer community and Salesforce product managers. In late 2019, a
prioritization process was added to allow users to contribute to the Salesforce release planning process. By spending virtual coins on
your preferred feature ideas, you get to tell Salesforce product managers what’s important to you. Follow along with prioritization results
and the development progress of winners. Visit the IdeaExchange for more information.

614

You might also like