Description
Main use cases:
Do not trigger a rule for some previous field value. For example, if entity moved from Inbox → Next → do not send notification. If entity moved from Done → Next → send notification.
Revert changes for some action. For example, User without role Manager changed state from In Progress → Done, then revert this change and set state to In Progress again. → now it is better to use Validation rules for this
Limitations
Only ONE field can be set to properly support history of changes for this field. If a user selects two fields in Updated section, Previous values are impossible to use. So we have to cleanup and show some warning to a user.
Why one field? Because if we allow to use Previous value when there are several Changed Fields, it's not clear how Filters and more importantly Formulas will resolve those values for Fields, that were actually not changed. We can't resolve to current values, as it seems it doesn't pass real-world use-cases.
We will not support deepness for related entities in Filters.
We will support nested in Formulas though. [Step 1 Task - previous].Feature.State.Name.
Access to previous values in markdown templates and scripts won't be done in scope of this feature.
Filters Implementation
Since only one field can be in Previous, we will add {fieldName} (Previous) option to a Filter control. User will be able to use usual filter operators on this field.
Formulas Implementation
In Automation Formulas User will be able to access [Step 1 Entity - previous].Name [step 1 Entity].[{FieldName} (Previous)].