Sometimes you may want to start a workflow, but delay specific parts of the workflow for a set time.
A user activity might rely on other activities which may not complete immediately; changes in one system might need to synchronize with other systems before the next activity can take place.
A typical case is the “user move” action that needs to be completed and synchronized to all replicas before further actions are accepted.
While such delays could be implemented with IDM drivers, it may often be much more flexible, easier and a matter of minutes to add such delays in the workflow itself.
Like the concept of “target time execution” outlined in another Cool Solution this concept is easily implemented with a “Dummy Approval” and static timeouts.
For demonstration purposes I have outlined a workflow that – after the request is submitted – waits 1 minute before running Action A, waits 5 minutes before doing Action B, and 10 minutes before running Action C.
Each delay is implemented with a Dummy Approval and static timeouts.
During the delay the request sits in the approval queues on this Dummy Approval and waits for the specified date/time to come. Once the timeout has been reached, the workflow continues and the subsequent activities are processed.
There is no actual need to use a “real” approver for the Dummy Approval, since all we need is wait for the timeout.
However, if you wish, you may even utilize the option that you CAN open the Dummy Approval form and manually approve or deny the request if needed.
The sample workflow that is attached to this note, and can be imported into IDM Designer if you like. This allows you to review or copy the relevant elements into your own workflows.
All you need to do is to specify some “Dummy Approval” details:
Select a dummy approver of your choice (e.g., some Admin account), and enter the calculated timeout.
You’re ready to go.
A request you submit will stay in the “Dummy Approval” queues until it times out, or until the selected approver manually approves or denies the request.