Supporting business users in their work is why I get up in the morning. And in my experience it’s absolutely vital for the adoption of your apps to guide your user. One of the most important tools inside our toolbox of the Power Platform to do so, is a Business Process Flow. On top of that I like to use a concept I called “Task Groups”
This blog is part of a series about guiding users and teams through their work. This post is part about an advanced scenario called Task Groups. Click here for an overview of all related post regarding Task Groups. I also added a sample solution you can import in your own development environment so you can see the entire concept in action!
Keeping people in their flow of work by utilizing Asynchronous work or asynchronous processes is one of the key benefits for Business Process Flows. I have written down my thoughts on this subject here. Find out what asynchronous work is, how Business Process Flow can help and more advanced scenario’s.
The Scenario to Solve
Let’s start off with a simple scenario. We are working an incident reported by one of our customers. Our job is to coordinate and investigate and hopefully resolve this incident in a timely and satisfactory way. We are working at a company who manufactures sophisticated machine. And as a case worker we are seeing a diverse set of incidents coming our way. Resolving these requires a team effort.
With a Business Process Flow you get exactly the guidance you need to work on this incident. We can track and the incident through different stages. Stages like: New, Investigating, Ask for Approval, Inform Customer. In some of these stages I like to create task based steps for the user to complete. To move from the new stage to the investigating stage you would usually need to enter a lot of extra information. But adding all those fields to a Business can be really overwhelming. It also clutters the UI as these fields are probably already on the form anyway!
Create “Task Groups” instead
What I like to do is create something I like to call task groups. Instead of adding all the different contact information fields in the Business Process Flow stage, I create a Yes/No field. In this example I name it: “Contact information entered?”. For the name and description of the incident I do the same: “Basic information entered?”.
Whenever both of the Yes/No fields are set to “Yes” we can proceed with the next stage of the Business Process Flow. This is default behavior of these type of fields in a Business Process Flow stage so that’s handy. Although I like that I now have narrowed down the stage, we have created a new problem. The user can simply set those fields to “Yes” and move to the next stage without actually entering the information we are looking for!
Use Business Rules to lock fields in a Business Process Flow
For this we resort back to our good pall the Business Rule. It is quite easy to lock a field on the Business Process Flow stage. You simply use a condition which is always true, in this case, if the owner is entered. And then we proceed to lock the fields “Contact information entered?” and “Basic information entered?”.
But wait, how do we proceed to the next stage if we can’t set those fields to “Yes”? They are now locked and by default they are “No”.
The answer might be obvious to some, but I think it also is quite nifty. Whenever all our required fields for a certain “Task Group” are filled in we automatically update the field “Basic information entered?” to “Yes”. We can again use a Business Rule to do so.
Update the Business Process Flow “Task Groups” based on a Business Rule
The first time I tried to update locked fields on the Business Process Flow Stage using a Business Rule I did not expect it to work. But I was pleasantly surprised! We can quite easily get around the locked field with a simple “Set Field Value” action. This is the last piece of the puzzle to complete our “Task Groups” functionality. In our example we create a condition with 2 rules. Rule 1: The “Name” field should contain data. Rule 2: The “Description” should contain data. For the “Rule Logic” we choose “AND”.
When the condition is met we add a Set Field Value action for the “Basic information entered?” field. We set the field to “Yes”. For the else condition we use the same Set Field Value action only this time we choose “No” for the value.
After we active this Business Rule, we can see it in action. Obviously this is a simplistic version of the concept of “Task Groups”. This concept is especially powerful when a lot of information has to be entered.
One of the roads to Rome
I think “Task Groups” could improve usability of certain Business Process Flow stages. Especially ones where you want to utilize the main form and screen instead of only the Stage bar. It simply is more friendly on the eyes. However I do not use this trick on every stage or every Business Process Flow. Sometimes it is overkill and other times you do want to keep the focus on the Stage bar. As the favorite consultant saying goes: “It depends”.
As mentioned this post is part of a series. I will be continuing on this subject. In my following post I will actually extend on this stage as I want to guide the user on the form as well. I want to set fields required on the form based on the BPF stage. And I think we can improve how the stage looks. So stay tuned and until next time!