You are here:
Process Builder Advanced Option Considerations
Keep these considerations in mind when choosing advanced options.
Required Editions
| Available in: both Salesforce Classic (not available in all orgs) and Lightning Experience |
| Available in: Essentials, Professional, Enterprise, Performance, Unlimited, and Developer Editions |
After December 31, 2025, existing processes continue to run, and you can activate, deactivate, and edit them; however, we recommend using Flow Builder. To migrate existing processes, plan your switch to Flow Builder and use the Migrate to Flow tool. For new automations, create flows in Flow Builder.
- Avoid creating an infinite loop when allowing your process to reevaluate records. For example, if your process checks whether an account description changes and then updates an account description and creates a Chatter post every time an account record is created or edited, the process evaluates and triggers actions resulting in six Chatter posts.
- If you choose to evaluate a record multiple times in a single save operation when you specify an object for your process, we recommend not setting any of your criteria to No criteria—simply execute the actions!
- If your process uses ISCHANGED, ISNEW, or PRIORVALUE formula functions, we recommend
that you don’t use the advanced options. If you do use advanced options, keep these
considerations in mind.
- When a record is first created, ISNEW evaluates to true. If your process uses the
ISNEW formula function and reevaluates a record multiple times in a single save
operation, the process executes actions multiple times.
For example, your process checks whether an account is created or updated. Each time the criteria is evaluated, ISNEW evaluates to true. The result is six Chatter posts. This example is true only if the process is triggered because an account record is created.
- When ISNEW evaluates to true, the process updates the account’s annual revenue and posts to Chatter.
- When the process updates the account’s annual revenue, the process then reevaluates the record (up to five additional times) because the record was changed.
- When a record is created, PRIORVALUE returns the current value as the prior value.
When a record is updated, PRIORVALUE returns the field value that was set immediately
before the save operation started. If your process uses the PRIORVALUE formula
function and reevaluates a record multiple times in a single operation, the process
executes actions multiple times. If your process reevaluates a record multiple times
in a single save operation and executes actions only when specified criteria changes,
the prior value returns the values that existed before the record was saved.
For example, your process checks whether an account is created or updated. Each time the record is reevaluated, the prior value of the account’s type is Prospect. The result is six Chatter posts.
- Wen PRIORVALUE([Account].Type) = 'Prospect' evaluates to true, the process updates the account’s annual revenue and posts to Chatter.
- When an account is created with Prospect as the account type, the criteria is always true until the end of the process transaction.
- If the process is changed to update the account type to Other when the criteria is true, then for an account created with Prospect as the account type, the formula PRIORVALUE([Account].Type) = 'Prospect' is true until the end of the process transaction.
- ISCHANGED always evaluates to false when a record is first created.
For example, your process checks whether an account description changes—ISCHANGED([Account].Description)—and the process also reevaluates records multiple times in a single save operation. If an account is first created with a blank description value and another process updates the account description in the same save operation, ISCHANGED evaluates to true every time the record is reevaluated because it compares the account description value when the record was first created (a blank value) with whatever is set for the current value.
Let’s say this same process creates a Chatter post every time ISCHANGED([Account].Description) evaluates to true. This process would create a recursive loop resulting in six Chatter posts because ISCHANGED evaluates to true throughout the save operation.
- When a record is first created, ISNEW evaluates to true. If your process uses the
ISNEW formula function and reevaluates a record multiple times in a single save
operation, the process executes actions multiple times.

