What breaks if I delete this?

Deleting a Salesforce field is a one-way door with hidden dependents. Simulate the delete first - see every Flow, Apex class, layout, validation rule, and report that references it, weighed into a verdict with honest coverage caveats.

Short answer: Don't guess - simulate. Ask sf-intelligence "what breaks if I delete Contact.Legacy_Status__c?" and it collects every dependent component, weighs the impact, and returns a verdict with a coverage caveat naming what it did and didn't check. It surfaces the risk before you make the change, and it's read-only - it never deletes anything for you.

A delete you can preview

claude - sf-intelligence
 is it safe to delete Contact.Legacy_Status__c?
▸ verdict: review-first — 4 dependents found
  ValidationRule "Status_Required" · Flow "Contact_Router" · ApexClass "ContactSvc" · Report
  coverageCaveat: reports & dashboards fully modeled; dynamic Apex not checked

Why "no data" isn't the same as "safe"

RiskRemoved by "no records"?Removed by dependency check?
Data loss on deleteYes-
A Flow that reads the field breakingNoYes - it's surfaced
A formula / validation rule referencing itNoYes - it's surfaced
A report column disappearingNoYes - it's surfaced

The tools behind it

  • safe_to_delete_field - the delete simulation with a verdict and coverage caveat.
  • get_impact - the raw dependency subgraph (what references this, N hops out).
  • what_if_change_field_type - the sibling question for a type change rather than a delete.

Honest limits

A destructive verdict is only as strong as the coverage behind it. sf-intelligence renders the coverage caveat before the verdict, distinguishes "not in the vault" from "not in the org", and marks dynamic references heuristic. Treat a "safe" verdict as "no static evidence of a dependent", then spot-check. See how it's tested.

Frequently asked

How do I know what breaks if I delete a Salesforce field?

Trace its dependents first. sf-intelligence's safe_to_delete_field simulates the delete: it collects every component that references the field, weighs them, and returns a verdict with a coverage caveat that tells you which metadata families it did and didn't check. It never gives a confident 'safe' it can't back up with evidence.

Is it safe to delete a custom field with no data?

Having no data removes one risk (data loss) but not the other (broken references). A field with no records can still be referenced by a Flow, formula, Apex class, or report that will break on delete. Check the references, not just the row count.

What does Salesforce not warn me about when deleting a field?

Salesforce blocks a delete on some hard dependencies but not all - formula text, certain Apex references, and report columns can slip through. A metadata-level simulation surfaces those before you act, and flags dynamic references it can only detect heuristically.

Preview the delete.

Simulate a field change against your real metadata before you make it.