Spring ’21

After a long 2020, looking for some things to celebrate in 2021! I wanted to start by saying that I’ll miss Wade Wegner and Sofia Rodríguez, who are leaving Salesforce to continue their careers elsewhere. Wade has been one of the leaders in charge of SalesforceDX and Sofia worked closely with the MVPs on the Salesforce Community team. I also wanted to congratulate Sarah Franklin on her promotion to Salesforce Chief Marketing Officer (formerly EVP of Platform and Trailhead) and Amy Weaver on her promotion to Salesforce Chief Financial Officer (formerly Chief Legal Officer). Hopefully there is great career news for you this year as well!

In regards to Spring ‘21, the Release Notes have a new home and are now at help.salesforce.com. I think the UI is a bit better and probably good that it’s more consistent with the rest of the Salesforce documentation. Here are my favorite 11 features I’m looking forward to using.

Flow Updates

Reference Prior Values in Flow

Once again, it’s a huge release for Flows, as we take another step toward building non-code triggers! Now you can compare the old value of a field to the new value of a field within your Flow and take action accordingly. Love seeing Flow get more and more advanced and reduce the need to have to code.

Schedule Trigger Based Flows

One of the reasons to keep using Process Builder over Flow is now no more! Triggered Flows can now schedule triggered actions in the future, similar to Process Builder. While I don’t think that Salesforce will deprecate Workflow or Process Builder any time soon, it’s more than clear that Flows are the present and future of Salesforce automation.

Cleaner Flow UI

One of the most frustrating things in the past about using Flow was the clunky UI. Yet another UI improvement arrives with Spring ‘21 in the form of a pill to describe the value you’re using rather than the complicated code-like syntax. Even as a developer, I was never a big fan of seeing the old syntax.

Platform Updates

Lightning Experience Manual Sharing

I have NO IDEA why this feature took several years to get parity with Salesforce Classic, but Manual Sharing is now in the Lightning Experience! It’s a long time coming but one of the final stragglers has made its way into LEX!

UI Updates

An under the radar update but I like seeing that Salesforce is replacing more standard Aura components with Lightning Web Components behind the scenes. Any time we can get OOTB performance improvements, I’m all for it!

Lightning Page Performance Analysis

Get more information about how long your pages take to load and find out what specifically is causing the performance issues. The more ways we can identify how to improve our performance the better!

Community Cloud Rebrand 

Community Cloud is now Experience Cloud! While it’s hard (and sometimes annoying) to sometimes keep track of all the new names (Wave -> Analytics Cloud -> Einstein Analytics -> Tableau CRM), I think this one actually helps better define the custom experiences you are building.

Code Updates


While not exactly the “SELECT *” functionality, the new FIELDS() functionality in SOQL will allow you to essentially do the same thing! Similar to functionality that exists in SOSL, now you can run SOQL queries using FIELDS(ALL), FIELDS(STANDARD), and FIELDS(CUSTOM) keywords to simplify your queries and quickly gather all data for your objects. This might just be my favorite feature in the Spring release!

Sandbox Source Tracking 

One of the great things about Scratch Orgs when working with Salesforce DX is the ability to track changes to easily keep track of what has changed both on your local version of the org and the org itself. Now the same can be done with sandboxes! I think this will make Sandbox development much easier, while still sticking with the standard Salesforce DX processes that take advantage of modern software processes.

Access MDT from Static Methods

One of the drawbacks to using Custom Metadata to Custom Settings was the fact that Custom Settings were easily accessible in Apex, while MDT required a SOQL query. While it didn’t count against the limits, it was still slightly annoying, at last to me, to write and look at. Now you can use your MDT just like you would your Custom Settings! 

Salesforce Functions (Beta)

Another step toward writing non-Salesforce code on Salesforce! Salesforce Functions (formerly Evergreen) is in Beta now, and it appears to allow you to write JavaScript and TypeScript that run on Node.js on top of Salesforce.  

LWC Actions (Pilot) 

Only a pilot for now, but great to see another development on the LWC side that previously existed with Aura. Soon we’ll be able to create Custom Actions using Lightning Web Components, to further customize the standard Salesforce UI.

Let me know what else you’re looking forward to in Spring ’21 and 2021!

Winter ’21

With Winter ‘21 now in sandboxes, it’s time once again to take a look at the top features from this release. Once again, I think the most exciting things came on the Flow side but there are a ton of other great features I’m excited about in this release too. There was 1 in most of the sections that piqued my interest.

Search Trailhead from the Help Menu

Anytime I can save clicks, I’m all about it. If I can search Trailhead directly from Salesforce without having to open up another tab to Google it first, I count that as a win!

Service: New Threading Behavior for Email to Case (No More Ref Id)

It’s always struck me as odd that Salesforce would put the record Id and the org Id in external emails. As cool as I believe the Email-to-Case functionality is (and as much as I enjoyed identifying other companies as Salesforce customers when I saw the refIds in their emails to me), I think it’s a good thing to make this information a little more hidden from a security perspective. Not sure if it will make these issues more difficult to troubleshoot though.

Sales: Interactive Email Templates

Email templates have always left much to be desired for me, so I’m glad to see they’re getting a major upgrade! It looks like they’ll be consistent with the Lightning App Builder, a step in the right direction if you’re a fan of layout standardization like me.

Analytics: Auto-Add Fields to Custom Report Types

This is only in Beta, but it’s a much welcome addition! It’s always been a pain point of mine to have to find all my custom report types that use my objects and manually add new fields to them. Always a big fan of needing fewer clicks.

