Workflow Automation Q&A #1: Infinite looping made easy!
Innovation begins with our customers. They’re the ones who have to reckon with workflow automation challenges of wildly different types every day. We learn valuable lessons by helping them solve those challenges, and we’re happy to pass them on to other workflow automation users. We’ll do that though regular “Workflow Automation Q&A” posts that detail specific issues and solutions. So, here’s the very first in that series.
Background: Here’s an intriguing challenge we faced when building out a workflow for a very large corporate client. Their process requires them to review a conflict of interest submission each year to see if it’s still relevant and applicable.
If any of the details of the conflict have changed during that year, the user will need to run through the workflow again and update the record and re-send it for review and processing. If there have been no changes (or there’s no longer a conflict), then they simply mark it as such and the workflow “completes” again for another year until the next annual review. It’s a basic implementation concept that can be applied across a lot of different use cases, and may spring up for other automation users.
Question: Is there a way to infinitely loop a workflow record so that it can be re-initiated/reviewed repeatedly?
Answer: Of course! There’s a trick you can use to create a workflow that essentially never ends. Actually, building an “infinity loop” workflow is pretty simple to do. We just take our final stage of the workflow and link a relationship back to the beginning stage (or one of the subsequent stages that precedes the final stage). The key is to not set the final stage of the workflow as a “complete” stage – by doing this, you’ll prevent the workflow record from closing out.
Instead, the record will sit and wait at the final stage until it’s processed again by entering the record and clicking the submit button – which isn’t always the prettiest or most user-friendly solution. TAP does allow us to set up an automated message on the final stage to explain that, should the record need to be reviewed/edited/reinitiated, the user simply needs to click the ‘submit’ button and this will restart the process.
The workaround here is to utilize the auto-submit feature – this allows us to set a timed auto-submission on the final stage, which will then automatically process the record through the final stage and back to the beginning.
An example of this implementation would be a record that needs to be reviewed annually. Once our initial record is completed, it will sit and wait in the final stage until the 365-day auto-submit kicks in. Then the workflow can move to the ‘next’ stage, which could be a review stage, or just simply return to the first stage of the workflow.
In conjunction with this, we need to remember to set our form access a little differently than in our normal workflows. We want to use the “show previous result” and “show and edit previous result” settings, so that we can either view or view-and-edit the previous submitted information. Which of the two options is used depends on the action being taken at that particular stage of the workflow: if the info is just being reviewed, then the suggestion would be to “show previous result”. If the information needs to be updated, then we would opt for “show and edit previous result”.
The one obvious drawback to this approach is that the records never close out, so if that’s an eventual requirement, then the approach won’t work. That said, the implementation is relatively straightforward, and moderately-experienced TAP users can set it up pretty easily.