When it comes to automation, many times we must streamline processes by removing repetitive steps. We do it all the time by grouping similar functions into a single group of concerted efforts. We can do the same thing when it comes to our workflows that we create with Nintex by using Component Workflows.
If you are unfamiliar with Component Workflows within Nintex Workflow Cloud, take a moment to check out this help file. If you don’t want to read that article, just know that component workflows are workflows that can be called from another workflow or from an HTTP-capable service or application. This means I can call this workflow from many different sources and leverage it in multiple processes. That is exactly what we are going to do!
Request for Information (RFI) is a simple process where one user or group requests information from another user or group. This process may occur in a variety of other processes such as project work, reviews, onboarding, just about any process where clarification may be asked or required. Now we could simply add the logic into our existing processes, but what about creating a simple, straightforward RFI process that can be called at any time? This would allow us the ability to manage parts of the process much more effectively and allow for any process or application to leverage this as well.
Like all good processes, let’s start by defining what we need before jumping into the designer! So, what do you need? User information? The question? What about supporting documentation? Your process may be different, but let’s start with these:
- Question – what we are asking
- Email Question To – email address of the user that will provide the information
- Your Email Address – in case there are follow-up questions
- File Upload – so we can share any documents for clarity
Again, you may want to add in more for your scenario, but this will be enough for now.
Let’s start with the Start Event (obvious choice here) of Nintex Component Workflow. We are going to need to create start event variables to catch the elements that will be passed in. I am going to create the four that I listed above:
- Question – Text
- RequesterEmail – Text
- Approver1Email – Text
- FileUpload – Collection
I am also going to create a variable for all the responses (we’ll call it allResponses) as well as another email address (ResponsibleEmailAddress) variable just in case there is a change. These two variables will be workflow variables and setup as an output for this workflow. That’s right, you can setup outputs for your component workflows to pass back once they are completed. Think about that for a minute! This means you have break up larger workflows into more manageable pieces and then use each, dare I say, component, wherever it is needed, even if it is within other workflows!
I have my RFI workflow setup with a State Machine to assist with the back and forth between the user(s) asking the question and those that are meant to answer it. I even set it up to all for changes to the responsible party if that changes.
With these sorts of requests, there times where the two parties involved have a back and forth conversation and this is where the state machine comes into action. I can capture each response, from both the requester and the submitter and display that in both email notifications as well as on the task form. This allows me to present all the information to both parties so that they can quickly respond with the correct information. Here is what the form would look like after a few rounds for responses:
Connecting it to other workflows
For this simple use case, I created a responsive form to capture all the details needed to kick off this process. You could have this as a standalone solution or process, or a part of a larger process that leverages the RFI component workflow to manage the back and forth conversation. In either case, you can see how easy and powerful component workflows can be in building out your processes in a more manageable way.
There are a lot of ways you could approach this, and component workflows are just one of the ways. Component workflows allow for other workflows as well as HTTP-capable services and even other applications to communicate with it, thus extending your processes to include more within your organization!