Communities: Manage Pages and URLs with the Pages Menu

Another win for customization, now you’ll be able to build out a robust site hierarchy and customize your URLs to meet your companies needs. Easy to understand URLs make it easier for users to find your pages and I think this feature will help with that goal as well.

Mobile: Shortcuts to Essential Pages

Not sure about you, but I usually have to describe complicated click paths in order to get users to specific places. I like the idea of having a centralized place I can direct users to in order to cut down on their number of clicks.


Flow Delete Triggers

Yet another great addition to Flow functionality, Delete triggers! Now you can choose a flow to fire off when a record is being deleted. Yet another key piece of Apex that can be turned into clicks. It only works before a record is deleted (vs after a record is deleted) but yet another piece of evidence that Flow is the future of Salesforce declarative automation.

Multi-Column Screens in Flow Builder (Pilot)

One of the reasons I’ve hesitated to use Flow is the not-so-user-friendly screen interface. I’m hoping we’ll get to the drag-and-drop Lightning App Builder-esque functionality at some point but it sounds like this is a start. It’s in Pilot for now but glad to see progress. 

Run Flows Based on Criteria

Another automation addition to Flows, now we have the ability to only fire them off when criteria are met, similar to Workflow Rules and Process Builder. With this addition, there are even fewer reasons to build WF and PB moving forward for new requirements.

Analyze Lightning Pages Performance

One of the biggest complaints (and deservedly so) about the Lightning Experience has been performance. While I believe it’s faster to develop in general in LEX compared to Classic, there’s little doubt that pages tend to take longer to load. Hopefully this new feature will help determine exactly why custom pages are taking so long to load, and will be the first step in major performance gains in LEX.

Dynamic Forms (GA) 

My favorite feature in Summer ‘20 is now Generally Available! Only for Custom Objects for now, but the ability to have cleaner layouts that will be dynamic is a major win for cleaning up long layouts with dozens of unused fields.

Manage Deleted Fields in Lightning

It’s a pain having to switch back to Classic to make, what should be straightforward, changes, such as managing deleted fields. Glad to see there’s one less reason to switch back and forth.


Increased Timeout for Client-Side Caching from 15mins to 8 hrs

This is one of those changes that I’m both excited and nervous about. On the one-hand, increased time for client-side caching means that components and pages will load quicker because they’ll be cached in the browser. On the other hand, if changes are made to the components or data, I’m hoping this increased time won’t interfere. Since the refresh interval is set to 15 minutes, presumably, the worst case scenario will just be the previous behavior and the best case scenario will be faster pages.

Safe Navigation Operator to Avoid Null Pointer Exceptions

I’m pretty excited about this one! Always nice when code can be simplified and this new Apex operator has the potential to make a lot of null checks MUCH cleaner and take up fewer lines of code in the process. 

Custom Notifications from Apex

I definitely need to do some more research on this one, but I like the idea of being able to send customized notifications from Apex. Right now, I generally rely on the .addError() method, which doesn’t always give the cleanest errors. Excited to see the capabilities of customized notifications.

Scratch Orgs Based on Org’s Shape (Beta)

As someone who is increasingly getting into SFDX and Scratch Org, it’s become a frustrating pain point to have to tradeoff including different features in my scratch org, when a certain feature only works in a certain edition, but another feature only works in a different edition, while my production org includes both features. The idea behind the scratch org is to create a “local” copy of the Production org, and now this Beta feature is helping to make that a reality!

Lightning Design System Double Dashes Deprecated

Not necessarily excited about this, but still felt it was worth pointing out. The Salesforce extension should help you clean up the class references but good to be aware of it at least.

Let me know what your favorite new features are in Winter ‘21!

Summer ’20

Another Summer, another Salesforce release. While this release was delayed and its mascot icon changed due to the COVID-19 pandemic, Summer ‘20 is finally here. A lot of great new features coming to an org near you and a ton of cool stuff to stay excited about in the future as well!

While these features are not GA yet, this was my top most wanted feature in my 2020 Outlook and I’m super excited about it!

Dynamic Forms (Non-GA Preview)

Your users can now customize their Lightning App Builder pages down to the Layout Section or even Field level based on certain conditions. No more having to create tons of layouts just to add one field, or having to have a bunch of extra fields crowd the screen if they’re not needed at a certain point. I’m super excited to try this out and the PM from Salesforce, Vin Addala, is soliciting feedback and has some resources for you to get started too.

Dynamic Forms

Dynamic Actions to Highlight Panel (Beta)

In addition to Dynamic Forms, I’m also pretty excited that a new Beta feature allows us to customize the Actions that appear in the Highlights Panel. Once again, we can cut down on page layouts by providing conditions on actions showing up. I love the idea of decluttering my layouts and only showing the actions when they’re needed.

Dynamic Actions


Once again, following the Spring ‘20 Release, Flow takes a MAJOR step forward in this release. Following the “Before Save Flows” functionality we got in Spring, we now have the next logical step: “After Save Flows”

After Save Flows

I think the line that stands out the most for me is “You can replace most of your workflows and record-change processes that you created in Process Builder.” If you’re already familiar with code, “A flow that performs after-save actions is similar to an after trigger”. If you’re not already familiar with code, consider yourself that much closer to being an Apex Developer! With After-Save Flows, you can fire off a flow automatically after a record is saved. The implication of this means that you’ll have access to the record’s ID as well as the LastModified information.

