An approval can be performed by a C# activity to allow for a more complex calculation.
The name is optional, but it is useful to specify the module. In this case, the Accounts module has been selected and both new and existing records will be processed.
For the module filter, the Account Type is equal to Partner and the Account Type changed filter has been included.
The SQL filter is displayed for informational purposes. Changes in this window will be ignored.
The operation is set to Call C# Activity and the name of the activity is set to WF4CustomActivity. You can use this class as a template for your own custom activity.
In this example, the input is the ID of the record that started the process and the CUSTOM_VALUE output is saved to APPROVAL_RESPONSE.
The APPROVAL_RESPONSE variable is automatically created as a global for the process so that the value can be used later.
There are no settings on the gateway. Instead, the settings are on the paths out. With an Exclusive Gateway, you can have many outputs, with one being the default. The default path out has no filter expression.
The message type has been set to Notification as we do not need to save this email in the CRM.
The source type is Normal message so that we can specify the subject and message template here, instead of having to create a message template.
In the Recipients list, Managers were added so that all managers will get the notice.
The filter that we will specify will be the variable name we created above and the value “Approve”. There are only two possible values, Approve and Reject and in this case we want to send an email for the approve path.
We use the double equal == here because this is C# syntax.
The end event has no settings.