Use Condition to Execute Option

The Condition to Execute option lets you configure the steps of a workflow to execute or to be skipped according to custom conditions.
You can find this option in Properties.

To use the Condition to Execute option:

Click a workflow object to view the Properties box:


Let's use the example that you are awaiting an archive containing two data files and if one of these data files is missing, you prefer to skip the step that has not received data files meant for it and let the workflow finish with success. 
Here is a sample workflow:


To get this desired behavior, your condition to execute should look like:

EXPR#iif(StringLength(\5C3Aparam_TASK_genericload_unpacker_DataFlowFiles\5C3A)=0,0,iif(Find(\5C3Aparam_TASK_genericload_unpacker_DataFlowFiles\5C3A, 'ISSUER')!=-1,1,0))

This expression contains two iif(logexpr, result_if_true, result_if_false) conditions:

1. iif(StringLength(\5C3Aparam_TASK_genericload_unpacker_DataFlowFiles\5C3A)=0 – This one checks the DataFlowFiles OutParam (a default variable for Task Unpacker, where it writes all unzipped file names). If this variable equals 0 (there were no files in the archive), the workflow step is skipped.

If it is not zero, the second condition activates:

2. iif(Find(\5C3Aparam_TASK_genericload_unpacker_DataFlowFiles\5C3A, 'ISSUER')!=-1 – This condition checks this variable on containing files matching 'ISSUER' file mask and if such are missing, the step is skipped.