As Flows continue to get stronger, if you aren’t already familiar with how to build flows, it’s time to start. I think it’s pretty clear that the new automation in Salesforce on the declarative side is coming to Flow while Process Builder and Workflow appear to be falling out of style. Count this as another win for “clicks before code” as well, as there is now more we can do without needing an Apex Trigger.

After Save Flow

Debug Flows Faster and Track Flow Resource Usage in Debug Logs

One of the reasons I’ve preferred code to Flows in the past is because, in my opinion, existing flows are hard to troubleshoot, or debug, and are also hard to start building. The troubleshooting/debug piece is considerably addressed in this release. Now you can configure Debug options including “rollback mode”, which will undo, or “rollback”, all records changes done as a result of the flow if something goes wrong.

Debug Flows

Flows will also show you more information in the Debug Logs that you can run for yourself or another user about how many Salesforce resources they’re using and how close they are about hitting limits. This should help determine why Flows are hitting errors as well and resolve them quicker.

Flow Debug Logs

Flow Builder Guidance

Salesforce addressed my other concern with Flow in this release as well, by showing Tips to help you build your flows while you’re building them!

Flow Guidance

Access Apex-Defined Variables in Flows

Yet another Apex/code feature being brought to flow, custom variable types. For those unaware with writing code, you’re not necessarily limited to just having a variable of type Number, Text, Account, etc, but can create your own types or structures with properties that you define. For example, maybe you want a single variable that has multiple properties. I could have a variable in Apex defined as follows:

Type: Bank Account

Bank Account.Customer Name (Text)

Bank Account.Amount (Decimal)

Bank Account.Account Number (Number)

Bank Account.Bank Name (Text)

I can now reference such an Apex-Defined variable in my flow!

Apex Defined Variable


Share CSS Across LWC

I love the ability of Lightning Web Components to import almost anything. I also hate having to duplicate things, including styling. Now you can develop a CSS component and import it into your other components to create a consistent look and feel across your components.

Import CSS

Import User Permissions LWC

Yet another thing to import into LWC! Check whether users have specific permissions specified by importing them.

Import Perms

Track Source Changes in Sandboxes (Beta)

I love using Scratch Orgs but sometimes it just isn’t feasible for a specific use case or bug fix. One of the difficult things about developing with SFDX with sandboxes is having to manually track your changes. I’m excited about this new Beta feature to start letting SFDX track your sandbox changes like it’s a scratch org.

LWC Test Create Commands CLI

While Lightning Components don’t (yet) require tests, it’s always best practice to be testing your code. That’s why I’m glad to see these new SFDX commands to focus on testing your components, including creating some boilerplate code to get you started.

Other Customizations

Outside of Development, Flow, and the Dynamic items, there are a few other items that I’m excited about in this release.

Split List View

I loved the Kanban view when it first launched and I’m a big fan of this new List View type as well. Far too often I find myself having to open a bunch of new tabs from a list view to make modifications or look at details to a bunch of records. Now I can choose the Split List View to view them all from one tab and keep my browser RAM to a minimum.

Split ViewSplit View2

Minimum User Access Profile

With Salesforce security being shifted to Permission Sets, I think this is a long time coming; an empty Profile where ALL security for a user can be managed by Permission Sets.

In App Guidance Builder

I haven’t used this feature yet, but I’m glad to see that Salesforce is focusing on helping with User Adoption by providing tools to help build in-app guidance for end users.

Related Record Component

This is another nice way Salesforce is extending the capabilities of the Lightning Experience. Now with the “Related Record” component for the Lightning App Builder, you can show and edit fields on a record 2 levels up. My friend Jagannathan walked through a good example on Slalom’s Medium blog. 

Reasons to get Excited

Lastly, I’m always interested to see what Salesforce is working on that I’ll be able to start using in a few releases. Here are a few of the Beta and Pilot features that I’m looking forward to becoming Generally Available. 

Release Updates (Beta)

This appears to be a complete overhaul of the Critical Updates functionality and based on the initial release notes, I’m a fan. I think it’ll help provide context and better understanding for the impacts of the critical updates that need to be implemented.

LWC Based Community Template (Pilot)

I recently started supporting a Visualforce + Tabs Community for Mobile and it leaves a lot to be desired. I was surprised that we were still so reliant on Visualforce to get our customized Community working. I think this will be the start of something great that will vastly improve the customized Communities experience.

Einstein Natural Language Search (Beta)

This requires a separate Permission Set license, but like many Einstein features, this one looks pretty cool. Use natural language to search for records and Salesforce will find them for you. Tremendous possibilities!

Einstein Search

Let me know if you found anything else I missed. Hope everyone is staying safe and healthy and hope to be able to connect with you in person someday soon. Until then, make sure to take advantage of all the virtual events happening across the globe that you can now attend from your own home. I’m “speaking” in New Delhi, India later this week and hope to see you there!

Spring ’20

It’s that time of year again. Another release is about to hit your Salesforce Org! Here are the top 10 #AwesomeAdmin additions and top 4 Developer additions that I’m excited about!


Before Save Flows to replace Process Builder

One note I saw during the Salesforce Admins Keynote at Dreamforce, was that “Before Triggers” in Flow was coming. Yet another #AwesomeAdmin weapon to avoid having to resort to Code, now you can fire off a Flow that makes updates before a record is saved to Salesforce. As per the Release Notes, instead of using Process Builder to update a field on a 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.

If I can do the same thing, without code, and do it faster, I’m all for it!


Permission Set Groups

As Salesforce begins the process of rethinking Profiles, I’m excited to see additional capabilities added to Permission Sets. Now I don’t need to combine Permission Sets or assign multiple for certain users, I can just add them all to a Permission Set Group, and assign them once!


Muting Permissions

Along with creating Permission Set Groups, comes the ability to Mute permissions within the group! Note that this won’t remove access if they have it via another Permission Set or their Profile, but it allows for further customization of how to manage permissions!


It will also, however, add to CTA Steve Simpson’s list of ways to manage Salesforce permissions.


URL Hack Buttons

They’re back! After being one of the main reasons people didn’t want to upgrade from Classic to Lightning, URL Hack buttons are back in Salesforce.

URL Hacks

JavaScript button converter

Another reason people were sad to leave Classic, no JavaScript buttons. Now there’s a tool to convert them to Lightning Components so you can continue using them in the Lightning Experience!

Turn Off Automatic Report Preview Updates

Did you ever get annoyed that whenever you were building a report, you had to wait until your preview would finish loading? No more! Now you can make all the changes you want and reload the preview on demand. Should make report building even faster!


Filter Reports by Field to Field Comparisons

Another cool new feature in Reports, you can now compare 2 fields to one another as a report filter. This should allow Reports to account for even more use cases!


Unique Values in Report Results

Ever need to resort to the Power of One formula to figure out just how many unique records are being accounted for in your Report? Yet another addition to reports in Spring ‘20, you can now add a Unique Count to your report column.


Don’t go deleting your Power of One formulas just yet though…

Easier App Launcher

I didn’t know how much I needed this until I saw it, now I’m not sure I can live without it! Access your apps and tabs without having to have a whole overlay screen!


In-app Guidance videos

I haven’t yet used the In-App Guidance feature outside of Trailhead, but I’m excited about the possibilities. If I can now provide an instructional video for how to use a feature that shows up whenever a user navigates to a tab, that should hopefully cut down on a lot of support tickets!



@track is no longer required in LWC

One of the new features to Salesforce in Lightning Web Components were decorators. These properties make it so that when a variable changes, the UI automatically will update to get the changed value. With this update, Salesforce has made it so that the @track decorator is always applied in almost all cases, making creating Lightning Web Components even easier and ensuring that your UI always has up to date data!

LWC Base Components Open Source

Don’t like how a Lightning Web Base Component works? Now you can rebuild it and make it work to your heart’s content! LWC Base Components are now live on Github making it easier than ever for Salesforce Developers to take advantage of Base Components while being able to add to them as well.

Lightning Message Service

This feature is only in Beta, but I love the idea of being able to have a place for all my stuff to talk to each other, rather those things are LWC, Aura Components, or Visualforce pages. Rather than custom building a listener service, I can send things to the Lightning Message Service and have my other components on the page respond accordingly!

LWC Local Dev

Last but certainly not least, I love the idea of being able to quickly iterate on my Web Components without having to update it with the Salesforce org each and every time. Also in Beta, but I can now run localhost on my computer and see my changes immediately!


Winter ’20


It’s that time of year again. While not overlapping with Dreamforce this year, Winter ‘20 still has a lot to be excited by! It also looks like Salesforce heard the feedback from our friends in the Southern Hemisphere wondering why we’re talking about the Winter release while they’re enjoying their summer. Astro Yeti is now joining them!

When I go into Release Notes, I have a similar outlook as when I go into a Keynote. I want to know what I can leave with immediately, and I want to know what’s going to keep me excited in the future. I found 10 things that I can go out and use now that my org is on Winter ‘20 and 5 others that have me extremely excited for the future!



Control Custom Metadata Type access by Profile and Perm Set


One of the great things about Salesforce is the security model, and how customizable it is. I’ve always been super excited about Custom Metadata and how I could add additional parts of my org and use them however I like. Now I can also control security access to them!



Lightning App Builder accounts for mobile layouts


While I don’t completely endorse the concept that I can “run my business from my phone”, I’ve always been a fan of using Salesforce on mobile devices, just like I can use pretty much other site. Salesforce has added additional capabilities to customize exactly how pages will look on mobile devices and where they should differ from desktop devices.


Schedule Flows

Lookup Components in Flows

Dynamic Flow Screens

I’ve only worked with flows a small amount but I understand how powerful they are. I’m excited about the new capabilities that allow for flows to take one more step toward code. As someone who is presenting at Dreamforce about how Admins are already using most of the principles of coding, this helps make my point for me! Now users can schedule flows as well as add lookup components. They can also make flow screens dynamic just like components in App pages.


Where is this Used? For fields (GA)


A much needed feature, being able to see where all the parts of your metadata live. Before you change or delete a field, make sure you’re aware of the implications!


Delayed Layout Updates (up to 1 hour)

Not necessarily an update I’m excited about but an important one nonetheless. Updates to app pages may now take longer to update users. I understand Salesforce wants to improve performance, but I’d like there to be some sort of option to force loading the new pages from Salesforce rather than the cache when pages have changed.


Reports & Dashboards

Row Level Formulas in reports


Ever have to create a new formula field that you didn’t need, just so you can report on it? No more! Now create the ad hoc fields directly in your report and keep your metadata clean!



Recycle Bin Lightning Experience

A long awaited feature to get Lightning to parity with Salesforce Classic, the Recycle Bin is finally in the Lightning Experience!


Navigate Directly to an App

There have been more than a few times where I’ve found myself annoyed that I last logged out of Salesforce in an app I rarely use and have a few extra clicks to get to my primary app. Now I can bookmark the apps that I want to start at when I login and always be directed there.


Like I said, I’m also interested in what Salesforce is coming out with in the future to keep me interested. Here are my top 5 that are in Beta or Preview.


Lightning Message Channel to communicate b/t VF, Aura, LWC (Dev Preview)

Definitely interested in finding out more about this, but it looks like Salesforce will let you communicate between Visualforce, Aura, and LWC without having to implement the capability yourself!


Metadata Component Dependency Queries (Beta)

Similar to the “Where is this used” feature, I can now run a query to see what all the dependencies are for my metadata. 


Permission Set Groups (Beta)


There have definitely been several situations in which I’ve had to add multiple permission sets to the same users. Now I can put them all in a group and save myself a few clicks!


Filter by comparing one field to another (Beta) 


Solving another use case, Salesforce will now let us run filters by comparing one field in the report to another!


Unique Count of distinct values (Beta)


As much as we all love the Power of One solution, Salesforce is giving a default way to get the unique count of records in a report!


Let me know if there’s anything I missed!

Summer ’19

Maybe it was just me, but this release felt a little smaller than past releases (although the 491 pages beg to differ). That being said, while not as flashy as the Lightning Web Components we got in Spring ‘19, there is still a ton of great content in the Summer ‘19 release! Here are my favorites!

Enhanced Related Listsenhanced_related_lists_combo

This is probably my favorite new feature of the release! Finally users will be able to show up to 10 fields in a Related List section and at least (not sure what the limit is) 10 related records! For someone whose records tend to have many related records, I’m super excited to see this in action!

Report Condition Notifications


Another one of my favorites this release, get notified when your reports hit a certain threshold! Cautiously optimistic about this one as I’m guessing it’ll only work for certain conditions, but excited nonetheless! Hopefully it’ll cut down on a few emails at least since I can have my report email me only when I want it to as opposed to having to check it every day.


Celebrate Path Milestones


It was only a matter of time before confetti found its way into the org. Let some confetti fall for your users when they reach a certain stage or milestone in their path. I’m all for anything that makes work more exciting so let the confetti fly!


Pop Out Utility Bar Notes


I’ve worked with a lot of reps who end up taking notes outside of Salesforce, only to find out that they need to be re-entered later, or worse, they don’t get re-entered and the information is lost. Hoping this feature makes it easier to keep reps in Salesforce and keep all the info accurate!


Context Switching from Classic to Lightning

Hopefully you’ve switched over to the Lightning Experience now but if you’re like me you need to switch back to Classic every once in a while. Classic actually looks weird to me now, so as soon as I can, I happily switch back into Lightning. It’s incredibly annoying to have to re-navigate to where I was before. Hopefully switching back to Classic keeps the context too but I’ll take what I can get!

View Records in Full View


Are you missing your record views in Salesforce Classic? Fear not! Now you can view your Lightning records just as they used to look in Classic, complete with all related lists below. It looks like it can be assigned as an Org Default or at Lightning Pages level.



Automation Home


I’m hesitant to get too excited about this feature now, but definitely excited about where it’s going. I don’t use flows too much but if this is extended to Process Builder, I’d love to be able to measure how often my processes are getting used and how often errors are encountered. For now though, Flownatics rejoice!


Flow Builder Improvements


One of my hesitations about getting into Flows was how painful it was to use the UI. While I haven’t actually used Flow Builder yet, I love it already! Undo and Redo buttons as well as Search capability makes it even closer to coding for when Clicks are the answer!


20MB Debug Logs

Logs are crucial as a developer and now Salesforce has really blown the lid off by increasing the log size to a whopping 20MB from 5MB (and recently 2MB)!


Custom Metadata in Process Builder

Custom Metadata becomes even stronger thanks to the ability to now use them in Process Builder! With the increase to 200 Custom MDT records in this release as well, there’s more reason than ever to use them wherever you can!


Lightning Prompts


This is another feature I’m cautious to get too excited about until I start playing with it but I love the idea of being able to create in-app training for my users! Too often I’m finding myself closing tickets with links to existing documentation because a user forgot how to do something or a new user is onboarded without reading the documentation. Now I can make sure those users don’t get stuck again!


Those are my favorites but if I missed any that you love, let me know!

Spring ’19

As they say, better late than never! In case you still haven’t had the chance to go through the Spring ‘19 Release Notes, or maybe just missed a few things, here are my 10 favorite things from the latest Salesforce release!

Salesforce Functionality

Pinned Lists

Ever click into an object tab on a regular basis, only to always have to change the List View from Recently Viewed to your favorite custom view? No more! With Pinned Lists, you can now mark your favorite list view as the default that will load every time you click into the object tab.


Flow Builder

Rejoice Flownatics! Salesforce has replaced the old Flash-based Cloud Flow Designer with a faster, more eye-popping tool, the Flow Builder! In addition to getting a makeover, the Flow Builder no longer relies on the outdated Flash technology and should allow you to build flows much faster!


Lightning Page Template Switcher

Have you ever built Lightning App Builder page, only to realize mid-way through that you used the wrong template? Instead of re-building it from scratch, take advantage of the new template switching functionality for Lightning Pages!


12 Column Dashboards

Speaks for itself! Dashboards can now have 12 columns! Show off even more of your data!


Sandbox Cloning (GA)

Another long requested feature! Ever start working on one project in a sandbox, only to realize that you need to start working on a second project, but don’t want to have to re-deploy your current project to the new sandbox? Now you can clone sandboxes and pickup right where you left off without having to stop development on anything! (Side note, you can also look into Salesforce DX)

Things to be aware of

Lightning Experience Auto-Enabled

