Skelta Workflow.NET Help
Approval Action

The Approval Action is used in the Skelta Workflow.NET workflow process design in cases where an approval request has to be approved by a resource or set of resources. For example, a Leave Approval Workflow Process can have an Approval action by a Manager, and a Purchase Requisition Workflow can have an Approval action by an Accounts Manager.

The Properties to be set for the Approval action and the function of the properties are explained in the table below.

Property

Description

To

This property specifies the resource(s) who have to take up the Approval action. It is tagged with the Ignore Unavailable Resources property which in turn is tagged with Alternate Resource Allowed. This will be explained in detail later.

Subject

This is the subject of the Approval request. The subject can be customized for each resource. To assign a subject to the Approval action, click the 'Subject' button in the Properties pane for the Approval action. A new window pops up. In this window, customize the subject by appending the various fields to the subject.

Notes

This is the actual content of the Approval request sent to the resource(s). The notes can be customized for each resource. To assign the content of the Approval, click the 'Notes' button in the Properties pane for the Approval action. A new window pops up. In this window, customize the content by appending the various fields to the notes.

Min. Acknowledgements

This property (referred to as Min.Ack), which can be specified as a number or percentage, is the minimum number of resources who should acknowledge receipt of the Approval request. This property is related to the 'Timeout warning for Acknowledgement' and 'Timeout for Acknowledgement' properties. To illustrate, when 'Timeout for Acknowledgement' is reached, the activity first checks if the acknowledgement count is less than Min.Ack (if it is set). If it is, the activity will be removed from all activity lists. If the 'Min.Ack' has already been satisfied, then the activity will be removed from the non-acknowledgers' lists. If the Min.Ack value is 0, then the activity checks if the acknowledgement count is less than Max.Ack (if it is set). If it is, the activity will be removed from all activity lists. Else the activity will be removed from the non-acknowledgers' list. If both Min.Ack and Max.Ack are set to 0, then there should be at least one acknowledgement within the set time, otherwise the activity will be removed from all activity lists.

Max. Acknowledgements

This property (referred to as Max.Ack), which can be specified as a number or percentage, is the maximum number of resources who should acknowledge receipt of the Approval request. If 'Timeout for Acknowledgement' is specified and achieved, and the 'Min.Ack' is also satisfied, then the activity waits for action from those who acknowledged. If the Min.Ack value is set to 0, then it checks if the acknowledgement count is less than Max.Ack. If it is, the activity will be removed from all activity lists. Else the activity will be removed from the non-acknowledgers' list. If both Min.Ack and Max.Ack are set to 0, then there should be at least one acknowledgement within the set time, otherwise the activity will be removed from all activity lists.

Timeout for Acknowledgement

This property (referred to as Time For Ack.) specifies the time until which acknowledgement is allowed i.e. the time until which the Approval action will wait for acknowledgement. If Min.Ack is set and is not reached, the activity is removed from all activity lists. If Min.Ack is 0, it will check if acknowledgement count is less than Max.Ack. If it is, the activity is removed from all activity lists. Else the activity will be removed from the non-acknowledgers' list. The activity will remain in the acknowledgers' activity list and wait for action from them.

Click here to view the flowchart for Timeout for Acknowledgement.

Timeout Warning for Acknowledgement

This property (referred to as Time Out Warning For Ack.) specifies the time at which a warning is provided to a resource to acknowledge the activity assigned to him/her. If the resource does not acknowledge within this time the engine is notified with a warning. Thus if 'Min.Ack' is set, and it is not satisfied before the given time then a warning is sent. If Min.Ack is 0, it will check for Max.Ack. If the acknowledgement count does not reach the Max.Ack value within the set time, a warning is sent. If both Min.Ack and Max.Ack are not set, this property is ignored.

Click here to view the flowchart for Timeout Warning for Acknowledgement.

