The Compare category features Actions that conditionally execute one branch of the workflow or another, depending on context. The context is determined by what system state is compared against what criteria. Due to universal design with variable support, it is possible to virtually anything from the output of finished Actions to file contents to system state and more. If they match the predefined criteria, the Task executes one branch of predefined Actions. If they do not match, another branch of Actions is performed.
The Compare category consists of multiple Actions that each performs its own role. While If is most universal and can work with any variables from any Trigger, Action or operating system, If File and If Folder is particularly tuned for file and folder operations. The Else Action is used to introduce the alternative branch of workflow which is conditionally executed when the comparison criteria do not match.
If allows comparing two variables or, optionally, even two pairs of variables to determine whether they match or not. The variables can be retrieved from activated Trigger, finished Action, system state or other source. If the variables match, the If Action conditionally runs a branch of predefined Actions. If the variables do not match, the If Action can run an alternative branch of Actions.
If file verifies whether the specified file exists or not, and depending on the results, conditionally launches one branch of workflow or another. The verified file could be a concrete file on disk, a file with particular naming scheme or a file returned by any preceding Trigger or Action.
If folder verifies whether the specified folder exists or not and, optionally, whether it is empty. Depending on the results, i.e. if folder exists or not, it decides to run one branch of workflow or another. It is possible to verify both concrete folders at fixed path and folders detected and returned by previous Triggers and Actions.
Else introduces the alternate branch of workflow which is executed if comparison criteria do not match. When no Else command is used and conditions do not match, the Task just skips the conditional branching and continues with next Action outside conditional scope.
Superior quality and great design—that's Automation Workshop!—Ben D.