Use Template Tasks to separate data from logic

In today’s data-driven world, it’s becoming increasingly important to separate data from logic when building applications. This separation not only helps keep your code organized and maintainable but also makes it easier to manage and work with your data. In this blog post, we’ll explore how to use Template Tasks to separate data from logic and make your applications more efficient and easier to manage.

I will do this by expanding my previous blogpost where we generate Tasks using a Custom Page. In that blogpost I show how to generate Tasks to help the user in their work. However for simplicity it did not contain a Description, or even all fields. Thus the Power FX logic looks pretty clean. If we want to keep it clean we can separate the data by using Template Tasks. By storing the data in Dataverse and using template tasks to generate tasks based on logic inside the Custom Page, you can create a more scalable and flexible workflow.

Shows the Power FX code before we add all fields. It's relatively clean and readable.
Relatively clean Power FX
Continue Reading “Use Template Tasks to separate data from logic”

Release wave time for the Power Platform again!

The first release wave of features for the upcoming year are available for us to look at! Always fun to digest what’s coming. And as always, it’s important to note that these plans are subject to change. Consider them as a general guide for what’s to come. Please remember that this is an evolution of the platform, not a revolution. Microsoft typically saves major announcements and game-changing features for their big events, so don’t expect any earth-shattering developments in this wave. Nevertheless, there are still some exciting updates upcoming that are worth taking a closer look at.

Now the first important announcement is about the planner itself. The Release Planner tool is now General Available and I encourage you to use it! Create your personal list of features you are exciting for and easily see what has changed since your last visit. Or you can create one to share with your team to keep track on new features you need in your solution. This is also an excellent example of dogfooding as it is build on top of Power Pages!

Shows an image of the Release Planner. This is now General Available to view all the planned feature releases.
Release Planner

I can categorize my highlight list in 4 topics; Improvements to the UI, Maker productivity, Application Lifecycle Management and Power Pages. And if you read more, I will address them as such in this blogpost!

Continue Reading “Release wave time for the Power Platform again!”

Create a Custom Page Dialog to generate Tasks

Sometimes you have a step in a process which is so complex you want to guide the user. You can guide the user by giving him steps of Tasks to do. But what Tasks do you present to your user? What if those steps of Tasks depends on variables that require human interpretation? We can create a Custom Page Dialog to Guide the user what Tasks to generate! That concept is exactly what I want to show you in this blogpost.

We will extend a process I have written extensively about. The Case of the Broken Screen. In one of the steps we sometimes have to coordinate repair work. And sometimes we have to coordinate sending replacement parts. All the while by personally informing the customer. To manage this we we will be using the Tasks set-up from this Blog post on our Case table. This allows us to relate Tasks to the case we are working on.

But what Tasks to work on? Let’s open the Generate Tasks Custom Page Dialog to create them!

Shows an animated gif of a Model-Driven App. The App shows a Case record with the Tasks tab selected. It opens the Custom Page Dialog - Task Generator and selects a few items. Corresponding Tasks are generated and related to the Case.
Dialog to Generate Tasks
Continue Reading “Create a Custom Page Dialog to generate Tasks”

Notify a Task is complete inside your Model-Driven App

When assigning critical Tasks to different users or teams, you probably want to know when they have finished them! You probably also do not want a mobile push notification disturbing you in your work. Luckily Model-Driven Apps provide a way to notify users! In this post I show you how to accomplish this using Power Automate and the In-App Notification center of Model-Driven Apps.

The In-App Notification center, when enabled, lets users see and manage all their notifications. This can be all sorts of notification, all of which you can create! You do this using either JavaScript, C# or Power Automate by creating a record in the Notifications table. The columns in this table allow you to declare for example the title of the notification, the owner who is going to receive the notification and the IconType which shows along with the notification.

But what I find really cool, is that you can create a richer card for your notification. You do so by combining the body and data column of the notification table. In the body you can use some Markdown to style your message. In the data column we can add json to add actions in the notifications. Actions allow you to add navigation urls to for example a form in your app. Building these is a breeze with the In-App Notification Builder in the XrmToolBox.

Continue Reading “Notify a Task is complete inside your Model-Driven App”

Complete a Dataverse Task by an Adaptive Card in Teams

In my previous blogpost we created tasks in Dataverse which we can interact with using the Model-Driven App. However, sometimes the user we assign a task to does not log in to our application as often as we would like. So, we need to bring them to attention a task is waiting for them. An excellent way to do this is by automatically sending them a chat message and posting an Adaptive Card! In this post I will go through the steps to set this up.

