Salesforce Spring 2017 Release Review

It’s that time of year again. Salesforce released their Spring 2017 version of their software. Let’s take a look at some of the new features worth noting.

For complete details, see the Spring 17 Release Notes PDF.

Salesforce Optimizer

Salesforce runs programmatic analysis of your sandbox or production environment and then you are sent a report of the findings. From the Optimizer Included Features Help Documentation, the optimizer evaluates the following features:

  • Fields
  • Apex Triggers
  • Page Layouts
  • Report Types
  • Validation Rules
  • Sharing Rules
  • Administrator Permissions

The documentation doesn’t go into too much detail so I’ll try running this and post the results in a separate post.

Favoriting in Lightning Experience

Favorites lets you quickly access important records, lists, groups, dashboards and other frequently used pages in Salesforce. An item is favorited by clicking the star on the current page. It’s unfavorited by clicking the highlighted star again.

I’m glad Salesforce came out with this feature because so much time is spent navigating the same things usually that this saves considerable time searching and navigating. It also saves from having additional browser bookmarks. I’m also glad because I literally was prototyping a similar feature in December for a client and am glad there’s native support now in Lightning.

Manage Duplicate Person Accounts

At my former employer, we used Person Accounts heavily and it’s a great feature. One limitation was that the duplicate management feature didn’t support them. NOW IT DOES!

To create duplicate rules for them, go to the duplicate rules in Setup in Lightning Experience or Salesforce Classic.

Context-Sensitive Merge Fields and Person Account Support

In email templates, one can now see all the person account merge fields when a person account is in the “Related To Field”. This is in Lightning Experience only.

Inline Editing in List Views in Lightning Experience

Users can edit records in a listview without opening it. Also, they can search for and create records on the fly in lookup fields.

There are some fields that aren’t editable and a lock appears next to them. For example, one can’t edit multi-select picklist values. Also, users can’t edit if the listview uses filter logic.

Run Custom Mass Actions on Multiple Records in Related Lists

Remember those brilliant custom buttons that you created in Salesforce Classic by using Visualforce? With the ability to select multiple records in a Lightning Experience related list, those buttons take on new life. Watch your reps’ productivity soar when they click a button to perform a custom mass action on several records at once. This change applies to Lightning Experience only. View All records on a related list to access that list’s mass action buttons.

This definitely needs more explanation and further research. For example, javascript buttons aren’t supported in Lightning Experience so this could be a possible replacement in some cases?

Subscribe to Reports in Lightning Experience

Users can subscribe up to 5 reports but can’t set notification conditions and can only receive report results via email.

Automatically Add Emails and Events to Salesforce with Automated Activity Capture for Inbox

With Automated Activity Capture, Inbox users can connect their email and calendar to Salesforce. Then, their emails and events are automatically added to related Salesforce records. This feature is new in Lightning Experience. After you set up Inbox, Salesforce asks Inbox users to connect their Google™ or Microsoft® Office 365® account to Salesforce. Then, on accounts, contacts, leads, opportunities, and person accounts, they see their related emails and events. They also see related emails and events from others on their team.

For one particular client, this is a huge feature add. They had purchased Salesforce Inbox but then discovered they had to log emails and meetings manually all the time from Office into Salesforce. In case they don’t know about this, I’m sending them an email to let them know.

Filter Reports via URL Parameters in Lightning Experience

One can specify filters for reports now in Lightning Experience via the report’s URL parameters. This is done using fv0, fv1 … fvN parameters that match the order of the custom filters in the report. This has been used widely in Salesforce Classic for a long time. It’s good to see this added to Lightning too.

Create New Records From Lookups

Community members can now create records via lookups, a handy trick that saves time and frustration. Imagine a partner community member who creates the opportunity Awesome Widgets to track a potential sale. The partner looks up the contact Jess Fabulous to see if Jess exists in the system. If Jess isn’t in the system, the partner simply clicks New to create the contact. No break in flow, and no time lost.

Assign Record Pages by App, Record Type, and Profile

In addition to profiles, you can now add location and record type criteria to page variations and hit your target audience. For example, by combining criteria, you can have a page that’s visible only to sales users in Canada or create a custom group geared just to that set of users.

Build Dynamic Picklists for Lightning Page Components with Apex

Now you can expose a component property as a picklist when the component is configured in the Lightning App Builder. The picklist’s values are provided by an Apex class that you create.

For example, let’s say you’re creating a component for the Home page to display a custom Company Announcement record. You can use an Apex class to put the titles of all Company Announcement records in a picklist in the component’s properties in the Lightning App Builder. Then, when admins add the component to a Home page, they can easily select the appropriate announcement to place on the page.

This is awesome and adds another layer of flexibility for design-time customization to Lightning Components. Some time soon, I’ll try using this for replacing the Object Name from a textbox in my Lightning Lookup Dropdown Component to a dropdown list with all usable Objects in the org.

Customize How Related Lists Display on Lightning Pages

We want you to get exactly what you want on your Lightning pages. Instead of displaying all the related lists for a record, you now get to pick exactly which list you want with the new Related List component. This feature is new in Lightning Experience.

With the Related List component, your users can focus on the things that matter most. For example, you can use this component to display activity history front-and-center on all case pages. You can even configure this component to display a related list for a parent record. Say that you want your users to know if a case’s contact has any other open cases. Your users will never miss a beat.

External Services Wizard Walks You Through Setup (Beta)

Use External Services to connect your Salesforce org to a service of your choice. Invoke methods based on the external source via a flow. Import data from the service into Salesforce. You can do all this with the help of an easy-to-use wizard. This feature is new in Lightning Experience.

Let’s say you want to connect to a service that determines if credit is extended to a Salesforce account. You also want to know the payment terms. With External Services, you: •

1) Supply a named credential, a URL, and authentication settings. Salesforce uses this information to make callouts to the external service. •

2) Enter a schema URL path (or endpoint) or provide a complete schema.

3) Create a flow based on the Apex classes generated from your external service registration using Salesforce’s point-and-click automation tool.

This is really interesting because I haven’t heard about this capability yet. There’s an upcoming integration project on my horizon that may be able to use this so more research is needed.and this is added to my backlog.

Run Flows with a Lightning Skin (GA)

Have you ever wanted your flows to look better? So have we. When you enable this feature, all your URL-based flows render using the Lightning runtime instead of the Classic runtime. The new skin fits in with the rest of Lightning Experience, but it’s also available in Salesforce Classic.

It’s about time 🙂

Debug Lightning Components on Every Page with Lightning Inspector

The Lightning Inspector now has more debugging information such as Component information on every page and information about components that initiated actions. Debugging can be tricky so I’m glad there’s more diagnostic information to use if needed.

Bulk API Now Supports More Complex Queries

Bulk queries now support the queryAll operation and SOQL relationships.

queryAll returns records that have been deleted because of a merge or delete as well as information about archived Task and Event records. To make a queryAll request, set the operation field on the JobInfo to “queryall”.

YOU CAN NOW USE SOQL RELATIONSHIPS IN BULK QUERIES. That is huge and will streamline data conversions and integrations so much. This provides another enhancement to make to my Salesforce Bulk API Starter Project.

Metadata Relationships Now Support Field Definition Relationships

Metadata relationship fields for custom metadata types now let you look up field definitions. Previously, you could look up entity definitions for standard and custom Salesforce objects, but not a specific field on an object. Now, field definitions are supported as a type of metadata relationship field.

Finally comes to mind here. It’ll be nice to have true data integration among associations between records.

What Spring 17 features do you like and dislike? What do you think of the Spring release so far?