Workflow field updates have a narrow allowed scope: they can update fields on the triggering record itself, or on the parent of a master-detail relationship. They cannot update arbitrary cross-object fields — not lookup parents, not children, not sibling records.
The rules in one table
| Target | Allowed? |
|---|---|
| The triggering record itself | Yes |
| The master of a master-detail relationship | Yes |
| The parent of a lookup relationship | No |
| Child records (one-to-many down) | No |
| Any unrelated record | No |
Why master-detail and not lookup?
Master-detail relationships are tighter — the child cannot exist without the master, and the master’s ID is required on the child. The platform treats master-detail as a structural part of the data model, so writing up to the master is considered safe.
Lookups can be null, can point to records in different orgs (external lookups), and can change over a record’s life. Allowing workflow field updates on lookup parents would create too many footguns, so the platform doesn’t allow it.
Example: an allowed cross-object update
A Custom Object Invoice_Line__c has a master-detail to Invoice__c. A workflow on Invoice_Line__c can update a roll-up-style field on the parent Invoice__c:
Field to update: Invoice__r.Total_Lines__c
New value: Invoice__r.Total_Lines__c + 1
(Note that roll-up summary fields are usually the right tool for this — this is just an illustration of what’s allowed.)
What to do if you need a non-allowed update
- Lookup parent update → use a Flow (Record-Triggered Flow can update related records freely)
- Child record update → use Flow with a Get Records + Update Records pattern, or an Apex trigger
- Cross-org update → integration (Outbound Message, Apex callout)
The “duplicate question” tell
This is the same question as In workflow field update can we update related object fields or cross object fields? — the inventory has it twice with slightly different wording. The answer doesn’t change.
What interviewers want
- The crisp limitation: same record or master in master-detail only
- The reason: lookup parents are nullable, master-detail isn’t
- The escape hatch: use Flow when you need broader cross-object writes
Verified against: Salesforce Help — Field Updates. Last reviewed 2026-05-17 for Spring ‘26 release.