{"id":132361,"date":"2025-09-02T06:00:00","date_gmt":"2025-09-02T13:00:00","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/?p=132361"},"modified":"2025-09-02T06:54:19","modified_gmt":"2025-09-02T13:54:19","slug":"power-apps-user-defined-functions-ga","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/","title":{"rendered":"Power Apps&#8217; User defined functions GA"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">We are thrilled to announce that User defined functions (UDFs) in Power Apps have reached general availability! They are now ready for your production workloads. <strong>Thank you<\/strong> to everyone who provided valuable feedback on this feature and helped us reach this milestone!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With version 2508.3 the UDF preview switch has been removed and the new analysis engine switch (in the New section) has been updated to include UDFs. UDFs are dependent on the new analysis engine which is why we have combined them. This switch is enabled by default for new apps.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/08\/image-6.webp\" alt=\"\" class=\"wp-image-132363 webp-format\" srcset=\"\" data-orig-src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/08\/image-6.webp\"><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"user-defined-function-benefits\">User defined function benefits<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you are new to UDFs, they make apps easier to create, understand, test, and maintain. They also help Studio load and save apps faster.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">How do they do this?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of writing logic into each individual control&#8217;s properties, often replicating similar logic across the app, extract common logic into a single UDF with parameters to control how it works. The UDF is easier to understand, test, and maintain in isolation from any one place it is used. Duplication of logic is reduced which avoids multiple versions from getting out of sync. Modularization of logic is a time-honored strategy for scaling up the complexity of programs and apps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, a simple UDF may do a calculation based on parameters, as in this example of a Fahrenheit to Celsius converter, placed in <strong>App.Formulas<\/strong> of a Canvas app:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><code>FtoC( f: Number ) : Number = (f - 32) \/ 1.8;<\/code><\/strong><\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h09_22-1.webp\" alt=\"\" class=\"wp-image-132387 webp-format\" srcset=\"\" data-orig-src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h09_22-1.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We can use the label control to see the result of automatically evaluating this function with a constant input:<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h09_38.webp\" alt=\"\" class=\"wp-image-132388 webp-format\" srcset=\"\" data-orig-src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h09_38.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We can also add a slider to drive the input to the function and see that result. Our function hasn&#8217;t changed and now it is being used in two different ways. Not only that, as the slider changes, the function&#8217;s result is recalculated automatically, just as built in function are:<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_15h24_34.webp\" alt=\"\" class=\"wp-image-132396 webp-format\" srcset=\"\" data-orig-src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_15h24_34.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">User defined functions can also perform actions. In this example, we have a function to add an entry to a collection and display a notification, wrapped in curly braces as it has side effects:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code><strong>AddSale( customer: Text, amount: Number ) : Void = {<br>&nbsp;&nbsp;Collect( Sales, { Customer: customer, Amount: amount } );<br>&nbsp;&nbsp;Notify($\"Sale to {customer} of {Text(amount, \"$ #,###.00\")}\"); }<\/strong>;<\/code><\/p>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h20_39-1-1024x389.webp\" alt=\"\" class=\"wp-image-132390 webp-format\" srcset=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h20_39-1-1024x389.webp 1024w, https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h20_39-1-300x114.webp 300w, https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h20_39-1-768x292.webp 768w, https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h20_39-1.webp 1129w\" data-orig-src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h20_39-1-1024x389.webp\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We call this function from a <strong>Button <\/strong>control<strong> OnSelect<\/strong> event, bind a DataTable control to the collection, and witness the results of the actions taken by the function:<\/p>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h20_07-1024x389.webp\" alt=\"\" class=\"wp-image-132391 webp-format\" srcset=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h20_07-1024x389.webp 1024w, https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h20_07-300x114.webp 300w, https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h20_07-768x292.webp 768w, https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h20_07.webp 1129w\" data-orig-src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-01_14h20_07-1024x389.webp\"><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"more-details\">More details&#8230;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For more information see <a href=\"https:\/\/learn.microsoft.com\/power-platform\/power-fx\/reference\/object-app#user-defined-functions\">User defined functions<\/a> in the docs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">User defined types (UDTs), which enable passing record and tables in and out of UDFs, are still a work in progress that we plan to bring to GA shortly.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>User defined functions in Power Apps&#8217; Canvas apps have reached general availability (GA)! Use them to modularize your logic making apps easier to understand, test, and maintain.<\/p>\n","protected":false},"author":86,"featured_media":132406,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","ms-ems-related-posts":[],"footnotes":""},"audience":[3378],"content-type":[],"job-role":[],"product":[3473],"property":[],"topic":[],"coauthors":[2332],"class_list":["post-132361","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","audience-it-professional","product-power-apps","review-flag-1593580362-167","review-flag-1593580428-604","review-flag-1593580771-307","review-flag-1-1593580433-195","review-flag-3-1593580443-447","review-flag-8-1593580468-197","review-flag-ga-1593580756-862","review-flag-gener-1593580751-312","review-flag-new-1593580248-627"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Power Apps&#039; User defined functions GA - Microsoft Power Platform Blog<\/title>\n<meta name=\"description\" content=\"Power Apps&#039; User defined functions are now generally available. Use them to better understand, test, and maintain the logic in your apps.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Power Apps&#039; User defined functions GA - Microsoft Power Platform Blog\" \/>\n<meta property=\"og:description\" content=\"Power Apps&#039; User defined functions are now generally available. Use them to better understand, test, and maintain the logic in your apps.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Power Platform Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-02T13:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-02T13:54:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-02_06h52_30-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"944\" \/>\n\t<meta property=\"og:image:height\" content=\"648\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Greg Lindhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Greg Lindhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/\"},\"author\":[{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/greg-lindhorst\/\",\"@type\":\"Person\",\"@name\":\"Greg Lindhorst\"}],\"headline\":\"Power Apps&#8217; User defined functions GA\",\"datePublished\":\"2025-09-02T13:00:00+00:00\",\"dateModified\":\"2025-09-02T13:54:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/\"},\"wordCount\":414,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-02_06h52_30-1.webp\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/\",\"name\":\"Power Apps' User defined functions GA - Microsoft Power Platform Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-02_06h52_30-1.webp\",\"datePublished\":\"2025-09-02T13:00:00+00:00\",\"dateModified\":\"2025-09-02T13:54:19+00:00\",\"description\":\"Power Apps' User defined functions are now generally available. Use them to better understand, test, and maintain the logic in your apps.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#primaryimage\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-02_06h52_30-1.webp\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-02_06h52_30-1.webp\",\"width\":944,\"height\":648,\"caption\":\"Set of function names for a possible order entry system, including GetOrder, OrderTotal, SetCustomer, and other function names.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Power Apps&#8217; User defined functions GA\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\",\"name\":\"Microsoft Power Platform Blog\",\"description\":\"Innovate with Business Apps\",\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\",\"name\":\"Microsoft Power Platform Blog\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"width\":194,\"height\":145,\"caption\":\"Microsoft Power Platform Blog\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/person\/dbd4cb8af4503e696f240353831f05d4\",\"name\":\"Greg Lindhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/d2e26bc357423265c4eeeb6a4ed51bd71fb29b8eced3e31f4bc1ccd5bedaf80f?s=96&d=mm&r=g0133d144d5ed416197bd3b29ccd9a59c\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d2e26bc357423265c4eeeb6a4ed51bd71fb29b8eced3e31f4bc1ccd5bedaf80f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d2e26bc357423265c4eeeb6a4ed51bd71fb29b8eced3e31f4bc1ccd5bedaf80f?s=96&d=mm&r=g\",\"caption\":\"Greg Lindhorst\"},\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/gregli\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Power Apps' User defined functions GA - Microsoft Power Platform Blog","description":"Power Apps' User defined functions are now generally available. Use them to better understand, test, and maintain the logic in your apps.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/","og_locale":"en_US","og_type":"article","og_title":"Power Apps' User defined functions GA - Microsoft Power Platform Blog","og_description":"Power Apps' User defined functions are now generally available. Use them to better understand, test, and maintain the logic in your apps.","og_url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/","og_site_name":"Microsoft Power Platform Blog","article_published_time":"2025-09-02T13:00:00+00:00","article_modified_time":"2025-09-02T13:54:19+00:00","og_image":[{"width":944,"height":648,"url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-02_06h52_30-1.png","type":"image\/png"}],"author":"Greg Lindhorst","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Greg Lindhorst","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#article","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/"},"author":[{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/greg-lindhorst\/","@type":"Person","@name":"Greg Lindhorst"}],"headline":"Power Apps&#8217; User defined functions GA","datePublished":"2025-09-02T13:00:00+00:00","dateModified":"2025-09-02T13:54:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/"},"wordCount":414,"commentCount":0,"publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-02_06h52_30-1.webp","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/","name":"Power Apps' User defined functions GA - Microsoft Power Platform Blog","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#primaryimage"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-02_06h52_30-1.webp","datePublished":"2025-09-02T13:00:00+00:00","dateModified":"2025-09-02T13:54:19+00:00","description":"Power Apps' User defined functions are now generally available. Use them to better understand, test, and maintain the logic in your apps.","breadcrumb":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#primaryimage","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-02_06h52_30-1.webp","contentUrl":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2025\/09\/2025-09-02_06h52_30-1.webp","width":944,"height":648,"caption":"Set of function names for a possible order entry system, including GetOrder, OrderTotal, SetCustomer, and other function names."},{"@type":"BreadcrumbList","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/power-apps-user-defined-functions-ga\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/"},{"@type":"ListItem","position":2,"name":"Power Apps&#8217; User defined functions GA"}]},{"@type":"WebSite","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/","name":"Microsoft Power Platform Blog","description":"Innovate with Business Apps","publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization","name":"Microsoft Power Platform Blog","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","contentUrl":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","width":194,"height":145,"caption":"Microsoft Power Platform Blog"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/person\/dbd4cb8af4503e696f240353831f05d4","name":"Greg Lindhorst","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d2e26bc357423265c4eeeb6a4ed51bd71fb29b8eced3e31f4bc1ccd5bedaf80f?s=96&d=mm&r=g0133d144d5ed416197bd3b29ccd9a59c","url":"https:\/\/secure.gravatar.com\/avatar\/d2e26bc357423265c4eeeb6a4ed51bd71fb29b8eced3e31f4bc1ccd5bedaf80f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d2e26bc357423265c4eeeb6a4ed51bd71fb29b8eced3e31f4bc1ccd5bedaf80f?s=96&d=mm&r=g","caption":"Greg Lindhorst"},"url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/gregli\/"}]}},"bloginabox_animated_featured_image":null,"bloginabox_display_generated_audio":false,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Power Platform Blog","distributor_original_site_url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/132361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/users\/86"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/comments?post=132361"}],"version-history":[{"count":9,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/132361\/revisions"}],"predecessor-version":[{"id":132404,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/132361\/revisions\/132404"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/media\/132406"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/media?parent=132361"}],"wp:term":[{"taxonomy":"audience","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/audience?post=132361"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/content-type?post=132361"},{"taxonomy":"job-role","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/job-role?post=132361"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/product?post=132361"},{"taxonomy":"property","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/property?post=132361"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/topic?post=132361"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/coauthors?post=132361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}