Transaction lifecycleOrder of execution map The complete save order, traced step by step - system validation, before and after triggers, validation and duplicate rules, workflow, processes and flows, escalation, roll-up summaries, and post-commit async. Run the transaction to watch it flow, and expand any step to see where recursion and re-execution actually happen.
All phases Initialization Before Save Save After Save Post-Commit
16 steps 1 Initialization Load the record Old values loaded, request values overwrite them 2 Initialization System validation rules Layout-required fields, field formats, max length 3 Before Save Before-save record-triggered flows Fast field updates on the triggering record - no extra DML 4 Before Save recursionBefore triggers (Apex) Mutate Trigger.new directly, validate, default 5 Save Custom validation & duplicate rules Validation rules, then duplicate rules evaluate 6 Save Save to the database (not committed) Record written, but the transaction is not yet committed 7 After Save recursionAfter triggers (Apex) Ids available - create/update related records, fire async 8 After Save Assignment rules Lead and Case assignment rules set the owner 9 After Save Auto-response rules Case and Lead auto-response email rules 10 After Save re-executes recursionWorkflow rules Field updates here RE-FIRE before/after triggers once 11 After Save re-executes recursionProcesses & after-save flows Process Builder and after-save record-triggered flows 12 After Save Escalation rules Case escalation rules evaluate 13 After Save recursionRoll-up summary & parent recalculation Master-detail roll-ups recompute; parent saved (its triggers fire) 14 After Save Criteria-based sharing evaluation Criteria sharing rules recalculated for the record 15 Post-Commit Commit Everything becomes durable - all DML committed 16 Post-Commit Post-commit logic Async (@future / Queueable / Batch), emails, renders re-executes the trigger cycle common recursion sourcenothing is durable until step 15 (commit)