Deprecated Component
A deprecated component in Salesforce is a feature, API, Apex class, custom Lightning component, or platform capability that Salesforce or a package vendor has flagged for eventual removal.
Definition
A deprecated component in Salesforce is a feature, API, Apex class, custom Lightning component, or platform capability that Salesforce or a package vendor has flagged for eventual removal. The component still works, but Salesforce no longer recommends it, will not add new features to it, and may set a retirement date by which all customers must migrate. Common examples include Workflow Rules (deprecated in favor of Flow), Process Builder, Salesforce Classic UI, S-Controls (long-since retired), JavaScript Buttons, and various Apex classes annotated @Deprecated inside managed packages.
The deprecation signal varies by component type. For platform features, Salesforce announces deprecation in release notes and the Trust site, often with a retirement timeline. For Apex methods inside managed packages, the @Deprecated annotation hides the method from new subscribers but keeps it callable for existing ones. For Lightning components, the @api deprecated decorator surfaces a warning in the developer tools. In every case, you can still use the component today, but you should be planning the migration.
How Salesforce signals and retires deprecated components
Three levels: deprecated, retired, end-of-life
Deprecated means no new development, no new features, and a recommendation to migrate. Retired means no longer available for new orgs but still supported for existing customers. End-of-life (EOL) means a specific retirement date is set, after which the feature stops working. A feature can move through all three states over years. Workflow Rules, for instance, are deprecated now and headed toward retirement; no EOL date is announced, but the writing is on the wall.
The Apex @Deprecated annotation
For managed-package classes and methods, the @Deprecated annotation hides the entity from new subscribers in the API and the IDE while keeping it callable for existing code. Package vendors use it to phase out legacy methods without breaking customers who already depend on them. Apex code outside managed packages does not honor @Deprecated for new development; you have to grep the source yourself.
Lightning component deprecation
Both Aura and Lightning Web Components support deprecation signaling. For Aura, vendors set the deprecated tag in the component bundle's design or documentation. For LWC, the @api deprecated decorator on a property or method surfaces a warning at compile time. As with Apex, this is most useful inside managed packages; first-party org code has no enforcement.
Platform-feature deprecation in release notes
Salesforce announces deprecation of platform features in seasonal release notes (Spring, Summer, Winter). The pattern is consistent: a Deprecated note, a migration guide, and a separate retirement-date announcement on the Salesforce Trust site months or years later. Major recent examples: Workflow Rules (deprecated 2022, no EOL set), Process Builder (deprecated 2023), Salesforce Classic (still supported but capabilities shrinking), Aloha apps from AppExchange (retired 2023).
Migration paths and the recommended-replacement pattern
Every deprecation announcement names a recommended replacement. Workflow Rules and Process Builder migrate to Flow. Classic Knowledge migrates to Lightning Knowledge. Custom S-Controls migrated to Visualforce and then to LWC. Salesforce maintains migration tools for the largest transitions: the Migrate to Flow tool for Workflow and Process Builder, the Knowledge Migration Tool for Classic-to-Lightning Knowledge, the Lightning Experience Migration Assistant for Classic-to-Lightning.
Why deprecated components matter for tech-debt audits
A Salesforce org that has been live for five years almost certainly has deprecated components: legacy Workflow Rules, surviving Process Builders, S-Control remnants in JavaScript buttons, Classic-era Knowledge articles, Apex referencing retired methods. Migrating them is a real project, but ignoring them is risk: when the EOL date arrives, broken automations cost more to fix in production than they would have to migrate ahead of time.
Tools to find deprecated components in your org
Salesforce Optimizer (Setup, then Optimizer) scans the org for deprecated and inefficient configurations: unused permissions, old workflows, dead Apex code, and deprecated features. Third-party tools (Strongpoint, Elements.cloud, Sonar) build broader inventories. The Health Check page also flags some deprecated security configurations. Run Optimizer quarterly to catch new deprecations as they land in release notes.
How to find and migrate deprecated components in your org
Salesforce telegraphs deprecations through release notes, but finding them in your specific org requires running the right scans. The work is to inventory, prioritize, and migrate in order of risk.
- Run Salesforce Optimizer
Setup, then Optimizer, then Run Now. The report runs in the background and emails you a PDF and an in-org dashboard with deprecated features the platform has detected (Workflow Rules count, Process Builders count, Classic-only configurations, and so on).
- Review the Optimizer dashboard
Open the dashboard. Look for sections labeled Deprecated or Retiring. Sort by the count of affected components; high counts are usually higher-priority migrations because the work scales with the number of objects involved.
- Cross-reference with current release notes
Open the latest Spring, Summer, and Winter release notes and search for deprecated and retiring. Compare what is announced to what Optimizer flagged. Sometimes Salesforce announces deprecations before Optimizer catches them.
- Use feature-specific migration tools
For Workflow Rules and Process Builder, Setup, then Migrate to Flow. For Classic Knowledge, the Lightning Knowledge Migration Tool. For Salesforce Classic, the Lightning Experience Migration Assistant. Each tool handles the heavy lifting for its specific case.
- Plan the migration in waves
Prioritize migrations by EOL risk (announced retirement dates first) and by user impact (heavily used features over edge-case ones). Document each migration: source component, target component, test plan, rollback plan.
- Validate and decommission
After migrating, run the new component alongside the deprecated one for a sprint or two. When confident, deactivate or delete the deprecated component. Keep the audit trail in your change log so future admins know what got replaced and why.
Setup-built scanner that surfaces deprecated features and inefficient configurations. Run quarterly.
Setup-built tool that converts Workflow Rules and Process Builder into Flows. Most common deprecation migration today.
Setup-built tool that moves Classic Knowledge articles into Lightning Knowledge.
Strongpoint, Elements.cloud, Sonar for Salesforce. Broader inventory and impact analysis than Optimizer alone.
- Optimizer scans are point-in-time. New deprecations announced in the latest release notes may not be flagged for a few months. Combine Optimizer with manual release-note review.
- Migration tools rarely cover 100 percent of cases. Migrate to Flow handles the easy ones; complex Process Builders with cross-object updates often need manual rebuilding.
- Deactivating a deprecated component while still in use is a recipe for production outages. Always run migrated and deprecated versions in parallel for a sprint to confirm behavior matches.
- Some deprecations have no EOL date when announced. That does not mean never retiring; it means no committed date yet. Treat all deprecations as inevitable retirements at unknown future dates.
Trust & references
Straight from the source - Salesforce's reference material on Deprecated Component.
- Salesforce OptimizerSalesforce Help
- Migrate to Flow ToolSalesforce Help
- @Deprecated AnnotationSalesforce Developers
About the Author
Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.
Test your knowledge
Q1. What is a Deprecated Component?
Q2. Where are deprecations announced?
Q3. What should you do about deprecated features?
Discussion
Loading discussion…