Continuing a Deferred Task from an AR System form entry
The Kinetic Task Engine allows for some tasks to be considered “deferred” tasks. A deferred task is one that requires something to happen that may not be completed immediately. Deferred tasks wait to be told when the task has been completed so the task engine can continue processing tasks that are supposed to run when the deferred task is finished.
An example of this situation would be a New User process that requires one group to create a User ID before other groups can grant program or network access. Your first task in the process is to create the user ID. You wouldn’t want the other tasks to proceed until the ID actually exists, so you would set that task as a deferred task. Once the user ID has been created, the task can be set to Complete, and the other tasks may begin.
To create a link between the task and the record being created, the form needs a field to store a token. This token is generated by the Task Engine and is unique to this specific instance of the task. When the task creates the record it will set the token into whatever field is defined in the original task.
The big question is: How does the first task (the create User ID task) get notified so that the others can begin? One way to accomplish this in Remedy is with a filter. This filter will exist on the form in which you created the new record. In the example above, the first task in the process would have created an entry in the HPD:Help Desk form. Once the User ID is created, the Incident can be closed (or resolved) and then the workflow would trigger the first task showing it was complete and the other tasks can fire.
In order to send a message the first (deferred) task you need to add a filter to the form that your task pushes to. In our example above, that is the HPD:Help Desk form.
- Create a new filter on your form that fires on Modify.
- The qualification will be whatever action should trigger the update of the filter. For example: ‘TR.Status’ = “Closed”.
- I also suggest adding a check to see if the token is present in whatever field you decided to store it in. It will prevent unecessary actions and queries against the database.
- The If Action tab should have a single Push Fields action on it which pushes to the form KS_TSK_Trigger
- The ‘Push Fields If’ qualification should be left blank as you want this to always create a new record in this form.
- Set the ‘If No Records Match’ action to “Create a New Request” and the ‘If Any Requests Match’ action to “Take No Action”.
- There are only two fields on the KS_TSK_Trigger form that you are required to set to make this work. They are:
- token – this needs to be set with the value of the “token” that is being stored on your form
- action_type – this needs to be set to “Complete”
- You can also set other fields on the KS_TSK_Trigger form from here if you would like. Setting the deferred_variables field is one example. However, remember that you can only send results data to this field on a Close action.
- Save the filter and you're done.