handling-locked-standard-objects
Installation
SKILL.md
Handling Locked Standard Objects (custom fields that never materialize)
The trap
Some standard industry / Financial Services Cloud objects — confirmed on the standard Claim object (KeyPrefix 0Zk) in the CommericalDemos org — are structurally locked: you can create custom fields on them through every normal channel and get success every time, but the column never physically exists.
- A
CustomFieldmetadata deploy returnssuccess: true. - A Tooling API
POSTto/sobjects/CustomFieldreturnscreated: true. EntityDefinition.IsCustomizablereportstrue.- …and yet the field is invisible to SOQL (
No such column), to REST describe, and to ApexSchema.getGlobalDescribe().get('Claim').getDescribe().fields.getMap()— a field "created" seconds earlier returnsfalsefrom.containsKey(...).
This is structural (a locked managed/standard object), not a propagation delay or cache staleness. Waiting does not fix it. The "created" field records are orphaned metadata no-ops — harmless, but never queryable.
Detect it before you design around it
Don't trust the deploy's success:true. Prove the column exists at runtime with Apex getGlobalDescribe — this is the authoritative check: