Skip to main content

SF-0103 · Scenario · Medium

What if we want to do field update from parent to child?

✓ Verified by Vikas Singhal · Last reviewed 5/17/2026 · Updated for Spring '26

Workflow rules cannot push field updates from a parent down to its children — workflow can only target the triggering record itself or write up to a master-detail master. When the requirement is parent change → child update, you need a different tool.

The three tools that do work

1. Record-Triggered Flow (preferred in 2026)

A Record-Triggered Flow on the parent object can:

  1. Detect the change (using Trigger when a record is updated and a condition is met)
  2. Query the child records (Get Records with the parent ID as filter)
  3. Loop over them and assign values (in a loop with Assignment elements)
  4. Save with a single Update Records at the end

Bulk-safe and entirely no-code.

[Parent Account Update]
  -> Get Contacts WHERE AccountId = {!$Record.Id}
  -> Loop:
      Assign {!loopVar.Sync_Industry__c} = {!$Record.Industry}
  -> Update Records (the collection)

2. After-Update Apex Trigger on the Parent

For complex logic or very high volume, an Apex trigger is the most reliable option:

trigger AccountTrigger on Account (after update) {
    Set<Id> changed = new Set<Id>();
    for (Account a : Trigger.new) {
        Account old = Trigger.oldMap.get(a.Id);
        if (a.Industry != old.Industry) changed.add(a.Id);
    }
    if (changed.isEmpty()) return;

    List<Contact> contacts = [
        SELECT Id, AccountId, Sync_Industry__c
        FROM Contact
        WHERE AccountId IN :changed
    ];
    Map<Id, Account> byId = new Map<Id, Account>(
        [SELECT Id, Industry FROM Account WHERE Id IN :changed]
    );
    for (Contact c : contacts) {
        c.Sync_Industry__c = byId.get(c.AccountId).Industry;
    }
    update contacts;
}

3. Formula Field on the Child (no write needed)

If you don’t actually need to store the parent value on the child — you just need to show it — a cross-object formula does it live, no update mechanism required:

Sync_Industry__c (Formula, Text) = Account.Industry

This is the cleanest answer when it fits.

Trade-offs

ApproachProsCons
Cross-object formulaLive, no automation, zero maintenanceRead-only, no filter performance
Record-Triggered FlowDeclarative, bulk-safeSlow for very high child counts
Apex triggerFast, fully controllableCode + tests + deploy overhead
Workflow RuleNot possible for this pattern

What interviewers want

  • A confident “workflow can’t do this”
  • Flow named first as the modern declarative answer
  • Apex trigger as the fallback for scale or complexity
  • Bonus: mention cross-object formula as the zero-write alternative when you just need to read the parent value

Verified against: Salesforce Help — Record-Triggered Flow. Last reviewed 2026-05-17 for Spring ‘26 release.