Not an update so to speak, but starting with the Winter ‘20 release (October 2019), all users that have the Lightning Experience User permission enabled will be automatically switched to Lightning Experience on a weekly basis. While part of me thinks that this is a bit intrusive, I also know how annoying it is to support multiple versions of the same product, so I kind of understand it. It’s a long time coming and while it might be annoying at first, I can attest that once users get used to Lightning, they won’t want to go back!

Permission Set Groups (Pilot)

Have you ever had to assign multiple permission sets to the same group of users? No longer! With this new pilot, you can now bucket these Permission Sets into a Permission Set Group and assign them all at once!

Where is this field used? (Beta)

This may be my favorite new addition to this release! I can now go to any field and check to see where it is being used across all my configuration and code! Extremely useful if you have to change a field name and/or remove a field


Development Updates

Salesforce has been focusing on Developers quite a bit lately and I love it! This release brought the biggest change to the way Salesforce Developers work since Lightning Components were launched!

Lightning Web Components

Salesforce has launched a whole new way to develop with Lightning Web Components! The best part actually is, to most developers, it’s not new at all. In what I see is a move to attract non-Salesforce developers to develop on the platform, it has the added effect of leveling up all current Salesforce developers to use industry standards. Salesforce will now have a say in helping develop those standards too!

By utilizing industry standards, Salesforce can take the next step forward as a platform. From a day to day perspective, LWC advertise a performance improvement as well as an opportunity to level up your skills. Start working on that HTML, JavaScript, and CSS!

If you want to get started, highly recommend checking out this LWC Trail on Trailhead! Salesforce also offers some base components out of the box to get you started!

Change Data Capture (GA)

Change Data Capture is now generally available, allowing you to get notified in near real time when records from your objects are updated and give you the option to replay changes to see how and when a specific change occurred. Check out a full presentation on it here!

Have a great Spring!


Summer ’18

Another couple months, another Salesforce release! This time it’s Summer ‘18 and to avoid you having to read all 512 pages of the release notes (although there is some great stuff in there!) I’m going over my favorite features that are coming out. I had a hard time narrowing it down so decided to stick with my lucky number, 17!



There’s a lot of great new functionality on the declarative side of things, specifically for the Lightning Experience. My favorite features focused on two areas; Reports & Dashboards and Process Builder/Flow.

Reports & Dashboards

Link Dashboard Components

My first top feature from this release is that you can now link dashboard components to either elsewhere internal to Salesforce or somewhere external! I see a lot of potential here in making it faster to act on data you see in dashboards


Add to Dashboard from Report

I’ve never been a fan of how many steps it takes to start building a dashboard after just spending time building a report. That’s all over with the “Add to Dashboard from Report” functionality in Summer ‘18! Now you can add a report to an existing dashboard or start a new dashboard directly from the report itself!


Report and Dashboard Subfolders

I like to stay organized and as a result, am the type of person who has folders on folders on folders on my computer. Now I can bring that organization to Salesforce as well with the ability to create subfolders for reports or dashboard folders!


Filter on Old and New Values in Field History Reports

My last favorite new feature on Reports and Dashboards is the ability to properly report on field history by being able to filter on old and new values. This should make it much easier to determine when records changed and why!



Process Builder and Flow

Guided Action List Component

This may only kind of be a feature for flow but the new Guided Action List component based on flows should be tremendously helpful in walking support reps through a given process. While probably most applicable for service agents, I can see how this component could potentially get used for other processes as well.



Flow Debug Capability

This has been a long time coming, the ability to fully debug Flows! Flows now have a Debug option to walk you through the flow with all of its variable values.



Process Builder Helpful Error Messages

In addition to being able to debug flows, Process Builder now has actually helpful error messages! Looking forward to reduced frustration when trying to figure out why one of these isn’t working properly (not that it wouldn’t work on the first try of course 😉 )



Process and Flow Limit Information

Not a very flashy change, but another one that will help with troubleshooting. Processes and Flows will now show additional info on how close they are to hitting governor limits. Kudos to Salesforce to continually making these easier to troubleshoot!



Partial Save Process Builder Mass Create and Update

My final favorite Process and Flow feature is the capability to allow for partial save of records. This capability comes in very handy all the time with Apex and now Processes will benefit from it as well! If one of your 500 updated records fail due to a validation error, you will now still have 499 successes instead of 0 previously!



2.5X Debug Log Size Limit

This one may be one of my favorite updates all time in Salesforce releases. The Debug Log size limit has more than doubled from 2MB to 5MB! I’ve spent far too much time messing with debug log settings to get the levels I want to be able to get the necessary output while staying under the limit, (hopefully) no more!


Lightning Pages work with broken Components

Another much needed feature/bug fix, Lightning Pages will no longer completely fail if one of the components is broken! Instead, just the component will fail to properly render. It’s too bad this wasn’t the case when I was troubleshooting the Trailhead Lightning Component Superbadge but better late than never!


Apex Switch Statement

A long asked for addition to Apex, the Switch statement is finally here! It should make those long if/else blocks MUCH simpler! Check out the switch statement in action from TrailheaDX!



Run Apex Tests without Code Coverage

I’m all for almost ANYTHING that will make my tests run faster. Apex now lets you opt out of calculating code coverage while tests are running to increase performance. This is one of those features that I didn’t know I needed but now I can’t understand how I ever lived without!


Metadata Dependency API

This is just a Pilot but looked AMAZING when demoed at TrailheaDX, the Metadata Dependency API! It’s primary use is figuring out what components are necessary to be able to spin up scratch orgs properly but I’m hoping I’ll be able to use it to figure out what related components are needed for deployments and deletions as well!



