Why Monitor and Update API Versions?
Salesforce updates their software 3x a year. And with every release they update the 'API version' of their software. However, what is less known is that while the rest of your Salesforce Org is updated automatically, the following metadata are not:
Apex classes
Apex triggers
Aura components
Flows
Lightning components
Visualforce pages
Keeping your Salesforce automations on the latest API versions is critical for ensuring your Org runs efficiently and remains future-proof. Here are three key reasons why this should be a priority:
Deprecation Risk: Older API versions eventually lose support and are turned off by Salesforce. This puts older automations at risk of failure.
Feature Incompatibility: New API versions introduce updated features and logic. A Flow built in 2018 does not have the advanced tools an admin in 2024 is trained to use, making updates and troubleshooting more difficult.
Performance Enhancements: Each API version includes bug fixes and performance improvements, which can help prevent unnecessary issues and optimize the performance of your automations.
When to Perform an API Version Review?
It is advisable to check API versions in the following situations:
After a major Salesforce release (e.g., Summer ’23, Winter ’23) when the Org’s underlying version is upgraded.
When you notice performance issues or bugs with older automations (Flows, Apex Classes, etc.).
When planning to onboard or train new admins or developers. Updating outdated API versions is not only a valuable exercise to help them familiarize themselves with your Org’s components but also a great way to teach them about API versioning and its impact on automation.
During regular technical debt assessments as part of your Org’s overall health check (more on that in this solution guide)
Prerequisites
In order to follow this guide you need:
Salesforce Metadata Management license
Synced Salesforce Org into Metadata Dictionary
Perform API Version Review and Update Using Elements.cloud
Here’s how you can monitor and upgrade API versions of key Salesforce automations using Elements.cloud:
Step 1: Understand your API version technical debt
Open Analytics 360 from your Metadata Dictionary. Navigate to the Technical Debt Dashboard where API version details for key automation components (Flows, Apex Classes, Triggers, Visualforce pages, Aura, and Lightning components) are displayed.
Review the chart showing the API versions across your Org to identify the scale of outdated API versions.
Step 2: Create a Custom View of Metadata
Go to your Salesforce Metadata Dictionary. Use the Custom View of Metadata feature to create the following list:
Metadata types:
Apex classes
Apex triggers
Aura components
Flows
Lightning components
Visualforce pages
Attributes:
Name
API name
Full API name
Metadata type
Description
API version
Full path
Sort the list by API Version, starting from the lowest version to prioritize upgrades.
Step 3: Identify risky managed packages
You cannot change or even see the apex classes, flows, and other automations provided through the installed managed packages. But we can detect the API versions for most of these components.
The 'Full path' attribute for metadata is Elements-unique attribute that helps dictate the location of the metadata component in the default structure of the metadata dictionary. But it is also extremely useful for filtering.
In your custom view for outdated API versions, apply a filter for 'Full path' attribute to 'contains' : 'managed packages'.
This will list all components on outdated API versions (look for API versions in red/orange color) belonging to the managed packages.
Using 'Full API' attribute you can understand which managed packages contain automations with outdated and not-maintained automations. You can reach out to your package provider for explanation or consider removing the risky package from your Org.
Step 4: Identify outdated automations
Now, focus on components that you can control. Exclude all managed package components from your list view.
In your custom view for outdated API versions, apply a filter for 'Full path' attribute to 'does not contain' : 'managed packages'.
The list is already sorted to show components from lowest API version to the highest.
Step 5: Document action
From the custom view, bulk-select the metadata components that are on outdated API versions. Then bulk-create user stories from the selected components to capture the work required to upgrade them to the latest API version.
Is this automation worth updating to newest API version?
You might want to investigate if the flow, apex class, trigger, lightning component etc. is actually still being used and relevant to the business. Components on extremely old API versions were built years ago, and it is valid to review if they are still needed at all.
You can read this solution guide on how to conduct such reviews.
Assign captured stories to the appropriate team members and link them to Jira if needed, using Elements.cloud's integration capabilities. You can then pick up those stories for development from your backlog and deliver it when there is capacity.