This will not be a crash course on all the ins and outs of every detail of Adaptive Cards. But more of an inspiration style post to get you started with your Adaptive Cards. I will however, show you how to set up the Cloud Flow to post this card to Teams. Including the ability to process a response from that Card.

Continue Reading “Complete a Dataverse Task by an Adaptive Card in Teams”

Set up Tasks for your Model-Driven Power App

In this blogpost I will start with the basics of “Task based work”. A task system that consists of a framework to add and coordinate tasks from a Model-Driven Power App. It is not very complex to begin with, but I will add more complex functionality to it as we go. This functionality heavily depends on the integration scenario we want to implement. In this post I have summed up a few possibilities.

Scenario

A quick reminder of what we are working on. The big theme of my blog currently is the “Case of the broken screen”. A lot of my blogpost are about this business problem. A loyal customer has dropped their new and expensive phone and his screen is cracked. It is up to us to resolve this incident to satisfactory of the customer. It’s time to send out a replacement screen!

The caveat though, is a different department handles shipping. Sending a handwritten note or an e-mail to that department might get the job done, but it will not create tangible data to work with. So now we want to set out tasks to the logistic department who are not using our application. We also want to be able to track those tasks, make sure they get done and keep our customer informed of the status. Eventually you would want automation in place to be notified at the right time.

Continue Reading “Set up Tasks for your Model-Driven Power App”

Utilizing the AAD User table in an Approval Flow

You might have seen the new AAD User table appear in your environment. This table is available to us for a couple of months now. And you might wonder what it is and how you can use it. In this blog I will explain you what it is and how you can use this table to your benefit.

The AAD User table lists all users in your Azure Active Directory. It does not show AAD Groups. Did you know that the data of this table does not reside in your dataverse storage? It is actually a Virtual Table! Virtual Tables are tables that do not reside inside Dataverse, but instead reference a table from a different storage mechanism. It is incredibly powerful as it does not require you to copy data from another system. You can find if a table is virtual by looking at the type column of the table overview. So why is this interesting and what can you do with it?

Shows the Power Apps solution explorer where the table overview is highlighted. In it we highlight the AAD User as this is of the type Virtual.
AAD User Virtual Table
Continue Reading “Utilizing the AAD User table in an Approval Flow”

Set out Tasks in a Microsoft 365 and Power Platform World

This is the start of our next chapter in our Business Process Flow and asynchronous work journey. How can our team keep track of tasks we need a different department to execute? In this post I want to explore different architectural choices you can make and what considerations there are. This of course depends on a lot of variables and I will try to give you some points what to think about. In other words I try to explain my thoughts whenever I say “It depends” as an answer!

Shows a meme of a person tapping the side of his head. The text above sais: "It depends". The text below reads: "Yeah.. Now I Don't have to explain anything"

This blogpost is part of a series where I explore how to support Asynchronous Work with Business Process Flows. The Business Process Flow is an old tool in our toolbelt. But coupled with all modern Power Platform and Microsoft 365 Collaboration capabilities it helps keep track of processes. Now we are on the topic of setting out tasks and keeping track of them.

Continue Reading “Set out Tasks in a Microsoft 365 and Power Platform World”

Download Approval Flow Example Solution

On this page you can download an example of the Approval Flow inside a Business Process Flow. This advanced concept can help get those extra set of eyes to your record. For a write-up of what the solution does please refer to this post. I also go in-depth of the various steps to create this advanced concept in different blogposts.

In this post I also have written down what components are in the solution with a short description. You can download the solution and follow the installation steps below.

Approval Flow Example
Approval Flow Example

Disclaimer: This solution is provided as is. It is not a production ready solution. It is only meant as inspiration how you can utilize Approval Flow inside a Business Process Flow. Only install this solution in develop or sandbox environments.

Continue Reading “Download Approval Flow Example Solution”

Download Task Group Example Solution

On this page you can download an example of the Task Group concept. For a write-up of what Task Groups are please refer to this post. I also go in-depth of the various steps to create this concept in different blogposts.

To install this solution the Checkmark Control needs to be available in your environment. You can download the solution containing from my GitHub here.

Disclaimer: This solution is provided as is. It is not a production ready solution. It is only meant as inspiration how the concept “Task Group” can be used. Only install this solution in develop or sandbox environments.

Continue Reading “Download Task Group Example Solution”