Instance Names Removed from Sandbox URLs

This last one tends to bug me as someone who has to end up hardcoding instance names for Communities and other pages and then change then whenever a sandbox gets refreshed but finally the instance name is being removed from URLs in sandboxes!



Einstein Service Bots

My last section of updates I’m most excited about deals with Einstein. For years I’ve been hearing about bots and this is one of the first ones I’ve seen that is configurable declaratively! Einstein Service Bots are here for orgs with Live-Agent! Salesforce even put together a nice video on it!


Einstein Next Best Action

My last favorite feature is another Pilot but one that I’m very excited about due to its potential. It’s the Einstein Next Best Action capability. I’m guessing that there may be some initial kinks to work out, but the idea that Einstein can suggest to a user what action they should take is one of the big ideas that AI is striving towards! I’m hopeful it catches on!



Hopefully this gave you a nice taste of what Summer ‘18 has to offer, Coming Soon to an Org near you! Let me know if you agree/disagree and if I missed anything! Be sure to check out the Summer ’18 badge on Trailhead and make sure you’re #Ready4Summer18

Spring ’18

Spring ‘18 is coming to a sandbox near you and that means the release notes are out! The PDF is 439 pages this time around, and it felt like Salesforce was adding a bunch of lesser used features and minor enhancements to bring Lightning up to feature parity with Classic. That being said, there are still many exciting new additions and here are my top 10 favorites!

List Class adding contains() and indexOf() methods

For too long, I’ve been putting all my list items into a set for the sole purpose of running a .contains() on it. Excited to see this option is coming to List as well!


No more ENTERING_MANAGED_PKG for Debug Logs!

Few things annoy me more than losing debug log space for running managed package code that I can’t see or edit anyway. Hopefully this will make solving apex issues simpler!


Custom Themes and Branding

Was very excited to see this discussed at Dreamforce. Every company has a unique usage for Salesforce and it is great to see that Salesforce is allowing the uniqueness to expand to the color scheme of the org itself.


Salesforce Surveys

Excited to see that Salesforce has added a standard Survey component! Interesting possibilities with this one to gain insights from internal users and communities.


Time Field is now in Public Beta

As someone who works with a time reservation app, I love that this feature is publicly available. I am especially excited about the formula fields that come with this as well.


Related Fields and Other Objects in Component Visibility

At Dreamforce, I found out about the capability of dynamic Lightning component visibility. Very encouraged to see that this has been extended to related fields and objects as well! This allows for additional flexibility on Lightning pages.


Force.com is now the Lightning Platform

This is more of a semantic thing than anything and while maybe not one of my favorite changes, I’m hoping that this helps introduce some consistency in Salesforce’s naming conventions. I’ve only been working with the platform for a couple years but in that time, I’ve heard the platform referred to as the Force.com Platform, the Salesforce1 Platform, the Salesforce Platform, and probably another name or two that I’m forgetting. Hopefully this name sticks!


Collapsible Sections on Lightning Pages

One of my favorite features on large page layouts now comes to Lightning pages to collapse various components! Should make pages easier to read.


Validation Rules can use Custom Metadata (Pilot)

While just a pilot for now, I’m glad to see that the line between Standard and Custom metadata is shrinking!


Lead Conversion Configurability

Every company has a slightly different lead conversion process, so any additional option to customize that process is a welcome addition to me! This might even make Bill Lumbergh smile.


New URL Format in Lightning Experience

With just one example in the Release notes, it’s hard to tell exactly how helpful this will actually be but I’m hoping it will make ALL URLs in Lightning more readable. I was able to create a record in a pre-release org and ended up with this URL https://gs0.lightning.force.com/lightning/r/Hockey_Player__c/a01B0000002AEofIAG/view for my custom Hockey_Player__c object with ID a01B0000002AEofIAG


Current format: https://lightning.domain.com/one/one.app/#/sObject/Account/home

New format: https://lightning.domain.com/lightning/o/Account/home

Those are my favorites from Spring ’18, let me know if you have any others!

Spring ’17 Release Recap

One of the great things about Salesforce is that they have releases 3 times a year with 250-300 new features each time! One of the not as great things about Salesforce is that means reading through very long documents (466 pages this time) if you want to keep up. Fortunately for you, this and other blog posts can give you a taste of the new Spring ’17 release without having to navigate all 466 pages on your own!

If you’d like to check it out for yourself though, feel free to peruse the HTML or PDF versions. I’ve included links to the portions that I mention in the titles of each subsection. You can also check out the summary videos for each cloud on the Salesforce website.


General Salesforce Enhancements

Here the my favorite General Salesforce Enhancements for this release. These changes apply to both Salesforce Classic and Lightning Experience.

View and Edit Converted Leads permission:For a few releases now, you’ve been able to check a couple different permissions to allow users to view and edit leads after they’ve been converted. Now that permission has consolidated into 1! 

Use the Salesforce Lightning Design System (SLDS) in Visualforce pagesNo longer do you need to continue to upload the latest SLDS as a static resource! You can also now access SLDS components using the $Asset tag

Share Lightning Components Publicly: Similar to my Trailhead leaderboard, you’ve been able to make Visualforce pages public by putting them on public Sites or in Salesforce public Communities. Now you can do the same with Lightning Components by putting the allowGuestAccess tag on them! I haven’t been consistently building these yet but I love seeing the functionality continue to increase

