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
› 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"
| Risk | Removed by "no records"? | Removed by dependency check? |
|---|---|---|
| Data loss on delete | Yes | - |
| A Flow that reads the field breaking | No | Yes - it's surfaced |
| A formula / validation rule referencing it | No | Yes - it's surfaced |
| A report column disappearing | No | Yes - 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.