Symptoms
We have a workflow that requires three approvals. It looks like a slot is getting created for each approver correctly. However, the escalation/reminder email is still going out to all three approvers, even when one of them has already approved. Is there a way to get this escalation to only send to those that haven't approved? Additionally, is there a way for this escalation email to go out to each approver individually.
Diagnoses
Please note that the Escalation needs to be set at the "Client Event" level, not the "Activity" level.
Resolution
Below are the detailed steps of how to achieve this:
In your workflow design... on the "Activity" in question, go into advanced mode for the destination rule and make the following changes(you may already have some of these steps configured correctly):
- Plan per destination | All at once
- Create a slot for each destination
- Resolve all roles and groups to users
On the Client Event, reconfigure the Escalation as below:
- On the Email Settings page, check 'Specify' next to Recipient(make sure both 'Destination User' and 'Originator' checkboxes are unchecked)
- Open the context browser for the To field, go to the Workflow Context Tab, and drill down into 'Activity Destination Instance' and select the 'User' email i.e. 'ActivityInstanceDestUserEmail'.
At runtime only those destination users who have not completed their task by the escalation time will receive an email.
Here's a quick video walkthrough for reference: http://screencast.com/t/N4LhMdGgHHSm
To answer the second part the question... the key thing to remember here is to use the "Activity Destination Instance" user and do not check the "Destination" checkbox for the 'To' field in the task notification email. If you check this option, an email will be sent to every member of the role, even if they have already completed their task.