Community Workspaces: Not used by everyone but I think it’s pretty cool, I was never a big fan of the old Communities interface. It’s now been completely revamped and should make things even easier to create communities! There was a ton of functionality added to Community Cloud in this release and you can read more about it in Phil Weinmeister’s review.


Lightning Experience Enhancements

You may have noticed that I didn’t find too many amazing new general features and I think that’s the point. As much as we all love Salesforce Classic, Lightning is the future and it’s here to stay. That being said, there were some pretty cool enhancements made to the Lightning Experience that make me more and more anxious to start using them! Here are a few of them.

Improved UI Event Log Tracking: This may be the most important addition to this release. Now you have the capability to track user interface Interactions, Errors, Page Views, and Performance statistics in Lightning Experience. I think this will not only help admins and developers, but also Salesforce themselves identify where improvements need to be made. Very encouraged by this addition.

Utility Bar: I think of this like the bottom bar on my iPhone. No matter which home screen I’m looking at, the key things I might want to click on are always still there. It’s similar to the Footer in the Salesforce console but no longer restricted to consoles!

Utility Bar.png

Account and Campaign Hierarchy Tree View: This is something that has always annoyed me about the Account Hierarchy, I never felt like I could visualize it properly. This feature definitely helps with that!


List Views Default to Last One Viewed: Another “feature” that’s always annoyed me is the “Recently Viewed” default list view on all objects, when 99% of the time I want to get to the view that I most recently looked at. Now I can!

Sales Path renamed to Path and Available for Custom ObjectsI always thought one of the cool features of Lightning Experience was the ability to configure Sales Path (now called Path) for Leads and Opportunities. I’m thrilled to hear that I can now create them for my custom objects as well to allow my users to take advantage of the same experience no matter my business process!

Customizable Kanban and Kanban on Custom Objects: Another feature I really liked about Lightning Experience was the brand new Kanban view. Previously only available on Opportunities and predefined to use group by stages and summarize by amount, I can now customize how my Kanban is displayed and use it on (almost) any object I want!


URL Parameters in Reports: Too many times I’ve created a report, only to then have to create a separate report so I can save the one filter I’ve wanted applied to it or to send it to a co-worker. No more! Now you can add URL parameters in reports to filter them. It looks a little clunky at the moment but it seems like it will come in very handy!


Debug Managed Packages in Subscriber Orgs: This might be my favorite new features in Spring ’17! The ability for ISVs to debug the managed packaged code in your org. I think there’s only one debugging session at a time, it can only be done in a sandbox, and the ISV is the only one with the permission to do it, but glad to see the option is there! I’m hoping this feature gets expanded in future releases.

Files in Folders: It may just be me, but I’ve always been annoyed about having one giant files repository. Now I can keep everything more organized!

Add Favorites: Similar to a favorites bar in your browser, Lightning Experience now gives you the options to favorite records, reports, dashboards, groups, and list views! I’m guessing we’ll see expansion on this feature in future releases as well


Lightning Experience Quest for Parity

Wasn’t sure what to call this section but as Lightning Experience gets closer and closer to parity with Salesforce Classic (on top of adding a ton of cool new functionality!) the argument will become stronger for everyone to make the switch. I believe there were big updates in this release to Person Accounts, Quotes, and Orders but I don’t have too much experience with any of those so while I encourage you to check out the updates yourself, I’m not going to focus on them here. In my opinion, while there is still more work for Salesforce to do, all of these features definitely relieve a great deal of worry for my future using Lightning Experience.

Inline Editing in List Views: One of the biggest road blocks to switching to Lightning in my own primary dev org has been the lack of inline editing capability. That is possible now with Spring ’17!

Better Error Messages: Nothing is more frustrating than getting an error message that basically says “Something went wrong.” with no explanation or root cause identified. Salesforce has recognized this and improved the errors that show up while navigating the UI.

Screen Shot 2017-01-22 at 11.27.41 PM.png

Duplicate Management: I think this is a very underrated feature that I hope encourages to get built out and allow for increasing customizability. You can now add the Potential Duplicates component to your Lightning record pages as well as allow users to merge records.

To Be Determined but Love the Potential

This last section is for those items that I’m not sure are ready for prime time just yet, but I love the fact that they’re out there and am extremely excited for how they expand in releases to come!

Einstein: If you attended Dreamforce this year, or have been anywhere near the Salesforce ecosystem in the last few months, you’ll know that Salesforce Artificial Intelligence layer, Einstein, has now arrived! This release offers Lead Scoring, Account Insights, Opportunity Predictions and a few more things for an additional cost. If you’re like me and not quite ready to start using Einstein just yet, I highly recommend checking out the Trailhead modules on it at least!

Lightning API: Not exactly sure how I can put this to use just yet, and seems to only be available in Developer orgs but I’m betting that it will come in handy very soon! It appears to be similar to the Tooling API in that it allows you to create your own apps only with all the Lightning Experience metadata you could ask for.

Predictive Vision Service: I think this may fall under the Einstein/AI umbrella but I’m separating it out anyway. This was the feature that they demoed at Dreamforce where you could upload a bunch of beaches and mountains to train Einstein so that it could tell if you new pictures were of beaches or mountains with a certain level of certainty. Coming from SolarCity, I really loved the use case of being able to detect flat roofs vs. angled ones. I’m not quite sure how I’ll use this yet at my current role, but I like knowing that it’s there and hope to find a use at some point! For now I’ve signed up for the Developer Preview.

As always, this was a pretty heavy release and while I did my best to read most of the 466 pages, let me know if I missed anything awesome!