• 2 min read

Enhanced Component Properties, User Defined Functions, and UntypedObjects on the move


Audience

Content types

Taking another big step forward, Enhanced Component Properties (ECP) are now generally available (GA) and ready for your production workloads! ECPs are a great way to modularize and reuse your logic across an app, with the added bonus that ECPs can be shared across apps through a component library.

Another popular way to reuse formulas, User defined functions (UDF) have entered preview! We are now in the last stage of shipping this popular feature and hope to GA in the next couple of months. If you have not used this feature yet, now would be a great time to give it a try and let us know what you think in the community experimental features forum.

Last but not least, User Defined Types (UDT) will be reaching Preview soon too. We are planning for their GA shortly after UDFs.

UntypedObject becomes Dynamic

Until the introduction of UDFs and UDTs, the names of data types wasn’t used in Power Fx syntax. So, until now we haven’t worried that much about the data type names. During the development of the ParseJSON function we needed a new data type, the name UntypedObject was proposed, and it stuck.

Since then, UntypedObjects have become very popular. But unfortunately, it isn’t the best name. First, it is a long compound word and not very friendly. It doesn’t always represent an Object, it can be a single number. It isn’t actually Untyped, as we know the types of the elements we parsed from JSON (number, text, Boolean, array, etc). Power Platform connectors use the term Dynamic, requiring a mapping in our documentation from Untyped to Dynamic. Also, C# uses Dynamic as the name of a dynamic data type in a similar way.

If we were going to make a change, now would be the time. And so we have. We have renamed UntypedObject to Dynamic. Not to worry, there is no change in semantics, this is a name change only. If you aren’t using UDFs or UDTs, there is no change at all. The only folks who will notice a change, and need to update their code, are those who were passing UntypedObjects as UDF parameters, using it as a UDF return type, or using it in a UDT.

The documentation is in the process of being updated. The list of available data types for parameters, not including those you may define with UDTs, is now:

Data types available for UDF parameters include Color, Boolean, Time, Hyperlink, GUID, Date, DateTime, Text, Number, and the new Dynamic

Void as UDF parameter

One last change, which shouldn’t have a meaningful impact, is that Void is no longer supported as a UDF parameter data type. This was never useful, as soon as a formula touched a Void data type it would result in a runtime error. Now it produces a compile time error which are always preferred.

Onward to more GA

Our next post on UDFs will be that they have GA’d and can now be used in production. We hope to be there soon. If you run into any issues or have suggestions, please let us know on the community experimental features forum.

Related Content

  • Power Apps
    Power Fx code in the Power Apps Formula bar showing a User Defined Function.
    • 6 min read

    What’s new in Power Apps: June 2025 Feature Update

    AI-powered Development Check out the latest updates in this month’s Power Apps Pulse! This month we’re giving you tools to share plans with your project stakeholders, we’ve added a maker setting to tailor your authoring experience, and we want *your* feedback about User Defined Functions and User Defined Types! Take a look at these updates […]