Before-save vs after-save flow
A before-save flow is a record-triggered flow optimised for Fast Field Updates: it runs before the record is written and can only change the triggering record's own fields. An after-save flow is optimised for Actions and Related Records: it runs once the record is saved and can update other records, call actions and use scheduled or asynchronous paths.
Fast Field Updates (before-save)
A before-save flow runs early in the order of execution, immediately before Apex before triggers. Changes made to the $Record variable are applied to the triggering record automatically — there is no Update Records element, and no second save of the record, which is why Salesforce positions this optimisation for speed.
The trade-off is scope. Only a few elements are supported (Assignment, Decision, Get Records and Loop), and a before-save flow cannot update records related to the one being saved or perform actions other than updating that record's fields.
Actions and Related Records (after-save)
An after-save flow runs after the record has been saved, so it can read values that only exist at that point — the new record's Id or its Last Modified Date. It can create or update related records and perform actions. To change the triggering record itself it needs an explicit Update Records element.
Scheduled paths and the asynchronous path are only available on this optimisation. Because Salesforce blocks callouts while a record is being saved, work that needs external data belongs on the asynchronous path, which runs after the transaction commits.
How to choose
If the requirement is limited to setting or correcting fields on the record being saved, a before-save flow is the lighter option. As soon as the flow needs the saved record's Id, another record, an action or a callout, it has to be an after-save flow. Both kinds sit at different points of the save sequence, which matters when other automation on the same object reads the same fields.
How aprity helps
aprity documents each record-triggered flow from its metadata in business language — what starts it, what it changes — and places it in the per-object execution graph alongside the triggers and rules that react to the same save event. Every documented rule links back to the flow or class it was read from.
Related terms
- Record-triggered flow — A Flow that Salesforce launches automatically when a record of a given object is created, updated or deleted.
- Salesforce order of execution — The fixed sequence in which Salesforce runs flows, triggers, validation rules and other automation when a record is saved.
- Apex trigger — Apex code that runs automatically before or after records of an object are inserted, updated, deleted or undeleted.
Sources
Official Salesforce documentation this entry was checked against. Platform behaviour changes between releases; the linked page is the reference.