How Acknowledgement Properties relate to each other:

  • Approval action is assigned to the approvers in the approval list by the workflow engine. Approval action has a default property set that at least one person has to make a Read Acknowledgement (Take Ownership) of the Approval action.
  • A button interface has been provided for the resource to Acknowledge (Take Ownership). However, the resource can act on the Approval without acknowledging first, in which case acknowledgement will be considered to be done. i.e. if the resource acts upon the Approval action without acknowledging, then it is considered as an acknowledgement with action taken.
  • After the resource has acknowledged, a link is provided to the resource, which opens a pop up with the details of the other approvers. This is again tagged with the 'Hide Responses?' property. The link will be provided only If 'Hide Responses?' is set as 'No'. The pop up will have details like Approver name, Acknowledge Status, Action taken, Comments.
  • If the 'Min.Ack' property is set and the acknowledge count has reached the set limit [percentage or number] then the 'Timeout Warning For.Ack' property is not considered.
  • If the 'Min.Ack' property is set and the acknowledge count has reached the set limit [percentage or number] and the 'Time Out For.Ack' is also reached then the activity is removed from other approvers' task list and the activity waits for action from those who acknowledged.
  • If the 'Min.Ack' limit is not reached for the Approval action, and the 'Timeout Warning For Ack.' has been exceeded then the resource is notified with a warning by including an email or an information action, with the Timeout Warning for Acknowledgement link to it.
  • If 'Timeout For Ack.' is set, if the Approval action has not reached the minimum limit (Min.Ack) and the 'Time Out For Ack.' has been reached, then the activity is removed from the task lists of all the approvers.
  • If 'Min.Ack' = 0 and if 'Max.Ack' is set, the activity waits for acknowledgement or action until the 'Time Out For Ack.' is reached (if this is set).
  • If none of the Acknowledgement properties are set then the activity waits until the resource acknowledges or acts upon it.
  • Affirmative Answer for Approval [% or Number]

    This property is used to check what percentage or number of persons should take action for approval. Decision on the approval is taken only after the specified number or percentage of resource(s) have taken the action. The activity waits for the resources' action until the 'Timeout for action' is reached.

    Action Limit [% or Number]

    This property specifies the minimum number of approvers to act on the Approval before the 'Timeout Warning for Action'. If the action limit is reached before the 'Timeout Warning for Action' then the warning message is not shown.

    Timeout Warning for Action

    This property specifies when a reminder has to be provided for the approvers to act on the Approval request, if the action count has not been reached. If properties such as Max.Ack, Affirmative Action for Approval (AAA), and Action Limit (AL) are set, once the property values are reached then a warning is sent to the participant. When the timeout is reached, the following checks are made:

  • if AL is set, when the action count i.e. the no. of approvals or rejections (AC) < AL, then a warning is sent,
  • if AL = 0 and AAA is set, and when AC < AAA, then a warning is sent to the participant.

  • Click here to view the flowchart for Timeout Warning for Action.

    Timeout for Action

    This property's value is used to decide until what time the activity should wait for resource action. If properties such as Max.Ack, AAA, AL are set, once the property values are reached the activity is removed from the task lists of all the approvers. When the timeout is reached, the following checks are made:

  • if AL is set, when the action count i.e. the no. of approvals or rejections (AC) < AL, then the timeout for action is performed and the activity is removed from all activity lists.
  • if AC > AL, it checks with the no. of approvals or 'decision count' (DC) and AAA.
  • if DC >= AAA (if it is set), the action is considered approved; otherwise, it is rejected.
  • if AAA = 0 and if DC >= AL, the action is considered approved; otherwise, it is rejected.
  • if AL = 0 and AC < AAA, then the timeout for action is performed and the activity is removed from all activity lists.
  • if AL = 0 and AC > AAA, it will check with DC. If DC > AAA it is approved; otherwise, it is rejected.
  • if AL = 0 and AAA = 0, then if DC is at least 1, then it is considered approved; otherwise, it is rejected.
  • Click here to view the flowchart for Timeout for Action.

    Hide Responses?

    If this property is set to 'No', then the approver’s details will be visible to the approvers who have acknowledged.

    Append Results to Data?

    --

    Consider only Business Hours for Timeout?

    This property specifies whether the timeout calculations are to be based on organisation calendar or resource calendar or none. If this property is not set, all the time out calculations will be based only on the business hours, i.e. leaves and company holidays will not be considered.

    Forwarding Allowed?

    If this property is set then the resource is provided with a Forward button. Using this the approver can forward the activity to another resource.

    Ignore Unavailable Resources?

    If this property is set to 'No', when the Approval action is assigned to the approvers list a check is first done to see whether the approver is available. If the approver is not available then a check is made for an alternate resource assigned to the unavailable resource. Simultaneously the value of the property 'Alternate Resource Allowed' is checked. If that is also set, then the Approval task is assigned to this resource.

    Alternate Resource Allowed?

    This property is set to assign a particular task to an alternate resource in the absence or unavailability of any resource.

    Severity

    This property is set to indicate the severity of the approval request. It can be set to 'Low', 'Medium', or 'High'.

    Send Notification Email

    If this property is set to 'Yes', then notification emails will be sent to the approvers.

    Wait For All The Participants To Act?

  • If this property is set to 'Yes', then the engine will wait for all the approvers to act on the approval action. Once the action count (no. of approvals and rejections) reaches the 'Max.Acknowledgement Limit' value, a decision for approval is taken if the 'decision count' (no. of approvals) is >= 'Affirmative Answer for Approval'. Otherwise, the action is rejected. If both 'Affirmative Answer for Approval' and 'Action Limit' are set to 0, the action is considered 'approved' only if 'decision count' >= 'rejection count'.
  • If this property is set to 'No', the engine will take the decision for the action based on the values for 'Affirmative Answer for Approval(AAA)', 'Max.Acknowledgements (Max.Acks)', 'Min.Acknowledgements (Min.Acks)' and 'Action Limit (AL)'
  • if AAA is set and 'decision count' >= AAA, the action is approved.
  • if AAA is set and 'decision count' < AAA and Max.Acks = AAA and if at least one rejected, the action is considered rejected.
  • if AAA = 0, and AL is set, if Max.Acks = AL, and if at least one rejected, the action is rejected.
  • if AAA = 0, and AL is set, and if 'decision count' >= AL, the action is approved.
  • if AAA is set and 'rejection count' > AAA/2, the action is rejected.
  • if AAA = 0 and AL is set and 'rejection count' > AL/2, the action is rejected.
  • if 'action count' = Max.Acks, a decision for approval is taken if the 'decision count' >= AAA. Otherwise, the action is rejected.
  • If both AAA and AL are set to 0, the action is considered 'approved' only if 'decision count' >= 'rejection count'.

    Click here to view the flowchart showing how timeouts happen in the 'Wait For All The Participants To Act' property.

  • Multiple TimeOut Warning

    This is used to set recurring timeout warnings that will be sent to the resources who have to take action. To set multiple timeout warnings, click the 'Multiple TimeOut Warning' button in the Propertiespane for the Approval action. A new window pops up. In this window, set the interval for the recurring warning as well as the output message.


     Property settings for Approval

    To add the Approval action to the workflow click on the Approval button in the toolbox. An icon for the Approval action will be added in the design area. The action can be linked with the workflow by clicking on the Link button in the tool box. To set the properties for the Approval action click on the Approval icon in the design area. The properties corresponding to the Approval action will be displayed in the Properties pane of the process designer.

    Fig 1. Approval properties (Top)

    To select the resources to whom this Approval is to be sent, click on the button for the 'To' property. A window pops up (Fig 2.), in which the resources can be selected. An expression can be built to select the resources based on the resource properties. Select a property from the list, then select the operator, type of value (Value, Variable, Content), corresponding value for the property and the logical operator. Add the condition to the expression by clicking the Add button. To end the expression select the 'End' instead of a logical operator. To remove a condition already added to the expression, click the Undo button. After building the expression, click the Update button.

    Fig 2. Select resources to whom the Approval is to be sent (Top)

    The subject of the Approval can be customized. To prepare the Approval subject, click on the button for the 'Subject' property. A window pops (Fig 3.) up where the subject can be typed and customized by appending the resource property values. Click the Update button to save the subject.

    Fig 3. Subject for the Approval (Top)

    Notes is the content of the Approval. To prepare the notes, click on the button for the 'Notes' property. A window pops (Fig 4.) up where the notes can be typed and customized by appending the resource property values. Click the Update button to save the notes.

    Fig 4. Notes for the Approval (Top)

    Multiple TimeOut Warnings are repeated warnings sent to the resources regarding timeout of the Approval. To set multiple timeout warnings, click on the button for the 'Notes' property. A window pops (Fig 5.) up where the Time Interval can be typed and the Recurring? option set to 'Yes'. The output message can also be typed here. More than one timeout warning can be set by clicking the New row button and entering the new timeout warning settings. Click the Update button to save the settings.

    Fig 5. Multiple TimeOut Warning for the Approval (Top)