Formula fields versus Flow
Key Takeaway
Use a formula field to show a calculated value and a record-triggered flow to make something happen. A record-triggered flow runs only when a record of its own object is created, updated, or deleted. So a change to a related record doesn't start it, even if a formula field on the flow's object displays that value.
A formula field shows a value that Salesforce calculates from other fields each time someone views the record or runs a report. Salesforce never stores the result, and users can't edit it. Salesforce Flow is point-and-click automation that runs when something happens, such as a record change or a schedule. A flow can do things such as updating records, sending emails, and guiding users. Choosing between them comes down to whether users only need to see a calculated value or whether something needs to actually happen.
How formula fields work
A formula is an algorithm that derives its value from other fields, expressions, or values, much like a spreadsheet cell built from other columns. A formula field stores only the formula expression, as metadata, and not the result. Salesforce calculates the result on the fly whenever a user views the record or runs a report that includes the field. For example, a formula that uses TODAY(), which returns the current date, shows the date at the moment someone views the record.
Formula fields also have these characteristics:
- They are calculated automatically and are read-only on record detail pages, so users can't type over the result.
- When you create a formula field, Salesforce automatically fills in values on historical records and on all new records, so you don't need to backfill data.
- They don't update last modified date fields.
- Because they are calculated rather than stored, they can't be used for search criteria.