How To Create PowerFx Low-Code Plugins โŒจ๏ธ๐Ÿ’Ž

(experimental)

ยท

6 min read

How To Create PowerFx Low-Code Plugins โŒจ๏ธ๐Ÿ’Ž

The Microsoft Power CAT recently announced a new app in the app source called "Dataverse Accelerator". ๐Ÿƒ

The "Dataverse Accelerator" is still in an experimental state, so please do not use it for production solutions as it may be removed by Microsoft. โš ๏ธ๐Ÿงช

In this blog post, I will show you how to install, configure and use it! ๐Ÿš€๐Ÿš€


#1. The power of the Dataverse Accelerator

Yes, you have heard correctly! ๐Ÿ”ฅ๐Ÿ”ฅ

The Dataverse accelerator can help you to create low-code plugins that can be used for various purposes.

With instant low-code plugins, you can create small actions that can be easily called through canvas apps or pages. This can help create a library for common functions that can be used across different apps, holy moly event tenants (โ—) because they are stored as normal plugins and/or other new components!!!! ๐Ÿš€๐Ÿš€

So no need for those experimental things called "Named formulas". ๐Ÿคฃ๐Ÿ˜‰
Who wants to be the next Demianrasko and provide us with a huge toolbox, but this time for Canvas or Power Automate development? ๐Ÿ™ˆ

On the other hand, automated low-code plugins can be useful for data initialization, modification, and for implementing easy logic on create/updating or deletion of data. I immediately thought of the awkward way of setting the name of a custom record via a workflow - I hate to use the "old" workflows - they are super useful, but the designer is so slow nowadays.. ๐Ÿ˜ช

These plugins can help you to automate various tasks and processes, which can save time and effort.


#2. Installation

The "Dataverse Accelerator" is free and can be found in the app source:

App Source - Dataverse Accelerator

Click on "Get it now" to install the solution.

You will then be asked for the environment in which the app is to be deployed.
Also, review the legal terms and privacy statement to continue. ๐Ÿ˜

After 5 - 10 minutes the solution should be installed.


#3. Creating Instant Plugins

The concept of instant plugins has the potential to be the next great thing for providing canvas developers with a wide toolbox of functionalities.

If you have worked with the built-in actions or workflows, you may know the Workflow Tools by demianrasko.

Imagine there could be something ready to use for canvas apps and/or canvas pages.

You could have a library with common functions, which you can easily run from the canvas app and/or canvas page, the only thing to do would be importing a solution.

I will start with a function that could be useful:

#3.1 Instant plugin creation

The definition is as follows:

The code I used for this is:

{
    RoleAvailable:
        If(
            LookUp('Security Roles', Name = RoleName, Role) in Concat(
                LookUp(Users, User = GUID(UserId)).'Security Roles (systemuserroles_association)', 
                Role & ";"
            ),
            true,
            false
        )
}

After you have set the PowerFx in the definition step, you can go to the summary where you can see the set values.

#3.2 Instant plugin testing

After that, you can save and test your instant plugin.

#3.3 Integrating the instant plugin

The "Integrate" tab located in the upper left corner of the last screenshot provides instructions on how to integrate your instant plugin into a canvas app, canvas page, or Power Automate.

#3.4 My thoughts about instant plugins

While the instant plugin feature is awesome and I'm really hyped, there is definitely room for improvement. ๐Ÿ“ˆ It seems like the results can be a bit unpredictable at times, which can be frustrating. ๐Ÿคฌ

However, I believe that with more development and testing, this feature has the potential to be something truly remarkable and to be a game changer in scalable canvas development. It's exciting to see what the future holds for this experimental feature! ๐Ÿ’Ž


#4. Automated Plugins

Nowadays if you don't want to create a workflow, you have no option to create a synchronous process in a low-code way. An automated plugin could be the answer to the question: "How do I create a synchronous process without using workflows?".

Sure you can use and build workflows, but as far as I know workflows are working on an old engine and there will be a change in the future. Maybe automated plugins are the answer to that, maybe it's an experimental feature that will be removed in the future - who knows?

#4.1 Automated plugin creation

To create an automated plugin you have to set the following properties:

  • Name

  • Table

  • On which operation the plugin should be executed

Patch(
    Accounts,
    ThisRecord, 
    {
        'Account Number':         Year(Today())     & "-" 
                                & Month(Today())    & "-"
                                & RandBetween(0, 1008)
    }
)

Under advanced options, you can choose when the plugin should be executed.

And that's it.

A plug-in step is created in the background. Since you can select a solution in the designer (upper right corner), I had assumed that the step would be inserted into the solution. But this was not the case for me. ๐Ÿ˜•

#4.2 Testing the automated plugin

To test the plugin I just have to create an account. The usefulness of the account number is debatable, it should only be a test scenario for automated plugins. ๐Ÿ™ˆ

To test whether the value was set correctly, I simply added the "Account Number" column to my account view.

#4.3 My thoughts about automated plugins

Automated plugins are a fantastic tool to streamline processes and make development more efficient. Their ease of use and flexibility make them a great option for developers looking to implement small logic quickly and effectively.

For larger logic, I will still use C# plugins, but I don't see the need to use workflows anymore. Maybe it's just me - but I absolutely don't like workflows. ๐Ÿค“

I'm excited to see this feature reach preview and general availability (GA), and I'm sure many developers will find it to be a valuable addition to their toolkit.


#5. Final words on it

The Dataverse Accelerator, provided by the Power CAT team, is a valuable gift to the Power Platform community. ๐ŸŽ

However, it's important to note that, due to its experimental nature, caution should be exercised, and it is not recommended for use in productive solutions at this time.

As already mentioned, I am very curious whether the solution will be generally available in the future, I think it really deserves it.


If you are hungry for more information, please check out the following sites:

Did you find this article valuable?

Support Nils Goldenstein by becoming a sponsor. Any amount is appreciated!

ย