LiveCycle Process Management has a number of built-in facilities for managing reminders, escalations, and deadlines for User Tasks. But sometimes the built-in features may be a little limited.
For example, you may want one of the following features:
- In the first reminder, send it directly to the assigned user. But for the second reminder, cc that user’s manager. For the third reminder, send it to the user, their manager, and the CEO.
- Have different text in the first, second and third reminder emails, with each email getting increasingly abusive.
- Send the first reminder after 5 days, the second reminder after 2 days, the third reminder after 1 day, and subsequent reminders every 10 minutes after that.
- You may need to check the status of an external system or database prior to deadlining or escalating the task. For example, the project relating to the task may have been cancelled by the customer, and the task is no longer relevant – in this case, we’d like to simply terminate the entire process.
These type of escalations cannot be accommodated by the built-in features, and require some sneaky techniques.
Calling a Sub-process to Handle Custom Task Escalation
One of the possible ways to solve the above scenario is to call a sub-process to handle the task after the task assignment. We need to actually kick off the sub-process before we actually allocate the task, because once we hit the User step, the process won’t continue till after the step has been completed.
The idea is:
- call a sub-process before just before the user step asynchronously (in other words, without waiting for it to complete)
- pass the parent process id to the sub-process (so that the sub-process can reference the parent process’s tasks)
- the first step of the sub-process set to wait for a minute or two, to ensure that the parent process has time to allocate the task to the user.
- the sub-process will then have sufficient information to look-up for the active task that would have been assigned
With the task information, the sub-process can be configured according to your business needs to do custom task reminder notifications, escalations, deadlines, and can even terminate the parent process if necessary.
This provides an extremely simple way of achieving almost unlimited functionality in the way that reminders, escalations and deadlines are handled. It also allows you to handle escalations for multiple User steps in a single place – changing the sub-process will change the way it’s handled for all User steps.
This approach involves some of the custom components Avoka has developed to perform those task operations outside of the User step.
Please refer to the link below for the full article of this approach to the described scenario, containing the example process and sample LCA file for download: